gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] GNU Go as an oracle


From: bump
Subject: [gnugo-devel] GNU Go as an oracle
Date: Fri, 1 Nov 2002 19:06:38 -0800

I've posted a patch called oracle_3_12.1 at:

http://www.gnu.org/software/gnugo/patches/oracle_3_12.1

Although I do not propose to add this in its current form to the engine, it
demonstrates an interesting possibility.

This patch is intended to show how GNU Go could call itself. This
is similar to the metamachine, except that GNU Go itself serves
as a gtp controller for a second gnugo process, the "oracle".

To demonstrate the idea I hacked in a small pattern database called oracle.db
which contains some moves from the nadare joseki. A small move tree is
generated.

Load the following file (nadare.sgf) with the command:

gnugo -l nadare.sgf --quiet --decide-oracle -o vars.sgf --color white -t.

(;GM[1]FF[4]
SZ[19]KM[0];AW[ec][cd]AB[dd][ed]
)

GNU Go forks and connects to the second gnugo process with a pair of
pipes. The pattern matcher only tries moves in a restricted area of the
board, a feature that might be useful for some applications.

Every trymove for the primary gnugo process is matched by
an actual move by the second process, and each popgo is
matched by an undo. So all features of the GNU Go engine available
when stackp == 0 (such as owl attack/defend codes) can be gotten from the
oracle when stackp > 0.

Of course this is bound to be slow but with fast processors
it may be feasible to walk a small move tree and do some
alpha beta search.

Dan




reply via email to

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