[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Moyoman, a Go playing program
This sounds like a great project. I have no time to contribute right
now, but I will be watching closely.
You will have to implement GTP, even if it's a layer on top of your
own protocol. It seems like extra work for no reason, but mabye you
think your new wheel is a lot rounder for your purposes. GTP is
designed to make it easy to add private extensions and it seem nearly
perfect for an open source MODULAR project. GTP makes your program
instantly modular with respect to many tools that already exist.
Whether it's your internal language or not, someone on your team will
be implementing it.
- Don
X-Original-To: computer-go@xxxxxxxxxxxxxxxxx
Date: Wed, 7 Jul 2004 07:15:00 -0700 (PDT)
From: David Weiss <dweiss51@xxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
X-BeenThere: computer-go@xxxxxxxxxxxxxxxxx
X-Mailman-Version: 2.1.4
Precedence: list
Reply-To: computer-go <computer-go@xxxxxxxxxxxxxxxxx>
List-Id: computer-go <computer-go.computer-go.org>
List-Unsubscribe: <http://hosting.midvalleyhosting.com/mailman/listinfo/computer-go>,
<mailto:computer-go-request@xxxxxxxxxxxxxxxxx?subject=unsubscribe>
List-Archive: <http://computer-go.org/pipermail/computer-go>
List-Post: <mailto:computer-go@xxxxxxxxxxxxxxxxx>
List-Help: <mailto:computer-go-request@xxxxxxxxxxxxxxxxx?subject=help>
List-Subscribe: <http://hosting.midvalleyhosting.com/mailman/listinfo/computer-go>,
<mailto:computer-go-request@xxxxxxxxxxxxxxxxx?subject=subscribe>
Sender: computer-go-bounces@xxxxxxxxxxxxxxxxx
This is to announce a new open source
Go playing program, Moyoman. Moyoman is
implemented in Java, and will run on any platform
with Java 1.4. More information can be found at
http://www.moyoman.org, or
http://sourceforge.net/projects/moyoman.
Purpose: The purpose of this project is to create
a program which is rated at least 1 Dan on the
American Go Association scale. A secondary
purpose is to allow the end user to examine how
the program generates a move.
Assumptions:
1. It will take about 100 person years, or 1 million
executable lines of code to get to amateur 1 Dan.
2. It is well understood WHAT needs to be built,
if not necessarily HOW to build it.
3. The main contributors to the strength of the
program will be software developers/testers,
AI researchers, and strong Go players without
programming experience.
Design:
The strategy is divided up into components
called modules, which correspond to standard Go
concepts such as shape, life and death, or
the opening. A module implements a well-defined
interface, so that there can be multiple
implementations of a given module type, and
module implementations of the same type can be
used interchangeably.
This approach allows for experimentation since
there can be multiple implementations of the same
module type. The program can play against itself
with each computer player using a different set of
modules, so that evaluation and testing of modules
can be automated.
Each module provides debugging information
which can be displayed graphically. This would
allow strong players to analyze the performance
of the program without requiring any programming
knowledge.
User Interface:
Moyoman provides its own client, rather than
using a standard protocol such as GTP. The reason
for this is that each module provides debugging
information which the client displays graphically.
This allows the end user to be able to examine the
output of each module, and have a better understanding
of how the program makes its move. This could be used
as a teaching tool, as well as a mechanism for
allowing
strong Go players who are not programmers to analyze
the output of the program and so enable the developers
to make it stronger.
Knowledge Reuse:
There is often a tendency in projects of this
type
to approach the problem fresh without considering the
work that has already been done. There is a great
deal of work that has already been done on computer Go
which is in the public domain, most notably the GnuGo
program. A life and death module could be written for
Moyoman using the life and death algorithm from GnuGo,
and one for shape, tactics, etc. This would provide a
mechanism for bringing together much of the work that
has already been done into one place. Where competing
approaches to the same subproblem have been taken, the
Moyoman program would allow them to be tested against
each other, or to be combined into something stronger
than either approach used separately. Developers of
modules using new ideas would then have a benchmark to
compare their work with.
Strength:
Moyoman is currently very weak, even for a
computer program. It is probably somewhere between 30
and 40 kyu in strength. With enough contributors to
this project, it can rapidly increase in strength.
Help Wanted:
If you are interested in contributing to this
project, please visit http://www.moyoman.org or
http://sourceforge.net/projects/moyoman.
Currently, we need:
Software developers
Software testers
Technical writers
Web Designer
Graphic artist
__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/