[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Programs learning to play Go
On Tue, Aug 21, 2001 at 02:59:02AM +0200, Joan Pons i Semelis wrote:
> In a board of any size, which % of the total number of positions
> do you estimate you need to have outputed to be usefull ?
> Try in 2x2, 2x3, 3x3, 3x4 and 4x4 boards. Estimate at 7x7 which number
> is it?
I don't think this is a relevant question to my model, as I never ever feed
the board position to the net! I only feed it key numbers, like the count of
living/strong/unknown/weak/dead groups, etc. Such figures can not be
meaningfully computed from a 3x4 position!
Besides, 9x9 and 19x19 have the great advantage that good quality games
exist in great numbers. For strange sizes, you have to produce your own
learning material.
> > Probably a better way is to note that every reasonable move is played to
> > improve the winning probability.
>
> I'd rather say that a good move keeps it at 50%, a mistake lowers it for
> you so it raises the oponent's probability.
I do not agree. On the average (in a good game) the probability stays around
50% (barring mistakes). But every black move is played to gain something, or
the player would have passed. So it must nudge the probability a little bit.
Likewise, every white move nudges it in the opposing direction. It is these
small nudges I hope to find and learn from!
> How to learn how to punish the most obvious mistakes, then?
Note that this is not meant to be the whole program, only a component that
evaluates the whole-board position. GnuGo is already pretty good at
punishing tactical mistakes. I hope my net would learn to notice strategic
blunders... Maybe I need to feed it many games with known mistakes too (any
sources of suitably commented games?)
> This is good to find flaws in the evaluation function: if it thinks the
> position becames unbalanced on a pro game that ends with someone winning
> by less than 5 there's probably an error.
No, in the end one player has won by 100% probability, and the other by 0%.
Even if the score is tight, this still applies.
> > 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.
>
> That's not a few years, I'm afraid. Better strive for a good way to
> prune the tree from the beginning.
True, and I have another way in my mind. Instead of trying hundreds of
moves out, you could quite quickly try ideas, directly on the net, without
ever playing them out. For example, an idea would be to connect those two
groups. That would reduce the number of one-eyed groups by two and increas
the number of two-eyed groups by one (and make even bigger difference in the
number of stones and empty points affected). Now the net should tell us that
this will increase our chances by a small number. Likewise we could imagine
an invasion, adding one weak group to worry about, and neutralizing lots of
territory. Again the net should come up with a value for this idea. This
would enable us to test out many high-level ideas, and at a later stage, try
to find moves to implement them. Once played on the board (a temporary board
inside teh engine), we could recalculate all inputs and verify that the
strategic value holds, and that it does not have too many side effects.
Still, all of this is empty speculation, until I get enough time (read:
priority) to do anything about it.
-H
--
Heikki Levanto LSD - Levanto Software Development <heikki@xxxxxxxxxxxxxxxxx>