Golch

an experimental chess engine by Artem Pyatakov. Initially written in early 2001 during his [|freshman] year at [|Princeton University], it was a conventional chess program written in C, using a 0x88 board representation, alpha-beta, iterative deepening, transposition table , killer- and history heuristic, along with all the domain dependent tricks in move ordering (i.e searching captures first), selectivity and evaluation. In 2001, Golch was active at ICC. The program was later used as test-bed for Pyatakov's [|senior thesis] //Improving Computer Chess through Machine Learning// under advisor Robert Schapire. The aim was to narrow the claimed gap between artificial intelligence methods and computer chess methods and tricks, manifested as human-generated, domain dependent ideas that happened to work without a good theoretical justification and cannot be easily generalized to other games. || toc =Perceptron= The online-learning approach to replace classical evaluation by a single layer perceptron, combining a [|feature vector], representing the board, with a set of adjustable weights, trained by supervised move adaption with some test-positions such as the Bratko-Kopec Test produced slightly disappointing results. The feature-vector used had 64 binary elements of an occupied bitboard, and a 16x16 attack map, which hopefully distinguished attacked but sufficiently defended pieces or pawns from pieces or pawns en prise.
 * Home * Engines * Golch**
 * [[image:Perceptron.svg.png link="http://commons.wikimedia.org/wiki/File:Perceptron.svg"]] ||~ || **Golch**,
 * Perceptron ||~ ||^ ||

=History Heuristic= More promising results was due to an advanced implementaion of history heuristic, where a table was not only indexed by its [from][to] coordinates of a move, but a much larger table with additional context of the moving piece along with a bitmask of pieces attacking the from square, which was reported to work about 3% better than the pure history heuristic in terms of node counts on the Bratko-Kopec problems : code format="cpp" history[piece][from][to][attack_bit_vector] += (1 << depth); code

=See also=
 * Chess Engines with Neural Networks
 * Learning Chess Programs
 * NeuroChess
 * SAL

=Publications=
 * Artem Pyatakov (**2004**). //Improving Computer Chess through Machine Learning//. Senior thesis, [|Princeton University], advisor Robert Schapire

=Forum Posts=
 * [|Fastest Conversion from 0x88 board to 8x8 board representation] by Artem Pyatakov, CCC, July 06, 2001 » 0x88
 * [|Question about Gerbil] by Artem Pyatakov, CCC, July 11, 2001
 * [|Bitfields and Crafty] by Artem Pyatakov, CCC, July 11, 2001
 * [|Artificial Intelligence in Computer Chess] by Artem Pyatakov, CCC, March 28, 2004 » Artificial Intelligence
 * [|Re: Artificial Intelligence in Computer Chess - *DETAILS* as promised] by Artem Pyatakov, CCC, March 28, 2004 » History Heuristic
 * [|Killer modifications reduced tree size by 8% (with identical results)] by Artem Pyatakov, CCC, March 31, 2004 » Killer Heuristic

=External Links=
 * [|Finger golch] at Internet Chess Club

=References= =What links here?= include component="backlinks" page="Golch" limit="20"
 * Up one level**