Slashdot Mirror


Cracking Go

prostoalex writes "IEEE Spectrum looks at current trends in artificial technology to crack the ancient Chinese game of Go, which theoretically has 10^60 potential endings. Is conquering the game via exhaustive search of all possibilities possible? 'My gut feeling is that with some optimization a machine that can search a trillion positions per second would be enough to play Go at the very highest level. It would then be cheaper to build the machine out of FPGAs (field-programmable gate arrays) instead of the much more expensive and highly unwieldy full-custom chips. That way, university students could easily take on the challenge.'"

328 comments

  1. What about this idea? by netglen · · Score: 0, Offtopic

    What about a Bew....nah nevermind.

    1. Re:What about this idea? by Anonymous Coward · · Score: 1, Funny

      What, a Bewowolf cluster of them?

    2. Re:What about this idea? by fractoid · · Score: 3, Funny

      No, he was going to say "what about a bewb", because bewbs are the best thing evar. But then he thought better of it.

      Heheh. Bewbiez.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  2. I don't care how good it is by techpawn · · Score: 5, Funny
    --
    Ask not what you can do for your country. Ask what your country did to you
    1. Re:I don't care how good it is by Chris+Mattern · · Score: 5, Informative

      A computer will never beat a kid possessed by the ghost of an Edo period Spirit!


      Er, actually, Fujiwara no Sai is Heian era, not Edo.

      Chris Mattern
    2. Re:I don't care how good it is by Anonymous Coward · · Score: 0

      Nerd

    3. Re:I don't care how good it is by Anonymous Coward · · Score: 0

      ignoramus.

    4. Re:I don't care how good it is by Anonymous Coward · · Score: 4, Funny

      Anonymous coward.

    5. Re:I don't care how good it is by melikamp · · Score: 4, Funny

      hypocrite

    6. Re:I don't care how good it is by fbjon · · Score: 2, Interesting
      Q: Why were the neighbours taken away in the night?
      A: All their liberties were removed.


      Or the more serious corollary:

      When all your liberties have been removed, only your life remains to be taken.

      Or perhaps:

      That is not dead which can eternal lie. And with strange aeons even dead stones become useful.


      Go is like some heavy political commentary, with life lessons thrown in.

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
    7. Re:I don't care how good it is by Anonymous Coward · · Score: 5, Funny

      Failure
      would have had two levels of funny if you posted AC.

    8. Re:I don't care how good it is by archen · · Score: 1

      Well I don't care how good the computer is, or how good the posessed kid is. I'd like to be beaten by Yukari Yoshihara who did the 5 minute commentary on how to play go at the end of each anime (according to the wikipedia article).

      Ah Japan. The country that can get hot girls to dress up like cats, perform porn feats like bukkake, and even play board games professionally. Where's my passport?!?

    9. Re:I don't care how good it is by ScrewMaster · · Score: 1

      I don't care ... that's one of the funniest exchanges I've read in a while.

      --
      The higher the technology, the sharper that two-edged sword.
    10. Re:I don't care how good it is by Zombywuf · · Score: 1

      Life is like go.

      --
      If you can read this you've gone too far.
    11. Re:I don't care how good it is by olehenning · · Score: 2, Funny

      It's filled with blacks and whites and they keep killing eachother for land?

    12. Re:I don't care how good it is by Impy+the+Impiuos+Imp · · Score: 1

      > A computer will never beat a kid possessed by the ghost of an Edo period Spirit! [wikipedia.org]

      That in and of itself is an important philosophical development because it indicates the physical substrate underlying the spirit, whatever it is, supports computations in excess of those proposed by the Church-Turing thesis. That further indicates reality itself (at least the larger reality which includes that spirit world and this one) involves transfinite computational processes that we currently believe impossible.

      Bewb.

      --
      (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  3. Sure it is possible to search 10^60 by EmbeddedJanitor · · Score: 1

    But don't expect to finish the game yourself.

    --
    Engineering is the art of compromise.
    1. Re:Sure it is possible to search 10^60 by morgan_greywolf · · Score: 1

      But don't expect to finish the game yourself. More like don't expect your grandchildren to finish the game. ;)
    2. Re:Sure it is possible to search 10^60 by $RANDOMLUSER · · Score: 5, Funny

      But don't expect to finish the game yourself.
      More like don't expect your grandchildren to finish the game. ;)
      More like don't expect your species to finish the game.
      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    3. Re:Sure it is possible to search 10^60 by Anonymous Coward · · Score: 0

      Whew! Looks like we were right to make JOSHUA play tic-tac-toe, otherwise we would all be smoking cinders in the summer of '83

    4. Re:Sure it is possible to search 10^60 by Hucko · · Score: 1

      More like don't expect your species to finish the game.
      There, fixed it for you. And the answer is 42.
      --
      Semi-automatic amateur armchair Australian philosopher; conjecture ready at any moment...
    5. Re:Sure it is possible to search 10^60 by Torvaun · · Score: 1

      The computer was WOPR. Joshua was the backdoor username.

      --
      I see your informative link, and raise you a pithy comment.
    6. Re:Sure it is possible to search 10^60 by Workaphobia · · Score: 2, Insightful

      The greatest shortcoming of the human race is our apparent inability to understand the exponential function. You, the parent, the grandparent, and the summary seem to all not understand the nature of an intractable problem. "Trillions" of operations a second means nothing when the search space is that big, and no advance in computing (assuming we remain limited by Moore's law and level off in the foreseeable future) will help.

      So while you, the parent, and the grandparent were trying to be funny, you were all grossly understating the difficulty. Although I like that Self->Grandchildren->Species is possibly an exponential progression - I would have been annoyed if it had been Self->Grandchildren->GreatGreatGrandchildren.

      --
      Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
    7. Re:Sure it is possible to search 10^60 by TapeCutter · · Score: 2, Insightful

      WOPR can solve it one digit at a time, 60 digits is no problem.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    8. Re:Sure it is possible to search 10^60 by ultranova · · Score: 1

      The greatest shortcoming of the human race is our apparent inability to understand the exponential function. You, the parent, the grandparent, and the summary seem to all not understand the nature of an intractable problem. "Trillions" of operations a second means nothing when the search space is that big, and no advance in computing (assuming we remain limited by Moore's law and level off in the foreseeable future) will help.

      Moore's law is an exponential function; it states that computing power (or the amount of transistors in a chip, but it works out to the same thing) doubles every 18 months. Assuming that it holds, and that current computers can examine one possibility per second, and that the search space is 10^60, it will take about 200 cycles of development to develop a computer which searches the entire space in one second. Since a single cycle takes about a year and a half, it sums up to 300 years. Sure, I propably won't be around anymore, but human species propably will - it's only about 9 generations, after all.

      I guess you proved your own point, though :).

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    9. Re:Sure it is possible to search 10^60 by Anonymous Coward · · Score: 0

      Yeah, but once he's done he'll get all the chicks!

    10. Re:Sure it is possible to search 10^60 by nwbvt · · Score: 1

      From TFA, 10^60 is the number of end positions in chess, in Go its much, much more. So its more like, don't expect to finish before either the Big Rip (when the universe stretches to the point where all matter rips apart) or the Big Crunch (when the universe collapses into a black hole), depending on which cosmological theory you find more compelling.

      --
      Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
    11. Re:Sure it is possible to search 10^60 by spud603 · · Score: 1

      Right.
      Off the cuff, if a go board is 80x80 the number of outcomes should be more in the realm of 2^1600. Though a large number of those are not possible outcomes, it's closer to the ballpark than is 10^60.

    12. Re:Sure it is possible to search 10^60 by spud603 · · Score: 1

      Erm... not sure what I was thinking, sorry.
      80x80 game would be absurd. more like 2^361, which changes my point somewhat. My bad.

    13. Re:Sure it is possible to search 10^60 by Bromskloss · · Score: 1

      But don't expect to finish the game yourself.
      More like don't expect your grandchildren to finish the game. ;)
      More like don't expect your species to finish the game.

      More like... Oh, you're done?

      --
      Swedish plasma phys. PhD student; MSc EE; knows maths, programming, electronics; finance interest; seeks opportunities
    14. Re:Sure it is possible to search 10^60 by Retric · · Score: 1

      A go board is 80x80 so the search space should be ~(blank ,white, black)^(80*80) = 3^1600 or 2.5 * 10 ^ 763. But past positions matter so it's much worse than that. Granted there is some symmetry which cancels the black vs. white turn issue and there are a lot of non valid positions. But, as a basic guess 3^1600 is still bad.

      Anyway, (2^(1/18))^28.6 ~= 3 so ~28.6 months / 12years * 1600 = ~3814 years. (Personally I don't think mores law is going to last anywhere near that long.)

      Note: after each step you need to validate the board aka flip some black and or white pieces. You also need to find cycles by searching the preceding positions as you can't make a move just based on what it looks like you also need to look at past positions. And it's harder to find when the end takes place as you need to look at when a player passes. So it's a much harder problem than most people think.

    15. Re:Sure it is possible to search 10^60 by Retric · · Score: 1

      NM, he is talking about a 19x19 board.

    16. Re:Sure it is possible to search 10^60 by Calinous · · Score: 1

      A go board is 19 by 19. Each spot could be free, taken by white or by black. As such, you end up with some 3^361 positions (you reduce it by symetry by an order of magnitude, and you cut down plenty of invalid positions (invalid in gameplay).
            Some 10^170 positions (counting invalid positions too) - which is in the ballpark of 2^1600

    17. Re:Sure it is possible to search 10^60 by spud603 · · Score: 1

      I stand corrected. thanks.

    18. Re:Sure it is possible to search 10^60 by tepples · · Score: 1

      And the answer is 42. Answer to what? How many years from the Unix epoch to the end of the Mayan calendar?
    19. Re:Sure it is possible to search 10^60 by Workaphobia · · Score: 1

      Of course Moore's law is exponential: that's why we're able to do things like brute-force DES, which requires 2^47 operations. That's why I included "(assuming we remain limited by Moore's law *and level off in the foreseeable future*)" (emphasis added) in my post. A better way to phrase the semantics of that statement would have been "(assuming Moore's law no longer holds and levels off in the foreseeable future)"

      --
      Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
    20. Re:Sure it is possible to search 10^60 by nwbvt · · Score: 1

      Thats about what I figured, and I think thats the number the article mentioned. Which is around 10 billion googol times greater 10^60.

      To put that in perspective, if you were able to develop a computer which were able to evaluate all 10^60 final chess positions (which as pointed out by the guy I was responding to is a big number on its own) in a second, and have one such computer for each star in the visible universe (which I believe is estimated to be around 10^22), it would take you somewhere around 10^70 times the estimated age of the universe to finish calculating all these Go positions. And that, my friends, is why we don't use exhaustive approaches to these problems and instead use techniques like those discussed in the article.

      --
      Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
    21. Re:Sure it is possible to search 10^60 by Hucko · · Score: 1

      If you need to ask, then you're not the wonder you want to be.

      --
      Semi-automatic amateur armchair Australian philosopher; conjecture ready at any moment...
  4. Exhaustive? by SavedLinuXgeeK · · Score: 4, Insightful

    Using an exhaustive method is silly in a realm of 10^60 possibilities. Obviously human players, with much more finite resources (computationally that is) can do a much better job. Why not spend more time and being able to analyze the board better, and mimic the decision making patterns of the masters. I realize this has already been tried, and is still being worked on, but exhaustive search just seems like a waste of time and effort. My .02

    --
    je suis parce que j'aime
    1. Re:Exhaustive? by UbuntuDupe · · Score: 3, Interesting

      Ditto. As long as we're going with gut feelings, my "gut feeling" is that this is a futile endeavor.

      So you can brute force a victory on a game with 10^60 possible endings? Okay, then I'll invent a game with a much bigger space to search and a bigger decision tree. Then what?

      You've found a way to weed out fruitless branches, so it collapses into a problem that requires only 10^12 flops to solve? And this method isn't in use yet? Submit it to a journal, and add it to the corpus of Go algorithms.

      So what's the breakthrough here?

    2. Re:Exhaustive? by smallfries · · Score: 5, Informative

      Oddly enough this very question forms the basis of the article that you haven't read... :)

      The basic asnwer is that we can optimise doing something simple and replicate lots, far, far better than optimisiing something complex and replicating it a few times. Which if you think about it is the approach that the brain / evolution of the brain opts for.

      The "brute-force" approach described is actually mid-way between a pure brute-force (exhaustive) search and a "smart" search using quite sophisticated techniques to prune the tree. The author talks about alpha-beta pruning, null-move generation and hypothesis testing. These techniques are still pure-search (brute force) techniques - ie you could apply them to any game tree, but their effects are similar to how a smart (tailored to the specific game) approach would work.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    3. Re:Exhaustive? by eniac42 · · Score: 5, Insightful

      but exhaustive search just seems like a waste of time and effort

      Not so. The exhastive search approach provides a testable benchmark for true AI to exceed before it can prove it is productive AI. The famous Chess 4.6 program demonstrated that a simple "technical" tree search program could perform better than selective "intelligent" algorithms that tried to prune the search tree aggresively. With Go, this strategy fails - but the "intelligent" pruning mechanism is still eluding everyone..

      There is still a golden prize in game-search algorithms - solve this, and other problems in AI can be solved too..

      --
      "A nation that forgets its past is doomed to repeat it." - Churchill
    4. Re:Exhaustive? by zeromorph · · Score: 3, Interesting

      but exhaustive search just seems like a waste of time and effort.

      ...and is just awfully boring. The whole chess/go playing thing, as far as I am concerned, is a mean to get new intelligent solutions to decision making/inference/... problems.

      A not so successful program that would actually incorporate traditional strategic concepts would be an interesting solution. For example, if a program would actually be able to handle a concept like aji, roughly (latent) potential - now, that would be elegant, that would be interesting.

      --
      "Hannibal's plans never work right. They just work." Amy/A-Team
    5. Re:Exhaustive? by Glonoinha · · Score: 1

      I'd like to feed this problem to one of the new IBM System S machines and give it a crack. This is exactly the kind of problem-set the Sys/S boxes were designed for...

      --
      Glonoinha the MebiByte Slayer
    6. Re:Exhaustive? by phantomfive · · Score: 4, Funny

      Read the article. Essentially, he has been spending all his time searching for ways to prune that tree to a reasonable level. He thinks that he has enough pruning techniques, and that computers have sped up enough, to solve the game of Go within the next 5 years.

      Unfortunately for him, he is working for Microsoft labs in China, and since 2008 is well known to be the projected year of linux on the desktop, Microsoft won't be around long enough to continue funding his project. Sigh.

      --
      Qxe4
    7. Re:Exhaustive? by vertinox · · Score: 1

      Using an exhaustive method is silly in a realm of 10^60 possibilities.

      If it can be done at a reasonable time, exhaustive methods are actually hard to beat if they are done completely.

      Keep in mind even though no human nor average computer today could come up with all the possible plays of Go in a reasonable amount of time, doesn't mean that it will be possible or isn't already possible given the appropriate hardware.

      The thing is... If you know all possible moves in the game, you will know "the next best move" and play that. It doesn't matter if the opponent plays the next best move or an irrational move, the AI already knows the highest probability of which move will net a win.

      The burden is left on the human to come up with a move that does not cause him to loose via a mistake. As I've said in other posts, playing irrationally in a limited set game in which you do not know for sure (playing with your gut) that if its a 50/50 next best move than that will eventually put you at a disadvantage when your gut is wrong. You might win, but over the long haul you will eventually loose. Seeing that an AI cannot be goaded, taunted, or pressured emotionally, the usefulness of playing an irrational move to throw it off its strategy won't work.

      That said, playing against a brute force opponent is rather dull. It already knows knows all the moves, and you know over the course of time it will beat you most of the time.

      However, in real world situations a brute force logical opponent is impossible with current processing power and infinite real world situations outside the realm of board games. And personally... I'd rather have an AI that seems like it has a personality to make things interesting. I mean that is the whole point of playing a game like poker, chess, or go would be the ability to have some level of empathy rather than brute force methods that always win.

      I mean... If you lost all the time to computers, what would be the fun of playing the game? And if it felt like the computer was just letting you win, then it wouldn't be truly fun either.

      --
      "I am the king of the Romans, and am superior to rules of grammar!"
      -Sigismund, Holy Roman Emperor (1368-1437)
    8. Re:Exhaustive? by smallfries · · Score: 1

      That sounds interesting but kind of hard: the basic search is expanding out a tree as you test different moves to yield different positions. Doesn't stream computing work better on datasets with fixed dimension? We've got a blue gene upstairs that would be sweet to try this out on, but there's a long queue and somehow I doubt I would get priority :(

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    9. Re:Exhaustive? by Glonoinha · · Score: 1

      Actually the System S, as described to me, was designed to take non-linear and dimensionless (rather, undefined raw data without predefined dimensions) and do heuristic analysis looking for trends. The trick would be to describe the technical rules and the potential end game results, and let the System run for a while playing against itself in order to come up with the basic analysis, then let it watch a bunch of games played by humans and try to predict the results as the game plays.

      Just curious - a Blue Gene Series L, Series P, or one of the new Series Q's upstairs?
      If you've got a Q, are they hiring?

      --
      Glonoinha the MebiByte Slayer
    10. Re:Exhaustive? by Amouth · · Score: 1

      the greate thing about go is the game ends when both players pass on their moves in order.. there is no "end" to the game.. if both players feel they can not gain any more area of the board then it is over...

      also jsut to note all existing AI for go is almost a joke.. sure it might beat you a few times but you will quickly pick up it's errors and be able to beat it...

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    11. Re:Exhaustive? by osu-neko · · Score: 1

      Why not spend more time and being able to analyze the board better, and mimic the decision making patterns of the masters.

      Because that's a waste of time and effort. We already have people who can solve the problem that way: the aforementioned masters. Making an AI that works just like a human brain is pointless -- give me nine months and a cooperative woman to help, and I can create one for you, no advanced technology required. It's the oldest trick in the book. What makes computers valuable is that they do things differently.

      The goal of useful AI research is not to replicate human capabilities -- absolutely no point in that. Useful research is into ways to do it different, and in particular, to do it better. One of the failings of HI is that, lacking the capabilities of doing a more exhaustive analysis, it can overlook possibilities. We want to make AI not waste time, but we don't want to lose it's ability to do the things it does better than we do in the process. An AI should always do as exhaustive a search as it can in the time allowed, but intelligently determine the most promising directions for search. Which is what this is all about.

      --
      "Convictions are more dangerous enemies of truth than lies."
    12. Re:Exhaustive? by foobsr · · Score: 1

      look for E. C. D. van der Werf -- see also

      CC.

      --
      TaijiQuan (Huang, 5 loosenings)
    13. Re:Exhaustive? by CodeBuster · · Score: 4, Insightful

      but the "intelligent" pruning mechanism is still eluding everyone.

      It is not the pruning mechanism itself which is still eluding everyone, but rather the difficulty in formulating a sound evaluation function for use in the alpha-beta pruning optimization of the brute force search. The game of Go is interesting because it is often the case that a particular board configuration does not give much concrete information about its future potential. In other words, a seemingly disadvantageous board in the short run might actually lead to a better endgame than a seemingly more valuable board in the present. A small situation in one part of the board might effect the larger game in unexpected and interesting ways dozens of moves into the future. It is precisely this complexity which makes Go intriguing for players and difficult for computers.

    14. Re:Exhaustive? by fbjon · · Score: 1

      I still don't think that's useful. Having human players with human brains beaten by a computer, which bruteforces requiring a roomful of equipment, is useless. Having a computer that can consistently beat any human master, while being no larger or more dense than a human brain, now that is when we can talk about real AI that's superior.

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
    15. Re:Exhaustive? by zeromorph · · Score: 1

      Thanks, a really interesting link, and definitely a more interesting approach (e.g. "Learning to Estimate Potential Territory in the Game of Go") than a brute force approach.

      (Now, I'm sittin' here reading this AI/go stuff, instead of reading slashdot - which I actually should do in order to avoid working on the conference paper that is due on Friday. Thanks.)

      --
      "Hannibal's plans never work right. They just work." Amy/A-Team
    16. Re:Exhaustive? by Anonymous Coward · · Score: 0

      Oddly enough this very question forms the basis of the article that you haven't read... :)

      Using an exhaustive method is silly in a realm of 10^3 words. Obviously slashdot readers, with much more finite attention spans (apathetically that is) can do a much better job. Why not spend more time and being able to make shit up, and mimic the decision making patterns of people who actually read. I realize this has already been tried, and is still being worked on, but exhaustive reading just seems like a waste of time and effort. My .02

    17. Re:Exhaustive? by Ansonmont · · Score: 1

      Book due tomorrow. Almost, but not quite, finished.
      -A

    18. Re:Exhaustive? by RzUpAnmsCwrds · · Score: 1

      So you can brute force a victory on a game with 10^60 possible endings? Okay, then I'll invent a game with a much bigger space to search and a bigger decision tree. Then what?


      Go for it. The article isn't about beating "UbuntuDupe's hypothetical game", it's about beating Go. There are lots of things that humans are better than computers at. None of that has any relevance to the article.

      You've found a way to weed out fruitless branches, so it collapses into a problem that requires only 10^12 flops to solve? And this method isn't in use yet? Submit it to a journal, and add it to the corpus of Go algorithms.

      No, the author is implying that algorithmic advances combined with more computing power will allow computers to beat humans at Go in the near future. Just because your Core 2 Duo box isn't competitive at Go doesn't mean that a hypothetical computer with, say, 500 FPGAs (we're talking about the FPGAs of 2017, not 2007) can't be.

      So what's the breakthrough here?


      There isn't one. Like most engineering progress, it happens incrementally.
    19. Re:Exhaustive? by fonik · · Score: 1

      I really hope nothing screws up the Go experience by solving it, at least not until I'm old and crazy. Fortunately there are considerably more ending possibilities than stars in the visible universe.

    20. Re:Exhaustive? by B.+Pascal · · Score: 1

      Hi all:

      Funny. I was just discussing the complexity of Go with a co-worker the other day. Looking through the post, a lot has been said about 'Go', exhaustive search, search optimization, pruning and what not. Here, I like to offer my approach to writing a 'Go' AI.

      As a 'Go' player, I think 'Go' has two aspects embedded in it: a strategic aspect and a tactical aspects. Because the players are free to place stones anywhere on the board, this extra degree of freedom allows players to play the game for a time without significant affect on your opponent. When this is the case, the goal of the players are to place stones in such a way to secure a more solid formation for future engagements. This is what I call the strategic aspect of the game. Eventually, players would place stone close to each other. Then, the placement of stones are important. This is what I call the tactical aspect of the game, and I believe this could be solved by exhaustive search.

      This design approach allows an AI program to divide an conquer the Go search problem. At any moment, the AI program would evaluate whether it needs to address the strategic needs (setting up good positions for future engagements) or tactical needs (place stones to secure territory or capture opponent stones.)

      Cheers.

      B. Pascal

    21. Re:Exhaustive? by nwbvt · · Score: 1

      First, Chess has 10^60 possible end positions. They make that pretty clear in the article (I know, I must be new here, yada yada yada). Go has many, many more. The article gives the number of possible game positions as 10^170, and since any game position technically can be an ending in Go (the game ends when both players agree its over, there is no "checkmate" in chess), thats going to be around the number of end positions. 10^170 a googol times as great as 10^60 times 10 billion.

      Second, way to go captain obvious. Pure exhaustive methods don't work here. Thank you for pointing that out, you have successfully advanced the subject of AI for all humanity.

      Of course if you were to RTFA, you would know they already knew that. When they say "brute-force", they mean the same thing as Deep Blue (which did not search all of the 10^60 chess games). They search around a dozen or so moves ahead (much more than a human alone could search) and evaluate the positions there.

      --
      Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
    22. Re:Exhaustive? by Wildclaw · · Score: 1

      To extend on what you are saying. Using Min-Max or any derivative algorithm is bound to failure.

      The big difference between chess and go isn't the number of game states. The real difference is the purpose of the game. Chess is a killing game, where you try to outmaneuver your opponent to get the final kill.

      Go is a trading game where you balance efficency vs weaknesses left behind in your shape. These weaknesses often don't come into play until 50 or 100 moves later. Before that, they simply aren't big enough to consider for a min-max algorithm, and a Min-Max AI simply can't read that far. (faster computers won't really help. They would have to be incredibly much faster, and the optimal/minimum energy needed to run them would be able to power the earth for a long time)

      This is why the new Monte Carlo algorithms are more interesting. They can atleast theoretically take these weaknesses into account. There is still a long way to go though.

      I think the real way to improve go AI is a mix of expert (or self learning) systems and a brute force algorithm like Monte Carlo. How long it will take is anyones guess. 5 years or 100 years. I wouldn't gamble on it.

    23. Re:Exhaustive? by fractoid · · Score: 3, Insightful

      Go for it. The article isn't about beating "UbuntuDupe's hypothetical game", it's about beating Go. There are lots of things that humans are better than computers at. None of that has any relevance to the article. Correct me if I'm wrong, UbuntuDupe, but - I don't think he was saying "let's solve a different game". He was just pointing out that the whole point Go is so hot in AI programming is that its state space is big enough that it *can't* be brute forced, and so whatever-it-is that you need to play it well with a human-sized intellect might just be 'intelligence'. Simply waiting until your hardware is swanky enough to brute force it is missing the point. Of course it may be that brute force state-space searches ARE the best approach to AI. Then again, it may not, and it's worth trying to find other approaches.

      Chess playing became a much less interesting proposition when hardware became chunky enough that you could cache the first few moves from archives of known openings, brute-force search the next 12-15 moves, and store all endgames for the last 8 or so moves in a lookup table.
      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    24. Re:Exhaustive? by jthill · · Score: 1

      I watched a game once on IGS, 9p (jujo, I think) against 8d from korea, a few minutes a move.

      The 9p lit off a corner battle, early, and lost utterly. He kept fighting that battle, never just moved on, and was left with one stone on the edge of the ruins, out around the 6-8 point or something like that, all alone, butted up against a solid wall. Nothing else, or nothing accessible anyway. Something like 40 moves, with that one stone to show for it.

      He then proceeded to use that as a lever on everything that happened on the rest of the board. Every move he made, you could see a threat if that stone got in on the action.

      He won, of course.

      I really don't think any evaluation-pruned search is ever going to be able to do that to an IGS 8d.

      --
      As always, all IMO. Insert "I think" everywhere grammatically possible.
    25. Re:Exhaustive? by fractoid · · Score: 1

      Agreed. It's like arm wrestling. If you have a machine with a box full of hydraulics and whatnot, that plugs into a power socket, of course it's going to beat a human in an arm wrestle (heheh maybe it'll even break their arm... :P ) If, on the other hand, you have a machine made of meat, weighing less than 200lb, that can beat a human at arm wrestling while being powered by Big Macs, and is capable of navigating to the bar to buy a round of drinks when it's its turn, then it becomes impressive.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    26. Re:Exhaustive? by fph+il+quozientatore · · Score: 1

      Essentially, he has been spending all his time searching for ways to prune that tree to a reasonable level.

      Unfortunately for him, he is working for Microsoft labs in China You know, Bonsai are quite a tradition in the Far East.
      --
      My first program:

      Hell Segmentation fault

    27. Re:Exhaustive? by foobsr · · Score: 2, Interesting

      Q: Where has AI failed?

      A: AI's greatest disappointment is the failure to come up with a general theory of intelligence, or anything like a general theory of intelligence. In 1970, if you had asked what's the general theory of intelligence, you would have gotten answers like, ``It's all means-ends analysis,'' or ``It's all theorem proving,'' but there are very few people nowadays who say it's all anything. There's just no answer to that question. I don't see anything on the horizon that will provide that kind of theory in the future.

      (c.f.)

      Which is why brute force is popular.

      CC.

      P.S.: good.luck@conference.edu

      --
      TaijiQuan (Huang, 5 loosenings)
    28. Re:Exhaustive? by JohnFluxx · · Score: 1

      I'm an novice at playing Go, but always interested in such things.

      Are there such games online, with an expert commentary? I watched a couple of games, but never really got what was going on - I'm not that good. Do you know of any interesting Go games with commentary?

    29. Re:Exhaustive? by jbash · · Score: 1

      Chess playing became a much less interesting proposition when hardware became chunky enough that you could cache the first few moves from archives of known openings, brute-force search the next 12-15 moves, and store all endgames for the last 8 or so moves in a lookup table. It should be noted that this is an unfair advantage that computers have. (I'd even say it rises to the level of cheating.) Chess computers can access a database of the first dozen (not just the first few) optimal moves of every opener. It's illegal for a human to carry a database of openers to a game. If the average grandmaster could have had easy access to the best theory on openers, they could have beaten Kasparov just as Deep Blue did.
    30. Re:Exhaustive? by UbuntuDupe · · Score: 1

      Correct me if I'm wrong, UbuntuDupe, but - I don't think he was saying "let's solve a different game". He was just pointing out that the whole point Go is so hot in AI programming is that its state space is big enough that it *can't* be brute forced, and so whatever-it-is that you need to play it well with a human-sized intellect might just be 'intelligence'. Simply waiting until your hardware is swanky enough to brute force it is missing the point. Yes, thank you, that's what I meant. Well put. If we can keep beating the computer by expanding the game's search space, we're not mechanizing the "intelligence" that we want.

      (I could have been more specific the first time around...)
    31. Re:Exhaustive? by phantomfive · · Score: 2, Insightful

      My gosh that is the worst joke I've ever heard in my life. haha. You should be shot or something. :)

      --
      Qxe4
    32. Re:Exhaustive? by Omnifarious · · Score: 1

      There is a lot of evidence to show that chess grand masters get so good at the game by essentially memorizing positions and what to do. If you give people a chess board to memorize that is the result of an actual series of moves, they don't do so well, and grandmaster chess players do really well. If you give people a random chess board to memorize everybody does fairly poorly, though the grand master chess players still beat most people the margin is not nearly so wide.

      There are other pieces of evidence other than this.

      So a database of opening positions is likely not so different from what a grand master chess player is carrying around in h(is/er) head. The only difference is that a computer can spit back a list of all the different boards whereas the grand master likely can only access the positions that are near the one (s)he is currently concerned with.

      What I do call cheating is the programmers adjusting the algorithm between games to account for the play of the person the program is up against. And that did happen during the famous match with Kasparov.

    33. Re:Exhaustive? by torkus · · Score: 1

      >give me nine months and a cooperative woman to help, and I can create one for you, no advanced technology required

      But that is NOT true. A go master is a combination of years of training/practice, the mental capacity, the education (influences how a person things), the way a person's mind is 'wired'. By your example I should be able to pop out the next grandmaster on demand. We know that's not the case. Still, i'm sure you wouldnt mind trying (repeatedly) to prove your point if the woman was attractive :)

      The big difference with computers is repeatability. If you design, build and program a grandmaster chess computer then I can build an identical one that will behave the same way. Ask anyone with a couple children if they all produce identical results given the same problem.

      --
      You can get rich if you own a politician, but you have to be rich to buy one in the first place.
    34. Re:Exhaustive? by jafac · · Score: 1

      Well, this is where machine-learning comes in.

      The machine has to somehow look at millions of digitized archived Go games (hmmmm - where could one possibly find something like that?) - and figure out which "apparently disadvantageous" positions are actually advantageous (and factor in other metadata; like the player's experience level, past games, playing habits, etc. to see if there is a risk of turning the apparent disadvantage into a real disadvantage). (other metadata would be nice; but probably be unavailable - like, do these players KNOW eachother? do they have a grudge? might they be making emotional decisions? might one guy have skipped breakfast? is one guy coming down with a cold? etc. That way, the machine can more accurately apply "weights" to the moves, with regard to how important that move was towards changing the board position from an "apparent disadvantage" to a victory.)

      Given this dataset, the machine has to somehow boil this down into a knowledgebase of some kind, to use as a guide when parsing the tree of a Go game. Now, your programmer can also be a Go Master, and toss in his own expertise to shape the knowledgebase; that's not "pure" machine learning, but it would still a valid "good Go algorithm".

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    35. Re:Exhaustive? by Anonymous Coward · · Score: 0

      Unfortunately for him, he is working for Microsoft labs in China, and since 2008 is well known to be the projected year of linux on the desktop, Microsoft won't be around long enough to continue funding his project. Sigh.
      I'm sure he already knows this.
      • 2006: Year of the Dog
      • 2007: Year of the Pig
      • 2008: Year of Linux on the Desktop
    36. Re:Exhaustive? by RockDoctor · · Score: 1

      No, the author is implying that algorithmic advances combined with more computing power will allow computers to beat humans at Go in the near future. Just because your Core 2 Duo box isn't competitive at Go doesn't mean that a hypothetical computer with, say, 500 FPGAs (we're talking about the FPGAs of 2017, not 2007) can't be.


      I look at the question of "how long will it take to develop a human-beating go program" from a different perspective :
      • When I started learn to play Go, in 1983 (I still haven't finished learning to play ; I don't know a player who'd claim that), the very best Go-playing programs would be able to play at a strength somewhere in the high-teens of kyu. That's the sort of strength that I'd get a novice player to in about 3 hours of tuition and play. I've taught something like 100 people to play the game over the years.
      • The strongest Go-playing programs of 2007 are playing at about 6~8 kyu.

      So, the combination of hardware speed/ memory increases and algorithmic sophistication is improving playing strength at around 2.5 years per kyu of strength. There are about another 16 kyu (and dan) grades of strength between where Go program strength is at the moment and the strongest amateurs. Maybe another 4 or 6 grades further in the professional ranks.

      Deduction : Go will be effectively solved around 50 years from now.

      Unless humans get stronger, which is probably going to happen. Playing strengths in the professionals have probably improved by about a grade a generation in the last century, which we could hope to continue for a short while.

      The promise of a solution to Go in about 50 years time sounds rather like the promise of a fusion power plant in about 40 years time. Which suggests that we'd need the fusion plant to power the Go computer. Sounds credible to me.

      There's a lot of interesting activity going on in Go program development. Very good model of collaborative/ competitive development.

      Of course, the other question is whether anyone would actually use the program. I've pretty much given up on online Go. It's much more fun sitting across the board from a real person and playing the break-the-stone-and-embed-slate-splinters-in-your-opponent's-eyes tesuji.
      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
  5. yay! by apodyopsis · · Score: 5, Insightful

    My favorite game.

    First time I played online I had my ass handed to me by a precocious 12 year old. Ah well, the memories.

    *Alot* more complex and tactical then Chess, believe it.

    See the rules at: http://www.britgo.org/intro/booklet.pdf

    Play online here: http://www.pandanet.co.jp/English/

    I recommend installing glGo and having a go vs. computer (on the easiest setting there is).

    Enjoy, I do.

    1. Re:yay! by zippthorne · · Score: 4, Insightful

      Pure number of game states does not equate to richness of experience.

      Would you say that "Diplomacy" is more or less tactical than "Axis and Allies?"

      --
      Can you be Even More Awesome?!
    2. Re:yay! by Anonymous Coward · · Score: 0

      I'd almost want to play Go, if not for the fawning Go advocacy always seen on Slashdot.

    3. Re:yay! by ChromeAeonium · · Score: 1

      Go even has its on Linix distro: Hikarunix.

    4. Re:yay! by OrangeTide · · Score: 1

      I find it quite challenging, very non-linear play.

      In Chess you seem to always move forward, either losing or capturing pieces. In Go you can find yourself in a position similar to an earlier, position and the strategy has to be fluid and adapt constantly. Also since determining the winner is less obvious than Chess, it is also difficult to know when a strategy is working or not.

      --
      “Common sense is not so common.” — Voltaire
    5. Re:yay! by Laxitive · · Score: 2, Interesting


      True, but the richness of Go comes from the interplay of the moves permitted by an extremely SIMPLE set of moves. There are exactly 2 major rules and one minor rule in Go:

      1. you take turns placing pieces.
      2. pieces or groups of pieces "surrounded" by other pieces are captured.
      3. the board state cannot be repeated in two successive moves.

      From this simple specification emerges an amazingly beautiful game. There are particular structures and patterns which emerge with concrete properties, advantages and disadvantages. Watching interplay between these structures as a game evolves is like watching a dance.

      Now, this is all true for chess as well, but the ruleset for chess obfuscates it and hides it. Go takes the idea of a strategy game and strips it down to the barest essentials. That's what makes it so amazing for me. The sheer purity of it, the intuitiveness of the rules, and the depth of play that emerges from that.

      I'm an Indian. Chess is what I grew up playing. I love chess. I played it very frequently as a child and into my teens (and stopped playing after I got busy with school and also found it hard to find opponents in high school). I've spent hundreds of dollars on chess sets carved from ebony and sandalwood.

      All that said, Go blew me away when I learned it. I suck at the game, but every play is intense. At the end of every game I feel like I've participated in something majestic. More so than I ever felt with chess. Go is certainly a richer experience than chess.

    6. Re:yay! by xenocide2 · · Score: 1

      I've always considered tactics how and when tactics, and what and where strategy. Who and why is politics ;)

      Therefore, diplomacy is more strategy.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    7. Re:yay! by igny · · Score: 1

      First time I played online I had my ass handed to me by a precocious 12 year old.

      You better watch your ass when playing online with FBI agents.

      --
      In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
    8. Re:yay! by hman · · Score: 1

      Maybe also take a look at an interactive tutorial here http://playgo.to/interactive/
      and a place where you can play without installing programs, just with a java plugin here http://www.gokgs.com/

    9. Re:yay! by LarsWestergren · · Score: 1

      There are also some major sites that have online Go on them, such as Yahoo and BoardGameWorld. But yeah, I have the feeling most of the professional players are at Pandanet.co.jp.

      --

      Being bitter is drinking poison and hoping someone else will die

    10. Re:yay! by MeditationSensation · · Score: 1

      I would say it's as tactical as chess but more strategic. For example, are you a player who generally favors influence, territor, neither, both? Pretty much every chess position is a tactical problem. In Go, there are larger themes at work.

  6. Not Any Time Soon by eklitzke · · Score: 4, Informative

    I'm not an active Go player anymore, but I used to me. And the current state of artificial Go intelligence is pretty sad. The best junior players in the world (10-13 or so, IIRC) can beat the very strongest computer Go programs, and they're literally orders of magnitude worse than the best human players.

    Playing Go is more than just searching a lot of positions. The game is _very_ subtle. To even understand how a professional 9 dan player (i.e. the very highest ranked players) plays every move in a game, you really need to be at least a 7 dan or so -- anything less than that and the moves just won't make a lot of sense. I have the feeling that it will be at least a decade (but probably much longer) before computer opponents can beat professional players, and even longer than that until they can beat the very best human player.s

    --
    #include ".signature"
    1. Re:Not Any Time Soon by TooMuchToDo · · Score: 1

      Most (if not all games) can be boiled down to mathematical models (this does not apply to things like soccer, football, etc. of course). Right now, we simply don't have the computing power to evaluate all the possible Go game branches fast enough. Give it 5-10 years. Just as IBM's supercomputer was able to go head to head with a grandmaster, soon processing power (as well as memory and other support systems required) will push past what is needed for Go to be evaluated extremely fast in silicon.

    2. Re:Not Any Time Soon by shawnmchorse · · Score: 2, Interesting

      My favorite story is about Janice Kim (professional 3-dan). Back in 1997 the programmer of Handtalk was apparently boasting about the program's capabilities when Janice Kim stated flatly that he was wrong about it and she could defeat it easily with any handicap. Apparently this developed into a bit of pissing match and Janice offered a TWENTY FIVE STONE handicap (the largest handicaps generally used in human player are nine stones, by comparison). Things looked bad at first with such an enormous handicap of course, but Janice went on to defeat Handtalk by a few points. And honestly, the Go playing programs I've seen really haven't developed much in the previous decade. They have small incremental improvements, run on faster hardware, etc. but are still orders of magnitude worse than some humans that have studied the game for only a couple of months. Just as they were a decade ago.

    3. Re:Not Any Time Soon by ajs · · Score: 2, Insightful

      Playing Go is more than just searching a lot of positions. The game is _very_ subtle. This is provably incorrect. Searching a lot of positions gets you a solution to the game. The problem is that "a lot" is defined as 10^60, which though it looks like a nice, friendly number isn't even remotely manageable. To give you a sense, the current U.S. national debt is around 9 trillion dollars. That's on the order of 10^12. That's a huge number, but the number of go positions is 1,000,000, 000,000,000, 000,000,000, 000,000,000, 000,000,000, 000,000 times larger than that!

      This is an incomprehensibly large number, and the evaluation of each position alone is not trivial.
    4. Re:Not Any Time Soon by iknownuttin · · Score: 1
      I'm not an active Go player anymore, but I used to me.

      So, now you're a "Stop" player?

      OK..OK..I'll Go away now ..

      --
      I prefer Flambe as apposed flamebait.
    5. Re:Not Any Time Soon by UbuntuDupe · · Score: 1

      This is provably incorrect.

      Don't do that.

    6. Re:Not Any Time Soon by humpolec · · Score: 1

      From here:
      Janice Kim pro 1-Dan beat Handtalk giving 25 stones handicap "by only a few points". David Mechner reports that it was an interesting game, but the game record could not be rescued from the organizer who quickly quit the program.
      Interesting...

    7. Re:Not Any Time Soon by asparagus · · Score: 4, Interesting

      In the last year the UCT algorithm has really come of its own. It's a monte-carlo variant with weighting for winning lines. On 9x9 boards the programs play at the dan level. 19x19 requires roughly 32x the computing resources for the same level of performance: current machines simply can't handle the load. But MC scales nicely with additional computing power. 32x is only 5 doublings by Moore's law: it's not unreasonable to think that within a decade computers will be giving the masters a run for their money.

    8. Re:Not Any Time Soon by Deanalator · · Score: 1

      Notice that they say there are 10^60 potential ENDINGS. Go is not like iagno etc where pieces can only be added to the board. In go, pieces are added and removed, in a sort of "tug of war" struggle, and the game only ends when both players decide the game is over. This means that there is an infinite number of paths to get to any given ending. Infinity > alot.

    9. Re:Not Any Time Soon by everphilski · · Score: 1

      Most (if not all games) can be boiled down to mathematical models (this does not apply to things like soccer, football, etc. of course)

      Sure it does. Both at the game and player levels. Where the confusion lies is that sports are not deterministic, IE, there are not 64 squares on a football field like there are on a chessboard. But there are most certainly mathematical models.
      At the game level: Statistically, you can look at each of the players' statistics (not just hard stats but soft stats like life events, injuries, etc.), the location of the game, and the environment of the teams. IE, each game is not an instance in space, it is a development of team progression through not just this season but a season or two prior. You won't get perfect determinism but I'm of the mind you can get very good in your picks.

      On the player level, you have the game play by play. Location of the ball and location of each player, there exist optimal move(s) that will result in the best scoring position (or score) for your team. But alas, a player on the field has a limited field of view, limited time to think and this pesky thing called momentum which prevents them from making mathematically perfect moves.

      Again, it isn't deterministic and there's some fuzz in the system, but there is no reason it can't be modeled mathematically.

    10. Re:Not Any Time Soon by fmobus · · Score: 1

      no no, you'll stop going away!

    11. Re:Not Any Time Soon by afabbro · · Score: 1
      (this does not apply to things like soccer, football, etc. of course)

      Sure it does. A game of football is nothing more than a few quintillion molecules moving around.

      --
      Advice: on VPS providers
    12. Re:Not Any Time Soon by oni · · Score: 5, Interesting
    13. Re:Not Any Time Soon by Anonymous Coward · · Score: 0

      "Playing Go is more than just searching a lot of positions. The game is _very_ subtle."

      People used to say exactly this about chess. What about Go makes it the case that it can't be solved by searching positions? Only the fact that there are too many states to consider using current hardware and algorithms.

    14. Re:Not Any Time Soon by timeOday · · Score: 1

      Regardless of the number of endings, the board only has a finite number of states. A "solution" to the game simply maps each of these states to the optimal action. In any of your infinitely long games, there would have to be cycles - i.e. the board re-enters states it already encountered - and the cycles don't affect the outcome. That said, it is possible there is no forced win in go, so two optimal players would simply agree to a draw before the first move (a good strategy in thermonuclear warfare, it is said).

    15. Re:Not Any Time Soon by drDugan · · Score: 1

      another good rule of thumb for orders of magnitude is this

      our best estimate on the total number of atoms in the observable universe: 10^81

    16. Re:Not Any Time Soon by madcow_bg · · Score: 1

      Most (if not all games) can be boiled down to mathematical models... Well ... everything can be boiled down to a mathematical model. But all models are wrong (though some are useful).

      ... (this does not apply to things like soccer, football, etc. of course). Dead wrong. Yes, Go is easier to model directly (a game is a direct mathematical construct after all), but with the same kind of computing power to crack it we'd have one hell of a goof approximation of reality (in other words, a model).

      Right now, we simply don't have the computing power to evaluate all the possible Go game branches fast enough. You're right, but perhaps the problem could be much easily solved with stuff like AI, than brute forcing. With that kind of processing power AI would seem far easier to implement, don't you think?

      Give it 5-10 years. Just as IBM's supercomputer was able to go head to head with a grandmaster, soon processing power (as well as memory and other support systems required) will push past what is needed for Go to be evaluated extremely fast in silicon. Well ... you know that 10^60 means that RSA checksums could be easily cracked and 10^70 is the number of elementary particles in the universe. Can NEVER get that amount of memory
    17. Re:Not Any Time Soon by harlows_monkeys · · Score: 1

      Another way to look at 10^60 is that it is a bit over 2^199. Anyone who has something that can brute force something that large isn't going to bother with Go. They'll be busy looking at all those interesting secrets protected by ciphers like AES, with a mere 2^128 keys.

    18. Re:Not Any Time Soon by FridayBob · · Score: 1

      I've haven't played regularly in years either, but I can still beat anything the computer throws at me. From a programmer's point of view, however, it's a hopeless task. One of the things that makes it so difficult, is that, as opposed to chess, the 19x19 board starts empty. Being devoid of any stones, those potential 10^60 possibilities are then at their maximum, so performing any meaningful calculations at this point is futile. Yet, this also is the most critical part of the game. Among the top players, games are won and lost in only the first few moves ("move 2 lost the game"), with the rest being a forgone conclusion -- to be played out almost as a formality. Lesser players naturally take a few more moves to recognize the value of their position and always play on for longer (hoping to take advantage of the mistakes that they more regularly encounter). However, this is essentially why I have such a hard time imagining a computer program ever doing well in this game against a reasonably competent human opponent: by the time the computer starts to recognize the patterns and get a grip on things, it's already far too late.

    19. Re:Not Any Time Soon by Deanalator · · Score: 1

      I don't think you are taking into account the fact that you gather stones as the game progresses, and often decisions need to be made based on the number of captured stones currently in your, and your opponent's possession. There is no limit on the number of stones that can be captured during a game, so there is an infinite number of states.

    20. Re:Not Any Time Soon by timeOday · · Score: 1

      You're right, I didn't know the number of stones in the game was unbounded.

    21. Re:Not Any Time Soon by kiwipeso · · Score: 1

      By the time they start looking at 128bit AES or Triple DES, they'll probably be using my 4KB key system.
      And you'd be surprised to know how boring those secrets really are.

      --
      - Kaos games and encryption systems developer
    22. Re:Not Any Time Soon by Anonymous Coward · · Score: 0

      Also, the rules say that positions must not be repeated. So for each "board state", you also need to remember all positions that have been played until that point in the game. Sure, still finite, but a lot more info per state.

    23. Re:Not Any Time Soon by Anonymous Coward · · Score: 0

      So "all" that's needed is a 200qubit computer and the winning result is waiting.

    24. Re:Not Any Time Soon by Lemmy+Caution · · Score: 1

      Well ... everything can be boiled down to a mathematical model. But all models are wrong (though some are useful).

      The models for "solved" games like tic-tac-toe and checkers aren't wrong. They exhaustively map out all possible game states. There is no difference between the model and the game.

    25. Re:Not Any Time Soon by Non-Huffable+Kitten · · Score: 1

      *sigh*. He didn't claim that it is impossible to solve the game by exhaustive search, given an arbitrary amount of time. He said that that's not how humans play it. He meant that humans use (learned) intuitions instead, which makes the game much more interesting than doing an exhaustive search.

      --
      Medium cat is MEDIUM.
    26. Re:Not Any Time Soon by Wildclaw · · Score: 1

      Having watched the best Monte Carlo program (MoGo) make decisions on a 9x9 as well as a 19x19 board, I can confidently say that you are incorrect.

      Even if I give MoGo 32 times the time to think it will still play much worse on 19x19. It clearly overestimates the value of influence compared to territory.

    27. Re:Not Any Time Soon by fractoid · · Score: 1

      Where the confusion lies is that sports are not deterministic, IE, there are not 64 squares on a football field like there are on a chessboard. I believe you meant discrete, not deterministic. But otherwise, agreed - anything can be modelled mathematically, that's what mathematics is for. It's just a lot harder to come up with algorithms for continuous things like that, because computers are inherently discrete, and only simulate analogue values awkwardly through discretization.
      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    28. Re:Not Any Time Soon by fractoid · · Score: 1
      The ko rule only applies to the player's most recent move. Players cannot form loops of length 2, but longer loops are possible.

      "Ko rule": A stone cannot be played on a particular point, if doing so would recreate the board position that existed after the same player's previous turn.
      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    29. Re:Not Any Time Soon by igomaniac · · Score: 1

      It's not true that MC scales nicely with additional computing power, first of all I have no idea where you got the 'fact' that 19x19 go needs 32x as much computing power from and second there are several papers that have investigated the scaling of MC algorithms for Go and concluded that the current methods all show diminishing return unlike Chess algorithms which gain strenght proportional to the computing resources you have.

      --

      The interactive way to Go -- http://www.playgo.to/iwtg/en/
    30. Re:Not Any Time Soon by GeckoX · · Score: 1

      Who ever said chess was subtle? That's just silly. Chess is very finite, complex in state only. It's a very rigid set of rules, and has been proven that all that is required is enough horsepower to compute enough moves to guarantee a win. Just happens to require a lot of horsepower. I used to play chess, wasn't a bad player, but got very bored with it...it's just not that interesting as once you've played it enough, you realize there is no subtlety whatsoever.

      --
      No Comment.
    31. Re:Not Any Time Soon by madcow_bg · · Score: 1

      The models for "solved" games like tic-tac-toe and checkers aren't wrong. They exhaustively map out all possible game states. There is no difference between the model and the game. So that is not a model. It can be argued that tic-tac-toe's mathematical (logical) representation is the game (not a model of the game, the game itself). But if you take the game to be the physical process, then the model is wrong in the sense that you can put the wrong markings, fold the paper, destroy it ... there is something that is not part of the model (so it's wrong in this sense).
    32. Re:Not Any Time Soon by everphilski · · Score: 1

      yeah, discrete. thanks.

    33. Re:Not Any Time Soon by mdielmann · · Score: 1

      ...two optimal players would simply agree to a draw before the first move (a good strategy in thermonuclear warfare, it is said). For a second I was terrified when I realized that one of the players available for the game of thermonuclear war was suboptimal. Then I was relieved that there were no other players currently able to step up to the plate.
      --
      Sure I'm paranoid, but am I paranoid enough?
    34. Re:Not Any Time Soon by Jedi+Alec · · Score: 1

      Well ... you know that 10^60 means that RSA checksums could be easily cracked and 10^70 is the number of elementary particles in the universe. Can NEVER get that amount of memory

      Never say never. Perhaps at some point in the future we'll be able to convert a few parallel universes into Quantum-Ram just to finally crack GO :-)

      --

      People replying to my sig annoy me. That's why I change it all the time.
    35. Re:Not Any Time Soon by Lemmy+Caution · · Score: 1

      You can have a model that isn't the game, but is still exhaustive.

      You can model tic-tac-toe as a problem of exclusive selecting numbers from 1 to 9 until one has selected 3 numbers that add up to 15, and then remap the solution to that problem back onto a tic-tac-toe board. However, we do not play that game: we play a game of spatial relationships, which we, generally, have also solved, even if we don't have a 3x3 "magic square" in our heads. Tic-Tac-Toe is neither the "material" representation on paper, nor is it simply the branching tree of possible game-states: it is a conceptual game of spatial relationships.

    36. Re:Not Any Time Soon by Taco+Meat · · Score: 0

      No subtlety? I call shenanigans. You got bored with chess? I don't think you're half as smart as you think you are.

      Sure, from a programming perspective chess is no longer much of a challenge; modern machines have all the computational power needed. I have computers. I like computers. You sir, are no computer. Bored with chess, my third leg.

      --
      It's not narcissicism if it's true!
  7. why check everything by rucs_hack · · Score: 1

    Checking all possible moves is unwise. What you do is design a nice directed heuristic, say, a multi objective algorithm, and train this to compute a reasonable set of possible moves from the current state. There is no need to describe an idea end state, just a decent ongoing performance requirement.

    Multi objective algorithms are fearsomely hard creatures to get right, but when working they can do great things. Use one to train a neural network with temporal properties (bases current decisions on past inputs at all positrons simultaneously), and you have a means to achieve a decent setup. It would take a long time to get right though.

    Go is too complex for a total understanding, if ever there were an NP complete problem, this is it. thats why we have evolutionary algorithms. best solution? don't care about them, best possible in reasonable time? That'll do nicely.

    1. Re:why check everything by madcow_bg · · Score: 2, Interesting

      ... What you do is design a nice directed heuristic, say, a multi objective algorithm, and train this to compute a reasonable set of possible moves from the current state. There is no need to describe an idea end state, just a decent ongoing performance requirement. Let me just tell you that a stone displaced by a mere one position can lead to very, very sure loss. Besides heuristics are good when we have at better understanding of the mechanics. All top books and players about go talk about "harmony", "beauty", "balance" ... let's just fix what the bleep are we talking about and THEN teach it to a computer, shall we? The theory is more of meditation than a strategy guide.

      Multi objective algorithms are fearsomely hard creatures to get right, but when working they can do great things. Use one to train a neural network with temporal properties (bases current decisions on past inputs at all positrons simultaneously), and you have a means to achieve a decent setup. It would take a long time to get right though. Please give me sources for the things you mentioned, couldn't understand a thing. Go is a game with "only" about 200 plausible positions for each turn, and let me assure you, the slightest error is more than enough to decide the outcome.

      Go is too complex for a total understanding, if ever there were an NP complete problem, this is it. thats why we have evolutionary algorithms. best solution? don't care about them, best possible in reasonable time? That'll do nicely. Are you sure you know what NP-complete is? Because it has nothing to do with game theory.
      You are right about evolutionary algorithms, they could be used to solve the game. If you have the computational power to let them evolve, that is.
      Go is believed by many to be the last bastion of man's mind after what Deep Blue did could be accurately described as "beat the crap out of" Kasparov. I do believe we'll have to develop an AI before the computers get good enough to beat the world champion in Go.
    2. Re:why check everything by Llywelyn · · Score: 2, Informative

      Go is not NPC. The Japanese Rules are EXPTIME-complete. Go Endgames are PSPACE-hard, and ladders are PSPACE-complete. Under the Chinese rules it is thought that the game might be EXPSPACE-complete, but this has not yet been proven.

      We also have yet to develop heuristics that even evaluate one position very well, especially during the opening or middle game. Machine learning is not a cure-all here: there's a combinatoric explosion that happens very quickly with this game which makes most of the techniques difficult to train even under the best of circumstances.

      Not to say that such won't eventually be possible, but it's handwaving.

      --
      Integrate Keynote and LaTeX
    3. Re:why check everything by SkyFalling · · Score: 1

      Go is too complex for a total understanding, if ever there were an NP complete problem, this is it. thats why we have evolutionary algorithms.

      Be wary of using terms without understanding them. "NP-complete" is not synonymous with "really hard." There are problems which are even harder than those which are NP-complete, and optimal play in go is probably in that set. That is, for arbitrarily-sized boards. Technically speaking, solving go for the standard 19x19 board, or any fixed board size, is a constant-time operation, hence far short of NP-complete.

      Similarly, I'm guessing you're using the term "evolutionary algorithm" rather loosely. It means something rather specific, and is far from the be-all-and-end-all answer to NP-complete problems in practice. And it's important to realize that "best possible in reasonable time" in many cases is not adequate. Computer go is a perfect example of such a case -- the best computer go play at the moment, using all the various heuristics and evolutionary algorithms and whatnot, is atrocious compared to a modestly competent human.

      Incidentally, some modern computer go programs (including GNU Go, IIRC) do use a multi-objective approach. The difficulty is twofold, though. First, you've got to accurately measure progress toward each objective. That's fiendishly difficult amid the subtleties of a go game. Second, you've got to tune the parameters to optimal, or at least acceptable, weights. That tuning itself may be computationally intractable. And even if you do accomplish those two things, it's still just a heuristic that will definitely miss much of the complex interplay among goals which are far from orthogonal.

    4. Re:why check everything by UbuntuDupe · · Score: 1

      Let me just tell you that a stone displaced by a mere one position can lead to very, very sure loss. Besides heuristics are good when we have at better understanding of the mechanics. All top books and players about go talk about "harmony", "beauty", "balance" ... let's just fix what the bleep are we talking about and THEN teach it to a computer, shall we? The theory is more of meditation than a strategy guide

      Or as I say, "If you want to do a brute force method, how about whole brain emulation?"

    5. Re:why check everything by Llywelyn · · Score: 2, Informative

      Technically speaking, solving go for the standard 19x19 board, or any fixed board size, is a constant-time operation, hence far short of NP-complete.

      Not any more than solving 128-bit cipher is a constant-time problem.

      Using the Japanese rules Go has been proven to be EXPTIME-complete.

      --
      Integrate Keynote and LaTeX
    6. Re:why check everything by PDAllen · · Score: 1

      NP-complete _does_ have something to do with game theory: some (a very few) games can be interpreted as NP-complete problems.

      More commonly, though, you find that a game (assuming it's easy to extend the rules to allow play on arbitrarily large boards, which is true for Go but not chess) is either polynomial-time soluble ('bad' games, in some sense) or PSPACE-complete (Go, Hex, etc.. try Hex sometime, it's proven the first player has a winning strategy but even the first move in that strategy isn't known on any reasonable-sized board). PSPACE is the class of decision problems soluble in polynomial space on a Turing machine; it's easy to see this includes NP: simply run the NP certificate verifier (which takes polynomial time and so must use polynomial space) on each of the possible certificates (which is immediately at least exp-time but you can run each check on the same bit of memory so still only poly-space), return Yes if you get a valid certificate and No if there is none. And of course P is a subclass of NP. It's obvious that games will generally be in PSPACE (checking the game tree is poly-space doable for most games), proving that some are PSPACE-complete is harder.

    7. Re:why check everything by Anonymous Coward · · Score: 0

      Checking all possible moves is unwise.
      Well, duh... But no one is suggesting that it do this. Not even the chess computers chase all possible sequences of moves to the end of the game. Your suggestion -- best possible in reasonable time -- is the only thing anyone attempts in the case of chess or go AI. The problem, naturally, is determining which paths through the game tree are the most fruitful to explore. When the article proposes checking a billion moves per second, it means checking the billion most effective moves it can find. Unfortunately, go's game trees are explosive and need to be checked deeply, hence the large number.
    8. Re:why check everything by PDAllen · · Score: 1

      Go is not NP-complete, it's PSPACE-complete (at least on arbitrarily large boards... the question doesn't make sense on fixed size boards as then it's fixed-time soluble). PSPACE is generally thought to be a much larger class than NP (which in turn is larger than P), though that's not proven.

      NP problems usually do admit some kind of heuristic 'this is good' algorithm; it goes with approximate solutions (which you can often manage in poly-time). PSPACE-complete problems do not seem to admit either, in general. If you don't feel like learning Go (which isn't so easy to get a grip on) try playing Hex (takes about 10 seconds to learn) which is also PSPACE-complete: you'll soon find that a position that looks clearly winning for one player can turn out to be losing (you can't draw Hex).

    9. Re:why check everything by jpfed · · Score: 1

      Solving a 128-bit cipher is a constant time problem. Solving an n-bit cipher is not.

      Big-o notation gives us a bound on the number of computations required to solve a problem (to within a proportionality constant). To solve a 128-bit cipher, you simply enumerate all 2^128 possibilities. That may happen to be a lot of computation, but there still is a constant upper bound on the number of computations (to within a proportionality constant that depends on how hard it is to check any one possibility). If the number of bits were allowed to vary, then we could express the upper bound as a function, like 2^n (where n is the number of bits).

      Likewise, solving Go on a 19x19 board is a constant time problem. By having fixed the size of the board, we have placed a limit on the number of possible game trees that board could produce, and while that limit is large, it is a constant. The number of game trees is, however, a function of the board size, so you could say that solving Go on an nxn board is not constant time.

    10. Re:why check everything by nuzak · · Score: 1

      Go is a game with "only" about 200 plausible positions for each turn, and let me assure you, the slightest error is more than enough to decide the outcome.

      It's probably a fallacy of some kind to read anything truly quantitative into that statement, but if it's generally true, then that means the decision tree is actually a lot narrower than is immediately apparent. This is actually good news for a solution. All you have to do is try to duplicate the thought process that went into the pruning. I suspect we'll have the technology to pull it right out of the brain of a master player before we figure it out any other way, and that brings up interesting philosophical questions of whether it's really the computer winning...

      --
      Done with slashdot, done with nerds, getting a life.
    11. Re:why check everything by absoluteflatness · · Score: 1

      By that logic any problem can be called "constant time" as long as you've chosen an actual problem to solve. Admittedly, for games, you in general have a fixed board/game size. The point, as far as I'm concerned, of time complexity classes is to categorize how the problem's computation time grows with respect to n. Just because you've fixed n to some value doesn't change the problem's complexity. I mean, as long as your algorithm/machine is deterministic, every specific problem would be "constant time" by your definition.

      Or, i misunderstand something crucial about complexity theory. This is very possible.

    12. Re:why check everything by jpfed · · Score: 3, Insightful

      By that logic any problem can be called "constant time" as long as you've chosen an actual problem to solve. It's like that, although what I call a problem, you would likely call a class of problems, and what you would call a problem, I would call an instance of a problem. Using your terminology, it's useful to speak of the asymptotic complexity of a class of problems, but not of a single problem.

      Just because you've fixed n to some value doesn't change the problem's complexity. If I say that such-and-such a problem can be solved in O(n^2) time, then what I mean by that is that the number of computations required to solve this problem is less than some function of the form an^2 + bn + c for some a, b, and c. A simpler way to say this is that the number of computations required to solve this problem is less than dn^2 (with the right choice of d, this can be greater than an^2 + bn + c for any particular choices of a, b, and c). So, to summarize, O(n^2) time means the number of computations is strictly less than dn^2 for some d (where d does NOT change as problem size changes).

      Let's say I am going to bubble-sort a list that is n items long. The most aggressive (lowest) upper bound I can put on this operation is that it will take n(n+1)/2 swaps, so it will take O(n^2) time. Now, let's say that I know that the list is 10 items long. At this point, I can estimate the number of swaps will be at most 10*11/2 = 55.

      Now, 55 is O(1), because there is d*1 for some d that is larger than 55 everywhere. Therefore, a bubble-sort run specifically on a list that is 10 items long is constant time.

      There is an algorithm to find the median of a list that operates with a surprisingly low time-complexity (Iirc, it's O(n), but I might be wrong) that relies on the fact that a sorting problem of fixed size runs in constant time.
    13. Re:why check everything by Anonymous Coward · · Score: 0

      Multi objective algorithms are fearsomely hard creatures to get right, but when working they can do great things. Use one to train a neural network with temporal properties (bases current decisions on past inputs at all positrons simultaneously), and you have a means to achieve a decent setup. It would take a long time to get right though.

      Are you positive? I don't think it antimatters.

  8. FPGA by Anonymous Coward · · Score: 0

    We /know/ what an FPGA is, just because nobody knows what a 'mashup' is doesn't mean we're stupid.

  9. Good luck with positional evaluation by shawnmchorse · · Score: 5, Interesting

    Let's just take the final position of a game of Go. It takes a certain level of Go knowledge merely to determine which groups are alive, which are dead, which can be taken off the board, etc. in order to determine the final score. Beginning Go players will often not be able to determine this on their own and will have to "prove" to themselves that a group really is dead. And then there are the rare cases of dual life, which beginning Go players are frequently not warned about at all. Programming this stuff is HARD. There's a reason why the scoring portion of playing a Go game online is still done interactively (each player taking turns marking dead stones)... it's because there are no algorithms as of yet that can do it accurately enough. With this in mind, I have no idea why they would believe that searching huge numbers of positions would be helpful when computers are extremely hard pressed to come up with useful information about the score of the game at any given stage.

    1. Re:Good luck with positional evaluation by sceptre1067 · · Score: 1

      And don't get started on Ko rules... As simple as it can seem on the surface I think modeling Ing or Super Ko rules in software would cause major headaches.

    2. Re:Good luck with positional evaluation by PDAllen · · Score: 1

      Because you can search the entire game tree if you really want to. Your 'final position' is when a pair of humans agree on what is dead, a computer wouldn't and would have to check the game tree from that point, but the computer will eventually get the right answer. Fine, most of those games will end at a point far beyond the time when human players would have stopped and counted up the dead stones, but you can do the search.

      Of course, it will take a very, very long time.

    3. Re:Good luck with positional evaluation by Anonymous Coward · · Score: 0

      That does, of course, assume that there is a final position.

      In fact there are 4 outcomes that can be achieved. A group can be alive, dead, in seki (dual-life), or triple ko (no result, play again).

      It is not always clear when you have which outcome. In fact there is the famous case of moonshine life where, according to different rulesets, a group could be considered in any of the four outcomes!

    4. Re:Good luck with positional evaluation by DragonWriter · · Score: 1

      As simple as it can seem on the surface I think modeling Ing or Super Ko rules in software would cause major headaches.


      From Wikipedia:

      The major division in rules to prevent repetition is between the simple ko rule and the super ko rule: the simple ko rule (typically part of the Japanese ruleset) prevents repetition of the last previous board; while the super ko rule (typically part of Chinese derived rulesets) prevents repetition of any previous board. The super ko rule is further differentiated into situational super ko (includes whose turn it is) and positional super ko (ignores whose turn it is). The simple ko rule (contrary to the name) generally includes additional rules to handle other undesirable repetitions (e.g. long cycles can lead to no result where the game must be replayed).



      Assuming this is correct, it seems like either the situational or positional forms of super ko would be trivial to implement in software.
    5. Re:Good luck with positional evaluation by DogFacedJo · · Score: 1

      This is very key: it is not at all clear how to evaluate a large portion of the positions algorithmically. TFA assumes that it is going to be viable in the near future to do this operation in constant time, and that both alpha-beta pruning and null-move pruning will deliver root-n improvements in the search. The chess heuristic was corny, but it worked. There isn't always a 'corny, but effective' heuristic that works. As our clever friend once claimed: 'for every problem there is a clean, neat solution - that is also wrong.'
          In addition TFAuthor asserts that improvements will be found by taking advantage of the assumption that the 10-20 interesting situations on the board during the mid-game can be analyzed independently. This is pure bluster - a significant element of the game is ensuring that the interactions between those situations will be to your liking. One is often not able to rule out an area's contribution to it's neighbour's state until late in the game.
          I also seriously doubt null-move will be anywhere near as helpful as root-n. This is arguing that it will be possible to recognize the best move on the board half the time - and that it is at least as much better than the next best by a factor of two (the opponent's moves, two of em), hence it need not consider subsequent alternatives. Threats are often created that are of this magnitude, but they are simply not that dense in the early to mid-game.
          I guess I would argue that since most of the moves on the board in the early to mid-game are tricky calls, ie: a good player must choose between several similar-value moves, that human players are playing in a space of somewhere between (3-7) taken to a game length of around 200. So humans are actually playing in a quite large space - surprisingly close to the 2^(19x19) that you get as a rough estimate of the possible ending boards.
          TFA in a sense is arguing that humans can't really be playing in such a huge space - and there must be large chains of forced moves in our game space.

      On a semi-related note:
          I am intrigued by the idea of taking a dataset of endgame images and attempting to find how much compression can found against it - any compression we find can be associated with an upper bound on the actual complexity of the game as played, considering how many compressed bits per board were necessary to create a self-extracting archive. This could be used to rebut my conviction that we are playing in a much larger space than 2^90 - I'm thinking closer to 2^300.

          So yeah, even if the dude is totally whiz-bang with his alpha-beta and his null-move kung-fu, then he still needs to look at 2^90 ~ 10^27 boards if he wants to see towards end-game. If he only wants to get 15ply or whatever, then he 'just' needs to figure out how to evaluate mid-game positions with some sort of amusing heuristic and then cram it onto some FPGAs.
          Good luck to him.

    6. Re:Good luck with positional evaluation by Anonymous Coward · · Score: 0

      Is not hard to evaluate the score at the end of the game, if and probably only if you use chinese rules, i.e. you fill dame points and points inside the territory until only two eyes or shared liberties of a seki are left open. While this is a burden for human players, for computers this comes almost for free.

      Afaik, the currently most successful computer program uses just this method - it plays games to the very end and then simply counts the game according to go rules.

  10. Artificial Intelligence? by John+Betonschaar · · Score: 1

    "IEEE Spectrum looks at current trends in artificial technology to crack the ancient Chinese game of Go, which theoretically has 10^60 potential endings. Is conquering the game via exhaustive search of all possibilities possible?" Even if it where possible to conquer the game via an exhaustive search of all possibilities, it would still be nowhere near Artificial Intelligence. Besides that, other board games-playing computer programs do not get their strength from an exhaustive search, but from a large database of previous games. In fact, even world champions of chess do not think ahead more than 5 or 6 turns.

    Wake me up when they come up with a computer program that can beat all human Go players without an exhaustive search...
    1. Re:Artificial Intelligence? by ctid · · Score: 1
      Besides that, other board games-playing computer programs do not get their strength from an exhaustive search, but from a large database of previous games. In fact, even world champions of chess do not think ahead more than 5 or 6 turns.


      I don't know where you're getting this information, but you are dead wrong. To take chess as example, strong computers always have an opening book but that's only used during the opening of the game. As for the "5 or 6 turns" comment, that makes no sense at all. Even if by "turn" you mean the technical term "move" (ie one ply for white and one for ply for black), modern chess programs search far deeper than 12 plies. The world champion these days would be searching > 15 plies at World Championship time controls.

      --
      Reality is defined by the maddest person in the room
    2. Re:Artificial Intelligence? by Moridineas · · Score: 1

      Even if it where possible to conquer the game via an exhaustive search of all possibilities, it would still be nowhere near Artificial Intelligence. Wow, I don't think you really have any idea of what "Artificial Intelligence" means. For that matter, why did you capitalize it--the study of artificial intelligence involves many areas from mathematics, to computer science, to biology, neuroscience, etc--it's not some mystical ... I don't know what, but whatever you seem to think it is!

      You might be shocked, but, given the current state of things, a VERY large part of ai is exactly what you belittle--search questions.

      You're also 100% WRONG about most other board playing games--most games do not have a "large database of previous games." Some (typically powerful) programs do have some stored combinations--my understanding of the strongest chess players is that they have opening books and closing books. Everything in between is search. In my intro level ai class in college several years ago we designed a othello player--one of the parameters of the assignment was that given X memory+computing constraints and Y time constraints, we needed to be able to search 7 ply ahead. Yes, that's right--"artificial intelligence" class where we designed a program to do an exhaustive search!!

      I would also strongly disagree with your assertion that "even world champions of chess" don't think more than 5-6 ply ahead--I've seen guesses of several times that number.

      If you know some secrets to designing a go player than doesn't involve search, that's something that should wake everybody up--there could be a turing award in it for you!

      In short, I disagree with everything you said in your post, every word :)
    3. Re:Artificial Intelligence? by MOBE2001 · · Score: 1

      Wake me up when they come up with a computer program that can beat all human Go players without an exhaustive search...

      I agree. This is a worthless pursuit. What will it prove? Where is the scientific merit? I don't see any. Even if you could have a fast enough computer (in 10 or 20 years) that can use an exhaustive search algorithm to beat a professional human player, all one would need to do is increase the board size to say, 90x90, and the human player would kick the computer's silicon ass. :-D

    4. Re:Artificial Intelligence? by Lord+Ender · · Score: 1

      Game playing is, by definition, AI. The ultimate goal of AI is to build Lt. Cmdr. Data, but that doesn't mean other challenges are not AI.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    5. Re:Artificial Intelligence? by Moridineas · · Score: 1

      So, as I said in another post, what's the point of doing anything that doesn't prove anything / have scientific merit? Why post anything on slashdot? Some people like challenges, and working to overcome them--is that bad now? Even in exhaustive search problems, the specific algorithms that would be design to implement a massive search like this are probably not worthless--maybe new pruning techniques, new memory compression techniques, who knows--the point is it's not just as simple as for(1 .. 10^60) check position..

      Is Go Fair?

      I always wonder why people get so defensive about Go--these same kind of arguments come up everytime there's a Go article on slashdot...

    6. Re:Artificial Intelligence? by Anonymous Coward · · Score: 0

      No, the ultimate goal of AI is to build Lord High Emperor Data. (Dr. Sung actually succeeded on his first try)

    7. Re:Artificial Intelligence? by SL+Baur · · Score: 1

      I would also strongly disagree with your assertion that "even world champions of chess" don't think more than 5-6 ply ahead--I've seen guesses of several times that number. There's no need to guess. Adriaan DeGroot http://www.chessbase.com/newsdetail.asp?newsid=3290 did scientific studies of it. In certain positions, masters would look ahead more than 10 moves (>20 ply). His book is fascinating reading, by the way.

      In short, I basically agree with what you say.
    8. Re:Artificial Intelligence? by Toonol · · Score: 1

      But a conclusively winning Go program could be written right now. It's a solved problem. It might take a hundred million years to run, but so what? Beating Go through the exhaustive search method just seems like a solved problem.

      Whereas writing a program that would play winning Go on today's hardware would require breakthroughs, because the exhaustive search technique would have to be abandoned. It would advance the understanding of AI. It's possible; people do it. We just don't know how to program it.

    9. Re:Artificial Intelligence? by Moridineas · · Score: 1

      So you don't see any merit in building a computer TODAY that can solve a program quickly that you estimate would take a hundred million years? I just don't get it--if we produce a hardware/software combo that can solve this search problem, you don't think it would be applicable to any other problems?? As I said in a different post, a huge part of AI today is search problems of various kinds. Any kind of leap that would solve a search problem like Go would almost without a doubt be useful for other problems as well.

    10. Re:Artificial Intelligence? by John+Betonschaar · · Score: 1

      Wow, I don't think you really have any idea of what "Artificial Intelligence" means. For that matter, why did you capitalize it--the study of artificial intelligence involves many areas from mathematics, to computer science, to biology, neuroscience, etc--it's not some mystical ... I don't know what, but whatever you seem to think it is! AI involves a lot of search questions, but an algorithm that performs an exhaustive search to find its next move is *not* artificial intelligence. You're turning things around. You can define the 'study of artificial intelligence' any way you like, but finding the best answer by comparing all alternatives is not what I call 'intelligence', so having a computer do exactly that is not what I call 'artificial intelligence'. It does not resemble human intelligence in any way.

      Also I think I do know pretty well what's involved in AI, having followed AI courses, courses on cognitive algorithms and courses on intelligent agents as part of my CS degree. Solving a game like chess or Go the way it's done right now is not 'artificial intelligence', and I think the majority of AI researchers agree with me on that point. Chess programs *do not do an exhaustive search of all possible moves*. If that where true, a chess program would *never* lose, only draw against really, really good human players. A chess computer combines statistical data from a game database with a bounded search on the utility of the possible game states it considers. It's just statistical processing + Markov chains.

      In short, I disagree with everything you said in your post, every word :) That's fine by me, You can call stuff whatever you like. But please don't tell me I don't know whay I'm talking about, because I think I do.
    11. Re:Artificial Intelligence? by Moridineas · · Score: 1

      AI involves a lot of search questions, but an algorithm that performs an exhaustive search to find its next move is *not* artificial intelligence. You're turning things around. You can define the 'study of artificial intelligence' any way you like, but finding the best answer by comparing all alternatives is not what I call 'intelligence', so having a computer do exactly that is not what I call 'artificial intelligence'. It does not resemble human intelligence in any way.

      Also I think I do know pretty well what's involved in AI, having followed AI courses, courses on cognitive algorithms and courses on intelligent agents as part of my CS degree. Solving a game like chess or Go the way it's done right now is not 'artificial intelligence', and I think the majority of AI researchers agree with me on that point. Chess programs *do not do an exhaustive search of all possible moves*. If that where true, a chess program would *never* lose, only draw against really, really good human players. A chess computer combines statistical data from a game database with a bounded search on the utility of the possible game states it considers. It's just statistical processing + Markov chains. Ok, well that's pretty much complete BS! You're saying I'm wrong because my definition of AI is incorrect--yet you fail to offer up any definition of AI, or offer any proof that anyone else understands AI to be what you seem to think it is. I'll say it again, AI is not some magical thing that gives computers consciousness, or anything like that. It does not mean that a chess program is going to be able to watch the kids, do the laundry AND beat you at chess. This complete misunderstanding of the term AI is one of the things the professor went out of his way to beat out of ours heads in my first AI class! (while noting how silly the term really is, because it leads to misunderstandings exactly like yours)

      If a program can play chess, it's AI. If a program can play how to stores boxes in a warehouse, it's AI. If a program can simulate human conversation, it's AI. The methods involved can vary greatly, but the methods used to get there don't really matter--the end result is what matters!

      I'm also unsure how/why you are using the term "exhaustive" -- in the case of chess it doesn't literally mean that EVERY position is checked, as you say, there can be some statistical analysis, and more likely other normal search pruning techniques used to narrow down the possibilities a bit. EVEN SO, current software can't search an infinite number of ply ahead. You seem to think that we could be making chess programs much more powerful than they are now, but aren't? I don't understand your logic, it's only in the last several years that computers can reliably beat the best chess masters in the world--you think programmers have been holding back??

      I also thought you might find the following link informative about chess programs: http://en.wikipedia.org/wiki/Computer_chess

      That's fine by me, You can call stuff whatever you like. But please don't tell me I don't know whay I'm talking about, because I think I do. I don't mean to be rude, so I apologize if you took offense. But, your idea of what AI is just seems to be incredibly off the mark! The wikipedia article on AI defines it as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions which maximizes its chances of success." It doesn't say a system...which maximizes its chances of success WITHOUT USING ANY TYPE OF SEARCH. In fact it doesn't say anything about the implementation at all!
  11. Organizing the search space... by headkase · · Score: 5, Interesting

    It's a running joke that in artificial intelligence that to solve a problem you almost have to know the answer already. When you consider all the possible ways to be intelligent as a search space, the process of evolution has "narrowed down" what it is "almost" like to be a human and we as individuals fine-tune the rest of the answer starting from birth. The human mind is a remarkable pattern processing machine and the day a computer can play go against a human master and win is the day we truly understand how to replicate sentience in a machine.

    --
    Shh.
    1. Re:Organizing the search space... by rbarreira · · Score: 1

      I'm not entirely sure but didn't people use to say the same thing about chess?

      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    2. Re:Organizing the search space... by imbaczek · · Score: 1

      chess isn't about patterns.

    3. Re:Organizing the search space... by headkase · · Score: 1

      The difference is that it is much more difficult to measure whether or not a move is "good" or "bad" in go.

      --
      Shh.
    4. Re:Organizing the search space... by aragszxki · · Score: 1

      Turing did mention chess as a possible starting point in Computing Machinery and Intelligence. However, even he did not go as far as the grandparent poster in claiming to replicate sentience in anything that way.

    5. Re:Organizing the search space... by headkase · · Score: 1

      Most of the problems that they thought would be easy in the early days instead turned out to be the most difficult. Walking, vision, hearing - very difficult because they're based on pattern manipulation. The problems they thought would be more challenging such as algorithm proving (an example would be Eurisko) turned out to be much easier to implement in a machine. I believe solving go would be equivalent to solving machine intelligence because the qualities needed to play go effectively are defined by the missing pieces in our current understanding of intelligence.

      --
      Shh.
    6. Re:Organizing the search space... by SL+Baur · · Score: 1

      This is incorrect and has been scientifically proven otherwise (see the DeGroot link I just posted).

      Probably the first person to categorically write some of it down was Aron Nimzovich http://www.chess-poster.com/great_players/nimzovich.htm

      Chess is all about patterns.

    7. Re:Organizing the search space... by Anonymous Coward · · Score: 0

      I wonder if the same was said about chess.

    8. Re:Organizing the search space... by Anonymous Coward · · Score: 0

      Yeah, that's what they said about Chess too.

  12. They'll stand a better chance if by Anonymous Coward · · Score: 0

    they can manage to convert the energy produced by Cory Doctorow's ego into raw processing power. Of course, this might just result in every Go board ending up with a depiction of Cory felating Walt Disney.

  13. Logical Extreme by digitaldc · · Score: 2, Interesting

    Carried to its logical extreme, the tree would grow until it exhausted every legal continuation, leaving the program nothing to do but examine the end positions to see which of them were wins--that is, checkmates--and which were draws, then work backward along the branching structure to choose the line that led to the best outcome, assuming that both sides play perfectly.

    This is exactly the method that Spock would utilize while playing 3-D Chess, and he would always win. However, due to his reputation for winning by always going to this logical extreme, noone ever would want to play with him.
    In the end, it was deemed a highly illogical method, since it killed his ability to play the game.

    --
    He who knows best knows how little he knows. - Thomas Jefferson
    1. Re:Logical Extreme by Dachannien · · Score: 1

      In the end, it was deemed a highly illogical method, since it killed his ability to play the game.

      WOPR always had the same problem, but for slightly different reasons.

    2. Re:Logical Extreme by SL+Baur · · Score: 1

      I seem to recall one episode where Kirk beat him by playing an unexpected "illogical" move. It always struck me as being most illogical to play a position that was that vulnerable to something unexpected. Spock immediately resigned, so I guess Kirk's move really shouldn't be considered illogical after all.

    3. Re:Logical Extreme by nuzak · · Score: 1

      Of course if Spock knew why the move was illogical, then he would pursue it to the logical conclusion of the defeat of the one making the illogical move. Methinks Spock was actually employing a very logical meta-strategy of bluffing.

      --
      Done with slashdot, done with nerds, getting a life.
    4. Re:Logical Extreme by petermgreen · · Score: 1

      the problem is that the computational power to do that does not exist and will probablly never exist.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  14. FPGAs? by g-san · · Score: 1, Informative

    Yes FPGAs are easy to program, but there is a tradeoff: speed. And since this is a brute force application, you probably don't want to use FPGAs.

    1. Re:FPGAs? by Anonymous Coward · · Score: 0

      While you are correct that custom hardware can be faster, FPGAs have been used to tackle brute-force search problems successfully. Most notably, the Hyda chess computer uses them to great effect.

      Of course, if Hydra used specialized chess hardware like Deep Blue did, it would be faster, but FPGAs are generally sufficient for high-end search problems.

    2. Re:FPGAs? by TooMuchToDo · · Score: 1

      As another poster said, if this was simply brute force, ASIC hardware would be your best bet (custom hardware, same as that which the EFF used to show DES to be extremely weak in this day and age). With FPGAs, you could not only do brute force searches, but as the algorithms involved evolved (i.e. learned better methods), the FPGAs could be reconfigured by the control software (thereby increasing the speed of analysis). The question is, would the algorithm evolve to the point where it would be faster using FPGAs then a simple brute force attack with ASIC hardware.

    3. Re:FPGAs? by Shalth · · Score: 2, Informative

      Actually, if you are going for speed you do want to use an FPGA. Even though there is an inherant iteration problem associated with determining the best move for Go, you can create a very parrallel algorithm that would search many different paths at the same time. Now if you are refering to the clock speed of FPGA's, then that is not an issue either. Even though most modern dual core and quad core processors can run at 2.4+ Ghz, they are most times limited to several levels of pipelining. This limits each processor to maybe 10 billion opperations per second.

      Now with FPGA's, an average clock cycle that it would be run at would be around 200 Mhz. This may seem slow at first but once you realize that at this 200 Mhz clock speed you are calculating several thousand computations you will see that you can easily crush the 10 billion opperations per second of a normal processor and reach several trillion opperations per second with a single FPGA.

    4. Re:FPGAs? by tamyrlin · · Score: 1
      Actually, FPGAs would probably be quite suited to this problem when compared to a general purpose computer such as a high end x86 processor. You will need a lot of bit level manipulation and tree searching to pull this off.

      Advantages of FPGAs

      FPGAs are very good at bit level manipulation. An example: Say that on a general purpose computer you want to perform the following C operation: b &= ((a & 0x8) > 1)); On the general purpose computer you will need quite a few operations to perform that operation. On the FPGA you just create a simple logic circuit consisting of a few LUTs that can perform the same thing.

      Another difference between an FPGA and a general purpose computer is the usage of on-chip memories. On the computer you have a couple of large caches which you can load a few values from at the same time. On an FPGA you have a large number of small memories that you can arrange however you like. On the FPGA board that sits on my desk at the moment you have 192 small memories (roughly 2Kb each) that can be run at 400 MHz. You can read up to 72 bits from these memories in one clock cycle. I think most people would call that a decent theoretical maximum memory bandwidth.

      Disadvantages of FPGAs

      If you need floating point arithmetics FPGAs are currently not very good when compared to the extremely optimized FPUs in modern microprocessors. I would guess that this will probably change in the future, but currently if you need floating point performance I would look into the Cell processor or GPGPU. If you still need to use an FPGA your best bet is to design your datapath so that floating point data is not needed in the entire pipeline. (For fixed point computations FPGAs are very good.)

      The application typically has to be highly parallel in nature to take advantage of FPGAs. Even so, it is usually non-trivial to create a design which really takes advantage of the capabilities of an FPGA.

      Of course, it might be even better to create an ASIC if that is what you were referring to. (Well, probably. It might be possible to take advantage of the dynamically reconfigurability of certain FPGAs to optimize the FPGA solution even further. You wouldn't be able to do that in an ASIC (unless you designed the ASIC as an FPGA)).

  15. Another boardgame? Big deal by Anonymous Coward · · Score: 0

    Let me know when they invent a computer that can play charades. Then I'll be impressed.

  16. Not artificial intelligence by Reality+Master+101 · · Score: 5, Insightful

    The fact that we're talking about trillion move/second machines rather than even attempting to do it the way humans do it ought to tell us what the current trend in artificial intelligence is.

    Basically, the current trend is the same as it was 20/30/50 years ago. This IS NO science of artificial intelligence. We don't have a freaking clue how intelligence works. I think we will someday, but it's going to take a fundamental breakthrough in theory. A "Principia Intelligentsia" (I'm probably mutilating the Latin) by some genius that throws out all the fumbling and finally Explains It All.

    --
    Sometimes it's best to just let stupid people be stupid.
    1. Re:Not artificial intelligence by ThetaPi · · Score: 1

      One common misconception about the field of Artificial Intelligence is that it is only about trying to replicate human intelligence. Knowing how humans think and using this information to create adaptive, "intelligent" algorithms is more common.

      This does not replicate human thought, but allows the computer to algorithmically determine (guess) solutions to a variety of very difficult problems. It still needs a lot of processing power to analyse and pare down the decision tree, but this is expected.

      ThetaPi.

      --
      "When God kisses Satan and the Incarnations applaud." "Death is dead. Long live Death!"
    2. Re:Not artificial intelligence by Anonymous Coward · · Score: 0

      How about YOU prove that *real* intelligence is anything more than fast computation.

    3. Re:Not artificial intelligence by Reality+Master+101 · · Score: 1

      How about YOU prove that *real* intelligence is anything more than fast computation.

      Who said it wasn't? But what we do know is that a Go player doesn't search a trillion moves per second in his brain.

      --
      Sometimes it's best to just let stupid people be stupid.
    4. Re:Not artificial intelligence by Reality+Master+101 · · Score: 1

      One common misconception about the field of Artificial Intelligence is that it is only about trying to replicate human intelligence.

      Another trend I notice is that as the field of artificial intelligence has matured, the definition of "intelligence" has become more and more watered down so that it won't seem like such an abject failure. :) In the old days, we had Turing musing on Turing Tests and how to know intelligence when we saw it. These days, any sort of brute-force algorithmic pattern recognition is seen as "intelligence" (See? See? Our field does do something useful!) Unfortunately, these gains are mostly because of faster hardware, not because of fundamental insights into the nature of intelligence.

      I've said it before, and I'll say it again: if artificial intelligence researchers don't want to be judged by the standard of human (or even animal) intelligence, then don't call it Artificial Intelligence! Call it Pattern Recognition. Call it Decision Tree Analysis. But if it's called Intelligence, then be prepared for it to be judged by that standard.

      --
      Sometimes it's best to just let stupid people be stupid.
    5. Re:Not artificial intelligence by anonymous_wombat · · Score: 1

      The brain is a big pile of crap that has slowly evolved over the last few hundred million years or so. There is no elegant explanation for intelligence, because it is just a pile of stuff that has been built up over time. The question is, how do you make a pile of crap that becomes more useful, as opposed to the properties of piles of crap in software.

    6. Re:Not artificial intelligence by Surt · · Score: 1

      I would be really interested in knowing how you think we know that. We know they aren't consciously considering a trillion moves per second. But how do we know what kind of work the cognitive engine is doing underneath the consciousness? What if your brain evaluates quadrillions of moves per second, leaving you aware of only the best few it can find?

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    7. Re:Not artificial intelligence by Reality+Master+101 · · Score: 2, Insightful

      I would be really interested in knowing how you think we know that. We know they aren't consciously considering a trillion moves per second. But how do we know what kind of work the cognitive engine is doing underneath the consciousness? What if your brain evaluates quadrillions of moves per second, leaving you aware of only the best few it can find?

      Because the brain only has 100 billion neurons and, at best, can fire only a couple thousand times a second. If 1% of an entire brain was dedicated to being little Go Position Computers, it would be hard to imagine how you could get a million moves a second, considering communication and infrastructure overhead. Much less a billion, or a trillion, and certainly much less than a quadrillion.

      Of course, I could also make the argument just because we suck at rote computational things, and are wonderful at pattern matching things. If we really had exhaustive search capability like that, it would probably show up in some sort of everyday task.

      --
      Sometimes it's best to just let stupid people be stupid.
    8. Re:Not artificial intelligence by wodelltech · · Score: 1

      "We don't have a freaking clue how intelligence works. I think we will someday,"

      Mod me offtopic, I suppose, but is that a statement of faith or science?

      --
      Your monitor is staring at you.
    9. Re:Not artificial intelligence by Anonymous Coward · · Score: 0

      Because the brain only has 100 billion neurons and, at best, can fire only a couple thousand times a second. Okay. So? Those numbers support conclusions only if we understand the capacity and abilities of neurons and "firings". We don't.

      It's tempting to add things up and declare "capacity". Or to observe state changes over time and label that rate as something akin to a CPU or bus speed. Convenient. Comforting, even. We can grasp those computer-like analogies. Makes for nice popular science columns. And maybe we'll learn it's all true. But that's not where we're at today. So your conclusions are based on controversial and overly simplified assumptions.
    10. Re:Not artificial intelligence by Reality+Master+101 · · Score: 1

      It's tempting to add things up and declare "capacity". Or to observe state changes over time and label that rate as something akin to a CPU or bus speed. Convenient. Comforting, even.

      Well, if you're going to invoke magic (as many people do when discussing cognition and intelligence), then there's little place to go in the discussion. Maybe these Go players are tapping into a global cloud of consciousness that we all contribute to in some sort of subspace brain field.

      But arguing that there's something "more" than the physical, observable components to the brain is like arguing the existence of God. It's comforting to people who are uncomfortable with the idea of a mechanistic model of ourselves, but it's little more than an article of faith.

      Not that I'm saying we know everything about the brain... obviously we don't. But we do know what it looks like physically, and it's not reasonable to argue that there's some "sooper-sekret" mechanism with even *more* complexity than the neural nets we already know about. Where would it be? How would the "super neurons" communicate?

      --
      Sometimes it's best to just let stupid people be stupid.
    11. Re:Not artificial intelligence by Reality+Master+101 · · Score: 1

      There is no elegant explanation for intelligence, because it is just a pile of stuff that has been built up over time.

      There is no elegant explanation for *behavior*, which is why I think we'll never have artificial humans. We're too complex with all the chemical interaction. But I think it's reasonable to say we'll have elegant explanations for the fundamental pattern matching mechanisms that provide the basis for what we can cognitively do, and I think there'll be an elegant explanation for exactly what consciousness and self-awareness really are, and how to construct them.

      --
      Sometimes it's best to just let stupid people be stupid.
    12. Re:Not artificial intelligence by Nevyn · · Score: 1

      These days, any sort of brute-force algorithmic pattern recognition is seen as "intelligence" (See? See? Our field does do something useful!) Unfortunately, these gains are mostly because of faster hardware, not because of fundamental insights into the nature of intelligence.

      But everything I've seen/read suggests that animals are doing basically the same thing as the core of their "intelligence" ... and the animal brain is really fast at doing those types of "operations". I've also seen convincing statements that the human brain is basically the core of an animal brain, with a couple of layers added on top (with low level functions being done in almost exactly the same way).

      So while a lot of "AI" has been a horrible failure, it seems to me like one of the core problems could well be "our HW isn't fast enough to do AI well, yet".

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
    13. Re:Not artificial intelligence by Reality+Master+101 · · Score: 1

      I've also seen convincing statements that the human brain is basically the core of an animal brain, with a couple of layers added on top (with low level functions being done in almost exactly the same way).

      I think it's clearly true that humans share a lot of the same hardware with animals, with a bit of "secret sauce" mixed in that gave us the "big advantage", whatever it really is.

      So while a lot of "AI" has been a horrible failure, it seems to me like one of the core problems could well be "our HW isn't fast enough to do AI well, yet".

      Nothing says we have to simulate intelligence in real time. I would still be impressed if researchers could simulate something that was clearly intelligence in a month of processing that might take me a few seconds. That's the equivalent of making computers a million times faster.

      It's not that we can simulate intelligence, only slowly. The point is that even if we had arbitrarely fast hardware, we simply don't know *how* to do what humans do. The game Go really addresses the issue in a fundamental way, or even chess, which still isn't understood how humans do it. We know that humans look for patterns in the game, and then somehow meld those experiences together over time into coherent strategy. And more broadly, that's how we deal with all aspects of life. Looking for patterns, with reinforcement based on success. Animals clearly have this ability. And then beyond that, somehow consciousness and self-awareness get built on that foundation.

      We know all this, and very, very bright people have put a lot of effort into neural networks and we've seen tantalizing things that seem to resemble things that humans do, but we haven't made that fundamental "F = MA"-kind of discovery that explains the thing.

      --
      Sometimes it's best to just let stupid people be stupid.
  17. Using FPGAs is a pretty good idea by asm2750 · · Score: 1

    Since you can make the architecture of the logic in the FPGA highly specialized, you can run at a fraction of the clock rate of a general purpose processor and still have a wider lead in performance. I remember seeing a paper in a journal about a group doing an encryption benchmark between the fastest Pentium 4, two old yet powerful computers(I would assume probably old super computers) and a FPGA system, the two old computers had a lower clock rate than the 3GHz Pentium but had twice as much throughput, the FPGA had a clock rate of 50MHz and had a throughput about 10 times higher than the old computers.

    So using a FPGA to do calculations for playing GO would be very fast at a low clock speed, but thats all it could do until it gets reprogrammed.

    1. Re:Using FPGAs is a pretty good idea by Anonymous Coward · · Score: 0

      If you really want to do this, you should not use an FPGA for this.

      You are right that it is much faster than a general purpose CPU, but the summary is comparing it to a full-custom chip. In other words: the algorithm that you would put on an FPGA but then in 'real' hardware instead of the firmware that is in an FPGA.

      I'd say if you really need to search 10^60 possibilities (and that is only the number of possible outcomes, not even all the ways to get there) you need all the speed you can get. An FPGA will probably take way too long. If a custom chip is 100 times faster than an FPGA this would make the difference between running you algorithm for 10 years or for 37 days. The only thing is that it might be a tad expensive.

    2. Re:Using FPGAs is a pretty good idea by mrand · · Score: 1

      ASIC's aren't that much faster than FPGAs any more - and certainly not 100x. A good designer can run lots of logic in an FPGAs at 300-400 MHz... ASICs running any faster than that are going to be HUGELY expensive. Most likely prohibitively expensive.

      The only real benefit ASICs have is lower cost at mass production. Otherwise FPGAs are the way to go.

      --
      -- PGP keyID: 0x4C95994D
  18. Exhaustive Search is not realistic by jmdc · · Score: 2, Insightful

    ...theoretically has 10^60 potential endings. Is conquering the game via exhaustive search of all possibilities possible?

    No.

    A typical star is made up of ~10^57 hyrdogen atoms. If you could store an all the information you needed about a single ending position in a single atom, you'd need storage that had the mass of thousands of stars.

    1. Re:Exhaustive Search is not realistic by 26199 · · Score: 1

      Storage isn't a problem, particularly... you can always throw away the results and recalculate every time. There, storage problem is gone :)

      Run time, now, that's a problem...

    2. Re:Exhaustive Search is not realistic by 2short · · Score: 1

      You do not need to store, (or even consider) every ending position.

      At some intermediate position, you determine that you can force victory if you make a particular move. There is no need to ever consider any other move proceeding from that position.

    3. Re:Exhaustive Search is not realistic by DarkSabreLord · · Score: 1

      So I did the math. With technology as we know it it would take approximately 10^45 standard computer hard drives, which would occupy the volume of 1 mole of suns (10^23). Ridiculous!

  19. Nvidia port ? by bloosqr · · Score: 0

    I am curious anyone has ported gnugo (or whatever) to the nvidia cards using their CUDA C Compiler. The high end nvidia cards are something like 128 500 mhz processors. If a position was "at clock" you would only need 20 nvidia cards (and some coding to glue them together) to get 10^12 positions / sec. If it takes say 50 instructions to evaluate a position, that means 100 nvidia cards gets what you need or 20 boxes w/ 5 cards in each, it may not be "at home" affordable but its certainly on the low end w/ regards to cluster style computing. The coding would be a pain but I would guess that the tools are there (MPI wrapped cuda?)

    1. Re:Nvidia port ? by anonymous_wombat · · Score: 1

      I am curious anyone has ported gnugo (or whatever) to the nvidia cards using their CUDA C Compiler [nvidia.com].

      There was some discussion about this on the computer Go mailing list awhile ago. I am not sure if anyone is actively working on it.

  20. And what is the point? by PCM2 · · Score: 1

    Exactly my thought.

    Plus, why is it so important to "crack" Go, anyway? These researchers have come up with a solution that is essentially a brute-force attack for each game position, requiring a supercomputer. We all know that supercomputers can do amazing things that require unfathomable amounts of calculations. It sounds like they know that this approach would work, too -- they just aren't sure that they can build a machine powerful enough to tackle the problem in a reasonable amount of time. So how does this advance computer science? How does it advance the understanding of human intelligence? What important problems in game theory does it help to solve? More importantly, how does this help me play a nice game of Go on my laptop while I'm waiting for my flight to land? As near as I can tell, it achieves none of the above.

    --
    Breakfast served all day!
    1. Re:And what is the point? by Anonymous Coward · · Score: 0

      Once there is a computer capable of playing GO perfectly, AI algorithms can be tested against it. Since it could play 24 hours a day and you could build several of them, you could test those algorithms much more quickly than if you only were able to test it against top-level human opponents.

    2. Re:And what is the point? by Moridineas · · Score: 1

      This is exactly how professional chess programs work--exhaustive searches on supercomputers--with the addition of some opening/closing books. What does that solve / help in computer science? I don't know, not a lot?

      On the other hand, it could tell us some things about the game of Go--is it a "fair" game, etc.

      More to the point, why not? It's a challenge, design a program / hardware solution to beat Go. By your logic, why do anything?

    3. Re:And what is the point? by PCM2 · · Score: 1

      More to the point, why not? It's a challenge, design a program / hardware solution to beat Go. By your logic, why do anything?

      But isn't Go supposed to be an enjoyable pastime, fundamentally? Or perhaps, for more advanced players, an exercise in meditation? By your logic, it would make sense to invent a computer program that could use brute-force database comparisons to explain the punchline of any joke.

      --
      Breakfast served all day!
    4. Re:And what is the point? by Moridineas · · Score: 1

      I'm not quite sure that follows my reasoning :-)

      Somebody wants to design a program that is the best Go player--a bunch of people on slashdot seem to object to this (yourself included?). It strikes me as an almost luddite type of response--"these computers are taking over our games!" Go is a game, you're right--I don't know about the meditation aspect, I know a lot of people on slashdot DO like to hold Go in a semi-mystical / holy position, but utlimately, it's a game. If someone wants to research and design a computer and software to play a game, I really don't know why a bunch of people who are primarily computer geeks should object to this! The drive to design the best chess playing program was widely cheered on and heralded, I guess I don't see what's different about researchers having mastered one game, and moving on to another?

      The design of a program that can beat Go isn't going to change how you play, nobody is going to make you play, or stop playing.. in fact the only thing I can think of it changing for current Go players is the pseudo-mystical position it seems to hold in the minds of some!

    5. Re:And what is the point? by PCM2 · · Score: 1

      Oh, I'm not against a novel computer program that can play Go. My objection to this is mainly that it doesn't seem particularly novel. They're trying the most obvious, least sophisticated approach of all -- a brute force attack. It's as if they've run out of options and the deadline is almost up, so they're going to devote their energy to beating the game into submission. Only...what deadline? Is "cracking" Go really so urgent? They're welcome to work on it, if they think it's worth their time. I just ask "why bother," when it sounds like they won't have achieved all that much even if they succeed. This seems like the kind of project you might work on as an undergrad, but nothing particularly newsworthy.

      --
      Breakfast served all day!
  21. Not brute force, Monte-Carlo !!! by Anonymous Coward · · Score: 2, Insightful

    This is one of the worst articles about computer-Go I've ever read. The author seems to completely overlook the recent advances in the field which made possible huge gains by replacing n-ply reading and evaluation by monte-carlo sampling of possible end positions. This is indeed some sort of brute-force but allows to avoid the proble of evaluating a partial position, which is very hard.

    Still far from the best human players, but at least improving :)

    1. Re:Not brute force, Monte-Carlo !!! by jpfed · · Score: 1

      Please forgive my ignorance of this matter, but to me it seems that Monte Carlo methods could have some serious weaknesses in evaluating game positions.

      If you are generating random possible endgames from the current move under consideration, then it seems as though certain endgames would end up being more probable to have resulted from actual play and so their contribution to the objective function should be weighted more. But how do we know which endgames are more likely? To get this weighting, it seems as though some intermediate results would have to be obtained.

      In the process of generating intermediate board states (and I may be thinking too much in terms of brute force methods) we may miss some crucial moves in our sampling; if a crucial consequence of a move in a shallow ply were missed, then a brute force player would be able to take advantage of that gap in the sampling and beat us.

      I haven't read about Monte Carlo methods in the context of games, so feel free to point out what I am missing.

  22. Artificial Technology? by Chuckstar · · Score: 1

    "IEEE Spectrum looks at current trends in artificial technology..."

    Is that in contrast to natural technology?

    1. Re:Artificial Technology? by NotQuiteReal · · Score: 1
      Is that in contrast to natural technology?

      The irony is that Go does use natural technology - stone and wood.

      --
      This issue is a bit more complicated than you think.
    2. Re:Artificial Technology? by prostoalex · · Score: 1

      Yeah, sorry, I am retarded.

  23. Read an article to this effect.... by FooAtWFU · · Score: 2, Insightful

    I read an article to this effect in an AI class. Apparently the Latest Thing in solving things like Go is to take a good random sampling of just a few thousand (or tens of thousands of) possibilities in the future, and try to see what sort of move looks better, rather than trying to be exhaustive about the entire thing. I thought this was Quite Interesting. Meanwhile, the exhaustive search is really the least interesting way you could possibly do it, and won't likely provide you with much insight on Go, or related matters. *yawn*

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
    1. Re:Read an article to this effect.... by pclminion · · Score: 5, Interesting

      Meanwhile, the exhaustive search is really the least interesting way you could possibly do it, and won't likely provide you with much insight on Go, or related matters. *yawn*

      Exhaustive search may be boring, but it is also the only theoretically sound method. Aggressive forward pruning of game trees always has a danger factor (you might prune a move that looks bad at depth 5 but is actually a win at depth 10), and this danger is massively increased in games with large branching factors like Go. Basically you are greatly amplifying the horizon effect.

      Methods such as Prob-Cut and Multi-Prob-Cut have proven useful in games with extremely high branching factors where the evaluation function has strong correlations between depths (games like Amazons, which has an initial branching factor of 2176, far larger than Go's 361). However there is always risk associated with statistical pruning methods.

      Really, the only theoretically sound method of forward pruning is to define a specific evaluation function and then produce proofs that certain board configurations cannot cause an increase in the evaluation. But these proofs are hard or impossible to construct and often they only apply in positions which are already clearly bad.

      In my opinion, it's not that computers are terribly bad at Go. It's that humans are unusually good at it. I am regularly whomped by my own Amazons-playing program and that program can't even look to ply 2 at the opening of the game. On the other hand, I destroy most of the simpler Go programs, even though I absolutely suck at Go.

    2. Re:Read an article to this effect.... by eh2o · · Score: 1

      Statistical methods are no less "theoretically sound", and in addition can handle a lot of situations where branch analysis is impossible (e.g. continuous domains). For example, simulated annealing is guaranteed to find the global optimum given infinite running time, and many of the latest algorithms in statistical learning theory have quantifiable bounds on the error.

      There are lots of things that humans do better than computers, some of which we regard as fairly simple every-day activities -- is the human ability to play Go really *unusual*?

    3. Re:Read an article to this effect.... by Anonymous Coward · · Score: 0

      Statistical methods are no less "theoretically sound", and in addition can handle a lot of situations where branch analysis is impossible (e.g. continuous domains). For example, simulated annealing is guaranteed to find the global optimum given infinite running time, and many of the latest algorithms in statistical learning theory have quantifiable bounds on the error.

      Can you tell me definitively if Go is a win for the first player, a win for the second player, or a tie, using a statistical method? Given some finite (but extremely large) running time, pure search can do it, what about your approach?

    4. Re:Read an article to this effect.... by colmore · · Score: 1

      "Exhaustive search" isn't.

      Checkers took over a decade to exhaustively search. Chess would be orders of orders of magnitudes harder, Go again so. Not even we nerds and computer scientists really intuit exponential functions. 10^60 board positions means that true exhaustive search, or even a fraction of it is impossible. That much information would take galaxies of matter and energy to store. It's cool to imagine super-clusters of Dyson Spheres dedicated to solving ancient board games, and maybe this is why we haven't met any ETs, they've gone dark using all their energy for science rather than communication, but now we're talking real sci fi.

      The article suggests that in 10 years it will be possible, with known algorithms to have a computer brute force Go a little bit deeper than Deep Blue brute forced chess back in 97. Maybe since Go is a game of pattern recognition, masters are better than 12 or so moves ahead, but every so many years the number of moves ahead that brute force algorithms can dig into the game will increase by 1. Every once in a while, someone will come up with a pruning trick or board evaluation optimization and n will bump up by 2 or 3. Go masters are human beings. Their analysis of the game is ultimately going to fail to something that can make error free play into the analytically best position n moves in advance. Human neural network pattern recognition has tricks up its sleeves, but n-deep error free play is a super power. For sufficiently high n, it wins.

      --
      In Capitalist America, bank robs you!
    5. Re:Read an article to this effect.... by Wildclaw · · Score: 1

      Except that humans are reding 100 moves ahead. Well, they aren't actually reading that far ahead, but their moves take into account what could happen in a 100 moves.

      I may make a two space extension on the side, and after that nothing will happen there for 30-40 moves. I do however know that in the future when the opponents biggest move is to try and threaten my group, it is more difficult for him to do so.

      Min-Max may be useful to read out local situations but it is pretty much worthless for looking at a go game strategically.

  24. More like an RTS by analog_line · · Score: 1, Interesting

    I don't claim to be anything approaching good at go, but I've watched a lot of games on IGS PandaNet, and I really think the game of Go has far more in common with a Real Time Strategy game than something like chess or checkers, because of that sheer number of paths through the game (never mind the end states), and the possibility that the board can change so drastically during the game. You never really run out of stones in Go as long as you have places to put them on the board. In chess and checkers, you've got a hard limit on resources. RTS games let you churn out as many units as you're able to pay for in a simmilar way. As far as computer processing goes, that makes future state calculation far easier. When thinking about chess, you never have to consider the possibility that your opponent or you are going to recieve reinforcements. That queen you just captured is gone forever. In go, and RTS games, there are plenty more stones where the ones you just captured came from, and you've got to consider their possible impact on the future state of the game.

    1. Re:More like an RTS by Anonymous Coward · · Score: 0

      What makes Go hard is there is equal strength to each and every stone. There is no powerful queen and there is no jumpy knight. I bet the weighted advantage of each piece in chess makes it easier to program. The player strength is determined by the shapes and patterns of his stones on the board. Placing a stone on a vast empty 19x19 board can be really intimidating. To make it hard, a stone can only be removed by surrounding it and there are patterns that benefit both players.

    2. Re:More like an RTS by StDoodle · · Score: 1

      I've had similar thoughts; especially regarding the balance between playing "aggressively" and playing "safely." Probably why quite a few high-level Eastern players are also into Starcraft.

  25. I'd try for something worth more... by Bobfrankly1 · · Score: 1

    I'd try for something worth more, cause after you pass Go, you only get 200 dollars...
    -
    RIAA Involvement: Do not pass go, do not collect 200 dollars

  26. Here we go again... by tiluki · · Score: 2, Interesting

    It is, and never will be, a question of optimisation - no matter how stochastic, fuzzy, or hardware based. Chess was only "solved" in this way - it wasn't solved the way we actually play it.

    Go... is all about pattern matching.

    The tigers mouth, the ladder, the bamboo joint, the turn... that's how I play.

    Just as the brain makes sense of our world. We make sense of go through the patterns we see.

    And no - I don't mean just throw a ANN at it:-) And yet, something stirs in the heart of AI... Something within the new approaches to statistical pattern matching...

    No, it ain't solved yet!

    1. Re:Here we go again... by igomaniac · · Score: 2, Interesting

      I'd say it's about pattern matching until you reach 1. dan, then you know almost all of the patterns and it becomes a game of high level strategic thinking.

      --

      The interactive way to Go -- http://www.playgo.to/iwtg/en/
  27. So not AI by TheScreenIsnt · · Score: 1

    Seems like AI is still struggling to make itself useful (and to redefine itself) if this makes the news for IEEE. Yes, I know there are real world applications of things we might call AI, but as the years go on, the backlash against the naive optimism of the 70's and 80's seems more and more justified.

    Maybe someday we'll get to the bottom of this syntax/semantics thing, but I wouldn't bet my (hypothetical) VC money on it.

  28. no, we won't do it by brute force by Surt · · Score: 2, Interesting

    The best fp devices top out under 10^15 operations / second. in a computer sized box.
    Lets assume we can design a go-specialized device that can outperform that by another 10^20th power (ridiculous, but let's imagine).
    We build 10^9th such devices (a billion!), and wire them all together to play go.
    It will still take 10^16th seconds (317,097,919 years) to figure out go.
    So no, it won't happen that way.
    Worse, I don't think go is that simple:
    http://en.wikipedia.org/wiki/Go_complexity

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    1. Re:no, we won't do it by brute force by Surt · · Score: 1

      Brief followup:
      A more careful reading of the article (by the article poster) might have noted that the 10^60 figure came from chess, not go.
      Go is indeed worse.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  29. Checkers, Chess by FunkyELF · · Score: 1

    Checkers was just "cracked" recently. It took over 10 years I think. I would think only games similar in magnitude would be worth computing / possible to store.

    You'd have to find a new universe to do something similar with Chess.
    Just to physically store everything would be impossible. There are more possibilities in chess than there are atoms in the known universe.

    And if GO has more possibilities than Chess, go find a another universe full of universes....and find a way to store things on a single atom.

    1. Re:Checkers, Chess by smartr · · Score: 1

      Are you so sure a single atom's state is finite, and if so, how finite?

  30. Will Wright on Go by hypnotik · · Score: 1

    A good interview with Will Wright that talks a little bit about Go.

    Go, at it's heart, is a game of cellular automata. From the simple local rules incredible complexity emerges. To date there have been a few academic papers that deal with creating cellular automata rules for playing, but with little success. Very strong local play, but lousy global play.

    I think the trick to a successful Go playing program is to harness the local cellular automata knowledge in a higher order algorithm. Perhaps to use the cellular automata to give likely next moves and then do a deep search on them.
    Human Go players do this already -- reading, i.e. looking ahead involves players searching through likely play combinations to find the one with the most profit. They find the likely play combinations through a feel of shape or of other criteria, then narrow it down to see if their short list of play combinations works or does not work.

    --
    (I was only an egg, but then I cracked)
  31. As a go developer by jshriverWVU · · Score: 2, Interesting

    It's definitely an interesting problem. I spent years researching Chess engines eventually ditching it for Go. If you want to really be on the bleeding edge check out the computer-go mailing list. We're all there. http://computer-go.org/mailman/listinfo/computer-go

  32. genetic algorithms by BigGar' · · Score: 1

    I'm wondering if for this one an evolving algorithm will end up getting it figured out and the original human programmers won't understand how the final product works. If the mechanics of play can be programmed and the mechanics of deciding who won can be programmed then let the algorithms mutate a hundred/thousand generations and see what progress has been made. Can the final product play better than the original, if so, keep going, if not, tweek the mutations and try again. Some of the creative ways the genetic algorithms end up making the decisions can be quite baffling when looking at the code, something as complex as playing GO may end up with code that is nearly undecipherable.

    I say this like its an easy thing but it would be an interesting process I'd think.
    There's probably a PHd. dissertation or three in there somewhere.

    --


    Shop smart, Shop S-Mart.
  33. Progress in Computer Go by igomaniac · · Score: 5, Informative

    I'm a reasonably strong Go player myself (4. dan) and I've studied computational complexity - my gut feeling is that computers will not beat humans at Go in my lifetime even if Moore's law continues to apply. The only possibility is that someone comes up with a completely new approach, a bit like when alpha-beta search was invented for Chess. At the moment the most interesting approach is Monte Carlo methods applied to Go which has so far lead to a gain of at least two stones strength for the current programs. The strongest Monte Carlo based program is currently MoGo by Sylvain Gelly et al. which you can find more information about at http://www.lri.fr/~gelly/MoGo.htm.

    --

    The interactive way to Go -- http://www.playgo.to/iwtg/en/
    1. Re:Progress in Computer Go by RzUpAnmsCwrds · · Score: 1

      I'm a reasonably strong Go player myself (4. dan) and I've studied computational complexity - my gut feeling is that computers will not beat humans at Go in my lifetime even if Moore's law continues to apply.


      You must be pretty old, because we haven't even begun to see what computer science can do.

      Every time, they tell us that we're stuck because our current paradigm has run out of steam. And every time we come up with something new.

      11 years ago, computers couldn't beat grandmasters at Chess. Now significantly cheaper computers are so strong that no one even bothers playing them. That advancement has come mostly from algorithm development, not from brute force.

      We're not going to beat Go with burte force. That doesn't mean that we're not going to beat it with better algorithms. I don't think it's going to be 10 years, but I also don't think that it's going to be 40.
    2. Re:Progress in Computer Go by igomaniac · · Score: 1

      Do you know what an intractable problem is? I think it's common for people who haven't studied the theoretical underpinnings of computation to make the claim that any problem can be cracked by coming up with a better algorithm. It's simply not true. Of course Go is a finite problem, but you can get some idea about how likely it is that a better algorithm exist by looking at the general problem of certain parts of the game. For example Go Endgames Are PSPACE-Hard. You can also see how well computers solve tsumego (life and death status problems), which are key to becoming a strong player... Anyway, it takes a lot more time to come up with a better algorithm than to wait for computers to be faster, so if Moore's law is not going to help you it can take lifetimes before a better algorithm is discovered (if one even exists).

      --

      The interactive way to Go -- http://www.playgo.to/iwtg/en/
    3. Re:Progress in Computer Go by goulo · · Score: 1

      For the record, I agree programming a computer to play go is hard, but the fact that Go Endgames are PSPACE-Hard and similar results don't necessarily mean that in Real Life there can't be found "good enough" heuristic solutions. These sort of computational complexity arguments can be used to prove that we can't solve the Traveling Salesman problem, for instance - in one sense, yes, Traveling Salesman is theoretically intractable, but in a practical sense, there are algorithms that usually give good enough answers. To be interesting and useful, a go program doesn't have to play perfectly; it just has to usually play better than (some desired percentage of) people. If it makes mistakes sometimes, and can't consistently beat the top players in the world, so what? That's true of the top players themselves as well. :)

  34. Re:infinite monkeys by Bota · · Score: 0

    troll? you've got to be kidding me. bad humor, maybe. offtopic, CERTAINLY! but troll? what exactly was I trolling for there?
    Was this your first time with modpoints?
    Now this post on the other hand... trollerific!

    --
    King Kong Died For Your Sins
  35. Stretch vs. FPGA by Wordplay · · Score: 1

    For this type of thing, I'd probably at least look at using a software-configurable processor like Stretch's lineup. It's much, much easier to reconfigure than an FPGA (and obviously, a custom fab) would be. Once everything was locked in and if speed proved to be an issue, then I'd start moving to firm/hardware.

  36. not quite by feed_me_cereal · · Score: 1

    There's not an infinite number of paths if you exclude those paths which contain cycles (which you really should do, since they're pointless). The board is finite, thus there are a finite number of possible configurations of the board. Therefore, you do not need to consider an infinite number of paths, only the best move in each of a finite number of states (which is still an incomprehensably large assload). Remember a few months ago when checkers was solved? Technically, there are an infinite number of paths in checkers, too, since you can just move your kings around in circles.

    This is all analogous to a turing machine with a finite tape. If you wanted to, your turing machine could run for ever just rewriting a bunch of symbols in the tape, but the set of all configurations of the tape is, in this case, finite, making cycles detectable and the halting problem solvable. Very, very different from the halting problem with your typical infinite tape turing machine.

    --
    "Question with boldness even the existence of a god." - Thomas Jefferson
    1. Re:not quite by Sigismundo · · Score: 1

      There's not an infinite number of paths if you exclude those paths which contain cycles (which you really should do, since they're pointless).

      Since you can't remove or move stones from the board once they're placed, aren't paths containing cycles impossible anyways?

    2. Re:not quite by DragonWriter · · Score: 1

      Since you can't remove or move stones from the board once they're placed, aren't paths containing cycles impossible anyways?



      Isn't it rather key to Go that, in fact, stones are regularly removed from the board once they are played?
    3. Re:not quite by WilliamSChips · · Score: 1

      Actually, if you're using a superko rule(like you really should) the rules say infinite loops are impossible.

      --
      Please, for the good of Humanity, vote Obama.
    4. Re:not quite by Skippy_kangaroo · · Score: 1

      You remove stones when you capture them (remove all their liberties). And cycles are, thus, possible. But there is a rule to prevent this - you can not repeat a position on the board. As a result you end up gettin into Ko fights.

    5. Re:not quite by nuzak · · Score: 1

      Stones get removed when they are captured. However, cycles are in fact against the rules of Go.

      One and two stone captures are quite common in go, but actual captures of larger groups are much rarer, since once both sides know how the exchange will end, it's a waste of moves to actually play it out when territory can be gained elsewhere. Still, the game tree does have to take the idea of removing stones into account.

      --
      Done with slashdot, done with nerds, getting a life.
    6. Re:not quite by Magada · · Score: 1

      Two-move cycles are illegal. Longer cycles aren't. It may well be that such cycles exist. The number of possible games would be infinite if that is true. Proving their (in)existence is left as an exercise to the reader.

      --
      Something bad is coming when people are suddenly anxious to tell the truth.
    7. Re:not quite by nuzak · · Score: 1

      I think for a start that assuming a hard super-ko rule should be fine. Getting a human to understand the Ing rules is hard enough as it is ;)

      --
      Done with slashdot, done with nerds, getting a life.
  37. Err... Math error. by sirwired · · Score: 1

    5 * 10^12 != 10^60

    SirWired

    1. Re:Err... Math error. by bloosqr · · Score: 1

      operations per second not total operations, that is going by the persons "gut feeling" that 10^12 operations per second would be enough to play go at the highest level. I am still an order of magnitude off but 200 boxes with 5 cards each is still certainly doable.

  38. they'd better try to evolve a go plaing AI by foobang · · Score: 1

    Methinks, all the computing power they intent to sink cracking Go would be better used to produce an AI capable of playing the game at strong amateur level.

    There are lots of games around waiting to be analyzed, and if they are about to crunch gazillions of positions they'd better to extract something more juicy than "for that position the best move is ..."

  39. I agree... no time soon.. by absynthe49 · · Score: 5, Interesting

    I have played a lot of go and am a programmer. This will not be solved anytime soon unless there is a very big breakthrough in AI.

    Go is challenging to program for many reasons:

    1) There is a ridiculous number of moves. As mentioned in the article.. there are 361 factorial moves as the game progresses. Many of these would never be done (a player would not move on the outer most edge of the board in the early stages). Some extra moves can happen as you kill groups and move new pieces into their positions. And of course.. both players pass well before the game is over.. so the board will never be filled up. So there are some limits on this huge number.. but whatever it turns out to be... it is crazy bigger than chess's possible moves.

    2) The rule set is much less restricted. In chess... you are very restricted.. each of the 6 types of pieces have very specific rules. All except the knight is blocked by other pieces. In go.. you can move almost anywhere you want (it may not be the best idea but there are no rules about not moving to an empty spot). I say almost because you cannot actually kill you piece by placing it into a spot that would immediately kill it. These spots however are small in number to the number of spots you can move.

    3) It is extremely difficult to decide the current state of the game with regards to one position being better than another. In the article he mentioned being able to shorten the move search tree by neglecting paths that led to worse positions. The earlier parts of the game are extremely difficult to decide. In fact.. there is probably no correct answer. This is probably one of this biggest issues with getting a computer to play effectively. There are probably spots that the computer with proper algorithms could deem as not so good.. but what about the 500,000 other positions that may turn out good.. may turn out bad. I think it would have a difficult choice when it has so many positions that it cannot grade as good or bad.

    4) The delicate balance between whole board and small area (strategy vs. tactics). He mentions in the article that the computer could focus on a small subsection of the board at a time. This is fine and dandy when the computer can magically know which of the small subsections is vital. As a 19x19 game progresses (especially earlier in the game) there are for example 20 zones of the board that could become hot very fast. If one player takes initiative in a section.. they may only play 3-8 moves there and then jump to a completely different section of the board. These to positions (potentially) will collide.. and the way that the player built these two sections and the way they collide is very important.. this will greatly hinder the computer simply focusing on a subset on the board... that would be to focus on tactics.. and strategy and tactics are constantly balancing back and forth in the human players mind.

    5) The human player makes new algorithms as they learn more about the game. One of the trickiest things about go is that there are no sets of rules that define a good move. There are "proverbs" which sometimes are philosophical about the game. Sometimes these are even contradictory. I doubt very much that people will find the golden set of algorithms that describe good play.. at least in a way that a modern computer interprets language.

    In the end... I think one day we will have a computer that will be better than people at go. The only thing is.. I am very sure that it will be a very long time from now.. or after a breakthrough happens in AI. Anyone who has played the game for at least 20 games on a 19x19 will see the amazing explosion of possible moves. They will feel how sometimes there are 10 hotspots that you just wish you could move, but you only have one. They have felt what it feels like to be focused on an area of the board and suddenly, due to their opponents craftiness, jump to a whole different area of the board and suddenly.. that area becomes vital. A single move can make a relatively safe area dreadfully

    1. Re:I agree... no time soon.. by Wildbiftek · · Score: 1

      Another problem is that the game ends only by consent. It's possible for two players to pass after 5 moves but no competent human players would do since territories are not clearly defined. Contrast this with chess where the game ends by the clearly defined checkmate of the king.

    2. Re:I agree... no time soon.. by absynthe49 · · Score: 1

      Another two points..

      Toward the endgame.. a computer would do well.. it can calculate ahead since the available paths are dying out. There are a limited number of positions and life and death of final groups is something a computer can handle.

      The opening also has some promise for the computer. There are joseki patterns (corner play) that in some cases have fairly well diagrammed lines of play. Versus a low level player.. the computer could probably trap the human opponent. However.. when pros or even upper-intermediate players play.. they often get into positions that are not better for either person. You can often read that joseki xyz leaves black in a fair position for moving along the bottom edge while white is in a fair position for moving into the left center. It's not really cut and dry who wins a joseki unless one of the players makes a mistake.. and there are multiple paths in joseki that lead to "even".

      This leads us to the middle game and this is where I feel the modern computer is quite hopeless. There are still a huge number of available spaces to move.. at this point the corners are starting to take shape.. there may be some groups that are pushing against each other around the sides... the question is.. where to move now? Which of the groups have the best tactical and strategic options? How should you balance territory and influence? How many moves should you dedicate to this group before you move into that group over there? Should you sacrifice this medium sized group to gain a positional advantage? If you are fighting over a group and the opponent starts pushing you back.. will you pieces lie in a position that is favorable? There are so many questions like this and the game is all about balance. I think the algorithms that come out of such research are interesting.. but how do you decide which of these 100 factors is most influential to your next move? I think the algorithms will be very narrowly focused and would prove weak vs. another player.

      Pattern recognition is very important in the game and I just don't think computer algorithms (maybe even our view of hardware) are up to the task of making decisions like this now. Deep Blue vs. Kasparov is a much simpler case. The lines of what is good and bad are much more clearly drawn (maybe not black and white.. but not the flat gray of go).

      I did think that the article had a very optimistic tone. I am curious how much the researcher has played go.

    3. Re:I agree... no time soon.. by absynthe49 · · Score: 1

      As for the math.. I am curious to see how he explains the following statement: "Put it all together and you should be able to build a machine that searches more than 100 trillion positions per second--easily a million times as fast as Deep Blue. That would be enough to build a tree of analysis for Go as big as Deep Blue's was for chess and to evaluate all its end positions properly. If we assume the top Go players calculate about as deeply as the top chess players do, the result should be a machine that plays Go as well as Deep Blue played chess. Well enough, that is, to beat any human player." According to http://en.wikipedia.org/wiki/Go_complexity (I know.. not the end all of sources but fairly reliable), the game-tree complexity of go is 10^360. According to wikipedia John Tromp and Gunnar Farnebäck showed that of those moves.. only 10^172 are legal. These estimates seem to be on the lower end of other views of its complexity. So anyway.. the paper states two methods to trim this huge tree... 1) If you find a move that is not as good as another, don't go further down that path. 2) I don't really understand the details (he doesn't give them) but he would cache results already decided and wouldn't have to recalculate those paths until something interfered with it. So for (1) It seems really hard to decide which move is better than another as mentioned earlier (2) Things are jumping around quite a lot on a board and I think the caching would lose its effectiveness. If we isolate only the right third of the board and there is a corner group on each side and a group in the middle... as these groups take form they will influence how the other groups form and will need to be recalculated often. A human does this with visualization and intuition. So let's say there are 10^172 moves that may need to be traversed. Let's say that by a miracle of branching tactics mentioned in (1) the computer decides that one trillionth of a percent of these moves are viable. That leaves us with 10^158. Okay.. still have a huge number. Since (2) above seems pretty fuzzy... lets just go ahead and cut the exponent into a fourth(thats a big feat I think). That leaves us with about 10^40 board positions to evaluate. So 10^40 boards * 1 seconds/10^14 boards = 10^26 seconds. So how long is this? 10^26 seconds / 60 / 60 / 24 / 365 = about 10^18 years. Now I know that there are complications that could make this math not exactly accurate. I don't really know how to guestimate how many trees his two methods could cut off. I do feel however that my guesses were not on the light side.. they were on the heavy side. I don't know much about complexity theory.. but it seems to me that his statement shown above seems very optimistic. He says that a computer like this would have a depth tree as deep as Deep Blue's was for chess. Does he mean depth of moves? We already know that there is a much greater depth of moves in go than chess.. what does he mean by that? Anyway.. it seems very optimistic and he might be a very bright guy.. but his success with Deep Blue may have clouded his logic.

    4. Re:I agree... no time soon.. by tt076714 · · Score: 1

      This is the explanation about Go before i explain about the problems. However, i read this information somewhere.

      Go is played on a board crisscrossed by 19 vertical and 19 horizontal lines whose 361 points of intersection constitute the playing field. The object is to conquer those intersection points.

      A player makes a move by placing a lozenge-shaped "stone" on an intersection, then the other player counters, and the two alternate moves. Players capture enemy stones by surrounding them, that is, by removing their "liberties," which consist of either the vacant points adjacent to a stone itself or to friendly stones to which it is itself connected (see illustration, "The Goal of Go"). When no more moves are possible, the players count up the intersection points they control, and the player with the most points wins.

      All the leading Go programmers today belittle brute force. In this they resemble the computer chess experts of 40 years ago. Selective search dominated thinking on computer chess from the late 1940s to the late 1970s, and that mind-set prevented any program from advancing beyond the level of a Class C player.

      Go does, however, present two real problems, both having to do with the amount of searching the program must perform.

      (1)The first problem is the tree of analysis. Because Go offers more possibilities at every turn, the tree is far bigger for Go than for chess. At the start of the game, the first player can place a stone on any one of 361 positions, the second player has 360 choices, and so on. A typical game lasts about 200 moves, so it averages at least 200 move choices per turn--nearly 10 times as many as in the average chess position.

      (2)The second problem is the evaluation of the end positions. In Go you can't just count up stones, because you have to know which stones are worth counting. Conquered territory is defined as board space occupied or surrounded by "living" stones--stones the opponent cannot capture by removing their liberties. Before you can count a stone as live, you have to calculate several moves ahead just to satisfy yourself that it is really there in the first place.

      Put these two problems together and you get a computational problem that at first glance seems intractable

  40. Re:Another boardgame? Big deal by youthoftoday · · Score: 1

    The sad irony is that as software improves, compiler errors are easier and easier to guess. Now computers a few decades ago... they really knew how to play charades.

    --
    -1 not first post
  41. Just take your 'gut feeling' and... by Anonymous Coward · · Score: 0

    ...play Go without a computer.

  42. Mod parent INSIGHTFUL by ggambett · · Score: 1

    That's exactly it. This is brute force, not AI at all.

  43. Because humans and computers are different by Sycraft-fu · · Score: 1, Troll

    The way humans deal with data is just different from how computers do. Tasks we find trivial they find hard and vice versa. For example if you show a human pictures of cats and dogs and ask them to classify them according to which animal they are, that's easy for us. For a computer, it's a very hard task. However a computer has no problems dealing with an analyzing a 50,000 item long table of numbers, whereas a human needs them converted to another form to make sense of them.

    Well, when it comes to solving games, it's a similar deal. Computers aren't good in the way humans are. They are good by mapping out possibilities, tons of them, and then figuring out based on that. That's how good chess programs work. At their core it is more or less plotting all the possible endpoints several levels deep from a given move. They then calculate the most favourable set and that's how they choose their move. A little more complex than that, of course, but at its core it is simply mapping out billions of board positions and using those to decide moves.

    Thus a similar thing probably would work well for Go, especially if you can do an exhaustive search and go to literally ALL endpoints for every move. It also has unique strengths. Many good human players work off of psychological aspects of the game. Kasparov, for example, was known for "throwing lightning bolts" at the game board, doing things other people couldn't cope with. That doesn't work for a system that just analyzes the current position and where it can go from here. There's no way to confuse something like that, no way to play to a mental state. It simply weighs what you've done, and what you could do from here.

    1. Re:Because humans and computers are different by pclminion · · Score: 1

      Thus a similar thing probably would work well for Go, especially if you can do an exhaustive search and go to literally ALL endpoints for every move.

      Except you can't. Go has such a large branching factor that you really can't get more than a few ply at the beginning of the game, even with the dumbest possible evaluation function (counting your material advantage). We can't even solve chess this way, and it has a starting branching factor of 20 as opposed to Go's 361.

      Many good human players work off of psychological aspects of the game. Kasparov, for example, was known for "throwing lightning bolts" at the game board, doing things other people couldn't cope with. That doesn't work for a system that just analyzes the current position and where it can go from here. There's no way to confuse something like that, no way to play to a mental state.

      It is in fact possible to "confuse" a tree-search game player. Because there is no possible way to search all the way to the end-game, evaluation has to stop at a certain depth. An evaluation function is applied which basically assigns a value indicating how likely it is that this position will ultimately lead to a win. If you can get the computer into a position which looks awesome (according to its evaluation function) but is actually a loss, you've just "confused" it. Until the search starts hitting the end-game, this is always a possibility.

  44. I wrote the first commercial Go program by MarkWatson · · Score: 1

    I wrote Honinbo Warrior in UCSD Pascal and sold it for the Apple II. Sadly, I don't have the code anymore except for a printed listing. Anyway, it played a poor game, slowly.

    I wrote a white paper a few years ago on how I would do 'real AI' and Go (PDF file: http://www.markwatson.com/opencontent/AI_Go_Consciousness.pdf). Really not much content, rather, I was just laying how I would go about it if someone funded me to work on AI Go for the rest of my life :-)

  45. Only one explanation by MT628496 · · Score: 1

    The game is flawed!

  46. Very true. by Mahjub+Sa'aden · · Score: 2, Insightful

    The game is _very_ subtle.
    Absolutely. Last weekend -- Thanksgiving here in Canada -- my family vacationed in Northern Ontario. We didn't bring a television, but somebody did bring a Go set. I set about teaching most of my family how to play it. But what's amazing to me is how long it takes to get an adequate grasp of the basic concepts. Life, death, influence, strength, weakness, playing in the corners and sides, even scoring is hard. I don't even have a good handle on the game, and I've been playing extensively for some five years now.

    In that context, I don't wonder that it's hard for computers to handle Go. The game has facets that are hard to quantify. It's hard for intelligent humans, too. Much like life.

    Sort of makes you wonder; if a computer can figure out Go, how far from that point is real AI? Or does that question even mean anything?
    --
    What is is all that is. Isn't that obvious?
  47. Technically right, but... by Nicolay77 · · Score: 1

    Of course pure number of game states does not equal it.

    But after you know how to play both games, you can also see the richness of experience for yourself.

    I can say that Go can be even more addictive than WoW, if you get really into it.

    --
    We are Turing O-Machines. The Oracle is out there.
    1. Re:Technically right, but... by Anonymous Coward · · Score: 0

      "I can say that Go can be even more addictive than WoW, if you get really into it."

      WTF? So if you really like Go and play it a lot, you can get addicted to it? No fucking shit, Sherlock.

    2. Re:Technically right, but... by fatphil · · Score: 1

      I once played go against one of the top-50 players in one of the top-10 go countries in the world. He gave me a handicap which flattered my beginner status, and only just managed to beat me. He indicated that I played many good moves, and obviously had a reasonable insight into several aspects of the game. I indicated that I found the whole thing a dreadful bore. It's not that I don't like abstract strategy games, far from it.

      Never attempt to project your enjoyment for a hobby onto anyone else. It is _entirely_ subjective.

      --
      Also FatPhil on SoylentNews, id 863
    3. Re:Technically right, but... by ScrewMaster · · Score: 1

      Yes, but which one has the cooler graphics?

      --
      The higher the technology, the sharper that two-edged sword.
    4. Re:Technically right, but... by GeckoX · · Score: 1

      Real Life ftw ;)

      --
      No Comment.
    5. Re:Technically right, but... by jsmyth · · Score: 1

      "I once played go against one of the top-50 players in one of the top-10 go countries in the world. He ...only just managed to beat me." You need to read some go stories and proverbs. Narrowly beating an opponent (especially a considerably weaker opponent) is considered a mark of respect.

      --
      jer

      We may be human, but we're still animals
      - Steve Vai
    6. Re:Technically right, but... by fatphil · · Score: 1

      I'm entirely sure that Oxbridge rivalry would trump any such etiquette.

      --
      Also FatPhil on SoylentNews, id 863
  48. Game complexity by Michael+Woodhams · · Score: 5, Interesting

    On complexity: perhaps the best definition (for matching our intuitive feeling for how complex a game is) I've come across for game complexity is this: Imagine a novice player who avoids glaringly wrong moves (e.g. sacrificing a queen for no benefit in chess) but otherwise randomly choses from the legal moves available to them. Call this a 'level 0' player. Now a player who is smart enough to beat the level zero player 2/3 of the time is a level 1 player, someone who beats a level 1 player 2/3 of the time is level 2 etc. Then the game's complexity is the level of the best human player. If I recall correctly, this gives naughts-and-crosses/tic-tac-toe a complexity of 1, chess was about 20 and go was about 40. Unfortunately, this is all from memory, I haven't found the right magic words to feed Google to get more information.)

    So yes, the game-state complexity can be a very poor measure of actual complexity, but go still has a very strong claim to being the most complex common human game. (An extreme example of high game-state complexity but trivial actual complexity would be a large game of "Brussel Sprouts".

    On the Diplomacy/Axis and Allies comparison. The three games being compared are very different in nature (although they are all zero-sum.)

    Go is two player, complete information, deterministic (as are chess, checkers, hex, naughts-and-crosses/tic-tac-toe) Such a game can, in theory, be completely analysed.

    Diplomacy is multi-player, deterministic, incomplete information because moves are simultaneous. I'm not sure if or how this could be analysed.

    Axis and Allies is (effectively) two player, probabilistic. It could (theoretically) be completely analysed as a very large dynamic programming problem. From a game-theoretical point of view, it resembles Yahtzee.

    --
    Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
    1. Re:Game complexity by evanbd · · Score: 3, Interesting

      This argument is intuitively appealing, and imho it has a lot to say for it. However, it has one major shortcoming:

      Define the game of 3-go to be playing 3 consecutive games of go; the winner of the 3-go match is the winner of the majority of the go games. If player A is 1 level better than player B at go, they will be more than one level better at 3-go, since their winning probability is up to 74% instead of 67%. So, by this definition 3-go is noticeably more complex than go. However, I can think of no meaningful way in which this is actually true.

      Also, if you count steps from a human player who knows the rules and has played a couple games to a human expert, you get 40-50 ranks. But that human player is easily 30 ranks about the true "random but no suicides" computer player. It doesn't take much work to build a computer program 20 ranks stronger than the random player, but that is still a truly *awful* program.

      In the early days of go programming, a very simple algorithm was defined. This is from memory, so it's probably wrong, but it went something like this. If you can capture an opponent's stone, capture a group chosen at random from the largest capturable groups. Failing this, if you have a group in atari that you can rescue from atari, rescue the largest such group. Failing this, if an opponent has a group with less than 4 liberties, play one of its liberties. Failing this, play a random legal move. This turned out to be remarkably potent against early programs, and will absolutely destroy a random player -- yet still lose to even the weakest of human players.

    2. Re:Game complexity by Michael+Woodhams · · Score: 1

      Good points.

      Certainly there are problems with this definition of complexity.

      Where to set the level zero player? "Human novice" is very fuzzy, but "random" could give many levels of 'complexity' within the 'idiotic playing' realm.

      Where to set the top level player? "Best human" makes the complexity depend on how much effort we've put into it. Comparing to "perfect play" is usually computationally infeasible.

      --
      Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
    3. Re:Game complexity by Strilanc · · Score: 1

      You are going to love this new fangled game of mine: probabilistic rock-paper-scissors.

      Paper beats rock 2/3 of the time, scissors beats paper 2/3 of the time, and rock beats scissors 2/3 of the time.

    4. Re:Game complexity by Anonymous Coward · · Score: 0

      FYI, you levels are separated by 117 ELO points (by definition).

      Absolute beginners are given 1000 ELO points in chess, and are separated from very best players (2800 points) by a little more than 15 levels.

  49. Slashdotting the IEEE? Isn't that just cruel? by cheezus_es_lard · · Score: 1

    I would have hoped they'd be well hosted. Instead, "Please pardon our appearance"

    "The IEEE Spectrum Online website is temporarily unavailable while we work to upgrade our features. We apologize for any inconvenience this may cause you. Please check back with us in a day or two to see the new and improved Spectrum Online website. Thank you."

    is IEEE-ese for 'Please someone resurrect our melted processors'

  50. Sounds like Shibumi by aztec+rain+god · · Score: 1

    Sort of makes you wonder; if a computer can figure out Go, how far from that point is real AI? There was a line in Shibumi- something to the effect that Go isn't a metaphor for life, life is a metaphor for Go.

    --
    Sig cannot be found.
  51. fun/games/make a buck at it by Anonymous Coward · · Score: 0

    That's why they have cheap drinks, cheap food and babes with big bewbs at casinos.

    1. Re:fun/games/make a buck at it by fractoid · · Score: 1

      I've really got to go to some better casinos. The one near where I live has more expensive drinks than any club I know of, the food is meh, and the babes with big bewbs are so obviously either (a) hanging around the richest guy they can find, who is in turn throwing away money hand over fist to keep them amused, or (b) if older, spending their rich hubby's money while he works himself to death for them.

      I'd settle for cheap drinks. I don't need the food and the third, I can look at for free. :P

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  52. Nice. by Mahjub+Sa'aden · · Score: 5, Funny

    I like that.

    Sometimes I imagine Go as the essence of life, distilled into a binary adversarial form. Of course, I snap out of it when my neighbours explain I can't just take their cars because "they had no liberties" when I double-park.

    --
    What is is all that is. Isn't that obvious?
  53. Quantum computing??? by ThirdPrize · · Score: 1

    You feed in the starting position of the board, it instantaneously computes all the possible moves and then tells what the most likely outcome is. This is generally the computer winning.

    --
    I have excellent Karma and I am not afraid to Troll it.
  54. 3D go by Michael+Woodhams · · Score: 1

    This idea is original (I haven't copied it from anywhere) but it has probably been independently thought of before.

    A natural thing to ask about a 2D game such as go, chess, naughts-and-crosses/tic-tac-toe is how can it be extended to three dimensions?

    For go, the immediate thought is to play on a 3D grid of cubes. However, I believe (I haven't actually tried) that this will work very poorly. The number of neighbours that each point has will have a huge effect on play. With two many neighbours (6 in the case of a cubic grid) it will be impossible to defend territory, or to capture stones until nearly the entire board fills up. The game would be boring.

    To capture the essence of go in 3D, we need each point to have four neighbours. This can be achieved with maximal symmetry by using either truncated octahedra or rhombic dodecahedra as the board's cells.

    UPDATE: After writing the above, I did a quick search and discovered diamond go which has clearly used the same basic idea. I haven't figured out yet whether it is equivalent to one of my two options.

    --
    Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
    1. Re:3D go by anonymous_wombat · · Score: 1
      I have also thought about this. I disagree with your statement about a cube being boring. You would expect that 3D Go would be a lot harder than regular Go. Either 5x5x5 or 7x7x7 should be possible. You would just be playing closer to the corners and edges in the start.

      The 2,2,2 point has 8 points below it, as does the 4,3 point on a regular board. I found a program that would allow you to play 3D Go awhile ago, but never tried playing an actual game with anyone.

      It seems to me that a first step is to play 3D Go on a cube, and assess how well that works. If it does not seem playable, then alternative geometries should be considered, based on the apparent deficiencies of the cube. It would probably take a few months of playing for an experience Go player to be able to draw any conclusions.

    2. Re:3D go by Michael+Woodhams · · Score: 1

      I'm a poor go player, and I've never tried the 3D Go in a cube, so what I say may be completely off base.

      The problem is that in cubical go, you can't make walls, eyes, or captures.

      In standard go, adding a stone to a group (but not connecting to another group) increases the group's number of liberties by at most two. In cubical go, it can increase by four. This means it is just too hard to restrict the number of liberties a group has.

      If a player is trying to join two groups in standard go, and the opponent places a stone between them, the player has two ways around that stone (left or right). The opponent might be able to block both of these. In cubical go, they have four ways around - it will be very hard to stop them connecting.

      An eye requires many more stones in cubical go. The opponent has many chances to disrupt it. Especially because of the above point, which means that stones placed deep in your territory can very likely still live.

      I think you'll just end up with lots of intertwining filamentary structures until the board becomes so crowded that captures become possible, then the first person to get a capture of a sizable group will win.

      --
      Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
    3. Re:3D go by goulo · · Score: 1

      Yes, cubic go has been thought of by many people many times over the years. E.g. at the European Go Congress in Austria this year, there were a couple of very fancy large rather quasi-Victorian brass looking sets specially built to play it. 7x7x7 is the usual proposed size since 343 is the closest cubic number to 361=19x19.

  55. I also have a gut feeling by foobang · · Score: 1

    After having RTFA, I'd say that the author knows what he talks about. And with techniques he described, the may have a chance to achieve an unprecedented level of computer GO.
    Yet, this unprecedented level would steel be far behind real good players because while techniques described in the article can give the program overwhelming tactical advantage(and even tactics are hard to program in GO), it would steel lack deep strategy skills.
    For example, the article talks about how vital is to be able to solve tsumego(live and depth) problems. Sure, in a top level game, loosing a group in a tactical battle without compensation usually costs the game, but when you play against some one way stronger than you on when it comes to global strategy, you still have to be able to take advantage of your tactical dominance and this is the very thing the program will lack no mater how strong and fast.
    The fact is that in chess, because of smaller board and shorter games. tactics and strategy are more related each to other and in go. This gap is *the* difficulty of go, for programs and humans alike.
    Below is a link to an article that may be of interest in this context: how far are top professional Go players from perfect play. http://bax-myx.livejournal.com/1212.html Disclaimer: I found this text file on IGS years ago but could not find it online anymore, that's why I've put in on livejournal.

  56. http://www.starbridgesystems.com/ by aphxtwn · · Score: 1

    Star Bridge Systems specializes in FPGA computers and tools to program them. It's been a while since I've checked up on them, but I'm pretty sure the NSA was/is one of their customers. http://www.starbridgesystems.com/

  57. Here's an idea by catbutt · · Score: 1

    You should make a CAPTCHA thing where you have to play Go in order to post a comment or whatever. Now that all the distorted text things have gotten to the point that humans can't solve them anymore.

  58. Improbable by grikdog · · Score: 1

    Unlike checkers or chess, Go end positions get MORE complex, not LESS complex, in terms of sheer brute force. Of course, many advanced amateur and pro games get resolved quite early -- leaving what appears to be an "unfinished" game on the board. The problem is that human players tell themselves quite interesting stories about the meanings of these boards, while a computer, presumably lacking a sense of spatial narrative, is clueless. One of the best examples of these outcomes occurs early in the Hikaru no Go manga series; the position left on the board is a famous 19th century board by Shusaku Honinbo, and the defeated thug's demeanor (he looks like he's seen a ghost) is apposite and appropriate. The number of possible Go positions is 3**(19*19) - 1, by the way.

    --
    ``Tension, apprehension & dissension have begun!'' - Duffy Wyg&, in Alfred Bester's _The Demolished Man_
    1. Re:Improbable by goulo · · Score: 1

      "The number of possible Go positions is 3**(19*19) - 1, by the way." No, 3**361 is merely an easily seen upper bound on the number of possible board positions (by considering that each point could be empty, black, or white). But a huge number of them are not actual legal positions, because they have groups with no liberties. (Why did you subtract 1 in your formula, by the way? That makes no sense to me.) The actual number of possible positions is much messier to calculate.

    2. Re:Improbable by grikdog · · Score: 1

      You win. Upper bound is fine. The computer will have to decide if the position "makes sense."

      --
      ``Tension, apprehension & dissension have begun!'' - Duffy Wyg&, in Alfred Bester's _The Demolished Man_
  59. The link seems slashdoted atm. by sectionboy · · Score: 1

    For those of you who have access to ieee online journal, it is still available through http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6

  60. Oblig. by sectionboy · · Score: 1

    Just FYI. The author: Feng-hsiung Hsu was the architect and the principal designer of the IBM Deep Blue chess machine. http://en.wikipedia.org/wiki/Feng-hsiung_Hsu

  61. Perfect job for Actel FPGAs by Anonymous Coward · · Score: 0

    For my research, I've developed a board with multiple FPGAs to solve another similar NP optimization problem. I'm using Actel Igloo FPGAs.

    They're decent performance, medium-sized FPGAs with a very clear advantage over all competitors in terms of their power consumption. Power & heat are major issues for my board, and I found that the Igloo parts were perfect. (The fact that they're flash-based also cuts out on the superfluous EEPROMs required to program the older SRAM-based FPGAs.)

  62. "Mere formalities" are important by CustomDesigned · · Score: 1
    Shortly after I learned the game in college, and was looking for players, I met an Asian guy who had advanced a few levels in a club and offered to instruct me. We played our first game, and he instructed me on how I had "lost" the game already in the first few moves. Well, this wasn't Martial Arts, so I said, "show me", and concentrated on smaller areas of the board and played like Kudzu, switching to an agressive play in another area the instant it looked like I was starting to lose in one area. It worked, and I beat him handily despite having borked the subtle opening moves (and I'm quite confident he was giving me good instruction). This happened several times, and he complained that it was no fun playing with me because it was so tedious dealing with my amateur and unsubtle style of play. But it beat him. But I lost a good instructor (seem to have borked the social gameplay as well).

    Nevertheless, the take home point is that subtle threats and counter-threats are useless unless you are prepared to actually carry them out in tedious detail.

  63. The Master of Go by solferino · · Score: 1

    For a work of literature involving the game, I recommend The Master of Go by Kawabata Yasunari. The story of a match that lasted almost six months between the master and his challenger.

  64. strawman by Non-Huffable+Kitten · · Score: 1

    GP didn't even mention number of states. The only word he used that comes close is "complexity", but that is far from unambiguous.

    --
    Medium cat is MEDIUM.
  65. Go just needs a patch for humans to stay ahead by Anonymous Coward · · Score: 0

    I remember when Warcraft 3 came out the computer was pretty good. But as soon as balance patches were released and the AI wasn't improved, the AI effectively got a lot dumber. Just change the rules slightly and you'll need to rewrite the whole program. Change the rules of Go once in a while, and humans will stay ahead.

  66. Once cracked every computer will have mastered GO by mrnick · · Score: 1

    While cracking, exhaustively, the game of GO they will be creating some kind of data structure, some kind of decision tree, and then ever computer in the world will be able to use the stored file and make the best possible move every time.

    You have to realize that out of those 10^60 possible moves many are redundant, like moving the same piece back and forth that does not change the outcome the game except for extending its duration. It's just a guess but I would not be surprised if the data structure to hold a perfect game of GO would easily fit on a DVD or CDROM. There are huge portions of the total possible moves that get deleted from the finished decision tree because they lead to defeat and can be avoided or are just silly and do not impact the outcome of the game. Any solution that doesn't end in victory or in worst case stalemate and is avoidable, will be deleted. It is possible that their might be solutions that lead to defeat that cannot be avoided but as soon as the computer realized it was in that scenario it would forfeit making the tree even smaller because the computer wouldn't need to know the moves once it reached that portion of the tree that it cannot win or stalemate. I doubt any human could beat any computer playing with such a tree, unless the human had memorized one of the scenarios, if any exist, from the tree that leads to human victory of which the computer could not avoid.

    It would be like playing tic-tac-toe with a third grader. They think it is possible to win but even young players know that you can always force a stale mate and you can only win if someone does something stupid.

    I have had talks with many people more intelligent than myself about doing this for the game of chess. They all believe that it is not possible to do with todays computing power. Chess is estimated to have around 10^153 possible moves. Though they all agreed with me that many of those moves could be removed from a final game play tree and that after creating and pruning the tree it is likely that any personal computer would be able to use it to play a perfect game. There would be very little processing to do in making any move. This is because the chess application would not need all 43, the average possible number of moves in a single turn, it would only need the one that is ranked the highest. This also shows another way the final tree for the game of chess would be reduce in size. Until a complete tree for all the possible moves, for the game of chess or GO (or any game), had been computed and stored nobody will know how long the final tree might be. Who knows by then you may be able to have play a perfect game of chess against on your cell phone or it may be too large to be practical.

    I have created a decision tree for the game of tic-tac-toe, from my head (not computed), but I think everyone knows that one (lol).

    It would be interesting to see if these kinds of problems could be solved using distributed computing over the Internet, like SETI does.

    Nick Powers

    --

    Encryption: I may not agree with what you say, but I will defend your right to encrypt it...
  67. It's 10^170, not 10^60 by PacoSuarez · · Score: 2, Informative

    The article says *chess* has about 10^60 positions. Go actually has 10^170. Now all the people that have made silly arguments about how 10^60 means the game is untreatable should apologize, I suppose. Oh, and go will fall too. My bet is 20 years before a computer beats the best human players. We know more about how to write a go program than most people think.

  68. True, and another observation... by wfolta · · Score: 2, Interesting

    Speaking of how hard it is to even decide if a board position is good or bad, there are three more things I can add:

    1. One of the key concepts of Go is "influence". Stones literally radiate influence. Different groupings of stones, in different regions of the board, and in opposition to other groupings, radiate differing amounts of influence. And in a Heisenberg-ish kind of way (at least during the early stages of a game) pushing too strongly for influence will create less space and pushing too strongly for space will lead to less influence. The master strives for just enough more influence or space to win.

    For example, fencing in areas near the edge of the board early on. You may be solidifying space -- though no guarantees if you are not very certain of what you are doing -- but you are giving your opponent great influence -- if they play well, no guarantees.

    No doubt chess has a similar concept (pieces, control, development potential), but it just feels different... Not as fluid or symmetrical in so many ways.

    In some sense, you are creating your pieces by placing atoms on the board. No doubt chess has a similar concept, say having a bishop and a knight work together, or two rooks, etc, but the small size of the board and the severe movement restrictions and clutter makes these chess meta-pieces much more awkward than Go.

    2. Sente (initiative) is a very important part of the game. You may jump around the board making five or six moves in sente, then finally go back to patch up a weakness in gote (yielding sente). One of the difficulties of the game is deciding how urgent moves are, and thus when you should yield sente in order to address them. (Of course, the perfect solution is to figure a way to make the urgent moves in sente, but...)

    Of course, in Go it is always advantageous to move if you can -- as opposed to, say, chess -- and the Go board is large-enough scale that it's easily possible to have a dozen places you'd LIKE to move but you have to rank them and decide how long you can postpone most of those moves so you retain sente. I just don't see this in chess -- though perhaps I don't know it well enough.

    3. Go has an aesthetic sense. You might say that it's simply a different word for intuition and chess is no different. But I don't think so, because chess does not allow you to move pieces arbitrarily to fulfill "balance" or other aesthetic concepts. I am only an intermediate Go player, but I have been amazed at the number of high-level games I've viewed over the years and I've been able to see where a move must go, based almost entirely on an aesthetic sense that the move somehow balances or fills in something.

    (The problem of course is sente -- WHEN should that move be made -- as well as playing the entire rest of the game at that same level of insight, stringing together move after move. Perhaps that's one way that Go is like golf. One of the reasons that golf is so addictive, IMO, is that any good player occasionally hits a shot that's as good as Tiger Woods. The rest of the game does not go that well, but they get a tantalizing taste of greatness for an instant and that's very addictive.)

  69. Duets with Herb Simon... by MrMadnutz · · Score: 1

    One of my favorite times in pittsburgh. Went to fix his PM6500 (replacing his dear old Mac II that lasted him for over a decade) and ended up playing a duet on his living room baby grand. :) 2 years before his unfortunate demise... loved that guy.

  70. Computationally impossible by jubalj · · Score: 1

    We are probably never going to have an (earth based) computer that is able to compute 10^60 diffierent possibilities, given that the earth has less atoms and electrons than that (http://pages.prodigy.net/jhonig/bignum/qaearth.html). Assuming that each of the computed possibilities is expressed(stored/presisted) by at least 1 electron. Its probably at least a few orders of magnitude more now..

    Perhaps quantum computing may change that?

  71. FPGA machines from RAMP by chkn0 · · Score: 1

    The RAMP project's hardware would be a good place to start. They have 105 FPGAs per rack. There's enough FPGA-space in each rack to simulate 1008 general purpose CPUs.

  72. scalability... by mathfeel · · Score: 1

    Suppose it happened, but after pissing many player off, they decided to increase the board to 20x20 (by a single line)...how much harder would it takes for the computer?? The number of possible board position scales exponentially.

    --
    The only possible interpretation of any research whatever in the 'social sciences' is: some do, some don't
  73. 10^60 figure is wrong by Shimrod · · Score: 1

    If you read the article carefully, you will see that the 10^60 number refers to chess, not go. In go there are 10^170 legal positions. Building a complete game tree would take at least 361! (10^768) nodes, but considering captures, this number grows to a stunning maximum of 10^(10^48) nodes. Good luck with the brute force ;-)

    I am a reasonably strong amateur player (currently 3 dan), and I'm willing to bet that no computer will beat me at go in the next 50 years (Assuming I don't get a brain tumor/dementia/etc).

  74. For a thoroughly discussion: computer-go by thingie · · Score: 1

    This article has been thoroughly discussed on the computer-go mailing list. There are a pair of threads at:

    http://computer-go.org/pipermail/computer-go/2007-October/thread.html

    As a long-time subscriber and poster to the list, I think the best thing about the article is the increased visibility it gives to the problem of computer-go.

    cheers

  75. error in summary. by TheUz · · Score: 1

    see http://en.wikipedia.org/wiki/Go_complexity

    unless i am missing something, the game is *much* more complex than stated.

    --
    ^..^
  76. Chess positions vs atoms by MGDruss · · Score: 1

    There was an interesting quote in this article about the number of possible chess positions, "tree containing about 10^60 positions. That's about a thousand times the number of hydrogen atoms in the sun."

    It is often misquoted that the number of possible chess positions is greater than the total number of atoms in the universe, however this is saying that it is less than the number of atoms in a single galaxy.

  77. Recursion by Anonymous Coward · · Score: 0

    I wonder if anyone has tried to reduce the size of the board and solve that with brute force. Then increase the size of the board by 1x1 and solve that. Repeat this process a couple of times and maybe one can find a recursive relationship that will make it easier to solve the game.

  78. Does any real-world problem translate into go? by andr0meda · · Score: 1


    Just a question. I'd consider it somewhat wasteful to let a computational sucker like described in the article play "Go", but I can imagine that 1) the methodologies of attacking problems is valid so it can be applied to other problem domains, but 2) I can also imagine that strategic and planning problems could be formalized as "Go" problem fragments, or even "Chess" problems. Has anyone done any work on that?

    --
    With great power comes great electricity bills.
    1. Re:Does any real-world problem translate into go? by Michael+Woodhams · · Score: 1

      There is a construct in Go known as a 'ladder'. Unless one player abandons their stones to capture, it grows diagonally across the board. If nothing else intervenes, when the edge of the board is reached, the endangered stones get captured. I recall seeing something where arangements of stones in the path of the ladder could be used to encode an NP-complete problem. Sorry, I can't find the reference.

      --
      Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
  79. Who plays black? by Araneas · · Score: 1

    From TFA:
    FENG-HSIUNG HSU earned a Ph.D. in computer science at Carnegie Mellon University, ...
    Hsu now manages the platforms and devices center of Microsoft Research Asia, in Beijing.
    ...
    To experiment with a Go program, readers can download GNU Go at http://www.gnu.org/software/gnugo. Offered by the Free Software Foundation, in Boston, this free program has performed well in recent computer Go events.

  80. Not 10^60! RTFA! by nwbvt · · Score: 1

    This is getting old, but...

    The number 10^60 in the article was referring to the number of end positions in chess, which is much easier to 'solve' than Go. The real number for Go is over a googol times that. Thats 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 times the number you gave, assuming I counted correctly. Though of course these "brute force" algorithms are not solving each of those any more than Deep Blue solved each of the 10^60 chess end games. They are merely searching down a dozen or so plays into the game.

    And you are also incorrect in disputing the gp's assertion that the game is subtle. Unlike chess, where there is an easily defined end of game, Go has no such concept. The game is over when both players say it is over. The article also covers how facts like those make Go AIs even more difficult to program.

    --
    Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
  81. Re:Once cracked every computer will have mastered by Anonymous Coward · · Score: 0

    many are redundant, like moving the same piece back and forth that does not change the outcome the game except for extending its duration


    Have you ever actually played go? Or even know the rules?

  82. Re: Go vs Chicken by Anonymous Coward · · Score: 0

    Based on what you've written about both players passing, this tells me that Go is more like Chicken than it is like Checkers or Chess. Basically the only way to "solve" Go is to solve the human psyche of your opponent!

    Imagine the scene in Footloose where Kevin Bacon has his shoelace stuck in the tractor. You're losing, but some random move might turn the number of stones in your favor and cause your opponent to pass. If so, you could still win.

    Btw, who would pass when they're in a losing position? Someone who just wants the game to be over?

  83. Re:fp by The+Clockwork+Troll · · Score: 1

    I thought the subject of 1999's Go was Ecstacy, not Crack, and none of the 10^60 outcomes had Katie Holmes doing full frontal, so why is this occupying the time of so many bright people?

    --

    There are no karma whores, only moderation johns
  84. What sort of programmer is best for this job? by pross356 · · Score: 1

    At the very end of the article Hsu says: "At Microsoft Research Asia we are seeding university efforts in China with the goal of solving some of the basic problems." What sort of grad student would make the best project manager? Would it matter if he were a rather weak player, as Hsu was in chess, back in his own grad-student days at Carnegie Mellon? Or should he be someone like Vasik Rajlich, author of the chess program Rybka, who is an International Master at chess? (Rajlich has said that he decided on that project becaues "I figured there were about 2000 people in the world stronger than me in chess but not one chess player that was stronger than me in programming.")

  85. Get Cracking by PingPongBoy · · Score: 1

    This artificial technology sounds pretty impressive. My oh my, a trillion per second....

    But if you want to handle 10^60, you need real technology, which nips through a septillion positions in each yoctosecond until the job is done.

    So a common game of modest construction accessible to people worldwide would be solved, and the joy reduced to a lookup table. The poor will have to construct even more complex amusements. Can't say it's nice to be poor.

    --
    Know your pads. One time pad: good for cryptography. Two timing pad: where to take your mistress.
  86. How complicated is Go? by MadMagician · · Score: 1

    Elwyn Berlekamp [Berkeley math prof] and David Wolfe wrote a book, "Mathematical Go: Chilling Gets the Last Point," in which they analyzed some "end game" problems for Go. They found situations in which moves could be compared, but the "number" system involved many levels of infinitesimals, reflecting the subtlety of the game.

    1. Re:How complicated is Go? by nodan · · Score: 1

      While probably being mathematically correct, what Berlekamp writes is pretty much irrelevant for playing go, both for human and computer players.

  87. Neural networks by Fifth+Earth · · Score: 1

    Methinks a better approach to the problem would be some sort of evolved neural network, like the Blondie24/Anaconda program for playing checkers. It's not the best program ever made, but it was very, very good, and its skill would have scaled if it was given more computing resources. The same program, with minor modifications, could have played Go.

  88. How to create a good computer Go player? by id3as · · Score: 1

    I never played or tried GO, but if Go has such a high level of possibilities, then it has to be possible to build various structures in it's space.

    This means that in fact the game must be based NOT on evaluating all the move possibilities, but rather freely "moving" in the space, building and preventing the other player to build certain it's OBJECTS, and groups of objects.

    Find out from the professional players about what type of objects they try to create and arrange, when playing a game.

    A. Think of algorythms for creating these kind of objects effectively.

    B. Think of methods to obstruct the creation of such kind of objects effectively.

    Balance the A and B actions depending of the value of the identified objects in question.

  89. ALive by andr0meda · · Score: 1

    I bet that ALive is a nice example of what can happen if the rules of Go are a little bit broadened. Solving ALive is whatone whould possibly call "game theory", so it would be interesting if both approaches would converge.

    Just thinking..

    --
    With great power comes great electricity bills.
  90. Re:Improbable (Less One) by grikdog · · Score: 1

    Less one, of course, because the empty Go board is not a member of the set of Go positions -- no stone has been placed, no contest has begun. Board plus stones, minimum one stone, and that black, defines a Go position. The notion of null set is not applicable to the spirit of the game.

    --
    ``Tension, apprehension & dissension have begun!'' - Duffy Wyg&, in Alfred Bester's _The Demolished Man_
  91. Re:Improbable (Less One) by goulo · · Score: 1

    The empty board is the start state, and certainly a member of the set of Go positions, I suspect most Go players would say. Would you say that the start state of a Chess game is not a member of the set of Chess positions?