Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Microsoft AI Programming Games

Microsoft Research Takes On Go 175

mikejuk writes "Microsoft Research has used F# and AI to implement a consumer-quality game of Go — arguably the most difficult two-person game to implement. They have used an interesting approach to the problem of playing the game, which is a pragmatic cross between tree search with pruning and machine learning to spot moves with a 'good shape.' The whole lot has been packaged into an XNA-based game with a story."
This discussion has been archived. No new comments can be posted.

Microsoft Research Takes On Go

Comments Filter:
  • by Anonymous Coward on Sunday January 02, 2011 @05:20AM (#34735956)

    Sir, I think you should re-read what you just wrote.

    Since when is Go not a game? Because it's just complicated?

    Have you ever actually played go? If so, you'd know it takes alot of skill and even more practice to master.

    Anything that takes practice, skill and involves fun is a game.

    Red Rover does not have any 'rules' or 'regulations'. Yet, I bet you played it when you were little.


  • by Anonymous Coward on Sunday January 02, 2011 @05:33AM (#34735996)

    Q: How strong is the AI?
    A: The AI is strong enough that the game could challenge the vast majority of newcomers to the game. It doesn't compare like-for-like with other high performance computing solutions that have been developed for Go - which only Go experts would be able to compete with - but it does give it a more natural feel and makes the game accessible for a broader audience.

    I got excited when I saw the story. Sigh. This won't appeal to people who already play Go. It may appeal to people who have never played. I'm guessing that the game itself won't produce many more Go players. On the other hand, people may read the story on Slashdot and become curious.

    It is relatively easy to beat the existing Go games on a 19x19 board. On the other hand, the existing games are OK on a 9x9 board. On the smaller board, tactics rule. On the full size board, strategy rules. If you make a mistake on the small board, you will be ruthlessly punished.

    What does "beat" mean in Go? In Go, it is possible for an expert and a beginner to have a satisfying game. The weaker player gets to place a certain number of stones on the board before the stronger player makes his first move. The handicap system is pretty reliable and is part of Go culture. If they are properly handicapped, the weaker player will beat the stronger player 50% of the time.

    If we want to seriously talk about how strong a computer game is, we have to talk about handicap. A computer game that needs only a one stone handicap to keep up with an expert would be exciting. With a zero stone handicap, it wouldn't sound very good because it would lose most of the time. Currently, the best programs, running on heavy duty computers, can keep up if they are given a six or seven stone handicap. Wiki [wikipedia.org]

  • by dair ( 210 ) on Sunday January 02, 2011 @06:01AM (#34736064)

    In practice the problem you see (ambiguities in the endgame) are only really an issue for computer Go. Human players rarely disagree over when a game is "over", as typically the outcome becomes obvious long before each stone is played out to the absolute end.

    Perhaps a good analogy is poetry: it is perfectly possible for a poem to convey meaning, even if it does not conform to the rules of the language or have a literal meaning (and yet, people still understand it).

    The thick book of "how to interpret patterns" is simply a set of standard plays that people have found empirically to work well (in exactly the same way as opening books are used in chess). Like chess, you are free to ignore those patterns if you like, but typically that leaves you in a weaker position than you would be in otherwise.

    These patterns are most commonly used in the opening moves, but local instances of them pop up all the time ("if he moves there, I should move here, then he *has* to move there I'll capture these stones").

    The rule is that game is over when both players agree that it is over: if there is a disagreement, the game is played on. Some positions lead to an infinite repeat (A captures B, B captures A, A captures B, etc) but thee plays typically don't determine the final score (if the score was equal, and there was an infinite repeat, then humans would simply call it a draw). Computers can recognise trivial cases of this easily, and do OKish with heuristics for simple cases.

    However the real difficulty in computer Go is understanding just why humans make the moves they do, as outside of the standard sequences a move is often made intuitively as a way to steer the other player even though the consequences of that move may be some way off (or may need to be abandoned, or redirected, or reused in some unplanned way).

    Go is a truly fascinating game, and also a very human one (computers will play it well one day, but probably about the same time that they get good at writing poems, playing tricks, or asking why).

  • by Anonymous Coward on Sunday January 02, 2011 @07:00AM (#34736254)

    Do you actually play the game. From your post it seems like you are trying to program it without any insight as a player. Sorry, but that will fail.

    Go is not a game because it does not have rules that are clearly interpretable, except the new Tromp/Taylor rules.

    Wrong, the rules are simple and clearly interpretable for humans. There are some odd cases, in which the different rule sets disagree, but they are very rare and it practice the game in exactly the same regardless of which set of rules you use.

    The Japanese versus Chinese "rules" give very different endgames, but the practice is to simply ignore that and pretend there is no problem.

    Wrong. Except a few rare situation they are equivalent.

    Robert Jasiek has done extensive analysis of Go, and seems to be the only one actually understanding the game as it is played in practice.

    Jasiek has done a nice job of cleaning up the rules text, but again, in practice it is no difference at all. I've been playing for ten years and I have never ever made a different move because of the rule set.

    Please try to learn the game a bit deeper before making judgements. Go is a hard game for beginners to grasp, and you will have to play many games before the confusion starts to clear.

  • by nloop ( 665733 ) on Sunday January 02, 2011 @12:11PM (#34737576)

    19-10 kyu is a casual player. gnu go is 5 kyu, beyond the casual range, actually getting pretty close to a dan rating. A few months gets you within spitting distance of dan? Perhaps you haven't seen beginners play gnu go. The reputation of go engines seems stuck in the 90s while their gameplay isn't. Watch them play, especially against someone with less experience.

If graphics hackers are so smart, why can't they get the bugs out of fresh paint?