120 likes | 246 Vues
Go is a strategic board game played on a 19x19 grid by two players who alternate turns. Players can either place a piece or pass during their turn. Capturing pieces requires eliminating all of their liberties, and the game concludes when players consecutively pass. Challenges in programming Go include the vastly complex game tree and the need for advanced evaluation functions. Techniques like pattern memorization and local searches can enhance AI performance. Despite advancements, the game remains challenging, requiring clever strategies and foresight.
E N D
Rules of Go • Played on a 19 x 19 board • 2 players alternate turns • On a turn a player can place a piece or pass • Once all a piece’s liberties have been captured, the piece is removed • The game ends when both players pass consecutively
Capturing a piece • The black piece shown has one remaining liberty • If white were to go in spot A, black would have no liberties left and the black piece would be captured
Other rules • Komi • A handicap given to the player who goes second, generally 5½ points • Ko • A player cannot recreate a previous game layout
Difficulties • Game tree is astronomically big • Estimated to be about 10170 • Branching factor • On average about 235 (versus 35 for chess) • Game length • Can be up to 300 moves • Passing
More Difficulties • Evaluation function • Very hard to come up with a good one • No or poor Alpha-Beta pruning • All pieces have the same value • The number of pieces on the board have no correlation to the potential outcome of the game • This means in order to have a simple evaluation heuristic, the program must use brute force to traverse down the tree
Even More Difficulties • Humans can look ahead very far in Go • Some situations are very pattern-oriented • Difficult to tell when program doesn’t need to look far down the search tree • Grouping of pieces • Until the end of the game, relating pieces together is very difficult • If veteran Go players find it difficult, imagine how hard this reasoning is for a program
Go Program Techniques • Simplifying the game • Splitting the board into sections • Focusing on the strategies of specific groups of pieces • By reducing the game into sub-problems, the program can use Go techniques coupled with searching smaller trees
Go Program Techniques • Memorizing patterns and optimal moves • Certain moves in certain situations guarantee the capture of pieces • When these patterns occur in the game, no tree searching is required • Joseki database
The Many Faces of Go • Uses local searches on parts of the board to determine if a group of pieces cannot be captured or if nothing can prevent them form being captured • Rated on par with the average human player who has one year of experience • Won the Ing cup in 1998
The Many Faces of Go • Uses many different types of tree searches • Each type of search tries to accomplish something different • Connecting two groups • Capturing a group • Making a group dead or alive
Improvement Still Needed • Program playing style can be easily beaten • The Many Faces of Go lost to an expert even with a 29 stone handicap • Cash Prize