Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Interesting mate test for hashing

Author: Robert Hyatt

Date: 19:31:08 09/11/99

Go up one level in this thread


On September 11, 1999 at 19:57:09, Dave Gomboc wrote:

>On September 11, 1999 at 18:01:30, Alessandro Damiani wrote:
>
>>On September 11, 1999 at 17:58:59, James Robertson wrote:
>>
>>>On September 11, 1999 at 17:54:55, Alessandro Damiani wrote:
>>>
>>>>On September 11, 1999 at 15:56:10, Ed Schröder wrote:
>>>>
>>>>>On September 11, 1999 at 15:42:03, Robert Hyatt wrote:
>>>>>
>>>>>>On September 11, 1999 at 11:42:29, Ed Schröder wrote:
>>>>>>
>>>>>>>>Posted by Robert Hyatt on September 11, 1999 at 10:19:19:
>>>>>>>>
>>>>>>>>In Reply to: Re: Interesting mate test for hashing posted by Ed Schröder on
>>>>>>>>September 11, 1999 at 01:43:12:
>>>>>>>>
>>>>>>>>On September 11, 1999 at 01:43:12, Ed Schröder wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>Do not underestimate the idea that in case there is no bestmove from the
>>>>>>>>>hash table you do a full static evaluation of all nodes first and based
>>>>>>>>>on that you pick the bestmove as being the first move you are going to
>>>>>>>>>search for this (new) depth. The very early Rebel's (1981) worked that
>>>>>>>>>way and I remember (although the system is very time consuming) it was
>>>>>>>>>superior to all other systems I tried.
>>>>>>>>>
>>>>>>>>
>>>>>>>>I'm not underestimating it.  I was simply saying that this approach can
>>>>>>>>be applied when the position is encountered and there is no 'best move'
>>>>>>>>in the hash table.  Rather than doing it when the hash entry is stored,
>>>>>>>>and we are not even sure that this hash entry will ever be used again or
>>>>>>>>that it won't be overwritten before it is needed.
>>>>>>>
>>>>>>>Right.
>>>>>>>
>>>>>>>>>I later removed the system because hash tables + bestmove was more powerful
>>>>>>>>>at least for Rebel. But I wouldn't exclude the possibility such a system
>>>>>>>>>can have a positive effect on the speed of the search.
>>>>>>>>>
>>>>>>>>>Actually I didn't remove the system but I replaced it with a faster one
>>>>>>>>>that is:
>>>>>>>>>
>>>>>>>>>- generate all legal moves;
>>>>>>>>>- for all moves do a (very) quick evaluation;
>>>>>>>>>- sort all moves based on the quick evaluation.
>>>>>>>>>
>>>>>>>>>This (move ordering) system (for Rebel) is still superior.
>>>>>>>>>
>>>>>>>>>Ed
>>>>>>>>
>>>>>>>>
>>>>>>>>Do you use killers, history, etc?
>>>>>>>
>>>>>>>Just the normal stuff.
>>>>>>>
>>>>>>>Order...
>>>>>>>
>>>>>>>- hash table move
>>>>>>>- winning captures (ordered by expected material gain)
>>>>>>>- promotion
>>>>>>>- equal captures (QxQ etc)
>>>>>>>- killers (4 of them)
>>>>>>>- remaining moves ordered by the intelligent move generator
>>>>>>>
>>>>>>>The Killer History from Jonathan Schaefer gave no improvement for me.
>>>>>>>
>>>>>>>Ed
>>>>>>
>>>>>>
>>>>>>It probably won't help if you keep 4 killers.  I didn't find any improvement
>>>>>>in Cray Blitz either... but I did even more with killers.  I tried the current
>>>>>>ply killers then the killers from _other_ plies if they were legal... adding
>>>>>>history did nothing for me...  I probably ought to re-check Crafty again as it
>>>>>>might be extra overhead for nothing now...
>>>>>
>>>>>I use 2 killers from the current ply (that's the normal way) and the 2 from
>>>>>2 plies back. The latter gave me 5%.
>>>>>
>>>>>Ed
>>>>
>>>>I am surprised: history doesn't help? I think that the static ordering is good
>>>>enough then. Perhaps history is good for those with a bad static ordering, like
>>>>me?
>>>>
>>>>Alessandro
>>>
>>>History didn't help me at all either. I just ended up with a lot lower NPS....
>>>
>>>James
>>
>>Am I the last one with history heuristic here? :-)
>>
>>Alessandro
>
>I doubt it, but it has to be said that KH (killer heuristic) and HH (history
>heuristic) are competing with each other.  Having both may easily be slower than
>just one of them.
>
>Dave


Killer is basically a proper subset of the history heuristic.  When I added it
the tree size didn't change.. but the reason I use them is I can try them
_before_ generating any moves.  And if they cause a cutoff, the avoid the
move generation at that ply completely.  As a result, they save me 5-10% of
total search time, although the size of the tree doesn't go up or down when
they are removed/added...



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.