Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A pondering idea... [a more clear {hopefully} example]

Author: Robert Hyatt

Date: 19:54:30 09/28/01

Go up one level in this thread


On September 28, 2001 at 12:34:11, Uri Blass wrote:

>On September 28, 2001 at 10:53:13, Robert Hyatt wrote:
>
>>On September 28, 2001 at 02:09:11, Uri Blass wrote:
>>
>>>On September 27, 2001 at 23:42:31, Robert Hyatt wrote:
>>>
>>>>On September 27, 2001 at 17:48:32, Peter Fendrich wrote:
>>>>
>>>>>On September 27, 2001 at 15:12:43, Roy Eassa wrote:
>>>>>
>>>>>>On September 27, 2001 at 12:13:10, Peter Fendrich wrote:
>>>>>>
>>>>>>>On September 26, 2001 at 21:45:46, Robert Hyatt wrote:
>>>>>>>
>>>>>>>>On September 26, 2001 at 20:32:58, Dann Corbit wrote:
>>>>>>>>
>>>>>>>-- snip --
>>>>>>>
>>>>>>>>If you correctly predict your opponent's move at least 50% of the time, or
>>>>>>>>more, then the way we currently ponder can _not_ be improved on.
>>>>>>>
>>>>>>>I don't agree if that's what you really mean. "can _not_ be..." is hard to prove
>>>>>>>in this case. In theory at least you can do better. The _average_ hit rate is
>>>>>>>>50%
>>>>>>>If you know that this hit rate vary with different circumstances you will find
>>>>>>>out different hit rates. If we could separate out cases with very low hit rate
>>>>>>>it might be succesful with another scheme for just these cases. I've never
>>>>>>>tested this but it would be interesting to see the hit rate for "consistent"
>>>>>>>FH's (survives several iterations) compared to the rest. The hit rate for
>>>>>>>pondermoves giving about the same evaluation as before is probably higher (much
>>>>>>>higher?).
>>>>>>>I can think of other types of cases as well.
>>>>>>>Has anyone computed the figures for different cases like this?
>>>>>>>
>>>>>>>I would like leave this "can _not_ be..." open until at least some test like
>>>>>>>this is done.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>The factor that causes the engine to be unsure of the move it selected to
>>>>>>ponder, is the SAME factor that makes pondering multiple moves less useful.
>>>>>>
>>>>>>If there are several moves that are all about equal, then there are, by
>>>>>>definition, also several moves among which you must divide your time pondering.
>>>>>>Thus even if you were only 20% sure of your opponent's move, it still does not
>>>>>>make sense to split your pondering time because each likely move would then get
>>>>>>no more than that same 20%.
>>>>>
>>>>>Yes, I buy all that. My intention was to oppose to the "it's impossible"
>>>>>statement. You are talking about some general case. There is no reason why each
>>>>>move has to be 20% because the first one is. That's why I'm talking about
>>>>>isolating cases where the other move might be better. Another question is what
>>>>>happens if the ponder move has only 10% or 5% probability.
>>>>>I have no proofs that these cases are possible to identify but I'm still open
>>>>>for it, until I know better...
>>>>>//Peter
>>>>
>>>>
>>>>
>>>>The question is, what would cause that 10%.  IE this is all speculation since
>>>>we won't know whether the opponent will match or not, until he makes a move...
>>>>
>>>>But based on collected statistics, Crafty _always_ predicts at well over 50%
>>>>accuracy.  And as long as that is possible, I don't see any way possible to
>>>>better utilize pondering time.  Because it will _always_ be right over 50% of
>>>>the time and save that time.
>>>>
>>>>Here is a test scenario:
>>>>
>>>>1.  Assume my opponent _never_ predicts my moves correctly.  IE crafty is the
>>>>only one that ever predicts a move.  In this case, crafty is the _only_ player
>>>>that will save any time pondering.
>>>>
>>>>2.  Assume Crafty predicts correctly 60% of the time, and the game being played
>>>>is such that it has one minute per move, fixed, to make it simple.  Then it
>>>>will average saving 36 seconds per move over the game, based on that 60%
>>>>prediction rate (.60 * 60 seconds).
>>>>
>>>>Now, given those two constraints, give me an algorithm that will save more
>>>>than 36 seconds per move, on average...  You can assume anything you want,
>>>>just so you don't violate the 60% prediction rate already given.
>>>
>>>No problem
>>>
>>>Suppose that you have an algorithm to tell you in 10% of the cases that the
>>>probability to ponder correctly is only 1%(I do not know about an algorithm to
>>>do it but it does not mean that there is no algorthm to do it)
>>>
>>
>>
>>That won't fly.  No "oracles" allowed here.  I want a _specific_ algorithm
>>that will beat that 60%.  If I have an oracle then I can predict right 100%
>>of the time.  That is a circular argument.
>
>If you know in 10% of the cases that your prediction is probably wrong it does
>not mean that you can predict right in 100% of the time but only that you can
>predict better than 60%
>

