80 likes | 226 Views
Creating Optimal Multi-Layer Perceptron Networks to play Go with a Genetic Algorithm . a.k.a. big Name, Run long time By Nathan Erickson ECE539 Final Proj 12/18/03. Go.
E N D
Creating Optimal Multi-Layer Perceptron Networks to play Go with aGenetic Algorithm a.k.a. big Name, Run long time By Nathan Erickson ECE539 Final Proj 12/18/03
Go The ancient Chinese game of Go has long been a difficult problem for computer programmers. Its complex and rapidly changing game play makes it very difficult for computers to get a handle on how to play well.
According to the book “The way to go” “The situations that arise from the simple objectives of go are complex enough to have thwarted all attempts to program a competitive go-playing computer. Informed opinion doubts that a computer will soon, if ever, challenge the ability of a go professional. Effective go strategy is sublimely subtle.”
Program Structure and Classes GoArena Contains the Genetic Algorithm | |- PopulationManager | | | | Player Contains the MLP | | | |- Neuron | |- GoBoard
The Genetic Algorithm A simple form of the GA is employed in GoArena. Its current function is simply • Kill any player that can not win any games • Kill the weakest players to make room for more • Create a new player with randomly chosen values. • Repeat
The MLP • The network in GoArena is a fully forward connected network. • There is no upward bound on the size of the network. • MLP Reasonableness is ensured by the Genetic Algorithm. • Learns after each game.
Runtime • Using a 9x9 board • 1000 generations • 1000 Games each • With 100 Players • on a Athlon XP 2500+ • Takes 12 hours • Got a supercomputer handy, anyone?
Results • At the start the computer is horribly stupid. • It just places stones in random places. • Later in the simulation you can see it has developed the ability to cover the board and group stones for safety. • Also later in the simulation you see less players being killed for not being able to win any games.