[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: computer-go: Fast scoring program?
On Mon, 13 Aug 2001, Grajdeanu, Adrian wrote:
> I've used gnugo for the same purpose as you, Matthew, but I gave up on it.
> Not only it took too long, but sometimes it would never finish scoring a
> position. So I gave up and implemented the TT scoring. It is not exactly
> what I want to have eventually, but I figured that I can run an experiment
> in training the NN with TT scoring and if all goes well, I will swap a
> better scoring engine later. So for now I have something that runs fast and
> gets me ahead. Unfortunately, I tend to think that my nets aren't evolving
> the way I expected. Either I have some more bugs in my system, or I am just
> plainly digging in dry land, I am not quite sure yet. Need more time to
> figure it out. How's your experience w/ training Go playing nets?
>
> Adrian
>
Not well.. but i am learning lots about neural nets and GA, my latest
network is the fastest but has a harder time learning when to pass. If it
wasn't the capibilty for passing in Go it will be easier.
My current architecture is an 81 input 163 (N*2+1) hidden layer and an 81
output layer, it checks with gnugo (as its the referee program) all legal
moves. Sorts those moves by the value of its output node and if the top
legal move (checks super ko rule also as gnugo doesn't) is move then 0
then it takes it. otherwise it passes. But of course a random net you
would expect it to pass alot from the beginning. Also if its an empty board
i fill the C3 position with the enemy on the network, cause an empty board
will get all 0 out puts in the net.
This net is 30-60 times faster then my old way as instead of one net
computation for each possible move. its just one net computation per
actual move. But it will take a longer time to evolve i think. And I've
been playing with how to deal with passing early on. They tend to evolve
towards always passing the first move as a score of 0 means they are dead
in the middle. Its only by keeping the mutation rate high enough, that i
can keep it evolving to a positive score.
Its the fitness function thats the tough problem here, what's the trend you
are having? I've played with deducting points on passing depending on
empty spaces (was score at that time, but that was too slow) but i rarely
got above 20 moves per game and averages 8 moves.. way too low on a 9x9
board. Maybe i can use gnugo's scoreing function to my advantage and
subtract the time it takes to score a game from the final score. On the
asumption if its a long time to score then there is a random
distrabution. And maybe subtract the time from the loser only. Hmm
actually thats what i'll do have nothing to lose at this point...
Matthew Corey Brown bromoc@xxxxxxxxxxxxxxxxx
Happiness is a dry place to live.