*******************************************
*   Cerebellum light book for BrainFish   *
*******************************************

Brainfish is a standard Stockfish chess engine extended by the general polyglot book format, 
which is capable of handling a reduced part of Cerebellum, which is an innovative chess opening and playing book.
To be able to handle the Cerebellum Library, there are some extensions in the Book Code for handling repetitions.
In BrainFish the Book moves are only used in engine games, not in analysis mode

All moves in the distributed book Cerebellum_Light_Poly.bin generated by Cerebellum where calculated by using Stockfish as analysis engine, without using statistics.
Then those moves where again recalulated by the Cerebellum Library using a graph algorithm which makes all scores in the library consistant.
Consistant scores means for example when the starting position has a score of 0.2 and a best move is 1.e4, the position after 1.e4 must have the score -0.2.
Additional some others properties are found like the best main line for a position and possible Transitions.

That means when BrainFish is playing moves which are in the Cerebellum book, it plays like StockFish regarding the evaluation, only at a much higher skill level.
Pondering is only active after the last move out of the book has been played.

The lines in Cerebellum_Light_Poly.bin are in some cases reaching the late middlegame and endgame.

BrainFish is licensed unter the GPL, which includes the access code to the general book format.
Cerebellum_Light_Poly.bin is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License

----------------------------------------------------------------

The Website for BrainFish is: www.zipproth.de/BrainFish, where also the SourceCode is available.

BrainFish ist delivered in 3 different compiled Versions:

_X64 for older 64 bit Processors.
_modern for modern 64 bit Processors like Nehalem, Sandy Bridge, Ivy Bridge
_bmi2 for the latest 64 bit Processors like Intel Haswell, Broadwell, Skylake. and Amd Excavator, Zen

-----------------------------------------------------------------

There are four additional UCI options:

- BookFile: default = <empty>, Path+Filename to the BrainFish book, for example d:\Chess\Cerebellum_Light_Poly.bin
                                 
- BestBookMove: default = true, if false the move is selected according to the weights in the Polyglot book

Brain Fish can of course handle also moves or openings which are never played by the book, for example 1. ..e6.
You can play such openings with using a Standard opening book for your GUI which for example plays only 1. ..e6 as black and then stops.
Another option is to edit the Poyglot Book.

- BookDepth: default 255, maximum number of moves played out of the book in one row.

- Large Pages: default = false

 Activates Large Pages support for the Hashtable with faster access.
 May work only for some time after a windows restart because of memory fragmentation.
 The standard memory allocation fallback is activated automatically.
 Additional user rights like starting in Administrator mode may be necessary.

-----------------------------------------------------------------

Brainfish in combination with the published book Cerebellum_light.bin should be able to compete with the best existing opening librarys, which means u can use it for engine tournaments without an opening book. 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.
