-------------------------------------------------------------------------------
- Cheese version 1.5
-------------------------------------------------------------------------------

Author   : Patrice DUHAMEL (cheesechess@free.fr)

Web site : cheesechess.free.fr/index_en.html

-------------------------------------------------------------------------------
Fichiers
-------------------------------------------------------------------------------

Windows : 

cheese-15-win-64-pop.exe   : 64 bits version using a cpu instruction for bitcount (the fastest version)
cheese-15-win-64.exe       : 64 bits version for cpu without the bitcount instruction
cheese-15-win-32.exe       : 32 bits version

Linux : 

cheese-15-linux-64-pop     : 64 bits version using a cpu instruction for bitcount (the fastest version)
cheese-15-linux-64         : 64 bits version for cpu without the bitcount instruction
cheese-15-linux-32         : 32 bits version

-------------------------------------------------------------------------------
Installation
-------------------------------------------------------------------------------

* Arena Chess :

  - Unzip all files in a folder
    
  - Launch Arena Chess

  - In "Engines" Menu, choose "Install New Engine"

  - Choose UCI or Winboard (the engine works in both modes)

  - Choose Cheese executable in the folder it was installed

  - To configure Cheese, choose the option Configure in the Engines menu


* Winboard

  - Unzip all files in a folder

  - to be able to choose Cheese in the winboard startup dialog :
 
  - Edit the file winboard.ini in Winboard folder

  - find the lines : /firstChessProgramNames=
               and : /sedondChessProgramNames=

  - add the name of Cheese executable in the list (without .exe)

  - to configure Cheese, edit the file cheese.ini
   

* Parameters

  The file cheese.ini let you choose some parameters in Winboard version :

  Hash = size of the Hash table in Mb (ex: 8, 16, 32 ,64, 128, 256)

  Book = 1 or 0 , 1 = use an opening book, compatible with Cheese (cheese use his own file format)
			
  BookFile = path to the opening book file


* Command line

  -help

    show available options 

  -testsuite file_name
  
    run analysis of a EPD file 

  -perft depth

    search number of nodes from the current position, to the selected depth 

  -perft depth -fen "position"

    search number of nodes from the selected FEN position, to the selected depth 

  -perftd depth
  -perftd depth -fen "position"

    same as perft but with number of captures, en passant, promotions, castle, checks, and mates

  -divide depth

    search number of nodes for each possible moves from the current position, 
    to the selected depth 

  -divide depth -fen "position"

    search number of nodes for each possible moves from the selected FEN position, 
    to the selected depth 

  -buildbook file.pgn file.bin depth number

    Create a new opening book from a PGN file.
    the depth is the maximum number of moves in the opening, number is the minimum number of moves 
    for the opening to be used.


* Opening books

  Cheese can use an opening book in his own format.

  The book cheeseopenbook.bin was created from gm2600.pgn, with a depth of
  10 half-moves, for openings used a minimum of 5 times.
  
-------------------------------------------------------------------------------
Changes in version 1.5
-------------------------------------------------------------------------------

    * Version 1.5 - July 6th 2013

		- add staged move generation
		- fix problems in move validation
		- fix problem in draw evaluation
		- fix problem in mate distance pruning
		- fix possible crash in long games
		- fix problem in null moves prunning
		- change node counting method (+1 before making a legal move in search)
		- change history heuristic array (piece/to)
		- disable recapture extension
		- use check evasion in the first ply of quiescence
		- add evaluation tempo bonus
		- adjust mate scores in hash table
		- few optimizations
		- windows : replace QueryPerformanceCounter() function by GetTickCount()
		- use UCI parameters seldepth, lowerbound, upperbound
		- perft now return only nodes count (old perft renamed "perftd")

-------------------------------------------------------------------------------
Thanks
-------------------------------------------------------------------------------

Thanks to Grant Osborne, Robert M. Hyatt, Bruce Morland, Jonatan Peterson,
Gerd Isenberg, Pradu Kannan,
And all people on Winboard and TalkChess forums.

And thanks to all people testing or reporting problems.


-------------------------------------------------------------------------------
License
-------------------------------------------------------------------------------

Copyright 2006-2013 DUHAMEL Patrice.
This program is freely distributed, and must not be sold or distributed
without the author authorisation.

