Home * Engines * Scidlet

Scidlet,
a Chess Engine Communication Protocol compliant open source chess engine by Shane Hudson, written in C++, first released in January 2003 as analysis engine of SCID, Shane's Chess Information Database [1].

Description

Board Representation

The board, encapsulated in a position class, is represented by an 8x8 board array in conjunction with piece-lists for legal move generation considering absolute pins. To speed things up, Scidlet further keeps track of how many of each piece are on each rank, file, or diagonal [2].

Search

Scidlet applies PVS alpha-beta with transposition table, null move pruning, check- and passed pawn extensions, and futility pruning inside an iterative deepening loop with aspiration windows. The quiescence search uses a static exchange evaluation to prune bad captures. Move ordering is further improved by the killer and history heuristics.

Evaluation

Scidlet computes centipawn scores, with point values of {100, 300, 300, 500, 900} for pawn, knight, bishop, rook and queen. It speculatively aggregates middlegame and endgame scores, but applies a tapered eval only for a certain sum of material range excluding kings and pawns, from 2400 to 4000 cp, and otherwise exclusively sticks with either endgame score if below 2400, or middlegame score if greater than 4000 cp. Scidlet utilisizes a pawn hash table for pawn structure related stuff, and relies on piece-square tables along with various piece evaluation, king safety and mobility terms. Three game phase dependent margins for middlegame, early and late endgame are used to decide about lazy evaluation .

Forum Posts


External Links


References

  1. ^ Scidlet from WBEC Ridderkerk
  2. ^ Re: Scidlet is quite strong by Shane Hudson, Winboard Forum, January 28, 2003

What links here?


Up one Level