Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: overlapping tablebase lookup

Author: Bruce Moreland

Date: 09:27:34 02/10/99

Go up one level in this thread



On February 09, 1999 at 16:07:10, José de Jesús García Ruvalcaba wrote:

>On February 09, 1999 at 13:41:10, Jay Scott wrote:
>
>>
>>On February 07, 1999 at 18:30:17, Robert Hyatt wrote:
>>
>>>... when I do a probe, I _know_ I will get a result.  So
>>>the search will definitely terminate here, with win/lose/draw scores.  But I
>>>can't really go on until I know which...  because of alpha/beta....
>>
>>In principle you could go on nondeterministically, the same way modern
>>processors go on through a conditional branch before they've calculated
>>whether the branch is taken.
>>
>>For tablebase lookups, the drill would be:
>>
>>- start the lookup; it'll take a while
>>- predict the value you'll get back
>>- keep on searching as if the predicted value were correct
>>- when the lookup finishes:
>>  - if the prediction was good, you're set
>>  - if the prediction was wrong, you have to roll back and start over:
>>    - reset the search to that node
>>    - zap any bad hash entries you made along the way
>>    - undo any other changes...
>>
>>I think this would be incredibly bug-prone. I wouldn't dare try it!
>>But if you can get the code correct, it would definitely be faster.
>>
>>  Jay
>
>	But with IA-64 the processor will follow both branches simultaneously, there is
>no chance for misprediction (only a waste of on the wrong branch).

He's not talking about that, he's talking about the case where you are sitting
there in the search, blocked on an I/O.  He's suggesting assuming a result from
the eval function, and continuing the *search* based upon this.  You'd return an
"exact" eval, which was a guess, and hopefully you'd get back up in the tree
somewhere, doing compute-bound nodes, while the I/O was still running.  When the
I/O comes back, you either determine that the score was in line with your
prediction, or you have to somehow get the search back to where it was when you
made your wrong prediction, and return the right score this time.  This of
course would be insanely complicated code to write.

My guess is that this is not a place where you'd gain much strength through
kamikaze optimization (in this image you are *both* the ship and the airplane).

bruce



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.