Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Using just Upperbounds and Lowerbounds

Author: Alvaro Jose Povoa Cardoso

Date: 01:50:34 02/04/01

Go up one level in this thread


On February 03, 2001 at 22:45:07, Robert Hyatt wrote:

>On February 03, 2001 at 20:43:13, Tony Werten wrote:
>
>>On February 03, 2001 at 18:33:28, Robert Hyatt wrote:
>>
>>>On February 03, 2001 at 05:53:20, Tony Werten wrote:
>>>
>>>>On February 02, 2001 at 21:33:10, Robert Hyatt wrote:
>>>>
>>>>>On February 02, 2001 at 14:42:23, Alvaro Jose Povoa Cardoso wrote:
>>>>>
>>>>>>On February 01, 2001 at 18:37:48, Robert Hyatt wrote:
>>>>>>
>>>>>>>On February 01, 2001 at 16:27:29, Tony Werten wrote:
>>>>>>>
>>>>>>>>On February 01, 2001 at 14:19:25, Alvaro Jose Povoa Cardoso wrote:
>>>>>>>>
>>>>>>>>>Does any one tried to use just Upperbounds and Lowerbounds in hashing, ignoring
>>>>>>>>>ExactScore entries?
>>>>>>>>>My question has to do with the fact that if we use ExactScores we don´t get long
>>>>>>>>>PVs to feed in the next iteration, even if we extend PVs from hash.
>>>>>>>>>My testing shows that if we do not use ExactScore entries in the hash table, we
>>>>>>>>>end up with very long PVs that can be fed into the next iteration in order to
>>>>>>>>>aproximate the minimal tree. After all, ExactScores are rare compared to
>>>>>>>>>Upperbounds and Lowerbounds.
>>>>>>>>>
>>>>>>>>>Can someone comment on this?
>>>>>>>>
>>>>>>>>One of us is missing something. The PV is always exact. If you don't store
>>>>>>>>exact, you don't have a pv. I don't know what you get from the hashtable, but it
>>>>>>>>isn't a PV.
>>>>>>>>
>>>>>>>>I take my PV from hashtable and I (almost) always get a long pv, at least as
>>>>>>>>long as the search depth.
>>>>>>>>
>>>>>>>>Tony
>>>>>>>>
>>>>>>>>>
>>>>>>>>>Thank you
>>>>>>>>>Alvaro Cardoso
>>>>>>>
>>>>>>>
>>>>>>>He is talking (I think) about a PV that is cut short when you get an EXACT
>>>>>>>hash hit.  IE in crafty, where a PV ends with <HT> which sometimes happens
>>>>>>>at ply=2/3/4 and results in a very short PV.  I use internal iterative deepening
>>>>>>>to help search around this the next iteration, however..
>>>>>>
>>>>>>
>>>>>>That is exactly what I was talking about. When I get an EXACT hash hit the PV is
>>>>>>cut short, and extending it from the hash table doesn't help much, I just get
>>>>>>1-3 moves from the hash, perhaps there is something wrong with my program.
>>>>>>Also, and in response to Dr. Robert Hyatt, I can´t execute the assignment
>>>>>>because my program is the portuguese version of checkers. I hope you don't mind
>>>>>>if I ask questions not related to the game of chess.
>>>>>>
>>>>>>Thank you
>>>>>>Alvaro Cardoso
>>>>>
>>>>>That is a perfectly normal problem.  My PV is often shorter than it should
>>>>>be due to an EXACT hash hit.  Nothing you can do about it, not that there
>>>>>is anything wrong with it.
>>>>
>>>>I still don't get how you can have a short pv if you have a exact hashhit.
>>>>
>>>>Maybe run a test where you add in your pv, the bounds it got. My guess is you're
>>>>last move is a BELOW_ALFA hit. ( That was a problem I had before )
>>>>It was caused because I raised alfa after nullmove, sometimes making it the best
>>>>score and having a bogus best_move which couldn't be found in hashtable.
>>>>
>>>>cheers,
>>>>
>>>>Tony
>>>
>>>It happens all the time.  You get an EXACT hash hit while searching the PV,
>>>so you stop and use that score instantly.  How can you fill in the _rest_ of
>>>the PV moves since you didn't search any deeper.  I see this so often that I
>>>eventually added the <HT> indicator to the PV to let everyone know it really
>>>should be longer but was cut short by an EXACT hash hit.
>>>
>>>If you never get a short PV, you have something broken somewhere..
>>
>>But if you get a <HT> you must have searched it the previous ply, so it's still
>>in your tables ? Or  you've searched it this ply and you should not have
>>overwritten it. ( or you have something broken somewhere .. )
>>
>>Tony
>>
>>PS very strange strange that if you don't get an error you must have something
>>broken.
>
>
>No, because this is _not_ an error.  It is a well-known occurrence when you
>hash.
>
>The <HT> can come from any of the following:
>
>1.  deep ponder search where the opponent made a different move than you
>expected.  IE You were expecting him to play Nc3 and your PV was e5 Re1.
>But instead, he played Re1.  After you search e5 and Nc3, you get the same
>position exactly and search no deeper.
>
>2.  Same as (1) but from the current search.  It is possible to reach
>position X in more than one way, and one of those ways could have extended
>the tree deeper than the one you are on now, which will give you a <HT>
>score that is exact.
>
>3.  Something left over from an old search.
>
>4.  something from position learning if you have that.
>
>If you don't get an EXACT hit on your PV from time to time, as I said before,
>something is wrong.  Because _anytime_ you get an EXACT hit, you don't search
>any deeper.  How do you fill in the PV below that point?
>


If I'm not mistaken you said _internal_iterative_deepening_ can be used to fill
the PV below this point. Can you explain the details, you see I'm a novice on
this things.

Alvaro Cardoso




>>>>>And you can _still_ turn in your assignment on time.  Checkers is perfectly fine
>>>>>to test your hypothesis. :)



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.