Not logged inRybka Chess Community Forum
Up Topic The Rybka Lounge / Computer Chess / How does value of a pawn to 3200 (Rybka) result in errors?
- - By rocket (***) [se] Date 2017-11-18 11:59
In the document relaying the Rybka-Fruit controversy, there was a claim that Rybkas 3200 base value for pawns was revolutionary but also resulted in calculation errors.

How did these errors manifest themselves in practise? It appears paradoxical to speak of a computer making calculating errors.
Parent - - By bob (Gold) [us] Date 2017-12-01 21:35
It's called "hyperbole".  If you've been around computer chess for a good while, you would have seen lots of debates/discussions about the issue of

pawn = 100?  128?  256?  1000?  Etc.  The advantage of larger pawn values is that you have more room for ever-smaller positional bonuses.  But when you think about it, is there any chance that a difference of 1/1000th (or 1/32000th) of a pawn is going to lead to a revolutionary evaluation?  I'm hardly the best evaluation person on the planet, no idea who would actually hold that title.  But I have done both 100 and 1000, and found absolutely zero difference in terms of playing skill.  It simplifies thinking, as you now only agonize over units of 1/100th for a bonus, rather than having 10 times more possibilities, most of which are completely random in the third digit anyway.  The debates range from one end to the other.  A larger score range makes the evaluation more accurate.  It makes the search less efficient.  Smaller scores make the evaluation less accurate but the search more accurate.  My take is that I am not qualified, and I have never found anyone that was, to be able to use even 1/100ths of a pawn units, much less 1/1000th or smaller.  One of the more famous evaluation books written many years ago (not for computer chess) was "Point Count Chess" and the author generally worked with 1/10th of a pawn units. 

There are also hybrid approaches.  Use really large scoring ranges and then scale back before using the score at the end of the evaluation.  No particular point, pro or con, to doing so.
Parent - - By rocket (***) [se] Date 2017-12-03 00:09

>The advantage of larger pawn values is that you have more room for ever-smaller positional bonuses<


I must be missing something here. Larry Kaufman said pawn values were in his opinion too low for Rybka 1, which led to R1 being oblivious to dangerous, connected passed pawns, especially during material imbalances. He thus raised the pawn value in Rybka 2.32a.

How is this compatible with a base value of 3200 in Rybka 1.0 Beta?
Parent - - By Labyrinth (*****) [us] Date 2017-12-03 22:04

>I must be missing something here.


He means more precise values, not the values themselves.
Parent - - By rocket (***) [se] Date 2017-12-04 00:47 Edited 2017-12-04 01:13
Edit: read my post below.
Parent - - By Labyrinth (*****) [us] Date 2017-12-04 01:38
Post below didn't confirm that you understood what bob was talking about. When he says value for a pawn, he means how all pieces are valued since the usual metric is based on pawns: centipawns (100ths of a pawn). When he says larger values, he means like 1000 vs. 100, representing an increased precision because you can then have bonuses/penalties that are smaller relative to the total value, ie. 1025 instead of 102 but this comes at the cost of search efficiency.

You would use integers like 10,100,1000 instead of 0.5, 1.2 etc. to simplify the math, and there might be some performance benefits as well (not sure). So you'd make all the piece values the same order of magnitude and make adjustments therein (ie. 1/3/3/5/9, 10,30/30/50/90, 100/300/300/500/900, and so on).
Parent - - By rocket (***) [se] Date 2017-12-04 14:43 Edited 2017-12-04 14:47
How does it relate to ever small postional bonuses? Kaufmanns criticism was the exact opposite; Rybka was too biased towards pieces over pawns. Doesn't a base value of 3200 means pawns are valued more? I don't get it
Parent - - By Kappatoo (*****) [de] Date 2017-12-04 14:53
These are separate issues. Suppose you believe that a knight is worth three times as much as a pawn. You could implement this by assigning a value of 1 to a pawn and a value of 3 to a knight. Or you could implement the idea by assigning a value of 3200 to a pawn and of 9600 to a knight. If one of them is biased towards pieces, then so is the other. Kaufman's criticism you quoted was that Rybka values pieces too much relative to pawns - by itself, this is unrelated to whether the value of a pawn is 1 or 3200.
The other issue, that Bob was talking about, is whether it is better to assign higher values to all pieces (such as 3200 for a pawn), in order to allow more fine-grained distinctions.
Parent - - By bob (Gold) [us] Date 2017-12-05 05:51
Here's the issue.  If a pawn = 100, knight = 325, etc, and a rook on an open file = 30, you have something that is reasonable.  If you multiply all the numbers by 10, everywhere in the program, the program plays exactly the same moves, all you would notice is that when you win a pawn, the score is +1000, rather than +100.  How does that help?  Simply gives you MORE positional scores between pawn scores.  IE if you use pawn = 10, then you are pretty much constrained to use positional scores of +/- 1 or 2.  But if you use pawn = 100, you can now go + or - 10 to 20.  Bigger range lets you have a different rook on open file score depending on how central the file is.

