FUSCsharp

Home * Engines * FUSc#

FUSc#, was an experimental research open source chess engine, 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.

=Description=

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

Search

 * Iterative Deepening
 * Aspiration Windows
 * Alpha-Beta
 * Principal Variation Search
 * Iterative Search (at times)
 * Transposition Table
 * Move Ordering
 * Countermove Heuristic
 * History Heuristic
 * Killer Heuristic
 * MVV/LVA
 * Piece-Square Tables
 * Selectivity
 * Futility Pruning
 * Null Move Pruning
 * Quiescence Search

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

=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= Up one Level