+if+.  Give me an algorithm to predict that in 10% of the cases, the best move
from the PV is not the right move to ponder.  I don't have any idea what such
an algorithm would look like.


>in this case even choosing another random move to ponder in the 10% of the
>cases(assuming that there are less than 100 legal move) may be a better strategy
>than
>pondering on the expected move.

But how do you recognize that the 10% case has happened?



>>
>>
>>
>>>It does not violate the 60% prediction rate because you may have probability of
>>>almost 70% to predict the corect move in the rest of the cases.
>>>In this case it may be better to ponder the root move in 10% of the cases.
>>>
>>>
>>>I think that you can evaluate the probability that you ponder correctly based
>>>on the move that you ponder better.
>>>
>>>For example I guess that the prediction rate when you predict waste tempo move
>>>is smaller than the normal probability but I do not think it is something near
>>>1%.
>>>
>>>If the last move was Ra1-b1 and crafty ponders on Rb1-a1 or Rb1-c1 then I guess
>>>that the prediction rate is lower than the normal prediction rate.
>>
>>
>>Not against computers, for one counter-example...
>
>Do you have statistics that it is not against computers?

Yes.  I have seen _lots_ of games with one side playing Kg8-h8-g8 and the
other side predicting each one.  It happens when black simply can't do anything
but "wait".


>
>It is possible that the computer opponent has a different evaluation function
>than crafty and the plan push it to play for an attack when Crafty expects it to
>play for a repetition.


That can happen.  I wasn't talking about a repetition.  I was talking about
black just shuffling, ie Ra8-b8, Rb8-a8.  White isn't going for any repetition.



>
>I think that using the history in the specific game may be also productive
>
>Example:Suppose crafty failed to ponder correctly in 7 out of the last 10 moves
>when the evaluation from Crafty's point of view often starts from a positive
>number and goes down to 0.00 in these moves
>
>In this case you may suspect that the opponent has a different evaluation and if
>Crafty expects a repetition line you may suspect that the opponent has a
>different evaluation and is not going to play for a repetition line.
>
>Improving the pondering is not simple and I do not say that you can get a lot of
>improvement but I do not think that it is right to assume that it is impossible
>without investigation of it.


You say "without investigation."  You might be surprised just how much
investigation several of us have done.  from cute things like "tournament mode"
in crafty which says "take all the book moves, generate all legal moves,
cull the book moves, and do a ponder search to find the best opponent reply
and then ponder on that."  Because there is no sense sitting idle waiting on
the opponent to play his first move out of book, and assuming he will find
a book move.  I have tried lots of different approaches to the pondering
question.  And after many many years, I always returned back to the simple
ponder the predicted move.  That is the _best_ move I can find to ponder,
because it is based on a deep search.



>
>I can understand if you say that you do not want to waste time for an estimated
>improvement of 1-2 elo that you may earn.
>
>Uri



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.