The SMP version
The normal version first. Tests indicate a gain of 21 elo points. Improvements are marked in green on the idea-list.
ProDeo 2.2 (Winboard and UCI compatible) which you can run in multiple Interrfaces, among them the freeware Arena.
To run ProDeo you will need to announce the engine first.
Under ARENA do: Engines -> New Engine -> UCI -> RebelUCI.exe
Under ChessPartner do: Extra -> Engine Import Wizard -> Winboard -> Install -> ProDeo.exe
The SMP playing style version
During the years (from the last REBEL version of 2003 on after my retirement and withdrawl from the competition while moving to the free ProDeo as a hobby) a lot has changed in the ProDeo search part. It were interesting times, the rise of a new generation in the 2005/6 period, Fruit, Zappa, Rybka, they took the old generation by surprise and quickly as well. Lots of new search ideas.
I still like(d) to follow the developments, understand the new ideas and sometimes try them to satisfy my curiosity. And so during the years I finally moved to full nullmove (giving up my own invented selective search which I used since 1984), rewrote futility pruning up to 6 plies, added LMR and it gave what it promised, elo.
However, I noticed a downside I disliked very much, the quality of the playing style went down. With all those reductions and pruning techniques (you need them to survive) you also cut in the chess knowledge as a result. I tried ways to fix this (which actually was surprisingly simple) but found out the elo loss that came with it was too big. I wanted a system that played more attractive without loss of elo.
I found the solution in using an extra core. Not the usual SMP approach to speed up the search, but the launch of a slightly different ProDeo engine running as slave in the background thinking about the same position but with a different (more spectulative) style. And when the slave reports another move that is clearly better (higher score) then the move of the slave is played.
Clearly better is defined and controlled by 2 parameters in the default ProDeo.eng
[Score Margin = 25]
The move of the slave engine must be at least 25 centipawns better.
[Depth Margin = 0]
The move of the slave engine must have been searched with (at least) the same depth. Setting Depth Margin to 1 (or more) will accept a better move from the slave engine when it found something interesting one iteration less. 1 or even 2 can be handy using a slave personality with lots of extensions.
Both settings are inferior to the standard version but with the safety margin of 0.25 the engine is expected hardly to loses any strenght while playing much more enterprising in critical situations. Some examples:
Rf6! is not found within 3 minutes and 20 plies, the SMP version gets it in 30 seconds.
SMP plays Nb4! in 8 seconds while the standard version takes 38 seconds.
Rxc6! 1:40 by ProDeo 2.2 (default), SMP in 25 seconds.
r3qrk1/4bppp/4p3/p2pP2Q/1p1B4/1PpPP3/P1P2RPP/5RK1 w - - bm Rf6;
r5k1/2p1b1p1/6bp/p4P2/q3pP2/2PnB2P/PP1N4/KR3Q1R b - - bm Nb4;
r3k2r/4b2p/p1n3pN/1p1q1p2/5B2/3p1P2/PP4PP/2RQR2K w kq - bm Rxc6;
The SMP version is located in the Q3 subfolder and called Q3.EXE named after the winning the $1000 contest of 1999 creating the Q3 personality.
The default personality of the SMP version is (also) called Q3.ENG located in Q3\PERSONAL
Changing to a different personality for the SMP engine is possible and controlled by the default ProDeo.eng.
[Core Personality = q3.eng]
Change to an (existing) personality in the Q3\PERSONAL folder.
[Debug File = differences.epd]
Moves played by the SMP version are stored in EPD format. Example from the first diagram: r3qrk1/4bppp/4p3/p2pP2Q/1p1B4/1PpPP3/P1P2RPP/5RK1 w - - MASTER: 17 0.16 h5-g4; SLAVE : 18 1.10 f2-f6;
[Output Margin = 200]
Only positions within a score window of -2.00 | +2.00 are stored. We simply are not interested in likely won | lost positions.
Results and Future
Surprisingly the SMP version scored better than the normal ProDeo 2.2, notable with 10 elo points. This was not expected not even intended and the values for [Score Margin = 25] and [Attractiveness = 125] were just an educated wild guess.
This opens the door for new massive tuning of the possibilities of this approach, for instance involving the [King Safety] and [Mobility] or other parameters, maybe there is more elo to gain.
But for the moment I have reached my goal, improve the playing style without losing strength. It's release time, I take (another) break.
The surprising result has made me think if the approach has a future for those with (real) SMP programs having access to 32 processors or more. With the knowledge there is a diminishing return going from 4 to 8, 8 to 16, 16-32, 32 to 64 processors then it's quite possible that giving half of the available processors to a second SMP search as described on this page is more beneficial than the normal way of doing things.
Final remarks and downloads
I have seen it now several times that so now and then ProDeo (from earlier versions on) for reasons unknown ignores the GUI permanent brain setting and sometimes just plays with an active permanent brain despite the GUI forbids it. Hence I made the following fundamental change. The permanent brain from now on is controlled by setting [Permanent Brain = off] and the default setting is on. To play without the permanent brain you must change the ProdDeo.eng file.
For optimal opening book strength use the ProDeo 2.1 YAT books. Just move (or copy) DC.EBF and CCRLCEGT.CHT to the BOOKS subfolder.
Jeroen Noomen for this release has made a special CTG (Chessbase | Fritz) opening book suited for ProDeo.