Changes

Jump to: navigation, search

Golch

6,646 bytes added, 16:10, 4 March 2019
Created page with "'''Home * Engines * Golch''' FILE:Perceptron.svg|border|right|thumb| Perceptron <ref>The appropriate weights are applied to the inputs, and the resulting..."
'''[[Main Page|Home]] * [[Engines]] * Golch'''

[[FILE:Perceptron.svg|border|right|thumb| Perceptron <ref>The appropriate weights are applied to the inputs, and the resulting weighted sum passed to a function that produces the output y, image created by [https://en.wikipedia.org/wiki/User:Mat_the_w mat_the_w], based on [https://en.wikipedia.org/wiki/Raster_graphics raster image] [http://commons.wikimedia.org/wiki/File:Perceptron.gif Perceptron.gif] by '[https://en.wikipedia.org/wiki/User:Paskari Paskari]', using [https://en.wikipedia.org/wiki/Inkscape Inkscape] 0.46 for [[Mac OS|OSX]], [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons], [https://en.wikipedia.org/wiki/Perceptron Perceptron from Wikipedia]</ref> ]]

'''Golch''',<br/>
an experimental chess engine by [[Artem Petakov|Artem Pyatakov]]. Initially written in early 2001 <ref>[https://www.stmintz.com/ccc/index.php?id=179247 Question about Gerbil] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], July 11, 2001</ref> during his [https://en.wikipedia.org/wiki/Freshman freshman] year at [https://en.wikipedia.org/wiki/Princeton_University Princeton University], it was a conventional chess program written in [[C]], using a [[0x88]] [[Board Representation|board representation]] <ref>[https://www.stmintz.com/ccc/index.php?id=178465 Fastest Conversion from 0x88 board to 8x8 board representation] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], July 06, 2001</ref>, [[Alpha-Beta|alpha-beta]], [[Iterative Deepening|iterative deepening]], [[Transposition Table|transposition table]] <ref>[https://www.stmintz.com/ccc/index.php?id=179247 Question about Gerbil] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], July 11, 2001</ref>, [[Killer Heuristic|killer-]] and [[History Heuristic|history heuristic]], along with all the domain dependent tricks in [[Move Ordering|move ordering]] (i.e searching [[Captures|captures]] first), [[Selectivity|selectivity]] and [[Evaluation|evaluation]]. In 2001, Golch was active at [[Internet Chess Club|ICC]] <ref>[http://www6.chessclub.com/finger/golch Finger golch] at [[Internet Chess Club]]</ref>. The program was later used as test-bed for Pyatakov's [https://en.wikipedia.org/wiki/Thesis#United_States senior thesis] ''Improving Computer Chess through Machine Learning'' <ref>[https://www.stmintz.com/ccc/index.php?id=357095 Artificial Intelligence in Computer Chess] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], March 28, 2004</ref> under advisor [[Robert Schapire]] <ref>[http://www.cs.princeton.edu/~rywang/03fIND/iw_sched.html Princeton - Independent Project Presentation Schedule]</ref>. The aim was to narrow the claimed gap between [[Artificial Intelligence|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 <ref>[https://www.stmintz.com/ccc/index.php?id=357095 Artificial Intelligence in Computer Chess] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], March 28, 2004</ref>.

=Perceptron=
The [[Learning|online-learning]] approach to replace classical evaluation by a [[Neural Networks#Perceptron|single layer perceptron]], combining a [https://en.wikipedia.org/wiki/Feature_vector feature vector], [[Board Representation|representing the board]], with a set of adjustable weights, trained by [[Automated Tuning#SupervisedLearning|supervised move adaption]] with some [[Test-Positions|test-positions]] such as the [[Bratko-Kopec Test]] produced slightly disappointing results. The feature-vector used had 64 binary elements of an [[Occupancy|occupied bitboard]], and a 16x16 [[Attack and Defend Maps|attack map]] <ref>[https://www.stmintz.com/ccc/index.php?id=357112 Re: Artificial Intelligence in Computer Chess - *DETAILS* as promised] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], March 28, 2004</ref>, which hopefully distinguished attacked but sufficiently defended pieces or pawns from pieces or pawns [[En prise|en prise]].

=History Heuristic=
More promising results was due to an advanced implementaion of [[History Heuristic|history heuristic]], where a table was not only indexed by its <span style="background-color: #e0e0e0;">[from][to]</span> 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 Test|Bratko-Kopec problems]] <ref>[https://www.stmintz.com/ccc/index.php?id=357112 Re: Artificial Intelligence in Computer Chess - *DETAILS* as promised] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], March 28, 2004</ref>:
<pre>
history[piece][from][to][attack_bit_vector] += (1 << depth);
</pre>

=See also=
* [[Neural Networks#engines|Chess Engines with Neural Networks]]
* [[Learning#Programs|Learning Chess Programs]]
* [[NeuroChess]]
* [[SAL]]

=Publications=
* [[Artem Petakov|Artem Pyatakov]] ('''2004'''). ''Improving Computer Chess through Machine Learning''. Senior thesis, [https://en.wikipedia.org/wiki/Princeton_University Princeton University], advisor [[Robert Schapire]] <ref>[https://www.stmintz.com/ccc/index.php?id=357095 Artificial Intelligence in Computer Chess] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], March 28, 2004</ref>

=Forum Posts=
* [https://www.stmintz.com/ccc/index.php?id=178465 Fastest Conversion from 0x88 board to 8x8 board representation] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], July 06, 2001 » [[0x88]]
* [https://www.stmintz.com/ccc/index.php?id=179247 Question about Gerbil] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], July 11, 2001
* [https://www.stmintz.com/ccc/index.php?id=179328 Bitfields and Crafty] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], July 11, 2001
* [https://www.stmintz.com/ccc/index.php?id=357095 Artificial Intelligence in Computer Chess] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], March 28, 2004 » [[Artificial Intelligence]]
* [https://www.stmintz.com/ccc/index.php?id=357112 Re: Artificial Intelligence in Computer Chess - *DETAILS* as promised] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], March 28, 2004 » [[History Heuristic]]
* [https://www.stmintz.com/ccc/index.php?id=357640 Killer modifications reduced tree size by 8% (with identical results)] by [[Artem Petakov|Artem Pyatakov]], [[CCC]], March 31, 2004 » [[Killer Heuristic]]

=External Links=
* [http://www6.chessclub.com/finger/golch Finger golch] at [[Internet Chess Club]]

=References=
<references />
'''[[Engines|Up one level]]'''
[[Category:Experimental]]

Navigation menu