Changes

Jump to: navigation, search

Symbolic

18,750 bytes added, 15:05, 4 June 2018
Created page with "'''Home * Engines * Symbolic''' border|right|thumb| [[Arts#Vasnetsov|Viktor Vasnetsov - Sirin and Alkonost <ref>[https..."
'''[[Main Page|Home]] * [[Engines]] * Symbolic'''

[[FILE:Vasnetsov Sirin Alkonost.jpg|border|right|thumb| [[Arts#Vasnetsov|Viktor Vasnetsov]] - Sirin and Alkonost <ref>[https://en.wikipedia.org/wiki/Sirin Sirin] (left) and [https://en.wikipedia.org/wiki/Alkonost Alkonost] (right) – Birds of Joy and Sorrow by [[Arts#Vasnetsov|Viktor Vasnetsov]], 1896, [https://en.wikipedia.org/wiki/Russian_Museum Russian Museum], [https://en.wikipedia.org/wiki/Saint_Petersburg Saint Petersburg], [https://en.wikipedia.org/wiki/Symbolism_%28arts%29 Symbolism (arts) from Wikipedia]</ref> ]]

'''Symbolic''',<br/>
a chess playing program by [[Steven Edwards]] with the whiff of a real [[Artificial Intelligence|artificial intelligence]] inference engine incorporating [[Pattern Recognition|pattern recognition]], [[Planning|planning]] and an [[Iterative Search|iterative search]], able to explain move selection process live in natural language. The underlying Symbolic Toolkit is an advanced OO-approach, using a [[Lisp|ChessLisp]] interpreter and [[Cpp|C++]] for low level stuff. [[Moves]], [[Chess Position|positions]], and many other types are organized in [[Linked List|lists]] instead of fixed length [[Array|arrays]] <ref>[https://www.stmintz.com/ccc/index.php?id=333008 Symbolic] by [[Steven Edwards]], [[CCC]], December 02, 2003</ref>.

=Tournament Play=
Symbolic played various [[CCT Tournaments]], [[ACCA Americas' Computer Chess Championship|ACCA Americas' Computer Chess Championships]] and [[ACCA World Computer Rapid Chess Championship|ACCA World Computer Rapid Chess Championships]].

=Selected Games=
[[WCRCC 2008]], round 2, [[Buzz]] - [[Symbolic]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=49102&start=6 Re: Steven's Symbolic engine's games] by [[Julien Marcel]], [[CCC]], August 26, 2013</ref>
<pre>
[Event "WCRCC 2008"]
[Site "Internet Chess Club"]
[Date "2008.06.21"]
[Round "2"]
[White "Buzz"]
[Black "Symbolic"]
[Result "0-1"]

1.d4 d5 2.c4 c6 3.Nc3 e6 4.Nf3 Nf6 5.e3 Nbd7 6.Bd3 dxc4 7.Bxc4 b5 8.Bd3 Bb7
9.e4 b4 10.Na4 c5 11.e5 Nd5 12.Nxc5 Nxc5 13.dxc5 Bxc5 14.Qa4+ Kf8 15.O-O h6
16.Bd2 Kg8 17.Qb5 Qb6 18.Rac1 Qxb5 19.Bxb5 Rc8 20.Rfe1 g5 21.Rc4 a6 22.Rec1
Nc3 23.Bd7 Bxf2+ 24.Kxf2 Rxc4 25.bxc3 Bxf3 26.Kxf3 Kg7 27.cxb4 Rd4 28.Rc7
Rxd2 29.Bxe6 Rf8 30.Bb3 Kg6 31.Rc6+ Kf5 32.Rxa6 g4+ 33.Ke3 Rxg2 34.Rxh6 Kxe5
35.b5 f6 36.Kd3 f5 37.b6 f4 38.Rh5+ Kf6 39.Bd5 f3 40.b7 Rb2 41.a4 f2 42.Bg2
Rxb7 43.Rb5 Re7 44.h3 Rd8+ 45.Kc4 Rc7+ 46.Kb4 Rd4+ 47.Ka5 Ra7+ 48.Kb6 Raxa4
49.hxg4 Rxg4 50.Bh3 Rab4 51.Rxb4 Rxb4+ 52.Kc5 Rb1 53.Kd4 Re1 54.Kd3 Kg5
55.Bf1 Rxf1 56.Ke2 Rd1 57.Kxf2 Kf4 58.Ke2 Rd7 59.Kf2 Rd2+ 60.Ke1 Ke3 61.Kf1
Ra2 62.Kg1 Kf3 63.Kh1 Kg3 64.Kg1 Ra1# 0-1
</pre>

=Iterative Search=
[[Steven Edwards]] on using [[C#Goto|goto]] and performing an [[Iterative Search]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=48812&start=6 Re: goto thread (split)] by [[Steven Edwards]], [[CCC]], August 01, 2013 » [[Iterative Search]]</ref>
Symbolic's search has no [[Recursion|recursion]]. There is the one routine Node() which has a big switch statement with each case being a different phase. The routine's main loop hits the switch each time through until the current phase is PhaseExit. At the top of the loop is is single check of a volatile boolean which, if triggered, sets the phase to PhaseExit. There is no unwinding as there is nothing to unwind. There is nothing hidden on the stack to deconstruct as there is no recursion. The search can be paused, and it can also be stopped and restarted at any phase at any depth.

A lot of chess programmers still use a recursive search because they've copied it out of a textbook or from someone else's program. If they would take the time to learn about the alternative of no recursion, then they just might a more elegant -- and possibly faster -- program.

=Perft=
Movepath enumerations ([[Perft|perft]]) generated by [[Symbolic]] for the [[Initial Position]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=46055 Perft FEN data] by [[Steven Edwards]], [[CCC]], November 18, 2012</ref>.
* [[Perft(10) 20 draft 9 Positions]]
* [[Perft(10) 400 draft 8 Positions]]
* [[Perft(11) 20 draft 10 Positions]]
* [[Perft(11) 400 draft 9 Positions]]
* [[Perft(12) 20 draft 11 Positions]]
* [[Perft(12) 400 draft 10 Positions]]
* [[Perft(13) 20 draft 12 Positions]]
* [[Perft(13) 400 draft 11 Positions]]
* [[Initial Position Summary]]

=See also=
* [[CookieCat]]
* [[Paradise]]
* [[Pattern Recognition]]
* [[Planner]]
* [[Planning]]
* [[Spector]]

=Forum Posts=
==2003==
* [https://www.stmintz.com/ccc/index.php?id=333008 Symbolic] by [[Steven Edwards]], [[CCC]], December 02, 2003
* [https://www.stmintz.com/ccc/index.php?id=339476 Symbolic: progress report] by [[Steven Edwards]], [[CCC]], December 31, 2003
==2004==
* [https://www.stmintz.com/ccc/index.php?id=343987 Symbolic: code example] by [[Steven Edwards]], [[CCC]], January 22, 2004
* [https://www.stmintz.com/ccc/index.php?id=344537 Symbolic: movepath enumeration revisited] by [[Steven Edwards]], [[CCC]], January 24, 2004 » [[Perft]]
* [https://www.stmintz.com/ccc/index.php?id=348092 Symbolic: progress report 2004.02.09]
* [https://www.stmintz.com/ccc/index.php?id=348861 Comparison: Paradise and Symbolic] by [[Steven Edwards]], [[CCC]], February 13, 2004 » [[Paradise]]
* [https://www.stmintz.com/ccc/index.php?id=349528 Symbolic: A doomed effort, or it's time to get my lead-lined jockstrap] by [[Steven Edwards]], [[CCC]], February 16, 2004
* [https://www.stmintz.com/ccc/index.php?id=349798 Symbolic: ChessLisp (Part I)] by [[Steven Edwards]], [[CCC]], February 17, 2004
* [https://www.stmintz.com/ccc/index.php?id=349981 Symbolic: Threads] by [[Steven Edwards]], [[CCC]], February 18, 2004 » [[Thread]]
* [https://www.stmintz.com/ccc/index.php?id=350223 Symbolic: 40 goals] by [[Steven Edwards]], [[CCC]], February 19, 2004
* [https://www.stmintz.com/ccc/index.php?id=350372 Symbolic: Intelligent annotations] by [[Steven Edwards]], [[CCC]], February 20, 2004
* [https://www.stmintz.com/ccc/index.php?id=350837 Symbolic: The KBNK recognizer] by [[Steven Edwards]], [[CCC]], February 23, 2004 » [[KBNK Endgame]]
* [https://www.stmintz.com/ccc/index.php?id=351153 Symbolic: KBNK merit sample code] by [[Steven Edwards]], [[CCC]], February 24, 2004 » [[KBNK Endgame]]
* [https://www.stmintz.com/ccc/index.php?id=352204 Symbolic: Opening book move selection] by [[Steven Edwards]], [[CCC]], March 01, 2004 » [[Opening Book]]
* [https://www.stmintz.com/ccc/index.php?id=353324 Symbolic: status report 2004.03.07] by [[Steven Edwards]], [[CCC]], March 03, 2004
* [https://www.stmintz.com/ccc/index.php?id=353328 Symbolic: Sample narratives] by [[Steven Edwards]], [[CCC]], March 07, 2004
* [https://www.stmintz.com/ccc/index.php?id=353558 Symbolic: Lisp source: function Symbolic (Main.lsp)] by [[Steven Edwards]], [[CCC]], March 03, 2004
* [https://www.stmintz.com/ccc/index.php?id=353559 Symbolic: Lisp source: function Select (Select.lsp)] by [[Steven Edwards]], [[CCC]], March 08, 2004
* [https://www.stmintz.com/ccc/index.php?id=354276 Symbolic: Progress report 2004.03.13] by [[Steven Edwards]], [[CCC]], March 13, 2004
* [https://www.stmintz.com/ccc/index.php?id=354355 Symbolic: From bitboards to ideas] by [[Steven Edwards]], [[CCC]], March 13, 2004 » [[Bitboards]], [[Knight Pattern#KnightForks|Knight Forks]]
* [https://www.stmintz.com/ccc/index.php?id=354637 Symbolic: Search, planning, and a prospective] by [[Steven Edwards]], [[CCC]], March 15, 2004 » [[Search]], [[Planning]]
* [https://www.stmintz.com/ccc/index.php?id=354850 Symbolic: On patterns] by [[Steven Edwards]], [[CCC]], March 16, 2004 » [[Pattern Recognition]]
* [https://www.stmintz.com/ccc/index.php?id=355173 Symbolic: Example outline of a search] by [[Steven Edwards]], [[CCC]], March 17, 2004
* [https://www.stmintz.com/ccc/index.php?id=355685 Symbolic: Progress report 2004.03.20] by [[Steven Edwards]], [[CCC]], March 13, 2004
* [https://www.stmintz.com/ccc/index.php?id=355954 Symbolic: First benchmark result] by [[Steven Edwards]], [[CCC]], March 20, 2004
* [https://www.stmintz.com/ccc/index.php?id=356478 Symbolic: mini-progress report 2004.03.25] by [[Steven Edwards]], [[CCC]], March 25, 2004
* [https://www.stmintz.com/ccc/index.php?id=356967 Symbolic: First pattern instance generation] by [[Steven Edwards]], [[CCC]], March 27, 2004 » [[Pattern Recognition]]
* [https://www.stmintz.com/ccc/index.php?id=357145 Symbolic: Demo: a few more bootstrap patterns] by [[Steven Edwards]], [[CCC]], March 29, 2004 » [[Pattern Recognition]]
* [https://www.stmintz.com/ccc/index.php?id=359838 Symbolic: Status report 2004.04.13] by [[Steven Edwards]], [[CCC]], April 13, 2004
* [https://www.stmintz.com/ccc/index.php?id=361071 Symbolic: Status report 2004.04.21] by [[Steven Edwards]], [[CCC]], April 21, 2004
* [https://www.stmintz.com/ccc/index.php?id=362378 Symbolic: Status report 2004.04.29] by [[Steven Edwards]], [[CCC]], April 29, 2004
* [https://www.stmintz.com/ccc/index.php?id=365006 Symbolic: Status report 2004.05.03] by [[Steven Edwards]], [[CCC]], May 03, 2004
* [https://www.stmintz.com/ccc/index.php?id=366151 Symbolic: Status report 2004.05.17] by [[Steven Edwards]], [[CCC]], May 17, 2004
* [https://www.stmintz.com/ccc/index.php?id=366416 Symbolic: Status report 2004.05.19] by [[Steven Edwards]], [[CCC]], May 19, 2004
* [https://www.stmintz.com/ccc/index.php?id=368837 Symbolic: Status report 2004.06.03] by [[Steven Edwards]], [[CCC]], June 03, 2004
* [https://www.stmintz.com/ccc/index.php?id=370369 Symbolic: Status report 2004.06.14] by [[Steven Edwards]], [[CCC]], June 14, 2004
* [https://www.stmintz.com/ccc/index.php?id=372388 Symbolic: Status report 2004.06.24] by [[Steven Edwards]], [[CCC]], June 24, 2004
* [https://www.stmintz.com/ccc/index.php?id=376862 Symbolic: Status report 2004.07.14] by [[Steven Edwards]], [[CCC]], July 14, 2004
* [https://www.stmintz.com/ccc/index.php?id=378166 Symbolic: Status report 2004.07.20] by [[Steven Edwards]], [[CCC]], July 20, 2004
* [https://www.stmintz.com/ccc/index.php?id=378513 Symbolic: Status report 2004.07.22] by [[Steven Edwards]], [[CCC]], July 22, 2004
* [https://www.stmintz.com/ccc/index.php?id=379027 Symbolic: Status report 2004.07.26] by [[Steven Edwards]], [[CCC]], July 26, 2004
* [https://www.stmintz.com/ccc/index.php?id=379916 Symbolic: Status report 2004.07.30] by [[Steven Edwards]], [[CCC]], July 30, 2004
* [https://www.stmintz.com/ccc/index.php?id=380458 Symbolic: Status report 2004.08.02] by [[Steven Edwards]], [[CCC]], August 02, 2004
* [https://www.stmintz.com/ccc/index.php?id=380917 Symbolic: Status report 2004.08.05] by [[Steven Edwards]], [[CCC]], August 05, 2004
* [https://www.stmintz.com/ccc/index.php?id=381477 Symbolic: Status report 2004.08.09] by [[Steven Edwards]], [[CCC]], August 09, 2004
* [https://www.stmintz.com/ccc/index.php?id=381910 Symbolic: Status report 2004.08.11] by [[Steven Edwards]], [[CCC]], August 11, 2004
* [https://www.stmintz.com/ccc/index.php?id=383039 Symbolic: Status report 2004.08.19] by [[Steven Edwards]], [[CCC]], August 19, 2004
* [https://www.stmintz.com/ccc/index.php?id=383761 Symbolic: Status report 2004.08.23] by [[Steven Edwards]], [[CCC]], August 23, 2004
* [https://www.stmintz.com/ccc/index.php?id=394615 Symbolic: Status report 2004.11.05] by [[Steven Edwards]], [[CCC]], November 05, 2004
==2005==
* [https://www.stmintz.com/ccc/index.php?id=411453 Symbolic: Status report 2005.02.14] by [[Steven Edwards]], [[CCC]], February 14, 2005
* [https://www.stmintz.com/ccc/index.php?id=413947 Symbolic: Status report 2005.02.24] by [[Steven Edwards]], [[CCC]], February 24, 2005
* [https://www.stmintz.com/ccc/index.php?id=415201 Symbolic: Status report 2005.03.03] by [[Steven Edwards]], [[CCC]], March 03, 2005
* [https://www.stmintz.com/ccc/index.php?id=415202 Symbolic: sample ChessLisp source: Tracker.lsp] by [[Steven Edwards]], [[CCC]], March 03, 2005
* [https://www.stmintz.com/ccc/index.php?id=415799 Symbolic: Status report 2005.03.08] by [[Steven Edwards]], [[CCC]], March 08, 2005
* [https://www.stmintz.com/ccc/index.php?id=416716 Symbolic: Status report 2005.03.14] by [[Steven Edwards]], [[CCC]], March 14, 2005
* [https://www.stmintz.com/ccc/index.php?id=417137 Symbolic: Status report 2005.03.17] by [[Steven Edwards]], [[CCC]], March 17, 2005
* [https://www.stmintz.com/ccc/index.php?id=419205 Symbolic: Status report 2005.03.31] by [[Steven Edwards]], [[CCC]], March 31, 2005
* [https://www.stmintz.com/ccc/index.php?id=419607 Symbolic: Status report 2005.04.04] by [[Steven Edwards]], [[CCC]], April 04, 2005
* [https://www.stmintz.com/ccc/index.php?id=420385 Symbolic: Status report 2005.04.10] by [[Steven Edwards]], [[CCC]], April 10, 2005
* [https://www.stmintz.com/ccc/index.php?id=420553 Symbolic: Status report 2005.04.12] by [[Steven Edwards]], [[CCC]], April 12, 2005
* [https://www.stmintz.com/ccc/index.php?id=421381 Symbolic: Status report 2005.04.17] by [[Steven Edwards]], [[CCC]], April 17, 2005
* [https://www.stmintz.com/ccc/index.php?id=422403 Symbolic: Status report 2005.04.23] by [[Steven Edwards]], [[CCC]], April 23, 2005
* [https://www.stmintz.com/ccc/index.php?id=422731 Symbolic: Status report 2005.04.25] by [[Steven Edwards]], [[CCC]], April 25, 2005
* [https://www.stmintz.com/ccc/index.php?id=423272 Symbolic: Status report 2005.04.27] by [[Steven Edwards]], [[CCC]], April 27, 2005
* [https://www.stmintz.com/ccc/index.php?id=423483 Symbolic: Status report 2005.04.29] by [[Steven Edwards]], [[CCC]], April 29, 2005
* [https://www.stmintz.com/ccc/index.php?id=423835 Symbolic: Status report 2005.05.02] by [[Steven Edwards]], [[CCC]], May 02, 2005
* [https://www.stmintz.com/ccc/index.php?id=426281 Symbolic: Status report 2005.05.16] by [[Steven Edwards]], [[CCC]], May 16, 2005
* [https://www.stmintz.com/ccc/index.php?id=428634 Symbolic: Status report 2005.05.28] by [[Steven Edwards]], [[CCC]], May 28, 2005
* [https://www.stmintz.com/ccc/index.php?id=429396 Symbolic: Status report 2005.06.02] by [[Steven Edwards]], [[CCC]], June 02, 2005
* [https://www.stmintz.com/ccc/index.php?id=430732 Symbolic: Status report 2005.06.12] by [[Steven Edwards]], [[CCC]], June 12, 2005
* [https://www.stmintz.com/ccc/index.php?id=433035 Symbolic: Status report 2005.06.23] by [[Steven Edwards]], [[CCC]], June 23, 2005
* [https://www.stmintz.com/ccc/index.php?id=434476 Symbolic: Light at the end of the tunnel] by [[Steven Edwards]], [[CCC]], July 01, 2005
* [https://www.stmintz.com/ccc/index.php?id=436623 Symbolic: Status report 2005.07.13] by [[Steven Edwards]], [[CCC]], July 13, 2005
* [https://www.stmintz.com/ccc/index.php?id=441587 Symbolic: Status report 2005.08.13] by [[Steven Edwards]], [[CCC]], August 13, 2005
* [https://www.stmintz.com/ccc/index.php?id=444291 Symbolic: Status report 2005.08.22] by [[Steven Edwards]], [[CCC]], August 22, 2005
* [https://www.stmintz.com/ccc/index.php?id=445195 Symbolic: Status report 2005.08.25] by [[Steven Edwards]], [[CCC]], August 25, 2005
==2013==
* [http://www.talkchess.com/forum/viewtopic.php?t=48812&start=6 Re: goto thread (split)] by [[Steven Edwards]], [[CCC]], August 01, 2013 » [[Iterative Search]]
* [http://www.talkchess.com/forum/viewtopic.php?t=48959 Symbolic: I/O handling and sample logfile] by [[Steven Edwards]], [[CCC]], August 14, 2013 » [[Logging]]
* [http://www.talkchess.com/forum/viewtopic.php?t=49102 Steven's Symbolic engine's games] by [[Julien Marcel]], [[CCC]], August 25, 2013
==2015==
* [http://www.talkchess.com/forum/viewtopic.php?t=56081 Thread synchronization questions for experts] by [[Steven Edwards]], [[CCC]], April 21, 2015 » [[Thread]
* [http://www.talkchess.com/forum/viewtopic.php?t=56328 Revised source for the random game generator] by [[Steven Edwards]], [[CCC]], May 12, 2015]
* [http://www.talkchess.com/forum/viewtopic.php?t=56417 A colorful tale] by [[Steven Edwards]], [[CCC]], May 19, 2015 » [[Logging]]
* [http://www.talkchess.com/forum/viewtopic.php?t=56476 Bitboard database code samples] by [[Steven Edwards]], [[CCC]], May 25, 2015 » [[Bitboards]]
* [http://www.talkchess.com/forum/viewtopic.php?t=56523 Deep split perft()] by [[Steven Edwards]], [[CCC]], May 29, 2015 » [[Perft]], [[Thread]]
* [http://www.talkchess.com/forum/viewtopic.php?t=56995 Making Symbolic's opening book] by [[Steven Edwards]], [[CCC]], July 16, 2015 » [[Opening Book]]
* [http://www.talkchess.com/forum/viewtopic.php?t=57697 Ratio reduction] by [[Steven Edwards]], [[CCC]], September 20, 2015 » [[Late Move Reductions]]
* [http://www.talkchess.com/forum/viewtopic.php?t=57730 Symbolic vs tscp: 1,000 game match results] by [[Steven Edwards]], [[CCC]], September 23, 2015 » [[TSCP]]
* [http://www.talkchess.com/forum/viewtopic.php?t=57776 Symbolic vs tscp: more match results] by [[Steven Edwards]], [[CCC]], September 28, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=57800 Symbolic vs FairyMax: match results] by [[Steven Edwards]], [[CCC]], October 01, 2015 » [[Fairy-Max]]
* [http://www.talkchess.com/forum/viewtopic.php?t=57804 Symbolic vs KingSlayer] by [[Steven Edwards]], [[CCC]], October 01, 2015 » [[KingSlayer]]
* [http://www.talkchess.com/forum/viewtopic.php?t=57845 Position #70 from Fine's _Basic Chess Endings_] by [[Steven Edwards]], [[CCC]], October 05, 2015 » [[Lasker-Reichhelm Position]]

=External Links=
* [https://en.wikipedia.org/wiki/Symbolics Symbolics from Wikipedia]
* [https://en.wikipedia.org/wiki/Symbol_%28disambiguation%29 Symbol (disambiguation) from Wikipedia]
* [https://en.wikipedia.org/wiki/Symbol_%28formal%29 Symbol (formal) from Wikipedia]
* [https://en.wikipedia.org/wiki/Symbol_grounding Symbol grounding from Wikipedia]
* [https://en.wikipedia.org/wiki/Symbol_%28programming%29 Symbol (programming) from Wikipedia]
* [https://en.wikipedia.org/wiki/Symbolic_system Symbolic system from Wikipedia]
* [https://en.wikipedia.org/wiki/Symbolism_%28arts%29 Symbolism (arts) from Wikipedia]
* [https://en.wikipedia.org/wiki/Religious_symbolism Religious symbolism from Wikipedia]
* [[Videos#HansKoller|Hans Koller]] - Back In Paradise, from [https://www.kudosrecords.co.uk/release/sono79/hans-koller-minor-meetings-1958.html Minor Meetings 1958], [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: feat. [https://de.wikipedia.org/wiki/Helmut_Reinhardt_%28Musiker%29 Helmut Reinhardt], [[Videos#AlbertMangelsdorff|Albert Mangelsdorff]], [https://de.wikipedia.org/wiki/Hans_Hammerschmid Hans Hammerschmid], [https://de.wikipedia.org/wiki/Peter_Trunk Peter Trunk], [https://de.wikipedia.org/wiki/Rudi_Sehring Rudi Sehring]
: {{#evu:https://www.youtube.com/watch?v=2cUQ__Zjk98|alignment=left|valignment=top}}

=References=
<references />

'''[[Engines|Up one level]]'''

Navigation menu