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/