Small Success With Go!

From: andrew cooke <andrew@...>

Date: Wed, 25 Nov 2015 20:48:34 -0300

A small success, but I've been experimenting the last few weeks in
computer go, and I just had two alogirthms playing each other and get
into a ko fight.

If you don't know go then a ko fight is a weird situation where the
"best" move is to (infinitely) repeat what has gone before, which
"stalls" the game in some sense (think: you took me, so now I can take
you, which means you can take me, which means I take you...).

"Real" go has a rule to prevent this, which I hadn't included in my
basic logic because I didn't think my algorithms were smart enough.
So the fact that this has happened is a kind of milestone - they have
evolved to the point where I need to teach them something new.

(The approach I am using is difficult to explain quickly, but I'll try
here: It's a hybrid of "deep" neural nets with traditional DFS, where
the "net" is not a generic net, but a representation tailored
specifically to fast evaluation of go-like games on GPUs.

The idea is that the "net" chooses which moves to explore in a DFS.
But currently I have not implemented the DFS (or the GPU code) - this
behaviour is just from nets playing each other on the CPU.  The nets
are generated not by feedback (I don't have examples to train them and
anyway, the representation isn't designed to support that).  Instead,
they are evolved (GA) by playing each other.)

Andrew