From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * 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].


Board Representation

While FUSc# originally had an 0x88 board representation, it gained some speed up by using rotated bitboards [3].




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


External Links


  1. as of October 2018, source code seems no longer available, the project outdated and abondended
  2. Marco Block (2004). Verwendung von Temporale-Differenz-Methoden im Schachmotor FUSc#. Diplomarbeit, Betreuer: Prof. Dr. Raúl Rojas, Free University of Berlin, pdf (German)
  3. Johannes Buchner (2005). Rotated bitboards in FUSc#. Free University of Berlin, pdf
  4. 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
  5. 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)
  6. 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

Up one Level