-------------------------------------------------------------------------------
- Cheese version 1.4
-------------------------------------------------------------------------------

Author   : Patrice DUHAMEL (cheesechess@free.fr)

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


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

Cheese_13b_32.exe   : 32 bits version
Cheese_13b_64.exe   : 64 bits version using a cpu instruction for bitcount
Cheese_13b_64nh.exe : 64 bits version for cpu without the bitcount instruction 


-------------------------------------------------------------------------------
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 

  -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.
  

-------------------------------------------------------------------------------
Features
-------------------------------------------------------------------------------

    * Engine compatible UCI / Windboard
    * Bitboards and magic bitboards
    * alpha-beta search (negamax)
    * Iterative deepening
    * Aspiration window
    * Quiescence search
    * Opening book (own file format)
    * Principal Variation Search
    * Internal iterative deepening
    * Adaptive null moves pruning
    * Late move reduction
    * Futility pruning + extended + razoring
    * mate distance pruning
    * Transposition table + Zobrist hash key
          * Use Mersenne Twister for random numbers
          * Replacement scheme : always 
    * Opening book
    * Search extensions
          * Fractional ply
          * Check extension
          * Mate threats
          * Pawn on 7th 
    * Evaluation fonction
          * Game phase (incremental)
          * Material (incremental)
          * Mobility + safe mobility
          * Piece tables
          * Penality for early queen move
          * Doubled pawns
          * Passed pawns + connected
          * Isolated pawns
          * Backward pawns
          * Blocked pawns 
          * Rooks on open or semi-open files
          * Rooks and Queen on 7th rank
          * King safety + tropism
          * Insuficiant Material
	  * Knight outposts
    * Move ordering
          * Hash table
          * Static Exchange Evaluation
          * Promotion
          * Killer moves 
          * History heuristic 


-------------------------------------------------------------------------------
Changes in version 1.4
-------------------------------------------------------------------------------

    * Version 1.4 - March 17th 2012

	* Fix a problem with killer moves
	* Fix problem with history heuristic
	* Increase buffer size for UCI/Winboard
	* Optimize move generation
	* Optimize makemove/unmakemove
	* Optimize futility pruning
	* Optimize SEE calls
	* Remove killer moves at ply - 2
	* Remove mate killer moves			
	* Add tapered evaluation for piece table
	* Improve evaluation function
	* Improve king safety
	* Reduce number of calls for the time check function						
	* Show time and speed in perft and divide
	* Add UCI option to clear hash table
	* Increase maximum size of hash table to 4096 Mo

-------------------------------------------------------------------------------
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-2012 DUHAMEL Patrice.
This program is freely distributed, and must not be sold or distributed
without the author authorisation.

