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

 



Forgot your password?
typodupeerror
×
Games Entertainment

NYT Story On Go Programs And AI 246

mykej writes: "The NYT (registration required, blah blah) has a story on Go, the hardest game for computers to play. From the article: 'Programmers working on Go see it as more accurate than chess in reflecting the ineffable ways in which the human mind works. The challenge of programming a computer to mimic that process goes to the core of artificial intelligence, which involves the study of learning and decision-making, strategic thinking, knowledge representation, pattern recognition and, perhaps most intriguingly, intuition.' There are a few throwaway lines about Nash from 'A Beautiful Mind,' although they don't mention the game he invented after getting frustrated with the inconsistencies of go."
This discussion has been archived. No new comments can be posted.

NYT Story On Go Programs And AI

Comments Filter:
  • History on Go (Score:5, Informative)

    by RobinH ( 124750 ) on Thursday August 01, 2002 @09:16AM (#3991447) Homepage
    Try this site. [well.com]

    It also has instructions on how to teach Go, if you're interested.
  • A tidbit about Go (Score:4, Informative)

    by Blind Linux ( 593315 ) on Thursday August 01, 2002 @09:19AM (#3991461) Journal
    lie in the way that the decisions are made and the differences in how they affect the playing field. The average game of Go actually lasts longer than the average chess game and is far older...
    For starters, Go in its pure form is played on a 19x19 board as supposed to an 8x8 board. Chess's famous plays, games and styles have all been archived, whereas Go's strategies are largely abstract and can only be learned by repeated play. The game only begins to take structure after 30 to 50 moves. According to this [well.com] site, Go has approximately 10 to the 750th power of possible board positions. This makes it a very hard game for computers to learn.
    On the historical side, Go is a complex game that originated in China close to 4000 years ago and has remained constant to its' original form despite being introduced to many southeast Asian countries since.
  • by paradesign ( 561561 ) on Thursday August 01, 2002 @09:26AM (#3991498) Homepage
    im sure that is a minute fraction of it but, if you read the article,
    A Go-playing computer would take about 30,000 years to look as far ahead as Deep Blue can with chess in three seconds... ... If processing power were all there was to it, the solution would be simply a matter of time, since computers are growing ever faster. But the obstacles go much deeper. Not only do Go programs have trouble evaluating positions quickly, they have trouble evaluating them correctly.
    RTFA
  • Go programs (Score:2, Informative)

    by Janitorial_One ( 574086 ) on Thursday August 01, 2002 @09:28AM (#3991512)
    For an example of how elementary a regular Go AI is, visit kgs.kiseido.com and click "Play Go Against Your Computer". You'll notice how sometimes the computer passes for no reason, or continutally defaults the game in certain stone patterns.
  • OT: Nash's game, Hex (Score:3, Informative)

    by droid_rage ( 535157 ) on Thursday August 01, 2002 @09:29AM (#3991514) Journal
    Hex was actually first created in 1942 by a Danish mathematician, Piet Hine. It was then discovered independantly later on by Nash in 1947. It is another game which has only been solved on small boards. A good beginner's game (written in java) with 7 hex to a side is available here [mazeworks.com] and a better one with more info can be found here [earthlink.net]. There's also a games site where you can play this against other people, but I'm at work and can't find it now. Sadly, there is seldom anyone else there :-(.
  • Re:A tidbit about Go (Score:5, Informative)

    by flipflapflopflup ( 311459 ) on Thursday August 01, 2002 @09:35AM (#3991534) Homepage
    Whilst I'm personally a Go fan, not a chess fan, I don't think I agree with your arguments.

    >Go in its pure form is played on a 19x19 board as supposed to an 8x8 board
    So? What has the size of a board got to do with it? In chess you can move pieces around, in GO you cannot.

    >Chess's famous plays, games and styles have all been archived, whereas Go's strategies are largely abstract and can only be learned by repeated play
    Not really true. There are masses of games available as .sgf files that you can study to your hearts content. THere are many clasic moves to make in certain positions, etc.

    >The game only begins to take structure after 30 to 50 moves.
    Again, not really. THere are masses of standard opening patterns (fuseki), and also many standardised plays (joseki) that can go on during a game. A whole lot goes on in the first 20 - 30 moves to shape the rest of the game.

    Go is a great game, it doesn't need imbalanced comparisons with chess to prove it, you just need to play the game a while to realise that. Maybe you should try.

  • Hikaru no Go (Score:4, Informative)

    by Spacelem ( 189863 ) on Thursday August 01, 2002 @09:40AM (#3991563)
    I've just started playing Go recently with my flatmates and a friend. It's all because of this amazing anime series "Hikaru no Go" about a boy who meets the spirit of a thousand year old Go master from the Heian period, who teaches and encourages him to start learning the game. From there his own love of the game develops, and he heads towards being a pro.

    HNG was sponsored by the Japanese Go society as a way of making Go more popular, and Japanese Go schools are currently being swamped by new players. It's up to episode 38 already, so you'll have some catching up, but the fansubs are great. This link http://www.toriyamaworld.com/hikago/ has some of the original manga if you're interested.

    Go and find out more about Go!!!
  • Yes, go is harder (Score:3, Informative)

    by jo-do-cus ( 597235 ) <johocus@zonnet.nl> on Thursday August 01, 2002 @10:04AM (#3991727)
    In fact, there are quite a large number of reasons why Go is harder for computers than chess.

    First, there is the board size and the fact that you can play (almost) anywhere on the board, which accounts for the large branching factor (number of possible moves in each position) for the search tree.

    Next, there is the fact that games take more moves to finish (about 300 ply, i think, for about 80 for a chess game), which makes the search tree even more staggeringly big. Many many millions of times bigger than that of chess, even when you do a shallow search.

    Then there is the difficulty of deciding when the game is over. In go, this happens when both players pass, so this means you have to know when there are no sensible moves anymore. This turns out to be a major problem, whereas in chess the end of a game is more clearly defined.

    In fact, it is even very difficult to determine the score for a game when both players have passed. Especially in human expert games, end positions require a great amount of understanding of the game to determine the score.

    These, and many other reasons, make Go a very difficult game for a computer. Many (brute force) search/evaluation methods we use in chess and checkers are really not up to the task of playing Go. So we try and figure out some more 'intelligent' methods...

    BTW, I have not read the NYT article, but i really doubt they can say anything sensible about 'intuition'. We don't know what intuition is, and even if we would, I think the strenghts of computers lie elsewhere. Let people do what they are good at (intuition, fuzzyness), let computers do what they are good at (count really really fast)...
  • by Anonymous God ( 572329 ) on Thursday August 01, 2002 @10:08AM (#3991762)
    I was at Game 2 of the 6 game Deep Blue-Kasparov series and felt that perhaps Kasparov was making moves to throw off DB. Maybe this cost him the game eventually.

    It was a great day for AI but in retrospect a sad day for chess. However it's going to a long time before Chess engines play chess with attitude, emotion and an individual style. If Chess engines just used minmax, alphaBeta pruning, the quality of play would not be very high. Storing opening lines and end game rules makes it a much tougher opponent.

    However when these programs are able to store every combination of every possible game and then based the outcomes move up the tree to decide what move to make Then chess will truly be dead.

    That will take more than a few EMC boxes! - More like (~35 options per move (starting with 20), ~100 moves per game) = 35^100 = ~2.55e+154 positions. Roughly assuming each position uses 64 bits = 1.85e+143 TB (> a googol Tera bytes!) When you have this 'database' 'populated' you can tell what moves ensure sucess by looking at the end node outcomes.

    But for now Go play chess !

  • Re:Hikaru no Go (Score:2, Informative)

    by Dr. Smoe ( 18220 ) on Thursday August 01, 2002 @10:16AM (#3991819)
    There's actually an article [bbc.co.uk] about this on the BBC News web site today, though it doesn't say a whole lot more than the original post. It spends it's time emphasizing how this is causing a revival of Go in Japan.

    Dr. Smoe

  • by mechner ( 88983 ) on Thursday August 01, 2002 @10:36AM (#3991982)
    A more in-depth article on go programming, from the point of view of a programmer and a player, originally published in The Sciences: http://mechner.com/david/compgo/ [mechner.com] Click on "All Systems Go".
  • by Anonymous Coward on Thursday August 01, 2002 @10:38AM (#3991987)
    There are many reasons why go is harder to pogram than chess. Among them:
    1. The game space is much larger, perhaps 220 half moves with typically a dozen plausible alternatives per move, compared with, say, 100 half moves and typically fewer plausible alternatives. This alone comes to dozens of orders of magnitude.
    2. At various times in the game, quite different strategic issues become most important, sometimes accurate reading, sometimes strategic placement, sometimes choice of board area, sometimes choices between "attack" or "reduce area", etc. Programs tend to be bad at this sort of planning.
    3. The large branching factor and the interplay between openings in different corners mean that the opening book, while vast, is much less stereotyped than in chess. A corner opening which is good in one situation can be bad in another, the difference being the presence of a stone or two in remote areas of the board.
    4. The fact that the stones, once played, pretty much stay put means that it is relatively easy for humans to visualize long sequences. Even a week-end player may need to visualize the result of "ladder" sequences 50 half-moves long, and can do so in a few seconds. Forcing computers to deal with this search horizon all the time -- or figure out when not to -- makes the searches even more of a bottomless void.
    In conclusion, though chess is much higher profile in the west, considerable effort here and in Japan and to some extent China has been put into go. There are many reasons why go is indeed harder to program -- much harder.
    The strongest programs in the world are currently a bit better than 10 kyu on the Japanese scale. This is a level which is exceeded by more than 80% of the entrants at the US Congress. (Which will take place in Chicago next week, for anyone interested in seeing real go.)
    -- David Erbach
  • Re:History on Go (Score:2, Informative)

    by ergo98 ( 9391 ) on Thursday August 01, 2002 @10:38AM (#3991996) Homepage Journal
    this [usgo.org] pdf also offers an extremely good tutorial of the game.
  • by gatekeep ( 122108 ) on Thursday August 01, 2002 @10:39AM (#3991998)
    For those of you interested in learning more about Go, here's some links to resources I've found helpful since starting to play 3 weeks ago.

    k5 had an article [kuro5hin.org] about go which is what initially piqued my interest and got me started in the game.

    Kiseido Go Server [kiseido.com] is my favorite place to play online, and very newbie friendly.

    Some great introductions are available from Kiseido [kiseido.com] The Interactive Way to Go [playgo.to] and Tel's Go Notes [telgo.com]

    Uligo [g0ertz.de] and Goproblems.com are great places for learning how to play in common situations.

    If you prefer a phyiscal board and stones check out Samarkand [samarkand.com] and Kiseido [kiseido.com]

    Also, anyone in the Chicago area should check out the Evanston Go Club [easyaspi.com]

    A word of caution, if you decide to learn go, expect to lose most of your first 50-100 games. It's a long road, but once you start making progress, you'll grow quickly. I know I sure have. Anyone who's up for a game look for 'jjarmoc' on KGS.
  • Re:Versions of Go (Score:2, Informative)

    by Anonymous Coward on Thursday August 01, 2002 @10:39AM (#3991999)
    Nonsense - there are NO major variations of the game of GO (baduk, weiqi). There ARE other games that use a similar board (grid) and stones - these are NOT Go. Othello is NOT Go. These other games are NOT Go.

    One of them is Go Moku - a children's game mostly - played on the same board, otherwise known as "five in a row."

    There are minor rule variations in modern Go, but these do nothing to change the basis and play of the game except to a very, very minor extent.

    Perhaps these other games are interesting, but don't confuse them by putting them all in the same category. They're not.
  • Re:Nash and hex (Score:2, Informative)

    by TheShadow ( 76709 ) on Thursday August 01, 2002 @10:52AM (#3992098)
    Umm... I think most people know that the telephone was invented by Alexander Graham Bell. Hence Ma Bell and all the Baby Bells.
  • telephone invention (Score:2, Informative)

    by Transient0 ( 175617 ) on Thursday August 01, 2002 @10:57AM (#3992135) Homepage
    this is off-topic, but i need to say it.

    thomas edison did not invent the telphone.

    he had nothing to do with it,

    It was Alexander Graham Bell, a Scotsman living in Canada, who invented the telephone.

    There WAS a race for the patent, because at least four different researchers were indpendently working on the same project at the same time.
  • by big_debacle ( 413628 ) on Thursday August 01, 2002 @11:12AM (#3992246)
    Here's a neat little (9x9) free version of The Many Faces of Go. Download Go [smart-games.com]

    It provides a nice taste of go for noobs.

    My only thought is that if computers are no good at Go, then I must really stink since I can't even beat the free intro version most of the time.
  • by hether ( 101201 ) on Thursday August 01, 2002 @11:26AM (#3992385)
    Slightly off topic, but Britain has a Go Association [britgo.org]. I imagine they are pretty pleased to see the game coming back in style. They have lots of info about the game, downloads, etc. available.

    The BBC had a story in their CBBC kids section about Go just yesterday or the day before.
    http://news.bbc.co.uk/cbbcnews/hi/world/newsid_216 3000/2163584.stm [bbc.co.uk]

    I'd never heard of the game before I saw this story. I've obvsiously never played it, but they way they described it, it seemed like games could take a very long time when you use the larger board. I could see how this could be very complicated.
  • IGS is also good (Score:2, Informative)

    by nyri ( 132206 ) on Thursday August 01, 2002 @11:49AM (#3992562)
    I prefer IGS server [joyjoy.net]. Client is way worser than with KGS, but it easier to get to play in IGS. Also pros hang out in the IGS.

    -- nyri
  • US has one too (Score:3, Informative)

    by pls2917 ( 97490 ) on Thursday August 01, 2002 @11:55AM (#3992620)
  • Re:Hex (Score:2, Informative)

    by identity0 ( 77976 ) on Thursday August 01, 2002 @12:15PM (#3992766) Journal
    Actually, if you read the book "A beatiful mind", Sylvia Nassar has corroboating stories of Nash's invention in 1949 - after Piet Hein's invention, but before it was marketed by Parker brothers. It was apparently a bit of a fad there at the time.
  • by limekiller4 ( 451497 ) on Thursday August 01, 2002 @12:17PM (#3992789) Homepage
    If any Slashdotters are interested in Go and reside in the Boston area, there is a 24-hour Go club (only two exist in the US) in Somerville (Davis Sq. stop off the Red Line T, about 5km or so away from Harvard) is the Massachuetts Go Association [oat.com]. While I'm not a member any more (moved to Rhode Island), they're a great club and very much interested in helping new players become familiar with the game. Their book selection in the library is quite impressive as well, covering all the obvious topics (fuseki, joseki) as well as strategy, tactics, theory, etc.

    Generally, a newcomer would start off on board with a 9x9 grid and progress from there to a 13x13 and then a 19x19. The great thing about go is that since each piece (stone) is precisely the same as any other stone, it is quite straightforward to handicap a strong player so that an equitable game can be found vs. almost anbody simply by giving the weaker player position on the board before the game begins.

    It's a fantastic game, and without being too bombastic (I hope), it can teach the player quite a number of things entirely outside the scope of the game itself.
  • by crisco ( 4669 ) on Thursday August 01, 2002 @12:18PM (#3992793) Homepage
    GnuGo is available [geocities.com] for the Palm. It is a relatively weak AI, even I learned to beat it as a beginner.

    AIGO [so-net.ne.jp] is a shareware Go game for the Palm. It has a stronger AI.

  • by Anonymous Coward on Thursday August 01, 2002 @12:49PM (#3992997)
    There are two things that interact to make a good program in most of the games out there - chess, checkers, othello, Lines of Action, etc:
    1. A very fast evaluation function that produces some kind of score for the value of the position (positive is good, negative is bad). Many chess engines can produce 200.000 evaluations and up per second on an ordinary PC.
    2. A search method that enumerates all possible moves, from the starting position, enumerates all moves from these, and so on, and then evaluate the positions at the leafs of this search tree.

    Well, that's the basic theory. Of course, if you look at the details there are many many optimizations that you can do so that you won't have to look at all the end nodes. The process itself is called minimax search because you try to maximize your score and the opponent tries to minimize it. The basic optimization is called alphabeta cuts and it works by cutting of a large chunk of the tree once you have found that one move is refuted by an opponent move. You don't have to search for more refutations once you have found one. There are more sophisticated optimizations but they are not interesting here. See http://www.xs4all.nl/~verhelst/chess/programming.h tml for more details.

    Anyway, the effectiveness of this search is heavily dependent on the so called branching factor, i.e. how many moves are possible to do at a certain position in the game. For chess, this is around 35, for othello somewhat lower (20ish?) and so on. Go has a branching factor of more than 200 almost all of the game. Naturally you can't search as deep when you have to take into account 200 moves as you can when you are only looking at 35.

    The next problem with go is that there is no fast evaluation function. In chess everything interacts with everything else very closely. In go, the board is so big that there can be isolated small fights which don't interfere with each other. However, most of the time they do, and in very intricate ways. It is said about go that you can lose every local fight in a whole game and still win the game, just because you managed to lose the local fights in the right way. The canonical example of this is that you let the opponent invade all the corners and live small and then you get a big territory in the center.

    Gnu Go (http://www.gnu.org/software/gnugo), a program that I have been working on, evaluates a position exactly once for each move. There is no global search with moves played and unplayed. Instead there is a big pattern database that suggests interesting things to try, like building territory, attack a weak group, defend your own groups, invade, escape, etc. But all these are local goals, and there is indeed search to see if these goals can be fulfilled. But once we know which local goals can be fulfilled and which can not, the real difficulties begin.

    The program has to decide which move to actually make on the basis of the global side effects of the moves that satisfy the local goals. In the end, something called Combinatorial Game Theory (invented by a guy named Berlecamp) can be used, but early in the game you have to use thousands and thousand of hand crafted lines of code just to try the combinations that the programmers anticipated.

    So to summarize:
    1. There is no fast evaluation function in go
    2. Minimax search is difficult because the branching factor is too high.
    3. Local fights interact in non-trivial ways to create a mess of threats and possibilities that nobody yet has managed to sort out.

    Inge Wallin
    Member of the Gnu Go team
  • by Anonymous Coward on Thursday August 01, 2002 @06:22PM (#3995269)
    Have a look at GnuGo, it's exactly what you want to
    do and it plays pretty good already.

    Sorry for posting as anonymous but i'm too lazy to create a new account now ;)

Lots of folks confuse bad management with destiny. -- Frank Hubbard

Working...