*******************************************************************************
*                           Pedone 1.6                                        *
*******************************************************************************


DESCRIPTION

This is a new release of Pedone, an UCI chess engine written in C.
It's a console program and it needs a graphical interface to work like 
XBoard/Winboard (with Polyglot) or Arena.
It's optimized to work with syzygy.
For whatever you need you can contact me at the following email address:

0xfab10@gmail.com
Fabio Gobbato


THE PACKAGE

The package includes the following files:

- Pedone_win32.exe      - Executable for 32 bit windows OS 
- Pedone_win_nopopcnt   - Executable for 64 bit windows OS and CPU without SSE4.2 instructions.
- Pedone_win.exe        - Executable for 64 bit windows OS and CPU with SSE4.2 instructions.
- Pedone_win_bmi2.exe   - Executable for 64 bit windows OS and CPU with BMI2 instructions
- Pedone_android        - Executable for Android OS
- Pedone_linux32        - Executable for 32 bit linux OS 
- Pedone_linux_nopopcnt - Executable for 64 bit linux OS and CPU without SSE4.2 instructions.
- Pedone_linux          - Executable for 64 bit linux OS and CPU with SSE4.2 instructions.
- Pedone_linux_bmi2     - Executable for 64 bit linux OS and CPU with BMI2 instructions
- pthreadGC2-w32.dll    - a library useful for the 32 bit windows executable
- ReadMe.txt            - The file you are reading
- logo.bmp              - Pedone's logo


ENGINE SETTINGS

- Hash:
  select the size for the hash table.
  Pedone can accept values between 1MB and 1048576MB.

- Ponder:
  enable or disable pondering.

- DrawScore
  Choose the score in cp for the Draw (between -500 and +500)
  An high value makes the engine play for the draw.
  A low value makes the engine to disdain the draw.

- OwnBook:
  Enable or disable the own book.

- BookFile
  Choose the opening book file.

- BookRandom
  With this true the engine chooses every time a random move from the book, 
  otherwise chooses always the best one.

- Strength
  Set the strength level from 1 to 100.

- Threads
  Choose the number of threads for a multithreaded search (between 1 and 128).

- MultiPV
  Display multiple pvs (from 1 to 256).

- SyzygyPath
  The path of the syzygy files.

- Syzygy50MoveRule
  Enable or disable the fifty move rule for the tb probe.

- SyzygyProbeLimit
  Limit the egtb probe with this number of pieces left on the board.


WHAT'S NEW

Android executable
Max Threads set to 128
Simplify king safety and increased sensivity
Improved threatened pieces evaluation
Tuning
Added some more endgame knowledge
Tuned reductions
Improved history heuristic
Tuned iid reduction formula
Some speed optimizations


TECHNICAL DETAILS

- Board rappresentation QuadBitBoard
- Magic BitBoard
- Multithreaded search
- PV search
- Quiescence search with captures, promotions and checks
- Transposition Table
- Iterative deepening
- Internal iterative deepening
- Aspiration window
- Search extensions and reductions
- Late move pruning
- Futility and Null Move pruning
- Delta pruning
- SEE
- History
- Killer moves
- Razoring
- MultiPV
- Syzygy egtb support
- Polyglot book support


ACKNOWLEDGEMENTS

Thanks to:
- Ronald de Man for the syzygy probe code.
- G6 group for the technical support and for being a meeting point for
  the Italian computer chess programmers
- chessprogramming for the knowledge that it shares
- talkchess comunity for the suggestions and the help received
- All the people that tested Pedone during these years