gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] Extending Go onto 3D graphs


From: bump
Subject: Re: [gnugo-devel] Extending Go onto 3D graphs
Date: Sun, 20 Jun 2004 09:19:34 -0700

Lewey Geselowitz wrote:

> I've been working on extending the standard game of Go onto arbitrary 3D
> graphs. To this end I've developed Freed Go (which recently appeared on the
> front page of SlashDot games). What I was wondering is if the GnuGo
> artificial intelligence could be modified to work over an arbitrary
> undirected-graph of stone positions? This would allow playing the game over
> mobius strips, spheres, cylinders or special flat surfaces with 3, 5 or 6
> neighbors (as seen in Freed Go). This I see as a major tool to help students
> more conceptually understand game, and force them to not see static patterns
> but rather the principals of each pattern which make it a good move. For
> instance a mobius strip only have one edge, a cylinder has only two. Just as
> the original Go players tried to learn through parrot fashion each correct
> move, we should take the next step up and look at techniques which exist in
> any manifestation of Go and not merely the standard one.
>
> The actual rules of Go, can be easily extended onto an arbitrary graph: Each
> "dragon" of connected nodes which does not connect to an empty position is
> killed. For this reason I believe the same principals which power GnuGo
> should play a fair game in Freed Go. I would love to hear your thoughts on
> this issue. Thank you very much for your time.
>  
>  -Lewey Geselowitz

GNU Go as it is currently implemented strongly assumes that
the board is at least locally a rectangular grid. Adapting
it to the cylinder, Moebius strip, torus, Klein bottle or
real projective plane seems a possible but nontrivial
hack. The pattern database would be useable, except that
the corner patterns would not be needed. Clearly board.c
would need very nontrivial revision, and the pattern
matcher would also need revision. I suspect that the
revisions would be extensive enough that you would proceed
by forking the program without expecting your revisions to
be included as part of the GNU Go distribution. But we
would be seeing your results and could probably give some
general advice.

As you note, Go could be extended to an arbitrary lattice.
The diamond lattice has been advocated by Henry
Segerman (http://www.nrinstruments.demon.co.uk/diamond/diamintro.html)
as the basis of a good game. For this, I think you would want to
rewrite the program from scratch.

Daniel Bump




reply via email to

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