History of eval changes in Rybka versions

Code, algorithms, languages, construction...
Post Reply
BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

History of eval changes in Rybka versions

Post by BB+ » Wed Mar 23, 2011 7:54 am

Here is my list of differences in eval between Rybka 2.3 (mid Feb 2007) and Rybka 1.0 Beta. As with some other Rybka versions, there are multiple "versions" of the eval function (e.g., some might ignore rooks) which might be due to some sort of optimisations (e.g. no rooks in root position).

*) The 1-3-5-10 material weighting is multiplied by 3717 rather than 3399.
*) The material imbalance adjustments are slightly perturbed. It seems that Rybka 2.2mp (Oct 31 2006) still had the same material imbalances as Rybka 1.0 Beta, but 2.2n2 (Dec 2 2006) differed (this version also is the first I can find to have 3717 rather than 3399).
*) lazy eval has some sort of "positional evaluation" incrementation (likely changed fairly early in the Rybka series).
*) The 3-centipawn tempo bonus was removed (not sure when -- Rybka 2.1o had a 10-centipawn bonus, in some eval funcs).
*) PawnFile PST is now [-4,-1,0,+1,+1,0,-1,-4] rather than -3 on a/h files.
*) Drawishness from pawn files was added (already in Rybka 1.2, maybe earlier).
*) The opening/endgame interpolation is now linear.

Everything else (including numerology and computation methods) seems the same in Rybka 2.3 and Rybka 1.0 Beta.
There are minor differences in the SWAR-based popcnt method, which could be just a different choice of compiler. Similarly, part of the mobility computations with lazy-eval seems to be inlined.

I think it is safe to say that very little work was done on the Rybka eval from Dec 2005 to somewhere around late 2006 or early 2007 (when Kaufman was hired).
Attachments
R230eval.txt
ASM dump of primary evaluation function for Rybka 2.3.
(33.83 KiB) Downloaded 316 times

Post Reply