Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Killer and history

Author: Dan Homan

Date: 13:11:55 06/25/98

Go up one level in this thread


On June 25, 1998 at 15:01:54, Don Dailey wrote:

>On June 25, 1998 at 09:43:45, Dan Homan wrote:
>
>>I'm not sure the right place to jump into this thread,
>>but here will work...
>>
>>Is the speed-up from incremental move generation the
>>only reason to use killers over the history heuristic?
>>
>>I've runs some quick 'n dirty tests on my program (which
>>does not use incremental move generation... rather I
>>generate all the moves at once and score them for sorting
>>as I generate them), and the history heuristic by
>>itself seems superior (in essentially all the positions I
>>tested) to killers alone or killer+history.
>>
>>Perhaps my testing was flawed (it was very quick) or my
>>implementation, but I was wondering if anyone else had
>>a similar experience.
>>
>>For programs that do incremental move generation (like
>>crafty), killers are surely a win because they don't
>>need to do a full move generation if they get a cutoff.
>>But what about programs that don't use this approach?
>>
>> - Dan
>
>My experience with history heuristic is a wash.  My older
>programs used to benefit a lot, but maybe too many move
>ordering heuristics get in the way?   I dutifully implement
>this with each new program just looking for any small
>advantage I can get and then always have to disable it.
>
>Are you saying history heuristic worked better when you
>did not use the killers at all?

Yes.  My move scoring for ordering purposes is very simple
though.  With complicated heuristics, I imagine it would be
quite difficult to decide how to use the history score.
Basically, I have no special heuristics beyond

hash move = 10,000,000 + history;
captures = 5,000,000 + 10*captured_piece - capturing_piece + history;
promotions = 5,000,900 + history;
rest = history;

I could eliminate the history part from the first 3 cases as it
doesn't really do anything except break some ties between equal
or nearly equal captures.  In some positions breaking the ties
helps ~ 1%, in others it hurts ~ 1%, in most it makes no
difference.

Also I found that instead of updating the history score for a
move after it gives me a cutoff, a slight improvement was to
increase the history score each time I updated the PV.
So something like...

 score = -search(-beta,-alpha,depth-1);

 if(score > alpha) {
  alpha = score;
  pv_update(move,ply);
  history[move.from][move.to] += depth;
 }

 - Dan

>
>- Don



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.