Changes

Jump to: navigation, search

FUSCsharp

5,811 bytes added, 20:44, 29 October 2018
Created page with "'''Home * Engines * FUSc#''' '''FUSc#''',<br/> was an experimental research open source chess engine <ref>as of October 2018, sour..."
'''[[Main Page|Home]] * [[Engines]] * FUSc#'''

'''FUSc#''',<br/>
was an experimental research [[:Category:Open Source|open source chess engine]] <ref>as of October 2018, source code seems no longer available, the project outdated and abondended</ref>, 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 sharp|C#]]. Compliant to the [[UCI]] protocol, it was able to play online. FUSc# was subject of research on [[Temporal Difference Learning|temporal difference learning]] using [[Temporal Difference Learning#TDLeaf|TD-Leaf(λ)]], as elaborated in [[Marco Block-Berlitz|Marco Block's]] thesis <ref>[[Marco Block-Berlitz|Marco Block]] ('''2004'''). ''Verwendung von Temporale-Differenz-Methoden im Schachmotor FUSc#''. Diplomarbeit, Betreuer: [[Raúl Rojas|Prof. Dr. Raúl Rojas]], [[Free University of Berlin]], [http://page.mi.fu-berlin.de/block/Skripte/diplomarbeit.pdf pdf] (German)</ref>.

=Description=
==[[Board Representation]]==
While FUSc# originally had an [[0x88|0x88 board representation]], it gained some speed up by using [[Rotated Bitboards|rotated bitboards]] <ref>[[Johannes Buchner]] ('''2005'''). ''Rotated bitboards in FUSc#''. [[Free University of Berlin]], [http://page.mi.fu-berlin.de/jbuchner/rotated.pdf pdf]</ref>.

==[[Search]]==
<ref>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]], [http://dynamics.mi.fu-berlin.de/preprints/buchner-bachelor-thesis.pdf pdf]</ref>
* [[Iterative Deepening]]
* [[Aspiration Windows]]
* [[Alpha-Beta]]
* [[Principal Variation Search]]
* [[Iterative Search]] (at times) <ref>an [[Iterative Search|iterative]] [[Alpha-Beta|alpha-beta]] matrix version gave a promising performance boost, bought by a huge degree of code complexity, see [[Marco Block-Berlitz|Marco Block]], André Rauschenbach, [[Johannes Buchner]], Frank Jeschke, [[Raúl Rojas]] ('''2005'''). ''Das Schachprojekt FUSc#"''. Technical Report B-05-21, [http://dynamics.mi.fu-berlin.de/preprints/buchner-fusch-report.pdf pdf], [[Free University of Berlin]] (German)</ref>
* [[Transposition Table]]
* [[Move Ordering]]
** [[Countermove Heuristic]]
** [[History Heuristic]]
** [[Killer Heuristic]]
** [[MVV-LVA|MVV/LVA]]
** [[Piece-Square Tables]]
* [[Selectivity]]
** [[Futility Pruning]]
** [[Null Move Pruning]]
** [[Quiescence Search]]

==[[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>.
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 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=
* [[KnightCap]]

=Publications=
* [[Marco Block-Berlitz|Marco Block]] ('''2004'''). ''Verwendung von Temporale-Differenz-Methoden im Schachmotor FUSc#''. Diplomarbeit, Betreuer: [[Raúl Rojas]], [[Free University of Berlin]], [http://page.mi.fu-berlin.de/block/Skripte/diplomarbeit.pdf pdf] (German)
* [[Marco Block-Berlitz|Marco Block]], André Rauschenbach, [[Johannes Buchner]], Frank Jeschke, [[Raúl Rojas]] ('''2005'''). ''Das Schachprojekt FUSc#"''. Technical Report B-05-21, [http://www.inf.fu-berlin.de/inst/pubs/FuschReport2005.pdf pdf], [[Free University of Berlin]] (German)
* [[Johannes Buchner]] ('''2005'''). ''Rotated bitboards in FUSc#''. [[Free University of Berlin]], [http://page.mi.fu-berlin.de/jbuchner/rotated.pdf 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]], [http://dynamics.mi.fu-berlin.de/preprints/buchner-bachelor-thesis.pdf pdf]
* [[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]

=External Links=
* [https://slideplayer.com/slide/636086/ FUSc# - AG Schachprogrammierung FUSC# april 2005 FUSC# project group] (slides)
* [https://refubium.fu-berlin.de/handle/fub188/18583?show=full Refubium - Das Schachprojekt FUSc#]
* [http://www.mi.fu-berlin.de/w/Main/FuschICS FuschICS < Main < Wiki]

=References=
<references />
'''[[Engines|Up one Level]]'''
[[Category:Acronym]]

Navigation menu