[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Programs learning to play Go
On Mon, Aug 20, 2001 at 03:21:56PM -0500, Richard Brown wrote:
> Of course, one can make use of a catalog of tesuji, or ladder-readers, or
> tsume-go solvers, and so on, to clarify these local issues, but then, how
> to fit the solutions to local problems together into a comprehensive
> global strategy is a bit more challenging.
I have been speculating on this. I still hope to have the time to
experiment, probably around GnuGo. But for now, I just throw the idea for
discussion. If someone can shoot it down, I save lots of frustration :-)
My plan is to work only on a part I can a global evaluator. Given a
position, it will return the probability of winning. As its inputs it will
have a huge number of data coming from GnuGo's analysis of the position.
Nothing in the inputs will reflect the board size or location of stones.
So, what will I feed the net? Key numbers, like
- number of stones on board
- number of captured stones
- number of stones that are in strings that have only 1,2,3,4, or 5
liberties
- number of stones in groups that have life status of
(dead/weak/uncertain...)
- number of empty points GnuGo considers territory, influence, etc
And probably a good number of other details. All numbers encoded somehow
into inputs (possibly in a way that makes black-white differences stand
out).
And one output: Probability of winning from this position.
I have a few ideas for training: Either study complete games, and assume
that the probability starts from 50% and ends in 0% or 100%. Assume it goes
linearily (for lack of better info). Thus you get a number of positions and
percentages.
Probably a better way is to note that every reasonable move is played to
improve the winning probability. Thus we can evaluate the position before
and after a move, and correct the net if it believes the probability to
down. (This assumes that the sample games do not contain serious errors - on
my level nearly any human-human game satisfies this condition, but to play
safe, I could train on professional games)
Using the net should be easy, for example take the best 10 moves proposed by
GnuGo, evaluate the positions, feed to the net, and choose the one that gets
the highest score. Maybe, in a few years when computers get really fast, it
might make sense to try and evaluate most of legal moves, or to even to do
simple limited read-ahead.
What do you think, would this be complete waste of time? Are there some
obvious problems you can see? Any improvements, suggestions? Any hope to be
seen?
- Heikki
--
Heikki Levanto LSD - Levanto Software Development <heikki@xxxxxxxxxxxxxxxxx>