gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] anchor_in_goal for owl_attackpats.db


From: Arend Bayer
Subject: Re: [gnugo-devel] anchor_in_goal for owl_attackpats.db
Date: Fri, 1 Nov 2002 15:30:44 -0500 (EST)

On Wed, 23 Oct 2002, Trevor Morris wrote:

> http://www.public32.com/games/go/trevor_3_11.1
>
> - Added explicit anchor for owl_attackpats.db patterns
>
>
> I duplicated a few patterns w/ different anchors.
>
> This explodes the size of the DFA database (about 4x !), but only
> if the "-m" parameter is omitted.  So, this patch doesn't actually
> cause any changes, since the -m option chooses its own anchor.
The only disadvantage at the moment are duplicated patterns, but I think
that is not a problem.

What worries me a little is the increase of the DFA size. I tried diabling
your additional patterns, and still got an increase to three times the
original size (note that there is _no_ increase without changing the mkpat
options in the Makefile). This is probably because "-m" is more clever in
selecting the anchor such that the spiral will be short.

What I suggest to do is merge the patch worry about the size increase later.
A simple diff on owl_atttackpat.c can find the patterns where mkpat and
Trevor chose a different anchor, and then we can see which ones we could
adjust.

Also worth noting: It could often be advisable to mirror or rotate the
pattern (especially if the anchor is somewhere off-center), because of
the asymmetry of the DFA spiral. One could do this automatically, of
course.

> The performance increase is extremely small, but after removing
> unnecessary checks in check_pattern_light, it should be quite
> a bit better.  When making the obvious changes to the owl code
> & removing the "-m", these changes cause only to "FAILS" in
> owl.tst.
Can you quantifiy the performance increase? Probably owl_attackpats.db
does not bear the main responsibility for DFA run time.

Arend






reply via email to

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