gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] opening db proposal


From: Paul Pogonyshev
Subject: Re: [gnugo-devel] opening db proposal
Date: Thu, 21 Oct 2004 20:48:59 +0300
User-agent: KMail/1.6.2

Douglas Ridgway wrote:
> On Thu, 21 Oct 2004, Paul Pogonyshev wrote:
> 
> > Douglas Ridgway wrote:
> > > 
> > > [...]
> > > 
> > > I haven't tried to restrict total number of patterns for its own sake.
> > > This might be an issue in the 19x19 even db. If so, we need to decide
> > > how big it can be.
> > 
> > How large is the increase in the binary size for your updated fuseki
> > database?
> 
> On my machine, a clean cvs gnugo binary takes 4.5M on disk, and compiles
> in about 65 s. With the existing fuseki19.db replaced by just the big even
> db, no handicap patterns, gnugo occupies 7.9 M on disk and compiles in
> about 105 s. I haven't built one with all the new patterns, but I'd guess
> the total damage would be about a factor of two in both binary size and
> compile time. I don't see an increase in memory footprint, but I'm 
> probably just doing something wrong.

This is quite bad.  One simple measure is to pack fullboard patterns with
`patval_compact' entries instead of `patval', where `patval_compact' can
be defined as

  struct patval_compact {
    short offset;
    char  att;
  }

This alone packs fuseki database almost two times.

Another possibility is to try to enhance corner matcher to handle
full-board patterns, though I have to admit I cannot guarantee it will give
an improvement.

Concerning the compilation time, I think nothing can be done about it.  From
what I have seen so far, it's the C compiler eating most of the time, not
`mkpat'.  In any case, unless one performs `make clean' often, this is not
a serious issue.

> > It would be good to test for especially dumb patterns before using this
> > database in upstream versions.  May be a non-trivial task given 20,000+
> > patterns though.
> 
> To a certain extent, this ought to be handled by the strength and
> popularity screening: any move which gets played repeatedly by dan level
> humans ought not be too bad. Still, it makes sense to look, not least
> because the program/training set may be buggy. Here's a couple which don't
> look reasonable to me (post 0x13c9b807 and 0x02e29b74), found by looking
> for moves with differences in the training set:
> 
> +-------------------+
> |...................|
> |...................|
> |...............O...|
> |...X...............|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |..*................|
> |...X...........O...|
> |...................|
> |...................|
> |...................|
> +-------------------+
> 
> 
> 
> +-------------------+
> |...................|
> |...................|
> |...*...............|
> |...X.....X.....X...|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...................|
> |...O...........O...|
> |...................|
> |...................|
> |...................|
> +-------------------+
> 
> 
> Unfortunately, both of those moves did substantially _better_ than the
> alternatives. Since all the players in this set are far stronger than me,
> I'm not really qualified to comment.

Both these are non-standard.  Kogo's joseki dictionary doesn't even list
the diagonal attachment.  I'd suggest to comment these out, if only because
GNU Go will never know how to follow them up.

Paul





reply via email to

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