From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Gosu

a Chess Engine Communication Protocol compatible chess engine by Arkadiusz Paterek, originated as a part of his masters thesis. In Korean its name means expert or master.


In Arkadiusz Paterek's paper Modeling of an evaluation function in games [2], referring his thesis Modeling of an evaluation function in chess, the evaluation is mentioned using a single-layer perceptron design inspired by Michael Buro's general linear evaluation model (GLEM) [3] in the domain of Othello. Gosu performs logistic regression to optimize weights of corresponding features aka minimize the mean squared error loss function by gradient descent over a set of 6.2 million quiet positions from master games. For each position, it squares the difference of an oracle score from the outcome of the game, of 0.999 for a win, 0.5 for a draw, 0.0013 for a loss, and the dot product of the weight and feature vector, squashed by a logistic function into a 0.0 to 1.0 range of a winning probability. To speed up matters after tuning, an evaluation cache is used along with lazy evaluation, which performed well in Gosu's MTD(f) framework.

Tournament Play

Gosu played four Polish Computer Chess Championships, after a strong debut at the PCCC 2004, it won the PCCC 2005, and became third at the PCCC 2006 and played the IOPCCC 2007 where it lost the final rounds versus later winner Glaurung and runner up WildCat. Gosu further performed at the CCT7 with 4½/8.


Forum Posts



2006 ...

External Links

Chess Engine


Gosu (programming language) from Wikipedia


  1. Pansori gosu from Wikipedia
  2. Arkadiusz Paterek (2004). Modelowanie funkcji oceniającej w grach. University of Warsaw, zipped ps (Polish, Modeling of an evaluation function in games)
  3. Michael Buro (1998). From Simple Features to Sophisticated Evaluation Functions. CG 1998, pdf

Up one Level