[Top][All Lists]

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

Re: owl pattern matching speedup (was: [gnugo-devel] GnuGo 3.2 port opt

From: Trevor Morris
Subject: Re: owl pattern matching speedup (was: [gnugo-devel] GnuGo 3.2 port option)
Date: Fri, 30 Aug 2002 20:59:08 -0400

>I think there is a better way to substantially speed up the owl pattern
>matching: we should use matchpat_goal_anchor (introduced by Trevor for
>his experimental pattern based reading code) also for the owl databases.
>This would enormously reduce both the time spent in scan_for_patterns
>and in check_pattern_light (both need about 4-5% of total run time,
>There would be two ways of doing the duplications of patterns as D108:
>Either having it done automatically by mkpat.c (and manually adding
>a 'Q' element to patterns where we don't want it). Or writing a script
>that patches owl_defendpats.db (i.e., it would have to understand
>connectedness of 'O' stones in the patterns); then we could afterwards
>manually delete the patterns where we don't want the duplication.

My gut tells me that for almost all of the patterns, a single Q replacement
should be sufficient.  One effective owl tuning technique is to REMOVE
patterns rather than add them.  This is especially important because the
owl node limit is necessarily small.  Over-general patterns can cause problems.

I think it will be easiest to do owl_attack & owl_defend at the same time
(i.e. don't try one first, then the other), because often attack and defense
patterns balance each-other out.  That is, in order to solve an owl problem,
sometimes a correct attack and defense move must be added - if only
not to break other owl tests.

reply via email to

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