In the thread "On average how many board updates/sec can top Go
programs do these days?" mingwu said of the way MC/UCT programs work
that he'd hardly call it intelligent.
I've thought (and argued elsewhere) that the MC/UCT approach is
fundamentally more "intelligent", in the sense of working more like
human intelligence apperas to do, than traditional game tree search.
How did humans learn to play Go? Well, they tried things, figured out
what worked and what didn't. And that is what a UCT seach does as
well... the main differences is that it's much worse at
generalization, and (for that reason) throws away most of what it's
learned from game to game. Still, it plays well with vastly less a
priori assumptions/knowledge than a traditional minimax-type search.
There is some, of course, but humans also rely on some a priori
knowledge according to the philosophers :-)

To illustrate it a bit, I know of a game in which UCT's advantages are
even more striking. The game designer Nicholas Bentley recently won an
award for a game he calls Mind Ninja (silly name, I know, but bear
with me: it's a very interesting game). It's a generalized
connection/shape-building game, which begins with a negotiation phase,
where one player proposes the pattern to be built, and the other
decides whether he will be the "builder" or the "blocker".
There are extremely many possible patterns. On the regular board,
there are 127 points, which can be empty or coloured - the number of
colours are also part of the pattern rule. By a pattern rule, each
possible position must be either a win for the builder or not (the
blocker wins if there are no more legal moves and the builder hasn't
won). Each partitioning of positions into wins for the builder and
undecided positions/wins for the blocker can constitute a pattern
rule.

Now, I believe MC/UCT can play this game, and play it well. (I'm
working on an implementation). It will adapt to pattern rules it has
never seen before, just like a human. It doesn't need any "hints" in
the form of evaluation functions, like chess programs use - in fact,
the nature of the game makes applying that approach pretty much
impossible. Like a human, it can consider a pattern rule, and try to
figure out which side has the advantage. Humans can certainly choose
rules which would give them an advantage (I imagine nim-like pattern
rules could work), but with trial and error, so could the program -
and the game has a way of balancing that advantage, too.

Would a MN-playing program be intelligent? I'm pretty sure they would
have said so ten years ago, at least :-) But regardless, I think it
could illustrate the potential of this new algorithm.
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to