gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] The killer heuristic


From: Evan Berggren Daniel
Subject: Re: [gnugo-devel] The killer heuristic
Date: Fri, 24 Jan 2003 14:26:34 -0500 (EST)

On Fri, 24 Jan 2003, Arend Bayer wrote:

> Evan wrote:
>
> > The following patch implements the killer heuristic in tactical move
> > ordering.
> >
> > The heuristic works like this:  if black plays move A1, and white finds a
> > successful response in move B, then when black tries A2 instead, it is
> > reasonable to assume that B is a good response, and should be tried as the
> > first move.
>
> Nice. Do I understand the patch correctly that you don't use this
> heuristic in defend1, defend2, attack2, attack3? Any reason for this?

I don't use it in those functions because it actually hurt the move
ordering.  Actually, I suppose that info was from the first version of the
patch, so that might be different now.  I'll try it out.  However, in
general I think the tactical move ordering is fairly good.  It might be
interesting to collect statistics on how much room for improvement is left
(ie, what sort of numbers the ideal ordering would produce).

Also, I imagine that after this patch there is more room for tuning the
other move ordering parameters further.  I think I'll try that at some
point soon.

>
>
> Tiny little detail:
>
> > @@ -1014,6 +1015,9 @@
> >
> >    RTRACE("Can we rescue %1m?\n", str);
> >
> > +  if (move && ON_BOARD(*move) && board[*move] == EMPTY)
> > +    xpos = *move;
> > +
> The ON_BOARD(*move) is redundant.

I suppose you're right.  It got added while I was tracking down bad
pointers.

Thanks

Evan Daniel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]