Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Deeper blue was probably a root processor

Author: Robert Hyatt

Date: 14:18:19 07/22/00

Go up one level in this thread


On July 22, 2000 at 17:00:24, Amir Ban wrote:

>On July 22, 2000 at 16:19:07, Robert Hyatt wrote:
>
>>On July 22, 2000 at 16:03:59, Amir Ban wrote:
>>
>>>On July 22, 2000 at 15:32:26, Ed Schröder wrote:
>>>
>>>>On July 22, 2000 at 14:16:51, Andrew Dados wrote:
>>>>
>>>>>On July 22, 2000 at 14:11:20, Ed Schröder wrote:
>>>>>
>>>>>>On July 22, 2000 at 13:28:28, blass uri wrote:
>>>>>>
>>>>>>>Deeper blue had a positive evaluation before trading queens.
>>>>>>>
>>>>>>>The evaluation of Deeper blue was based on Deeper blue's logfile
>>>>>>>
>>>>>>>9(6)  3 T=46  34...Qxf1
>>>>>>>10(6) 2 T=130 34...Qxf1
>>>>>>>11(6) 2 T=168 34...Qxf1
>>>>>>>
>>>>>>>The evaluation when deeper blue started to ponder (hash guess Rxf1) was
>>>>>>>
>>>>>>>7  (4) -30
>>>>>>>7  (6) -66
>>>>>>>8  (6) -50
>>>>>>>9  (6) -50
>>>>>>>10 (6) -50
>>>>>>>11 (6) -48
>>>>>>>
>>>>>>>Deeper blue lost 0.5 pawn in the evaluation and the only reason that I can
>>>>>>>explain it is that it is a root processor.
>>>>>>>
>>>>>>>I guess that something like this cannot happen to Deep Junior because it is
>>>>>>>probably more knowledge based program.
>>>>>>>
>>>>>>>Uri
>>>>>>
>>>>>>The behavior you describe is quite normal. After a queen exchange in the
>>>>>>next move often other more accurate tables are used which may cause such
>>>>>>score differences. I do the same in Rebel. That doesn't make the program
>>>>>>a root processor. A root processor is a program that totally (or to a
>>>>>>great extend) relies on the evaluation on the root. If you read the IBM
>>>>>>pages it is said DB has something similar (a short investigation at the
>>>>>>root). That makes DB no root processor.
>>>>>>
>>>>>>Ed
>>>>>
>>>>>What you just said is pretty much confirmation of preprocessing to me:
>>>>>'After a queen exchange in the next move often other more accurate tables are
>>>>>used []'...
>>>>>If it is done in the search - then no score differences should be seen; if it is
>>>>>done at root then it is clear preprocessing...
>>>>>
>>>>>-Andrew-
>>>>
>>>>Yes such ticks are preprocessing. And it helps. But note that in Rebel
>>>>only a few things are done this way not more than being < 0.5% of the
>>>>total knowledge. That makes Rebel not a root processor and DB neither
>>>>which was my reply to header of the subject.
>>>>
>>>>Ed
>>>
>>>I disagree.
>>>
>>>Even if only a small part is preprocessed, the effect here is huge: half a pawn.
>>>DB played 37... Qxf1+ into an even position and woke up a move later into a
>>>half-pawn disadvantage. This means that according to its own evaluation Qxf1 is
>>>a blunder and would never have been played if not for preprocessing.
>>>
>>>DB switched from Qe2 (-21) to Qxf1+ (+2) and then learned that it's actually
>>>Qxf1+ (-48). So Qe2 was clearly better by DB evaluation.
>>>
>>>Junior evaluates Qe2 and Qxf1+ as equals.
>>>
>>>Amir
>>
>>As I said before, there is more than one way to skin a cat.  Cray Blitz did
>>exactly as described, because there I added a bonus for trading queens.  But
>>once the trade was done, the bonus went away on the next search.
>>
>
>Same thing. This may not be preprocessing, but is equally bad. You play a move
>thinking it is best, only to find when evaluating the resulting position that
>your second-best move was better.
>
>If scores are not comparable, then they are meaningless.
>
>Amir
>
>P.S. Before somebody jumps on me with a position, I do have some minor
>dependency on root position in Junior. I don't like it, and will get rid of it
>eventually.
>

Scores don't have to be consistent between moves.  If I want to trade queens,
and I give a bonus for trading queens, then after the trade, the bonus is
gone.  But it was _still_ the right move.  Alternatively, as I do now, I
have what is essentially a penalty for too many pieces, and as the pieces
come off, the score goes up.  I don't like the score getting so large in
simple endings, but it is only a number that guides the search.  I may say
+3, you may say +1.5, but if we play the same moves and win, it really doesn't
make any difference.

I too am slowly eliminating the remaining root processing stuff, but slowly.
The most recent was king placement information.  It was obviously wrong if
things changed too much from the root, such as at the root, there are pawns
on both wings, so centralize, but at the tip, one wing has been liquidated...

Other things are less unreasonable, such as pawn advances after castling.  Early
on, I discourage wing pawn advances (ab/gh.)  After castling, one wing should be
free to advance.  This could (and probably will) be done in other ways later
on...  but it also works ok as is...





>
>>In Crafty, I have a smoothing function that can produce some ugly scoring
>>distortion.  Ie if I am a piece ahead, the score will climb by a significant
>>amount each time a piece is traded.  By the time I reach a position where I have
>>only one piece, the score may say +5.
>>
>>You don't have to do it this way.  But I think it is better as it doesn't
>>introduce hashing inconsistencies...  There is a downside when someone says
>>"hey, you are only up a pawn, why do you have +2.0?" and I say "that is because
>>all the pieces are gone..."



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.