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

Re: computer-go: Neural Nets: suggesting and evaluating



This idea  sounds pretty  good to me.   There has been  little success
with networks  that try to do  full board analysis just  from a simple
description of the position.

> In fact, I have a (totally untested) feeling that with enough analysis,
> the network should not need to see the board position at all.

I don't think there is  any question about this.  The preprocessor can
present  a high level  overview to  the network.   In theory  it could
present the best move directly to the network (this is silly, but is a
proof that you  are correct and that the network  doesn't need to know
all details.)

-Don





   Date: Wed, 6 Aug 2003 22:48:34 +0200
   Content-Type: text/plain; charset=us-ascii
   Content-Disposition: inline
   User-Agent: Mutt/1.4i
   From: Heikki Levanto <heikki@xxxxxxxxxxxxxxxxx>
   Sender: owner-computer-go@xxxxxxxxxxxxxxxxx
   Precedence: bulk
   Reply-To: computer-go@xxxxxxxxxxxxxxxxx

   On Mon, Jul 28, 2003 at 04:16:11PM -0700, Peter Drake wrote:
   > It appears that there are two obvious ways to use a neural network in a 
   > very simple Go program:
   > 
   > 1) Take the board as input and output a value for each potential move.  
   > [...]

   I have often been wondering about using much higher level inputs to the
   NN. By doing a lot of tactical reading, it should be easy to get a good
   picture of which stones are connected (and how well), which are alive to
   some degree, and so on. Evaluating the position from such preprocessed
   data ought to be much simpler than evaluating from a raw board position. 
   In fact, I have a (totally untested) feeling that with enough analysis,
   the network should not need to see the board position at all.

   For example, if we discuss tactical stability only, it might be
   sufficient to count how many strings have one liberty, how many have
   two, and so on. Same for second-order liberties, and string sizes, and
   strings with more liberties than their neighbours, and a few more
   things. Out of these a network should be able to learn to distinguish
   between two positions, for example to see that connecting two strings is
   better than creating one more weak string. Similar thinking ought to
   apply for eyes and territories and most of the game...

   Is this a well-known approach, or have I stumbled upon a new idea? Any
   experiences or even speculation on how it might work or fail?

   -H


   -- 
   Heikki Levanto  LSD - Levanto Software Development   <heikki@xxxxxxxxxxxxxxxxx>