Sparks are flying, but I don't think that either of you are onto the
exact truth. Don: do you play Go the same way you play chess? I don't
think I do. The "opening", in computer terms, for me only gets to move
20 if there is a long Joseki involved. It happens too often that
somebody "tries" something before that. (Disclaimer: I only ever made it
to 3 dan, and don't play actively - strong players may think
differently). Last time I talked to a pro, many years ago now, about a
relatively innocent opening (Chinese opening, a pattern consisting of 5
moves), I found a very open mind about each of the moves, and huge
flexibility to deal with deviations.
I am pretty convinced that there is not currently a good answer to
playing well in the opening and early middle game and 19x19. I just
don't think anyone has come up with one. MCTS looks like a blind man
wandering the desert (I agree on this point), but on other hand a pure
opening book will limit the program. I am hoping that people keep a goal
of beating the *strongest* human players in mind, rather than chasing
200 ELO here and there. It seems easy to tune programs that plateau at a
particular kyu or dan level.
In that respect I commend the authors of the papers on Monte Carlo go on
their reservations about hand-crafted patterns in playouts. They, the
patterns, do have a tendency to remind me of kyu player tactics (always
respond to atari, always pull a stone out of atari...). Pure statistical
measures (criticality, David Silver's approach), etc, sound *much* more
exciting to me, as they don't constrain strength scalability - I hope to
see many more.
Christian
Don Dailey wrote:
On Tue, May 12, 2009 at 8:17 PM, Dave Dyer <dd...@real-me.net
<mailto:dd...@real-me.net>> wrote:
>
>If I use persistent storage and do that search again in another
game, I can start exactly where I left off and generate 50,000
more nodes. It will be the same as if I did 100,000 nodes
instead of 50,000 nodes. Or put another way, it will be the
same as if I spent 20 seconds on this move instead of 10 seconds.
Sure, but except for openings you'll never reach the same
position position in another game unless the players are
deliberately copying their play.
I think you still miss the point. I don't expect this to help on
move 20, only for the early positions you have seen before.
When I play chess, I play the first few moves almost instantly,
without making a blunder. I can do this because I have studied those
positions and know them thoroughly. It's not because I memorized
them, even though I have. As soon as I get to positions I am less
familiar with, I slow down to a crawl, because now I have to try to
figure them out over the board. Of course my knowledge of the
opening helps some, even when I'm out of the book I have a good sense
of how to proceed.
With GO, a computer can do the same. It's almost ridiculous to
search the opening position from scratch, as it we are a totally moron
and have never see that position before. There is no reason not to
study it and remember what we learned about it. There is no reason
not to apply this to as many moves as possible in the opening, even if
it's only a very few.
I don't understand why this is not immediately obvious to you.
What I suggest is superior to just memorizing what moves to play, you
can actually save the tree and in a sense it's like a program actually
understands the position, not just play by rote. If it's a position
you already searched, you will have at least a little head start no
matter what the opponent plays. Even if the opponent surprises you,
you will have a piece of the tree intact and the next time this same
situation happens, you will now have some serious analysis already
pre-computed.
With 19x19 this is probably not a huge ELO booster, but there is
certainly nothing unsound about it either. And it may not be as bad
as you think because the computer will tend to be deterministic about
which moves it plays which by itself drastically lowers the branching
factor. If it fails to play the same in a position it has already
seen, that is not a bad thing either, it indicates that it found a
move it likes better, perhaps discovering that something was wrong
with the previous choice. That's exactly what you hope it does.
Consider move 20 (for example). If you saved every "move 20" node you
ever encountered, how often do you think you'd encounter a duplicate
from a different game, such that you can either avoid an evaluation,
or improve your knowledge of that position by studying it
a bit more. I contend it is a vanishingly small percentage.
I don't believe you want to save the tree beyond the point where you
are in a position you have never seen for the very reason you state.
It's very unlikely that you will still be a part of the tree you have
visited before. I thought I already conceded that point? Didn't
I already say that this is an idea for the first few moves?
But this idea will save you time that can be spend in later moves, so
it can actaully benefit the moves you make later in the game. But
more importantly it can prevent you from being in a losing position by
move 20 from a bad move choice on move 5.
- Don
--
_______________________________________________
computer-go mailing list
computer-go@computer-go.org <mailto:computer-go@computer-go.org>
http://www.computer-go.org/mailman/listinfo/computer-go/
------------------------------------------------------------------------
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/
--
Christian Nentwich
Director, Model Two Zero Ltd.
+44-(0)7747-061302
http://www.modeltwozero.com
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/