PST of Fruit 2.1 and Rybka 1.0 Beta
Posted: Mon Aug 22, 2011 3:23 pm
I attach two programs that respectively compute the PST of Fruit 2.1 and Rybka 1.0 Beta. The purpose of this is to gauge the amount of code modification of Fruit necessary to reproduce the Rybka numbers. This is a fairly standard method for detecting "closeness", particularly when only one source code is available. Everything in the top half of the files is "filterable" (like computing the rank of a square), and so should not be included in a comparison. As usual, I will let others discuss the value of this evidence (for instance, introducing metrics) before arguing for my own opinion.
The Fruit 2.1 code has been re-formatted, but everything has been left in, including the possible scaling from a UCI option (e.g., some other engine might match the Fruit method, but only when scaling by 95%). I didn't bother with the white/black reflection. For Rybka 1.0 Beta I count: 2 added lines (for PawnFileEndgame), 4 removed statements (for D3/E3/D4/E4 pawns in the opening, others might count this as 2, due to D3/E3 and D4/E4 being in reflection), and 18 statements with modified numerology (the "tuning" numbers, one might call them, again only 17 if counting D5/E5 as one).
I also consider it a challenge to find a 2005-era engine (on any engine which is not specifically Fruit-influenced) whose PST can be replicated via a set of modifications that is comparable to the smallness of the Rybka/Fruit difference.
The Fruit 2.1 code has been re-formatted, but everything has been left in, including the possible scaling from a UCI option (e.g., some other engine might match the Fruit method, but only when scaling by 95%). I didn't bother with the white/black reflection. For Rybka 1.0 Beta I count: 2 added lines (for PawnFileEndgame), 4 removed statements (for D3/E3/D4/E4 pawns in the opening, others might count this as 2, due to D3/E3 and D4/E4 being in reflection), and 18 statements with modified numerology (the "tuning" numbers, one might call them, again only 17 if counting D5/E5 as one).
I also consider it a challenge to find a 2005-era engine (on any engine which is not specifically Fruit-influenced) whose PST can be replicated via a set of modifications that is comparable to the smallness of the Rybka/Fruit difference.