[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Learning from existing games
Hi Frank,
Your idea is perfectly valid and is done by some game programmers.
The fact that some moves may be bad is not a bad thing since the whole
idea of "temporal difference learning", which is basically the same or
at least very similar to your idea, is to gain feedback from the
success AND non-success of positional features.
In temporal difference learing, it is considered more effective to
gain feedback from the WHOLE game, not just the final results. In
practical terms, your program can view the score a few moves later as
more accurate (on the average) than the current score, and modify the
weights accordingly. But as I said, this is just a variation on the
same idea.
How you go about implementing this in Go is another question. But I
do actually use this technique in my chess program to tune evaluation
weights and it produces a much stronger program than I am capable of
generating on my own. (I can't say for sure that someone with more
skill at tunning weights would not do better!)
Don
From: frank-steinmann@xxxxxxxxxxxxxxxxx (Frank Steinmann)
Date: Mon, 13 Jan 2003 17:37:35 +0100
Content-Type: text/plain;
charset="iso-8859-1"
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-Sender: 520045112508-0001@xxxxxxxxxxxxxxxxx
Sender: owner-computer-go@xxxxxxxxxxxxxxxxx
Precedence: bulk
Reply-To: computer-go@xxxxxxxxxxxxxxxxx
Hello,
realizing, that my go program doesn't make any good moves at all (and is
also badly desinged), I decided to start again with a completly different
strategy. My program ist going to learn from existing games (and from the
ones it has played itself) now.
My question: To analyze a game, I'd like to evaluate the moves, that have
been made in that game. The simplest way to do that, is to give every move
the value of the game result (positive for the moves of the winner, negative
for the moves of the loser). But I don't think it is a very promising way,
because you don't consider that there could be some good moves and some bad
moves which finally lead to the game result. Are there any better ways to do
that (except from getting a game analysis from a professional go player
;-) )?
Frank