Difference between revisions of "FUSCsharp"
GerdIsenberg (talk | contribs) (Created page with "'''Home * Engines * FUSc#''' '''FUSc#''',<br/> was an experimental research open source chess engine <ref>as of October 2018, sour...") |
GerdIsenberg (talk | contribs) |
||
Line 30: | Line 30: | ||
==[[Evaluation]]== | ==[[Evaluation]]== | ||
FUSc# classifies [[Middlegame|middlegame]] positions into 32 types considering king placement (k-wing, q-wing, and center) and whether queens are still on the board - addressing [[King Safety|king safety]] issues <ref>[[Marco Block-Berlitz|Marco Block]], Maro Bader, [http://page.mi.fu-berlin.de/tapia/ Ernesto Tapia], Marte Ramírez, Ketill Gunnarsson, Erik Cuevas, Daniel Zaldivar, [[Raúl Rojas]] ('''2008'''). ''Using Reinforcement Learning in Chess Engines''. Concibe Science 2008, [http://www.micai.org/rcs/ Research in Computing Science]: Special Issue in Electronics and Biomedical Engineering, Computer Science and Informatics, Vol. 35, [http://page.mi.fu-berlin.de/block/concibe2008.pdf pdf]</ref>. | FUSc# classifies [[Middlegame|middlegame]] positions into 32 types considering king placement (k-wing, q-wing, and center) and whether queens are still on the board - addressing [[King Safety|king safety]] issues <ref>[[Marco Block-Berlitz|Marco Block]], Maro Bader, [http://page.mi.fu-berlin.de/tapia/ Ernesto Tapia], Marte Ramírez, Ketill Gunnarsson, Erik Cuevas, Daniel Zaldivar, [[Raúl Rojas]] ('''2008'''). ''Using Reinforcement Learning in Chess Engines''. Concibe Science 2008, [http://www.micai.org/rcs/ Research in Computing Science]: Special Issue in Electronics and Biomedical Engineering, Computer Science and Informatics, Vol. 35, [http://page.mi.fu-berlin.de/block/concibe2008.pdf pdf]</ref>. | ||
− | Along with one [[Endgame|endgame]] type - 33 types in total, each type has a vector of 1706 positional coefficients ([[Point Value|point values]], [[Piece-Square Tables|piece-square tables]], [[Pawn Structure|pawn structure]]) associated - in total 56298 coefficients, adapted by [[Temporal Difference Learning#TDLeaf|TD-Leaf(λ)]]. | + | Along with one [[Endgame|endgame]] type - 33 types in total, each type has a vector of 1706 positional coefficients ([[Point Value|point values]], [[Piece-Square Tables|piece-square tables]], [[Pawn Structure|pawn structure]]) associated - in total 56298 coefficients, adapted by [[Temporal Difference Learning#TDLeaf|TD-Leaf(λ)]]. While a [[Playing Strength|strength]] improvement of more than 350 rating points after 119 training games on a chess server was reported, this classification scheme of 33 distinct evaluation functions may be diminished due to type transitions with possible [[Evaluation Discontinuity|evaluation discontinuity]]. |
− | While a strength improvement of more than 350 rating points after 119 training games on a chess server was reported, this classification scheme of 33 distinct evaluation functions may be diminished due to type transitions with possible [[Evaluation Discontinuity|evaluation discontinuity]]. | ||
=See also= | =See also= |
Latest revision as of 20:52, 29 October 2018
FUSc#,
was an experimental research open source chess engine [1], developed since 2002 by a AI-Game Programming Group at the Free University of Berlin, headed by Raúl Rojas.
As the name suggests, FUSc# was written in C#. Compliant to the UCI protocol, it was able to play online. FUSc# was subject of research on temporal difference learning using TD-Leaf(λ), as elaborated in Marco Block's thesis [2].
Contents
Description
Board Representation
While FUSc# originally had an 0x88 board representation, it gained some speed up by using rotated bitboards [3].
Search
- Iterative Deepening
- Aspiration Windows
- Alpha-Beta
- Principal Variation Search
- Iterative Search (at times) [5]
- Transposition Table
- Move Ordering
- Selectivity
Evaluation
FUSc# classifies middlegame positions into 32 types considering king placement (k-wing, q-wing, and center) and whether queens are still on the board - addressing king safety issues [6]. Along with one endgame type - 33 types in total, each type has a vector of 1706 positional coefficients (point values, piece-square tables, pawn structure) associated - in total 56298 coefficients, adapted by TD-Leaf(λ). While a strength improvement of more than 350 rating points after 119 training games on a chess server was reported, this classification scheme of 33 distinct evaluation functions may be diminished due to type transitions with possible evaluation discontinuity.
See also
Publications
- Marco Block (2004). Verwendung von Temporale-Differenz-Methoden im Schachmotor FUSc#. Diplomarbeit, Betreuer: Raúl Rojas, Free University of Berlin, pdf (German)
- Marco Block, André Rauschenbach, Johannes Buchner, Frank Jeschke, Raúl Rojas (2005). Das Schachprojekt FUSc#". Technical Report B-05-21, pdf, Free University of Berlin (German)
- Johannes Buchner (2005). Rotated bitboards in FUSc#. Free University of Berlin, pdf
- Johannes Buchner (2005). Theory and practical strategies for efficient alpha-beta-searches in computer chess. Bachelor thesis, Advisor: Raúl Rojas, Free University of Berlin, pdf
- Marco Block, Maro Bader, Ernesto Tapia, Marte Ramírez, Ketill Gunnarsson, Erik Cuevas, Daniel Zaldivar, Raúl Rojas (2008). Using Reinforcement Learning in Chess Engines. Concibe Science 2008, Research in Computing Science: Special Issue in Electronics and Biomedical Engineering, Computer Science and Informatics, Vol. 35, pdf
External Links
- FUSc# - AG Schachprogrammierung FUSC# april 2005 FUSC# project group (slides)
- Refubium - Das Schachprojekt FUSc#
- FuschICS < Main < Wiki
References
- ↑ as of October 2018, source code seems no longer available, the project outdated and abondended
- ↑ Marco Block (2004). Verwendung von Temporale-Differenz-Methoden im Schachmotor FUSc#. Diplomarbeit, Betreuer: Prof. Dr. Raúl Rojas, Free University of Berlin, pdf (German)
- ↑ Johannes Buchner (2005). Rotated bitboards in FUSc#. Free University of Berlin, pdf
- ↑ Search details based on Johannes Buchner (2005). Theory and practical strategies for efficient alpha-beta-searches in computer chess. Bachelor thesis, Advisor: Raúl Rojas, Free University of Berlin, pdf
- ↑ an iterative alpha-beta matrix version gave a promising performance boost, bought by a huge degree of code complexity, see Marco Block, André Rauschenbach, Johannes Buchner, Frank Jeschke, Raúl Rojas (2005). Das Schachprojekt FUSc#". Technical Report B-05-21, pdf, Free University of Berlin (German)
- ↑ Marco Block, Maro Bader, Ernesto Tapia, Marte Ramírez, Ketill Gunnarsson, Erik Cuevas, Daniel Zaldivar, Raúl Rojas (2008). Using Reinforcement Learning in Chess Engines. Concibe Science 2008, Research in Computing Science: Special Issue in Electronics and Biomedical Engineering, Computer Science and Informatics, Vol. 35, pdf