gnugo-devel
[Top][All Lists]
Advanced

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

Re: Symmetry corrections (was: RE: [gnugo-devel] code maintenance pat ch


From: Arend Bayer
Subject: Re: Symmetry corrections (was: RE: [gnugo-devel] code maintenance pat ch)
Date: Tue, 24 Sep 2002 18:12:38 +0200 (CEST)

Portela Fernand wrote:

> Gunnar wrote:
>
> > There's one plausible and probably also likely explanation. When
> > removing the redundant symmetry for these patterns the matching order
> > of patterns may change which in turn may lead to a different move
> > ordering.
This explanation isn't 100% accurate. The matching order doesn't change
(the DFA doesn't know about symmetries of patterns) in this case. However,
the sorting I used in get_next_move_from_list() is very unstable. I.e. the
resulting order between pattern A and B can depend on having a pattern C
somewhere else in the list or not.

I am pointing this out because I think I should change that. (I just
looked at the function again and realized _how bad_ the algorithm is
in this respect.) It is annoying when adding a new pattern to have to
filter out the real change in owl results from this random noise. Changing
this function a little could at least reduce the noise.

> I verified this for a couple other cases like strategy:29, lazarus:15, ...
> At first, it seems to me that it would be wrong to try to solve these
> problems by fine-tuning the values in the patterns. Can somebody confirm ?

I actually seriously considered doing this in an automated way, but
didn't get very far in this yet. The idea would be to change a bunch of
patterns with a popular value (e.g. 35 in owl_defendpats.db), take the
PASSes and FAILs, and then see which changes caused PASSes and which
caused FAILs.
I am not too much in favor of automated tuning, but to resolve these
random choices it seems a plausible thing (I can't imagine that really
all 40 patterns in owl_defendpats.db worth 35 should be valued identically.)

Arend






reply via email to

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