Difference between revisions of "Gosu"

From Chessprogramming wiki
Jump to: navigation, search
 
(5 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
 
'''Gosu''',<br/>
 
'''Gosu''',<br/>
a [[Chess Engine Communication Protocol]] compatible chess engine by [[Arkadiusz Paterek]], originated as a part of his masters thesis. In [https://en.wikipedia.org/wiki/Korean_language Korean] [https://en.wikipedia.org/wiki/Gosu its name] means "expert".  
+
a [[Chess Engine Communication Protocol]] compatible chess engine by [[Arkadiusz Paterek]], originated as a part of his masters thesis. In [https://en.wikipedia.org/wiki/Korean_language Korean] [https://en.wikipedia.org/wiki/Gosu its name] means expert or master.  
  
 
=Description=
 
=Description=
In Arkadiusz Paterek's  paper ''Modeling of an evaluation function in games'' <ref>[[Arkadiusz Paterek]] ('''2004'''). ''Modelowanie funkcji oceniającej w grach''. [[University of Warsaw]], [https://www.mimuw.edu.pl/~paterek/mfog.ps.gz zipped ps] (Polish, Modeling of an evaluation function in games)</ref>, referring his thesis  ''Modeling of an evaluation function in chess'', the [[Evaluation|evaluation]] is mentioned using a [[Neural Networks#Perceptron|single-layer perceptron]] design inspired by [[Michael Buro|Michael Buro's]] [[Michael Buro#GLEM|general linear evaluation model]] (GLEM) <ref>[[Michael Buro]] ('''1998'''). ''[http://link.springer.com/chapter/10.1007/3-540-48957-6_8 From Simple Features to Sophisticated Evaluation Functions]''. [[CG 1998]], [https://skatgame.net/mburo/ps/glem.pdf pdf]</ref> in the domain of [[Othello]]. Gosu performs [[Automated Tuning#LogisticRegression|logistic regression]] to optimize weights of corresponding features aka minimize the [https://en.wikipedia.org/wiki/Mean_squared_error mean squared error] [https://en.wikipedia.org/wiki/Loss_function loss function] by [https://en.wikipedia.org/wiki/Gradient_descent gradient descent] over a set of 6.2 million quiet positions from master games. For each position, it squares the difference of an [[Oracle|oracle]] score of 0.999 for a win, 0.5 for a draw, 0.0013 for a loss, and the [https://en.wikipedia.org/wiki/Dot_product dot product] of the weight and [https://en.wikipedia.org/wiki/Feature_(machine_learning) feature vector], squashed by a [https://en.wikipedia.org/wiki/Logistic_function logistic function] into a 0.0 to 1.0 range of a [[Pawn Advantage, Win Percentage, and Elo|winning probability]]. To speed up matters after [[Automated Tuning|tuning]], an [[Evaluation Hash Table|evaluation cache]] is used along with [[Lazy Evaluation|lazy evaluation]], which performed well in Gosu's [[MTD(f)]] framework.
+
In Arkadiusz Paterek's  paper ''Modeling of an evaluation function in games'' <ref>[[Arkadiusz Paterek]] ('''2004'''). ''Modelowanie funkcji oceniającej w grach''. [[University of Warsaw]], [https://www.mimuw.edu.pl/~paterek/mfog.ps.gz zipped ps] (Polish, Modeling of an evaluation function in games)</ref>, referring his thesis  ''Modeling of an evaluation function in chess'', the [[Evaluation|evaluation]] is mentioned using a [[Neural Networks#Perceptron|single-layer perceptron]] design inspired by [[Michael Buro|Michael Buro's]] [[Michael Buro#GLEM|general linear evaluation model]] (GLEM) <ref>[[Michael Buro]] ('''1998'''). ''[http://link.springer.com/chapter/10.1007/3-540-48957-6_8 From Simple Features to Sophisticated Evaluation Functions]''. [[CG 1998]], [https://skatgame.net/mburo/ps/glem.pdf pdf]</ref> in the domain of [[Othello]]. Gosu performs [[Automated Tuning#LogisticRegression|logistic regression]] to optimize weights of corresponding features aka minimize the [https://en.wikipedia.org/wiki/Mean_squared_error mean squared error] [https://en.wikipedia.org/wiki/Loss_function loss function] by [https://en.wikipedia.org/wiki/Gradient_descent gradient descent] over a set of 6.2 million quiet positions from master games. For each position, it squares the difference of an [[Oracle|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 [https://en.wikipedia.org/wiki/Dot_product dot product] of the weight and [https://en.wikipedia.org/wiki/Feature_(machine_learning) feature vector], squashed by a [https://en.wikipedia.org/wiki/Logistic_function logistic function] into a 0.0 to 1.0 range of a [[Pawn Advantage, Win Percentage, and Elo|winning probability]]. To speed up matters after [[Automated Tuning|tuning]], an [[Evaluation Hash Table|evaluation cache]] is used along with [[Lazy Evaluation|lazy evaluation]], which performed well in Gosu's [[MTD(f)]] framework.
  
 
=Tournament Play=
 
=Tournament Play=
Line 21: Line 21:
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=18&t=48925 Gosu] by [[Grzegorz Sidorowicz]], [[Computer Chess Forums|Winboard Forum]], September 15, 2004
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=18&t=48925 Gosu] by [[Grzegorz Sidorowicz]], [[Computer Chess Forums|Winboard Forum]], September 15, 2004
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=18&t=48980 gosu v.0.2] by [[Arkadiusz Paterek|Arek Paterek]], [[Computer Chess Forums|Winboard Forum]], September 20, 2004
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=18&t=48980 gosu v.0.2] by [[Arkadiusz Paterek|Arek Paterek]], [[Computer Chess Forums|Winboard Forum]], September 20, 2004
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=127 Gosu does not find the mate in 1...] by [[Dr. Axel Schumacher]], [[Computer Chess Forums|Winboard Forum]], October 03, 2004
+
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=127 Gosu does not find the mate in 1...] by [[Dr. Axel Schumacher]], [[Computer Chess Forums|Winboard Forum]], October 03, 2004 » [[Checkmate]]
 
==2005==
 
==2005==
 
* [https://www.stmintz.com/ccc/index.php?id=409382 Gauntlet Gosu v0.6 with games] by [[Karl-Heinz Söntges]], [[CCC]], February 04, 2005
 
* [https://www.stmintz.com/ccc/index.php?id=409382 Gauntlet Gosu v0.6 with games] by [[Karl-Heinz Söntges]], [[CCC]], February 04, 2005
Line 31: Line 31:
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=5317 Problem with new Gosu] Postby Tony Thomas, [[Computer Chess Forums|Winboard Forum]], August 05, 2006
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=5317 Problem with new Gosu] Postby Tony Thomas, [[Computer Chess Forums|Winboard Forum]], August 05, 2006
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=5323 Gosu loosing on time] by [[Volker Pittlik]], [[Computer Chess Forums|Winboard Forum]], August 06, 2006
 
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=5323 Gosu loosing on time] by [[Volker Pittlik]], [[Computer Chess Forums|Winboard Forum]], August 06, 2006
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=25286 Gosu 0.16 v Thor's Hammer 2.28 (queen sac)] by Graham Banks]], [[CCC]], December 06, 2008
+
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=25286 Gosu 0.16 v Thor's Hammer 2.28 (queen sac)] by [[Graham Banks]], [[CCC]], December 06, 2008 » [[Thor's Hammer]]
  
 
=External Links=  
 
=External Links=  
Line 46: Line 46:
 
[[Category:WinBoard]]
 
[[Category:WinBoard]]
 
[[Category:XBoard]]
 
[[Category:XBoard]]
 +
[[Category:Master]]
 +
[[Category:Thesis]]
 +
[[Category:MTD(f)]]

Latest revision as of 19:56, 9 September 2020

Home * Engines * Gosu

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.

Description

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.

Publications

Forum Posts

2004

2005

2006 ...

External Links

Chess Engine

Misc

Gosu (programming language) from Wikipedia

References

  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