About Deep Pharaon 3.5.1
I - Some Background
The first chess program I wrote was HpChess for the Hp48 calculator. It is an assembler program released in 1995 and I am still receiving postcards and e-mail about it.
Due to the low speed of the Hp48, HpChess can look at a depth of only 3 plies: not enough to play decently against a strong player or to avoid even easy traps.
The best achievement of HpChess was to draw a blitz game in 1996 against a PC Chess program running on a P75.
I decided in late 1995 to convert HpChess from assembler to C to run it on PC platforms : what a bad idea :-)
HpChess is a slow program (50 / 100 nps) and uses extensively SEE (Static Exchange Evaluator), pins detection.
A quiescence search at this low speed, seems too costly.
In a fast PC (>Pentium 200), detection of pins is not as important: the program can realizes itself why it should avoid pins using a 'brute force' search. The SEE is also not as valuable as in a HP48 (most current PC chess programs use SEE for ordering moves and for cutoff in the Quiescence search).
So my attempt to use what I have learned in HpChess for a PC Class chess program was a failure.
(the only good idea I have learned in HpChess is to try any ideas, even if they don't seem at first very useful).
II - The second birth of Pharaon
In late 1996, I was very interested by the 'Object Oriented stuff', I decided to convert all the C source of Pharaon in C++.
It was a big re-write and this new version played its first game in April 1997 (see Pharaon history)
III - Deep Pharaon features
- The hash-table move
- The moves recommended by the SEE
- The killer moves
- Counter moves
- History heuristic
IV - Where to find it
The official web site of Pharaon is : http://www.fzibi.com/pharaon.htm
You'll find their the latest release of Pharaon, some more info, and I will be pleased to receive any feedbacks.
I'm always searching for ways to add new knowledge (for the positional part of the evaluation), if you find a position where Pharaon missed a good *positional* move, please send me the game and explain me why it is a good move ( I am a 2100 elo chess player), I will try to explain it again to Pharaon ;-)