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

Re: [computer-go] Cellular automata



On Thursday, July 22, 2004, at 12:23  PM, Don Dailey wrote:

   Has anyone tried cellular automata as an approach to Go?

  Peter Drake
  Assistant Professor of Computer Science
  Lewis & Clark College
  http://www.lclark.edu/~drake/
I  can't believe  you asked  that question!   I am  in the  process of
experimenting with something like this.

The idea  is to  have a  limited number of  possible states  that each
point can have.   The states of course are  determined by the previous
generations neighboring points.
We thought each point should have a state vector, rather than a single number. This way, a point can keep track of its liveliness, its number of liberties, the size of its blocks, whether it matches some particular pattern, and so on. The CA update rule could then take this information into account.

If the vector elements are numbers, it might be possible for the CA propagation to pass around automatically-generated "tags" to distinguish one group (or eye, or whatever) from another.

The previous post mentioned the apparent lack of global understanding on behalf of a CA player. Perhaps some sort of hierarchical structure might be in order, where groups or regions of the board have state vectors of their own?

To speed up computation, only the cells in the same neighborhood of changed cells need by updated on each CA step. A good rule might, hypothetically, not propagate across unconditionally live groups, thus reducing the need to update regions of the board that don't change. It's not clear how to integrate this with the hierarchical structure mentioned above.

The interesting part is that the rules to  generate a new state will be
determined using some kind of learning algorithm such as PBIL or GA's.
We were thinking of using Koza's Genetic Programming approach to generate the rules.

The rules to generate a new state might also change from generation to
generation.  That might add  some flexibility that might not otherwise
be possible.

Of course I'm probably barking up  the wrong tree, but it's fun to try
this stuff  anyway.  I'll give you a  report when I'm done  if you are
interested.
Yes, by all means!

Peter Drake
Assistant Professor of Computer Science
Lewis & Clark College
http://www.lclark.edu/~drake/

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/