Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Computer Beats Pro At US Go Congress

Posted by kdawson on Fri Aug 08, 2008 07:52 AM
from the going-going-gone dept.
Bob Hearn writes "I was in attendance at the US Go Congress match yesterday where history was made: the go program MoGo, running on an 800-core supercomputer, beat 8-dan professional go player Myungwan Kim in a 9-stone handicap game. Most in the audience were shocked at the computer's performance; it was naturally assumed that the computer would be slaughtered, as usual. Go is often seen as the last bastion of human superiority over computers in the domain of board games. But if Moore's law continues to hold up, today's result suggests that the days of human superiority may be numbered." Read below for more details in Bob's account of the match.

Computers are still a long way from beating the best human players in an even game; nevertheless, today's performance represents a huge stride forward. In the last such high-profile matchup, in 1997, Janice Kim (then 1-dan professional) beat then-champion program Handtalk with a 25-stone handicap. In fact, most of the improvement in the level of computer-go play has happened in just the past few years. Today's top programs, including MoGo, use a Monte Carlo approach: they simulate thousands of random continuations per second from the current position to the end of the game, accumulating statistics in a tree on which moves lead to wins most often. One of the strengths of this approach is that it is highly amenable to parallelization. Thus, today's 800-core incarnation of MoGo is by far the strongest go computer that has yet existed. After the game Myungwan Kim estimated the strength of MoGo as 'two or maybe three dan,' corresponding to a reasonably strong amateur player. (Professional dan ranks are at a much higher level than amateur dan ranks.)
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • If only the summary had actually been what I read it as. I think we need more computers in Congress.
  • Breaking News (Score:5, Insightful)

    by matt4077 (581118) on Friday August 08 2008, @07:58AM (#24523429) Homepage
    Breaking News: Snail is faster than cheetah encased in 200 pound lead handicap
  • Moore's Law (Score:4, Interesting)

    by jonastullus (530101) * on Friday August 08 2008, @08:00AM (#24523459)

    Even if Moore's law were to continue (which I seriously doubt), the combinatorics of Go is rising drastically faster than doubling transistors/performance every 18 months could hope to cope with.

    Calculating the next N possible moves (no matter how smartly you cut-off) is simply not the answer in Go, IMHO. Seeing how ladders and other "inevitable" developments can go on for dozens of moves makes a look-ahead impractical.

    I haven't read TFA, but in the long run beating higher dan level players will require recognition of strategic constellations and differentiating them from mere clusters of stones.

  • misleading title (Score:5, Insightful)

    by yepster (1050284) on Friday August 08 2008, @08:00AM (#24523475)
    Considering the 9 stone handicap, maybe we'll have to wait yet a few years before actually seeing what the title implies ...
    • Re:misleading title (Score:5, Informative)

      by Denial93 (773403) on Friday August 08 2008, @08:17AM (#24523693)
      It says in the article they've gone down 9 stones in the last year, so they may likely shed the rest of the handicap in another. That's why Moore's law was mentioned in the summary...
  • Bob (Score:5, Funny)

    by Kamineko (851857) on Friday August 08 2008, @08:02AM (#24523503)

    Read below for more details in Bob's account of the match.

    Bob's account of the match:

    The guy placed a stone, and we were like 'Whoa!', and then the computer placed a stone, and I was like 'No way!', and then the guy placed another stone, and the crowd was all 'Oh! WOW!' and they continued to take alternating turns like that.

    It was Go-riffic!

  • by Asmor (775910) on Friday August 08 2008, @08:02AM (#24523505) Homepage

    Somebody wake me up when a computer can reliably beat a human at Candy Land.

  • 800-Core? (Score:4, Insightful)

    by Slippery Pete (941650) on Friday August 08 2008, @08:04AM (#24523533)
    Just out of curiosity, doesn't this seem like overkill? If you require such a massive amount of computing power, it seems you would take away from any decent AI algorithms and just do brute force computing.
    • Re:800-Core? (Score:5, Insightful)

      by jjohnson (62583) on Friday August 08 2008, @09:11AM (#24524497) Homepage

      The history of computer chess is the history of building brute force engines and then refining them by identifying where processing power is successful at winning. Brute force allows you to look at a lot of moves, but how the programs scores the outcomes of those moves as desirable is a different matter that has nothing to do with processing power (e.g., scoring for area of control).

      What humans seem to do well is radically pruning the search tree to the small number of viable lines of play, and spending our limited processing power analyzing those in depth. Once you've got a computer searching a large search space in depth, you can work on pruning it by teaching it to recognize useless lines.

  • Ease (Score:5, Interesting)

    by Amorymeltzer (1213818) on Friday August 08 2008, @08:09AM (#24523593)

    That's the thing that's always fascinated me about Go. It is essentially an extremely simple game gone terribly, terribly wrong. It's got about as many rules as Yahtzee, but is played on a 19x19 board. Compare that to Chess which has a pretty large (8x8) board, but has far more rules.

    I'm no expert on computer game programming, but I think that's where some of the difficulty comes into play when building these guys. Chess has a nearly unlimited number of outcomes, however having those sets of rules helps. For example, of the 32 pieces, 16 of them are essentially limited to one space in front of them. In Go, however, the lack of rules means that you're left with the simple mathematical monstrosity of an enormous board.

    The book The Immortal Game [amazon.com], aside from being an excellent read, goes into depth about computer programs playing chess, as well as Go and Checkers.

    • Re:Ease (Score:5, Interesting)

      by fractic (1178341) on Friday August 08 2008, @08:20AM (#24523731)
      In chess you also have the advantage of being able to make an endgame database for your program. Chess positions only get simpler as the game progresses because pieces are removed. In Go this doesn't happen. An endgame database is simply impossible.
  • by RootsLINUX (854452) <rootslinuxNO@SPAMgmail.com> on Friday August 08 2008, @08:15AM (#24523667) Homepage
    Having a greater number of transistors on a chip does not make a processor "smarter" or capable of doing something a less populated processor can. It only gives it the potential to be much faster (and consume more power). The real story here is that a person or group of programmers have designed a better algorithm for playing the game. This is a human achievement, not a machine one.
    • by ELProphet (909179) <davidsouther@gmail.com> on Friday August 08 2008, @09:09AM (#24524455) Homepage

      The real story here is that a person or group of programmers have designed a better algorithm for playing the game.

      Not really. TFS clearly states the programmers used a Monte Carlo [wikipedia.org] algorithm. To compare, the most common chess algorithm is ALpha-Beta [wikipedia.org] search. The computer takes a board position, enumerates the possible moves, and prunes the tree if it finds a move worse than the best move it's found so far. The only "clever" algorithm is evaluating the positions (rather difficult in Chess). Go, OTOH, has too many possible moves ((19 ^ 2)! / (19 ^ 2 - Moves)!) or 16 702 719 120 (sixteen billion) possible boards after 4 moves. So, rather than explore the entire tree, the use Monte Carlo randomization to get a good average move, instead of the best possible move. Now, the "clever" part of the algorithm goes away, and we're left with a massively paralizable dart board. The more darts, the better a chance to get a good shot.

      It only gives it the potential to be much faster (and consume more power).

      The first point is entirely accurate, and the basis of modernization in legacy systems (what Joel on Software calls a Free Lunch). The second point is not valid. Processors have not gotten physically larger, which means the transistors have gotten smaller. If the transistors are smaller, there is less distance between them, which means it takes less energy to move electrons between the transistors more than making up for the power to run those extra transistors. That does make more heat, which is where the power savings go- into the cooling unit. This is also why power supplies in the past few decades really haven't change their input or output specifications- your computer uses the same amount of power it always has, jut more efficiently.

      Having a greater number of transistors on a chip does not make a processor "smarter" or capable of doing something a less populated processor can.

      That's for the emergent intelligence debate. Kurzweil of course disagrees strongly, whereas others (Joel on software) use that argument as a proof by contradiction advocating good software development as opposed to waiting for your computer to improve. I personally am in the second camp, though only because it makes more sense to write good code today than use Moore's law as a crutch for sloppy programming (see Vista).

  • by Keyper7 (1160079) on Friday August 08 2008, @08:19AM (#24523709)

    ...just like what happened with Kasparov, the headline is completely backwards.

    How about this one: Computer needed 800 processors, at 4.7 Ghz, 15 Teraflops to beat a professional Go player.

    We're talking about a computer needing gargantuan processing power to beat a human and we are impressed at the computer? Seriously?

    If I am to be impressed by something, it's definitely by this Myungwan Kim guy.

  • by frankie (91710) on Friday August 08 2008, @08:31AM (#24523857) Journal

    The difference between Go and other games you may know where computers have surpassed the best human players is the immensity of the search space. On a standard 19x19 board there are 381 spaces, all of which are in play at every move, often including spaces currently occupied but not yet safe from capture. Therefore, within a handful of plies a computer player may be looking at trillions of possible branches. Go is NUMEROUS orders of magnitude more complex than chess from an algorithmic viewpoint.

    p.s. Those of you saying "Go what?" are merely revealing your own ignorance. There are at least as many Go players in the world as chess; most of them are in Asia.

  • Bah! (Score:4, Interesting)

    by Daemin (232340) on Friday August 08 2008, @09:06AM (#24524399)

    What really frustrates me about this is that it uses a Monte Carlo method.

    As is mentioned in the body, essentially it plays a shitload of random moves out to some cutoff point and tries to determine which moves contribute to a winning end state more often than the other ones.

    Basically, the only thing the stupid algorithm knows about Go is the simple rules and how to score the board. It knows nothing of strategy, tactics, strong shapes, living shapes, dead shapes, etc. Of course, it may be doing some sophisticated analysis to determine fruitful branches so as to not waste time on bad ones, but that doesn't defeat my point; it just means that with more computing power, you don't have to be so choosy. Knowledge about the complexities of the game is not required for the machine to win with this method, and that makes me call bullshit.

    I'll be excited when a computer beats a 9-dan player without using a probabilistic method to choose a winning path through the search space. I want to see a program that plays like a human, i.e. looks at the board and determines which groups are alive, which are dead, where it is fruitful to play and where it is a waste. In other words, I'll be impressed when someone is able to pin down what makes one shape strong and another weak precisely enough to put it in an algorithm. Otherwise, its just a cheap probability crunching trick.

  • by Bazman (4849) on Friday August 08 2008, @09:26AM (#24524757) Journal

    I'll be impressed when they can build a computer that can play Mornington Crescent at pro level.

  • by ihavnoid (749312) on Friday August 08 2008, @09:55AM (#24525265)

    First, I see a lot of people assuming that now there exists a computer program which can beat a human, but, it is still far from beating a human. In go, having a nine-stone handicap is somewhat equivalent of playing chess without a queen (or maybe, even worse).

    The reason computers aren't good at go is not only because of its vast number of possible moves. Another serious reason is because a good/bad move isn't immediately evident, and in many cases, can be figured out only after about 100 moves. Good luck reading 100 moves ahead using a computer. Human players are very good at making educated guesses.

    Additionally, when playing chess, one small mistake can be disastrous. However, in Go, small mistakes simply add up, and you simply lose scores. In other words, go is generally generous to small mistakes, which gives an additional advantage to human players. (Of course, catastrophic mistakes are equally devastating on go games, too, but small mistakes are generally less serious, and there usually exists some way to do damage control.) Go is a strategic game - you can lose local battles, but still win the war. In chess, it isn't so easy to win the game once you lose a local battle.

  • Analysis vs search (Score:4, Interesting)

    by Kjella (173770) on Friday August 08 2008, @10:00AM (#24525353) Homepage

    It basicly comes down to whether you're analyzing the position or searching the position. Ask a chess player why he did some move and it's not "because I went through all the possible moves and materially it was the best" it's usually concepts like creating a good pawn structure, developing officers, pinning down the opponent, threatening key areas of the board, setting up for a knight fork or a mate threat and so on. As in "I don't know exactly where it's going, but I think my position now is better than the one I had". Computer chess programs don't do any of that, they just blindly test moves measuring material. Then it's all about giving the computer too many possibilities. If by any chance we should evolve computing power to beat a human on a 19x19 board, it'd be trivial to make say a 29x29 board and the human would play almost the same while the computer would drop horribly in skill. All quantitiy and no understanding of why any particular move makes sense over any other.

    • by ckthorp (1255134) on Friday August 08 2008, @07:55AM (#24523389)
      I don't think you understand the complexity of the game if you're making statements like that.
      • by squoozer (730327) on Friday August 08 2008, @08:19AM (#24523715) Homepage

        I don't think you understand the complexity of the game if you're making statements like that.

        That's an interesting thing becasue it's starting to look like we aren't solving these sorts of problems in the simplest way possible. A human going flat out is running on 200W maximum. That super computer is probably using 200W per-processor (when you take into account all the addition equipment needed for memory, switching, cooling etc) and not even playing as well as the human. What that says to me is that we probably aren't approaching the problem correctly.

        I suspect that we will need to develop a completely different type of hardware in order for machines to be able to perform well at this type of task. Humans are poor at what computers are good at and vice versa and the two take completely different approaches to processing - perhaps that's a hint to look elsewhere.

        • by damburger (981828) on Friday August 08 2008, @08:26AM (#24523805)

          The brain has a lot of engineering that puts microchips to shame. If you were to pack transistors as densely and with as little cooling as human neurons, they would melt. On top of this, of course, the amount of processing a neuron can do vastly exceeds that of a transistor. Modeling even a single human brain cell is a major task for a computer.

          Furthermore, the connectivity of neurons is much greater than electronic components; each one is connected to thousands of other neurons, nearby an far away, in a way impossible with wires.

          A lot of guesses about the equivalent FLOPS of a human brain have centered around naive counting of cells and comparing that with the rather slow switching speed (about 10Hz IIRC). Some estimates came out at about 1 TeraFLOPS but that seems ridiculously small in light of what humans can do that computers still struggle with.

          • by ckthorp (1255134) on Friday August 08 2008, @08:39AM (#24523989)
            The brain is a fantastic example of a molecular-scale parallel processing machine. The minimum computational unit of the brain isn't really the neuron. Inside a neuron, summing and temprospatial averaging also occur in a local and global (global to the neuron) sense. Comparing a transistor to a neuron is like comparing an apple to the ISS. Sure, they both have a skin that keeps all the goodies inside, but that's about the limit of the similarity.
          • by gordo3000 (785698) on Friday August 08 2008, @09:21AM (#24524659)

            I think you are approaching the problem wrong. I can't, ever, calculate as fast as a computer can. forget a modern computer, I can't calculate as fast as the oldest computers out there (and I'm betting you can't either). I have no doubt about your inability to beat computers at raw calculation speeds either (and if you could, more processors means you don't).

            the problem is, when I play chess (or the coule times I've tried go), I don't sit there and randomly think of each and every move out there. inthe beginning of the game I don't think about taking my queen out and making 4 moves with her in a row and returning her to where she started.

            according to the description, that ist he equivalent of what this computer is doing. monte carlo simulations of the game from current position and look for the move with the most winning nodes. but that is worthless if you can't build logic to ignore useless moves.

            I am amazed at the number of possibilities a computer can look at in a second and astounded that something has the excess computational ability and memory to waste time considering such moves.

            strong computer chess players stopped going at the game randomly and learned to score each position as it stood for strength. go computers still can't do that because people don't fully understand why one position is stronger than another (not always, but almost never in an algorithmic way). the need for such massive computational power simply implies we don't understand the dynamics of the game in a rational way (rather, we understand it on a more creative level).

            • by orclevegam (940336) on Friday August 08 2008, @10:35AM (#24526127) Journal
              Two things. First, as mentioned by a previous post, the biggest difference between a human brain and a computer, is that the human brain is inherently massively parallel, where as the computer is inherently serial (but we can fake it with multiple CPUs). Now, you can always put more cores in the computer to try to increase parallel processing, but then the programming complexity goes up massively, and we're still getting the hang of how to properly utilize parallel processing (as opposed to the old fashioned serial processing which has been studied to death, and is on pretty strong mathematic foundations at this point). Secondly the human brain, near as we have been able to determine is at it's core a pattern matching and extrapolation based system. We're naturally good at picking out patterns from the chaos (sometimes too good, which is when we see patterns that don't really exist), and making, shall we call them educated guesses based on those patterns. For computers we have several good algorithms for finding patterns in particular domains, but we don't have generalized ones that will work at anything you throw at them, but even that's barking up the wrong tree so to speak. The reason humans must rely on pattern matching and extrapolation is because even though our brains are massively parallel, they're also massively sloppy, and very limited in computing power. Quite simply, we lack the processing capability to do a proper in depth analysis of most situations, so we create a simplified abstraction and work from that. A computer on the other hand, has massive computing power, and is incredibly exact, but lacking somewhat on the parallel processing front, so it makes perfect sense to take a Monte Carlo approach in those conditions.

              Remember, this isn't a true AI we're talking about, if that was the goal, yes a pattern matching, abstraction and extrapolation based system closer to a human brain would be appropriate, but what we have here is a case of machine learning within a specialized domain. The boundaries of the system are well defined, even if the content is not, and as such taking a generic approach is wasteful.
          • Actually, you're pretty much correct. Intuition is something a successful AI (and a successful human Go player) will require, and while we can model it on a computer, most people haven't thought of doing so. Most systems are either based on symbolic logic, statistics, or reinforcement learning, all of which rely on deductive A->B style rules. You can build an intelligent system on that sort of reasoning, but not ONLY on that sort of reasoning (besides, that's not the way that humans normally think either).

            I suspect that what we need is something more akin to "clustering" of concepts, in which retrieval of one concept invokes others that are nearby in "thought-space". The system should then try to merge the clusters of different concepts it thinks of, resulting in the sort of fusion of ideas that characterizes intuition (in other words, the clusters are constantly growing). Since there is such a thing as statistical clustering, that may form a good foundation. Couple it with deductive logic and you should actually get a very powerful system.

            I also suspect that some of the recent manifold learning techniques, particularly those involving kernel PCA, may play a part, as they replicate the concept of abstraction, another component of intuition, fairly well using statistics. Unfortunately, they tend to be computationally intense.

            There are many steps that would need to be involved, none of them trivial, but no one said AI was easy:

            1. Sense data.
            2. Collect that data in a manageable form (categorize it using an ontology, maybe?)
            3. Retrieve the x most recently accessed clusters pertaining to other properties of the concept you are reasoning about, as well as the cluster corresponding to the property being reasoned about itself (remembering everything is intractable, so the agent will primarily consider what it has been "mulling over" recently). For example, if we are trying to figure out whether a strawberry is a fruit, we would need to pull in clusters corresponding to "red things" and "seeded things" as well as the cluster corresponding to "fruits".
            4. Once a decision is made, grow the clusters. For example, if we decide that strawberries are fruits, we would look at other properties of strawberries and extend the "fruit" cluster to other things that have these properties. We might end up with the nonsymbolic equivalent of "all red objects with seeds are fruit" from doing that.

            What I've described is an attempt to model what Jung calls "extroverted intuition" - intuition concerned with external concepts. Attempting to model introverted intuition - intuition concerned with internal models and ideas - is much harder, as it would require clustering the properties of the model itself, forming a "relation between relations" - a way that ideas are connected in the agent's mental model.

            But that's for general AI, which I'm still not completely we're ready for anyway. If you just want a stronger Go player, wait just a bit longer and it'll be brute forced.

    • by Urkki (668283) on Friday August 08 2008, @08:07AM (#24523577)

      Read a bit on Go algorithms. This one isn't using a dumb search. If it were, the Go program playing this good wouldn't be finished calculating it first move yet... No, this one must have used an extremely advanced search algorithm, very smartly removing unlikely branches of the search.

      Unfortunately we're stuck with algorithmically searching for the right move until we have sufficiently large quantum computers, that they can run a go algorithm and do it all at once. This may be impossible in our current universe, due to practical limitations caused by laws of physics (just like building a space elevator on Jupiter may be impossible due to practical limitations of physically possible materials in our universe).

      • by igomaniac (409731) on Friday August 08 2008, @08:22AM (#24523749)

        Less than a hundred years ago scientists believed the brain worked a bit like a mechanical device and analogies were made to levers, cogs etc. The brain has always been likened to the most advanced piece of technology available at the time, and it's always turned out that it's way more advanced. I see no reason why that shouldn't be the case with all the silly computer analogies people come up with these days...

        • by Thiez (1281866) on Friday August 08 2008, @08:44AM (#24524057)

          Because today we actually know a lot more about how neurons work, compared to a hundred years ago? Just because a few clueless people made a wrong analogy a hundred years ago doesn't mean we should generalise that and say that all analogies involving the brain will be wrong (that makes no sense at all). Obviously the brain can't be infinitely complex, so if we keep refining our models of how the brain works we're bound to get it right at some point in the future.

            • by Thiez (1281866) on Friday August 08 2008, @09:48AM (#24525145)

              Fine. Your brain consists of a finite number of neurons, each of which can make connections with a finite number of other neurons. The way each neuron works is defined by a finite set of rules in your DNA, and since each neuron is made out of a finite number of molecules, the number of states it can be in is finite.

              Now all the above numbers will be extremely large, and will overestimate the complexity of the brain a LOT, since large parts of your neurons will be irrelevant to the workings of your brain, and so are many neurons and their connections (I lose tens of thousands of neurons each day without getting significantly more stupid than I already am). Still, they are all finite.

              Please explain how the thing could be infinitely complex, and why it would be?

        • by fractic (1178341) on Friday August 08 2008, @08:26AM (#24523801)
          What I posted first is just a simplification of course. Here is the algorithm in more detail. From a given position it will play thousands if not millions of games to determine which move gets the best winning percentage. This is how these games are played When you are at a node in the game tree and want to decide which move you will make next you first calculate a score for each possible move. Unexplored moves get a score based on a heuristic. moves that we have tried before get a score based on the number of times we have tried it and the winning percentage. The higher the winning percentage the higher the score, but the higher the number of times we have tried it the lower the score. This results in searching down the path with the best winning percentage most of the time. But there is still searching going on in the less good paths. See here [xmp.net] and here [xmp.net] for more details.
        • by thrillseeker (518224) on Friday August 08 2008, @08:38AM (#24523979)
          A good go AI should be able to tell what are good boards and what are bad boards rather than randomly sampling a subset of them.

          A good Go method is one that wins - not (necessarily) one that wins the way you would play.
    • by Rah'Dick (976472) on Friday August 08 2008, @08:01AM (#24523481)

      No, it's not - the computer is running an algorithm designed by at least one nerd. By designing that algorithm, not the computer, but the programmer beat the other player, by using his intelligence for writing a program that plays for him.

      As long as computers cannot think for themselves, no computer will beat a human player, but a human-designed algorithm will. Humans beat humans (using technology).

      • by Kingrames (858416) on Friday August 08 2008, @08:34AM (#24523921)

        Up until you use genetic programming to design the algorithm that wins.

        Unless you believe that the creator of the human race is 100% responsible for all human action, of course.

      • by Moraelin (679338) on Friday August 08 2008, @09:12AM (#24524507) Journal

        Well, while theoretically I see your point, sometimes that's harder than it sounds. And in this case it just didn't happen. The computer did _not_ in fact even play at master level at all.

        I think what everyone seems to miss is that the computer was given a 9 stone head-start there.

        That's not exactly identical, but similar enough for a bad analogy, with being allowed to move 9 times in a chess game before the opponent even starts. So with that huge advantage, your program managed to beat a chess master. Yay. Big f-ing deal.

        No, seriously. A 9 move advantage is _immense_. The first moves are where you stake your claims and influence over whole quarters of the board. If you look at the start of that game, white from the start had to challenge relatively strong positions of the computer. (For that stage of the game.)

        At any rate, at professional levels ("dan"), it's played with 1 handicap stone for every 3 ranks! So a 2 dan player would only get 2 stones head start against the master in TFA. The computer got 9. Assuming that the game was relatively even matched, that would put the computer's skill barely above the line between casual player and intermediate player.

        To give a chess comparison again, it barely ranks above winning a chess game against your high school's prom queen. Ok, ok, a little higher than that, but not by much.

        Mind you, it's still an achievement that they managed to program it to even play at intermediate level. Kudos and all that. But let's get not get too carried away with the "OMG, it beat a go master" line of thought. We can celebrate that when it beats one in an even game. We're still _far_ from that.

        • by MutantEnemy (545783) on Friday August 08 2008, @03:36PM (#24531521) Homepage

          At any rate, at professional levels ("dan"), it's played with 1 handicap stone for every 3 ranks! So a 2 dan player would only get 2 stones head start against the master in TFA. The computer got 9. Assuming that the game was relatively even matched, that would put the computer's skill barely above the line between casual player and intermediate player.

          Mmm. I think you're conflating amateur dan ranks and professional dan ranks. Amateurs are supposed to start at about 30-kyu, then rise up to 1-kyu, after which they enter the amateur dan ranks. 7-dan is usually the highest rank given to an amateur.

          A weak or new professional would be ranked at 1-dan, but this is on the professional scale. A 1-dan pro is probably better than a 7-dan amateur.

    • Re:Moore's Law (Score:4, Informative)

      by larry bagina (561269) on Friday August 08 2008, @08:02AM (#24523491) Journal
      Tournament go generally has a game clock.
    • Re:Moore's Law (Score:5, Informative)

      by ckthorp (1255134) on Friday August 08 2008, @08:02AM (#24523493)
      In a Monte Carlo algorithm, more processing power is equivalent to simulating more possible outcomes. Assuming you have a good scoring model for evaluating the relative strengths of the outcomes, more power is more "skill".
    • Re:Moore's Law (Score:5, Informative)

      Go is an open game; you have few rules and a lot (that is, A LOT) of possibilities for each move.

      That means that predicting moves raises exponentially the more steps you try to predict. In this case, MoGo used borrowed power from some supercomputer and a network to distribute the effort sufficiently, so that the game would be played in a humanly-reasonable time (if I understood correctly).

      Moore's law states that computing capabilities grow exponentially also (though probably much slower than the growth in possibilities, required with each subsequent predicted step in the MoGo algorithm).

      In this context, it would be reasonable to consider that there will come a time when a supercomputer (by future standards) will not be necessary to generate the same amount of effort.

      I don't think he mentioned Moore's law just for the sake of it.

    • Re:Moore's Law (Score:5, Informative)

      by necro81 (917438) on Friday August 08 2008, @08:22AM (#24523751) Journal
      Like in chess, tournament players in Go are allowed only so much time in a game (not on a per turn basis, but on a per game basis). So, yes, a slower computer could just continue to think and think, but runs the risk of running out of playing time before the game is finished (a forfeit).

      Computers that play chess, go, and similar games can't hope to make the best possible move during each turn - there isn't nearly enough time to run through all possible combinations. Instead, they run through many possible moves, propagating it through many additional turns, and eventually pick the best move from that subset that they have considered. Getting the computer to decide on a good move in a reasonable amount of time is a tricky part of tuning the algorithm.

      A faster computer, suggested by Moore's Law, would be able to run more iterations or branches of the algorithm per second, which suggests it will be able to come up with better moves that it would otherwise not have time to think up.
    • Re:ignorance (Score:4, Insightful)

      by Filip22012005 (852281) on Friday August 08 2008, @08:06AM (#24523555)

      Go is often seen as the last bastion of human superiority over computers in the domain of board games.

      That's just plain ignorance. Games usually employ a discrete set of rules and a discrete playing environment. If there is something a computer is good at it would be working with things like this.

      You're right, and that's exactly what the text says. In the domain of games, computers do failry well, except for Go. Go's the last bastion of human superiority in that domain.

    • Re:ignorance (Score:5, Insightful)

      by Fished (574624) <amphigory AT gmail DOT com> on Friday August 08 2008, @08:10AM (#24523609)
      I think the real ignorance here is your ignorance of Go. Go is a game in which the difference between a "good" and "bad" position has to be judged intuitively and, dare I say, artistically. It is not really comparable to mathematically reducible games like Mancala, Chess, Backgammon, Draughts/Checkers, etc., because of the level of pattern recognition required just to understand what is going on and to recognize a pattern developing early on when there may be just one or two stones going in that direction.

      In the words of the novel Shibumi, "Go is to chess as philosophy is to double-entry accounting."

      Trying to teach a computer to play Go has, up to this point, been about like trying to teach a computer how to evaluate a painting. And, judging by the computing resources required, it sounds like all they did here was brute-force it, so they really haven't "taught" the computer anything.

        • Re:ignorance (Score:5, Interesting)

          by damburger (981828) on Friday August 08 2008, @08:30AM (#24523853)

          Its mathematical in the same way the weather is mathematical - there is certainly amount of maths that can be done in regard to it, but it won't give in to brute force computation because its just too complex.

          If you don't believe me, try and write a Go playing program that plays better than a 6 year old. I did attempt this as part of my AI degree, and it is was one of the hardest things I ever attempted. To think, when I began the project I couldn't understand why my supervisor was laughing at me...

    • by tehcyder (746570) on Friday August 08 2008, @08:16AM (#24523677) Journal

      Maybe I'm not the nerd I think I am, but I've never so much as heard of Go before reading the summary

      How about "computers"?

      • by damburger (981828) on Friday August 08 2008, @08:35AM (#24523933)

        Agreed, I think it is a particularly good game for hardcore computer nerds and mathematicians, because it forces you out of human calculator mode and makes you engage your atrophied right brain for a change.

        There is a tendency for people of our type to get lost in our desire to quantify, optimise and engineer stuff to death, and Go helps us appreciate a problem that defies such simplification, and must be dealt with in its full chaotic beauty or not at all.

    • by Aristos Mazer (181252) on Friday August 08 2008, @08:24AM (#24523769)

      The comparison isn't viable. In chess, a three move head start completely changes the tactical nature of the game. In three moves, a bishop could put the king into a position where it has to capture to get out of check, and now he cannot castle and the whole game falls apart. Go doesn't substantially change its tactical nature by allowing the black player to play initial stones, just makes white's job harder (black always plays first in Go and is always played by whichever opponent is believed to be the weaker player).

      The big news here is that 5 years ago, no computer could take on a pro with a *25* stone handicap. That's huge progress.

      • by querist (97166) on Friday August 08 2008, @09:07AM (#24524413) Homepage

        It seems that many people are missing a fundamental point that makes all of this so interesting: it was only a 9-stone handicap.

        That is the largest handicap you would expect to see in tournament play. In this case, it would be given to a 2nd kyu player against the 8th dan Master Kim. The handicap is traditionally calculated by subtracting the lower player's rank from the higher and that gives the number of stones. Taking advantage of the number 0 here to make this work, we can use it and negative numbers to extend the plan into the kyu ranks.

        Rankings:

        30th kyu, 29th kyu .... 2nd kyu, 1st kyu, 1st dan, 2nd dan, ..., 8th dan, 9th dan, 10th dan.

        It stops at 10th dan, which is the highest. Any kyu rank below 9th is a concession to _really_ amateur players to have some form of ranking system that meshes into the existing system.

        Now... the dan ranks are simply their numbers. But, if we remember the old "number lines" from grade school and place the 0 at the 1st kyu, we can see that we have 1st kyu = 0, 2nd kyu = -1, 3rd kyu = -2, etc.

        Handicap:

        Therefore, if you do the math 8th dan - 2nd kyu = 8 - -1 = 9, you arrive at a 9-stone handicap.

        In standard Japanese rules, the handicap stones are placed on the "star" points, the ones with the black dots on them on the board. There are only 9.

        The handicap system was designed to even out the match. It was determined that giving extra initial placements in this manner would improve the weaker player's position to a point where the match was considered "even", allowing weaker players to have a chance at defeating a stronger player, but more importantly, to give the weaker player a chance to play a stronger player without it being a complete slaughter. (It is considered very bad form to refuse a handicap that is properly calculated, by the way.)

        Thus, with this 9-stone handicap it should not be THAT much of a surprise that the computer won, except that it does mean that the computer played at the level of at least a 2nd kyu player. I will cede to Master Kim's assessment of the computer's strength as 2nd or 3rd dan, of course, due to Master Kim's own rank. I was speaking strictly from the mathematics of the handicapping system.

        This is significant in that the computer is playing inside the range of a decent human player. This is new. This is different. This has never been done before to this extent. Because of the search space for Go, this is a significant accomplishment, even with 800-cores.

        What it does is it tells us that we are better at designing algorithms and better at using parallel systems as well as having better hardware to throw at the problem. This was not simply more hardware with an old algorithm, or it would not have been able to do as well.

    • by jjohnson (62583) on Friday August 08 2008, @08:45AM (#24524067) Homepage

      It's very simple, and very interesting.

      In standard form, it's played on a 19x19 board. There are two players, black and white, who each have a large number of stones--small round markers in their color. They take turns placing stones on the intersections of the lines, anywhere on the board. If one player's stones surround another player's stones, the surrounded stones are 'captured' and removed (the basic case of this is that, for a black stone on an intersection, it's surrounded if there are white stones on the immediate neighbour intersections in each cardinal direction--larger groups are surrounded in the same way). At the end, there are no more intersections where a player can place a live stone (i.e., one that is not immediately subject to capture for being surrounded), and the players count the number of live stones of their color on the board; whoever has more live stones, wins.

      Handicaps, as mentioned above, are a number of stones already placed on the board at the beginning of the game.

      Strategy involves building up formations of stones that cannot be captured. The complexity of it comes from the fact that there are so many different places to put a stone, in so many different sequences--the search space is phenomenally large. Like chess, there are accepted opening strategies and miniature battles that are frequently seen, but overall a game of go is much more varied and fluid.

    • by 2short (466733) on Friday August 08 2008, @12:13PM (#24528033)

      You seem to be saying the computer and the human both succeed due to the "the sheer size of the network of simple elements it consists of". Therefore you're not impressed by one of them?

      "but there's never any real thought behind it."

      Why do you assume there is thought behind you? If the machine plays Go, it plays Go. I think it's highly doubtful AI research will ever do anything at all in the judgment of critics who insist it must not only achieve things, but achieve them in ways that are not defined or understood.