[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Moyoman, a Go playing program
> I don't want to use a private extension, because that loses the
> benefit of being a standard, and then users of my program are reduced
> to using lowest common denominator functionality.
I suspect that if you extended GTP to include debugging information it
would either become a defacto standard or even part of the official
standard. You should at least check this with the GTP guys, as that
would probably benefit everyone and be a nice (extra) contribution to
make to the computer go community.
Sorry if we "beat you up." I can't honestly say that GTP is a better
fit even though I implied this in my last email. But I do know that
you need to have a GTP mode whether it's "native" to your program or
not.
I can give you a few reasons why:
1. You can play your program on KGS right now if you have GTP.
2. You can play your program right now against my program if you
have GTP. Ok, maybe nobody cares about this, but I do! I am
always looking for GTP programs to play against.
3. How many games can your program win against the latest version of
GNU Go in a 2000 game sample? I know the answer for my program
because it's easy to play these games automatically with GTP
testers that are available (I wrote my own.)
You will want to be able to answer questions like this (even if
you don't like the answer :-)
4. There is a very nice java interface called "gogui." I downloaded
it one day and it worked without any changes because I used a
standard protocol. I am lazy and didn't want to build a user
interface, fortunately, I don't have to! But if I do, it will be
GTP based.
You will probably already have your own interface, but it's nice
to have options. If your interface is particularly nice, I will
want to run my program on your interface! You need GTP so I can
do this!
5. You will generate far more interest in your project if people can
download it and do all these things.
- Don
Date: Wed, 7 Jul 2004 11:32:52 -0700 (PDT)
From: David Weiss <dweiss51@xxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=us-ascii
Don,
I only posted this a few hours ago, and have
already been beaten up by a number of people
about GTP :-) My comm.client package is meant
to make it easy to write multiple clients for
Moyoman, although it still needs some additional
work. I wrote an ASCII client just as a
demonstration of this. Writing a
GTP client which would communicate over a socket
would be a very good idea. My design does not
preclude this, and should not require any
additional work. GTP is easy enough that it is
probably just as easy to write new GTP code as
trying to integrate anyone elses stuff, but that
is a separate question which I can examine later.
A strong case has been made in terms of
incorporating third party tools. At some point,
I would like to see a standard protocol which
allows for debugging information to be transmitted.
If that is GTP, great. I don't want to use a
private extension, because that loses the benefit
of being a standard, and then users of my program
are reduced to using lowest common denominator
functionality.
In any case, I hope that you get a chance
to check out Moyoman. Thanks for your interest.
--- Don Dailey <drd@xxxxxxxxxxxxxxxxx> wrote:
>
> 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
>
>
>
>
>
>
=== message truncated ===
__________________________________
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.
http://promotions.yahoo.com/new_mail
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/