We have jokingly called these scoring values  pawns, centipawns (pawn = 100), millipawns (pawn = 1000).  You could take this all the way to micro pawns (pawn = 1000000).  My question is, can you REALLY get so precise that you can say here, this positional score is worth 112, while in this position it is worth 114?  As a human, even centipawns is probably a stretch for most things.  And millipawn units are probably too small to be useful.  Now if you use auto-tuning, where humans are not involved, then one might make a case for micro pawn units, or nano pawn units, or pico or femto, etc.  But when you display the scores, a human could not interpret them very well.

For example, what if your ruler has micro-inch markings on it (1/1000000th of an inch)???  not useful to me at all.  Even in hot rodding, 1/10000th is highly accurate.
Parent - - By Labyrinth (*****) [us] Date 2017-12-05 11:58

>For example, what if your ruler has micro-inch markings on it (1/1000000th of an inch)???  not useful to me at all.  Even in hot rodding, 1/10000th is highly accurate.


I've actually always wanted a meter long ruler, with markings for cm, mm, μm, and nm. Even though I wouldn't be able to see the nm ones without an electron microscope, would be cool to know they are there :-P
Parent - By bob (Gold) [us] Date 2017-12-05 20:37 Upvotes 1
Bet Livermore labs could make one up for you.  If you have been out there, they used a tiny laser to engrave the declaration of independence on the head of a pin.  Had it on display (under a microscope) when I was out there maybe 25 years ago working on a project with them.
- By rocket (***) [se] Date 2017-12-04 01:06 Edited 2017-12-04 01:14
Oh, I found it here. It was not related to the discussion.

The main difference here is that the White pawns code in Rybka 2.3.2a proceeds
to count how many such pawns have no mobility, subtracting (42, 339) for each.



One of the things that I felt was wrong with Rybka (all versions thru 2.3.1) was that
she undervalued pawns relative to pieces, so that she would almost always play to win a piece
for three pawns, sometimes even for four, even when the pawns were rather dangerous (others
have said so too). Correcting this without bad side effects was not trivial, but eventually I
found the values that corrected the problem while showing an improvement in overall strength
of a couple points at the same time. [...] Roughly speaking, Rybka 2.3.1 and earlier versions
consider that a piece (knight or unpaired bishop) is worth about four pawns in the middlegame,
even more on a full board. I think this is going too far. I would say that a fair value for a
knight or unpaired bishop is about 3 1/2 pawns in the middlegame, somewhat higher in the
opening, and version 2.3.2 is fairly close to my view on this.”
Kaufmann

End of quote.

However, other parameters in 2.32a were suboptimaly tuned compared to version 1 to 2.2.

Rybka 2.32a got inflated queen values :http://tartajubow.blogspot.se/2011/03/engine-positional-evaluations-and.html

Rybka 1.2 conciders the position with a queen and pawn for 3 minor pieces advantageous for white( CORRECTLY). 2.32a conciders the position drawn, with a slight lean towards black.
Up Topic The Rybka Lounge / Computer Chess / How does value of a pawn to 3200 (Rybka) result in errors?

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill