gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] new to the engine and curious


From: Martin Holters
Subject: Re: [gnugo-devel] new to the engine and curious
Date: Sat, 27 Dec 2003 20:07:15 +0100

lör 2003-12-27 klockan 18.33 skrev address@hidden:
> Martin Holters wrote:
> 
> > > [...] --decide-string O9
> > > [...]
> > > O9 cannot be attacked (15 variations)
> > 
> > The O9 group is trivially alive with two rock-solid eyes.
> > 
> > > [...] --decide-connection K9/O9
> > > [...]
> > > K9 and O9 can be connected at M9 (18 variations)
> > > K9 and O9 can be disconnected at L8 (1 variations)
> > 
> > This analysis is correct.
> > 
> > > [...] --decide-string K9
> > > [...]
> > > K9 can be attacked at L8 (3 variations)
> > > K9 cannot be defended (9 variations)
> > 
> > > Now, of course K9 could be defended by above connection, which GnuGo
> > > doesn't consider. However, when used to determine the best move
> > > globally, GnuGo finds this connection to be best (except for non-local
> > > moves in empty corners). Could someone give me a short explanation as of
> > > why GnuGo doesn't consider this connection when invoked with
> > > --decide-string? Could this be changed by adding an appropriate pattern?
> > > If so, where? I've tried adding very specific connection patterns to
> > > patterns.db and patterns2.db (what's the difference, btw?), without
> > > success.
> 
> and:
> 
> > XXXXXO
> > XO...O
> > XO.O.O
> > XXXXXO
> 
> The reading code is written to be very fast and is designed
> to answer one question by brute force: whether a string can
> be captured. For the purpose of this calculation, a stone
> defined to be alive if it can get 5 liberties. The reading
> code does not know about eyes, and it does not work with
> groups larger than a single string.
> 
> Try adding -o vars.sgf to your decide-string and examine
> the variations in the resulting sgf file to get some
> insight into how it works.
> 
> Naturally the ability to get 5 liberties is not a good
> definition of life, so there exist other parts of the
> engine which are slower but take a more sophisticated
> approach. The owl code and the connection code, most
> notably. The reading code is callable by these other
> parts of the engine to get a fast answer to questions
> that may come up, such as whether a pattern is matched.

Ah, thanks, mystery solved. 

Indeed,

> [...] --decide-dragon K9
> [...]
> K9 can be attacked at L8 (2 variations)
> K9 can be defended at M9 (2 variations)

is exactly what I wanted to see. 
Just had started off the wrong way by using --decide-string instead of
--decide-dragon.

// Martin

PS: I have created a very minimal GTK-based GUI. Up to now only playing
and with some luck also loading and saving games is supported. Is anyone
curious enough to try if (s)he can at least get it compiled?






reply via email to

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