Ernest,

Fun stuff! I have a co-evolved neural net that used to play on KGS as 
“Antbot9x9”. I use the same net in the progressive widening part of my MCTS 
engine. I would guess that many people experiment along these lines but they 
rarely report results.

 

Here are some suggestions that might be relevant:

-         If you test your approach on smaller board sizes you can get results 
orders of magnitude faster. 7x7 would be a good starting size. (If you use 5x5, 
make sure your super-ko handling is rock solid first.)

-         Take the strongest net at every generation and benchmark it against 
one or more computer opponents to measure progress over time. Suitable computer 
opponents would be light playouts (random), heavy playouts (a bit tougher), 
Wally (there’s nothing quite like getting trounced by the infamous Wally to 
goad one into a new burst of creativity), and Gnugo.  When you have a net you 
like, it can play against other bots online at CGOS and get a ranking.

-         Use a hierarchical architecture, or weight sharing or something to 
let your GA learn general principles that apply everywhere on the board. A 
self-atari move on one spot is going to be roughly as bad as on any other spot. 
You probably don’t want your GA to have to learn not to move into self-atari 
independently for every space on the board.

-         Use the =E
2mercy rule” to end games early when one color has an overwhelming majority of 
the stones on the board.

-         Feed the net some simple features. To play well, it will have to be 
able to tell if a move would be self-atari, a rescue from atari, a capturing 
move,… Unless you think it might not need these after all, do you really want 
to wait for the net to learn things that are trivial to pre-calculate? You are 
probably reluctant to feed it any features at all. As a motivating exercise, 
you could try having the GA evolve a net to calculate one of those features 
directly.

-         GA application papers tend to convey the sense that the author threw 
a problem over a wall and the GA caught it and solved it for him. Really, 
there’s a lot of art to it and a lot of interactivity. Fortunately, that’s the 
fun part.
- Dave Hillis


-----Original Message-----
From: Ernest Galbrun <ernest.galb...@gmail.com>
To: computer-go <computer-go@computer-go.org>
Sent: Tue, 24 Feb 2009 7:28 am
Subject: Re: [computer-go] Presentation of my personnal project : evolution of 
an artificial go player through random mutation and natural selection






I read a paper a couple years ago about a genetic algorithm to evolve


a neural network for Go playing (SANE I think it was called?).  The
network would output a value from 0 to 1 for each board location, and
the location that had the highest output value was playe
d as the next
move.  I had an idea that the outputs could be sorted to get the X
"best" moves, and that that set of moves could be used to direct a
minimax or monte carlo search.  I haven't had the chance to prototype
this, but I think it would be an interesting and possibly effective
way to combine neural networks with the current Go algorithms.

Colin

 

This was a great achievement indeed, but although it might seem dumb, my 
approach here is to be as ignorant as I can (not very difficult given my 
knowledge in AI) of subtile and clever ways to make my players evolve. The SANE 
algorithm has proven to be very powerful, but it needs some assumptions to be 
true. As "probably true" this assumtpions are, I prefer to have none and look 
at a really random evolution pattern.




Ernest.




_______________________________________________
omputer-go mailing list
omputer...@computer-go.org
ttp://www.computer-go.org/mailman/listinfo/computer-go/

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

Reply via email to