[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/