Hello together,
today I released Brainfish, which realizes a new concept of a chess engine, the unification of an opening book and the engine. Brainfish ist build upon Stockfish, therefore it is of course under the GPL license and the source code is available. The additional parts are not StockFish dependant and would work in every engine.
Unification means, that the book is not created with statistics or human configuration, but is completely generated from the engine itself, like a grandmaster may think of how to play some opening lines before a game. The book is contained in the exe itself, to demonstrate the unity of both.
So when Brainfish makes a move from it's internal opening library, there is in fact still Stockfish playing, but with a much higher precision and depth than normally possible. The libray extends in many cases into the deep middlegame and also into the endgame. If Brainfish is out of his book, it plays identical to Stockfish.
Brainfish is a spinoff of a Library called Cerebellum (not yet released) for the deep Analysis of chess Positions and complete opening trees. It contains the one or two best moves per position from Cerebellum. So BrainFish can be regarded as the playing part of that Library. BrainFish can also handle transpostions and graph interactions in his library, which is one of it's main advantages. There may be some similarities with IDeA, but I don't know enough of IDeA to compare them directly.
How can BrainFish be compared to other Engines?
That's a bit difficult, because BrainFish is in fact not just another Engine or a Stockfish clone with a different playing style. It add's something new to an engine, a self generated playing book (playing book because it can handle also middle and endgames). So the increase in playing strength can be directly measured, but the difference does not mean the same as when comparing two standard engines. It's more like building the strongest possible chess playing entity, no matter how it works internally.
How does it compare to Stockfish with a good standard opening book?
Brainfish should already play better than most or perhaps any Stockfish + opening book combination, but there's not enough statistical evidence so far. The main advantage of BrainFish is that it plays better every day when adding new nodes and recalculating the graph.
The graph algorithm always recalculates the whole tree, that means adding an endgame postion can change what BrainFish plays in the first moves.
BrainFish Website: www.zipproth.de/BrainFish
Stefan Pohls Testing site: http://spcc.beepworld.de/index.htm
Thomas
Brainfish, a new concept of a chess engine
Moderators: hgm, Rebel, chrisw
-
- Posts: 59
- Joined: Sat Jan 01, 2011 5:33 pm
Brainfish, a new concept of a chess engine
Last edited by Thomas Zipproth on Mon Jul 25, 2016 3:24 am, edited 1 time in total.
-
- Posts: 2283
- Joined: Sat Jun 02, 2012 2:13 am
Re: Brainfish, a new concept of a chess engine
Thanks, Thomas, very interesting. Are you saying that the end user can trigger a daily recalculation of the whole built-in tree, without needing a new compile/ build?Thomas Zipproth wrote:Hello together,
today I released BrainFish, which realizes a new concept of a chess engine, the unification of an opening book and the engine. Brainfish ist build upon Stockfish, therefore it is of course under the GPL license and the source code is available. The additional parts are not StockFish dependant and would work in every engine.
Unification means, that the book is not created with statistics or human configuration, but is completely generated from the engine itself, like a grandmaster may think of how to play some opening lines before a game. The book is contained in the exe itself, to demonstrate the unity of both.
So when Brainfish makes a move from it's internal opening library, there is in fact still Stockfish playing, but with a much higher precision and depth than normally possible. The libray extends in many cases into the deep middlegame and also into the endgame. If Brainfish is out of his book, it plays identical to Stockfish.
Brainfish is a spinoff of a Library called Cerebellum (not yet released) for the deep Analysis of chess Positions and complete opening trees. It contains the one or two best moves per position from Cerebellum. So BrainFish can be regarded as the playing part of that Library. BrainFish can also handle transpostions and graph interactions in his library, which is one of it's main advantages. There may be some similarities with IDeA, but I don't know enough of IDeA to compare them directly.
How can BrainFish be compared to other Engines?
That's a bit difficult, because BrainFish is in fact not just another Engine or a Stockfish clone with a different playing style. It add's something new to an engine, a self generated playing book (playing book because it can handle also middle and endgames). So the increase in playing strength can be directly measured, but the difference does not mean the same as when comparing two standard engines. It's more like building the strongest possible chess playing entity, no matter how it works internally.
How does it compare to Stockfish with a good standard opening book?
Brainfish should already play better than most or perhaps any Stockfish + opening book combination, but there's not enough statistical evidence so far. The main advantage of BrainFish is that it plays better every day when adding new nodes and recalculating the graph.
The graph algorithm always recalculates the whole tree, that means adding an endgame postion can change what BrainFish plays in the first moves.
BrainFish Website: www.zipproth.de/BrainFish
Stefan Pohls Testing site: http://spcc.beepworld.de/index.htm
Thomas
CL
-
- Posts: 59
- Joined: Sat Jan 01, 2011 5:33 pm
Re: Brainfish, a new concept of a chess engine
The ability to do that will be in the release of the library itself which is planned in a few month from now, but I will try to add a Brainfish update to the website as often a possible, perhaps one or two times a week for the bmi2 (haswell) and modern (popcount) Version.carldaman wrote:
Thanks, Thomas, very interesting. Are you saying that the end user can trigger a daily recalculation of the whole built-in tree, without needing a new compile/ build?
CL
-
- Posts: 708
- Joined: Mon Jan 16, 2012 6:34 am
Re: Brainfish, a new concept of a chess engine
Really impressive idea, Thomas. I have a couple of questions.Is it based on stockfish master
or ASM fish? Is it possible to merge into SF testing framework ? Can the cellebrum or library benefit from SF testing framework?
Cheers,
Nay
or ASM fish? Is it possible to merge into SF testing framework ? Can the cellebrum or library benefit from SF testing framework?
Cheers,
Nay
-
- Posts: 1242
- Joined: Sat Jul 05, 2014 7:54 am
- Location: Southwest USA
Re: Brainfish, a new concept of a chess engine
Need a w32 compile for testing.......download looks big......29mb zip file!Thomas Zipproth wrote:The ability to do that will be in the release of the library itself which is planned in a few month from now, but I will try to add a Brainfish update to the website as often a possible, perhaps one or two times a week for the bmi2 (haswell) and modern (popcount) Version.carldaman wrote:
Thanks, Thomas, very interesting. Are you saying that the end user can trigger a daily recalculation of the whole built-in tree, without needing a new compile/ build?
CL
Thx in advance....AR
ps.. Aristarch with chessbrain!?!?.......Interesting
-
- Posts: 59
- Joined: Sat Jan 01, 2011 5:33 pm
Re: Brainfish, a new concept of a chess engine
Brainfish is based on the current Stockfish master. Future implementations may have a proxy exe, which can connect the library to any engine.
Regarding the SF testing framework, Brainfish can learn from played games by integrating them in it's library. But a better way to use a lot of computing power would be to use them for the calculation of the library itself, which is already possible in a distributed way.
The next step would be to implement a framework for the distributed computing of the library.
Thomas
Regarding the SF testing framework, Brainfish can learn from played games by integrating them in it's library. But a better way to use a lot of computing power would be to use them for the calculation of the library itself, which is already possible in a distributed way.
The next step would be to implement a framework for the distributed computing of the library.
Thomas
-
- Posts: 59
- Joined: Sat Jan 01, 2011 5:33 pm
Re: Brainfish, a new concept of a chess engine
I will try to upload a w32 compile next week, this week I'm on holidaysupersharp77 wrote:
Need a w32 compile for testing.......download looks big......29mb zip file!
Thx in advance....AR
ps.. Aristarch with chessbrain!?!?.......Interesting
-
- Posts: 2441
- Joined: Sat Sep 03, 2011 7:25 am
- Location: Berlin, Germany
- Full name: Stefan Pohl
Re: Brainfish, a new concept of a chess engine
From the Brainfish-website (www.zipproth.de): "For feedback or if you have lines (for example from a lost game) that should be included in the book, you can send them to Brainfish (at) zipproth.com"Thomas Zipproth wrote:The ability to do that will be in the release of the library itself which is planned in a few month from now, but I will try to add a Brainfish update to the website as often a possible, perhaps one or two times a week for the bmi2 (haswell) and modern (popcount) Version.carldaman wrote:
Thanks, Thomas, very interesting. Are you saying that the end user can trigger a daily recalculation of the whole built-in tree, without needing a new compile/ build?
CL
-
- Posts: 2272
- Joined: Mon Sep 29, 2008 1:50 am
Re: Brainfish, a new concept of a chess engine
I must confess I don't understand the difference between BrainFish and Stockfish playing with a strong opening book.
Perhaps the book in BF acts as a hashtable so that it can also be used in search? But I don't think this would give additional strength.
Perhaps the book in BF acts as a hashtable so that it can also be used in search? But I don't think this would give additional strength.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
Without ideas there is nothing to simplify.
-
- Posts: 4610
- Joined: Wed Oct 01, 2008 6:33 am
- Location: Regensburg, Germany
- Full name: Guenther Simon
Re: Brainfish, a new concept of a chess engine
You should add the exact name of what 'current' SF master source was used, because just a few days later no one knows it w/o doing a diff, if it is just generally written in the readme.Thomas Zipproth wrote:Brainfish is based on the current Stockfish master. Future implementations may have a proxy exe, which can connect the library to any engine.
Regarding the SF testing framework, Brainfish can learn from played games by integrating them in it's library. But a better way to use a lot of computing power would be to use them for the calculation of the library itself, which is already possible in a distributed way.
The next step would be to implement a framework for the distributed computing of the library.
Thomas
By now (time of writing this post) the current version would be:- the current development version of Stockfish
stockfish_16072409
Guenther