Upload
zona
View
41
Download
0
Embed Size (px)
DESCRIPTION
Computer Go: An AI oriented survey. Artificial Intelligence, Volume 132, Issue 1, October 2001, Pages 39-103 Bruno Bouzy , Tristan Cazenave 2004.10.14 劉思源. Introduction (Go) Other games Results Evaluation Move generation Tree search Optimization. Combinatorial game theory - PowerPoint PPT Presentation
Citation preview
Computer Go: An Computer Go: An AI oriented AI oriented
surveysurveyArtificial Intelligence, Volume 132, Issue 1,Artificial Intelligence, Volume 132, Issue 1,
October 2001, Pages 39-103October 2001, Pages 39-103Bruno Bouzy , Tristan Cazenave
2004.10.142004.10.14劉思源劉思源
OutlineOutline
1.1. Introduction Introduction (Go)(Go)
2.2. Other gamesOther games
3.3. ResultsResults
4.4. EvaluationEvaluation
5.5. Move Move generationgeneration
6. Tree search7. Optimization
8. Combinatorial game theory
9. Automatic generation of knowledge
10. Monte Carlo Go11. Mathematical
morphology12. Cognitive science13. Conclusion
Introduction Introduction
mind games have been studied as mind games have been studied as application fields for AI application fields for AI
they do not enable the AI community they do not enable the AI community to build a strong Go program to build a strong Go program
the current cornerstone in game the current cornerstone in game programming is the Alpha-Beta programming is the Alpha-Beta algorithm algorithm
IntroductionIntroduction Go programs have Go programs have poor rankingspoor rankings in the in the
human ranking system human ranking system
Go programs exhibit structure at Go programs exhibit structure at different different levelslevels
In order to be competitive, every level of a In order to be competitive, every level of a Go program has to be Go program has to be optimizedoptimized
Therefore Go programmers Therefore Go programmers spend much of spend much of their time on optimizationstheir time on optimizations
IntroductionIntroduction
The game of Go is a The game of Go is a global gameglobal game that can be that can be broken down into many broken down into many local sub-gameslocal sub-games
Although local sub-games are generally Although local sub-games are generally dependent, thedependent, the combinatorial game combinatorial game theorytheory offers an appropriate model for the game of offers an appropriate model for the game of GoGo
A problem inherent in Computer Go is that the A problem inherent in Computer Go is that the models with the best results use models with the best results use a lot of a lot of knowledgeknowledge
IntroductionIntroduction The game of Go is a very The game of Go is a very visualvisual game game
Go is so complex that it can be used to Go is so complex that it can be used to perform interesting cognitive perform interesting cognitive experiments experiments
We think that Computer Go remains a We think that Computer Go remains a new domain for new domain for computer sciencecomputer science, and so , and so far, no clear theoretical model has far, no clear theoretical model has emerged emerged
Other gamesOther games
Go-moku Go-moku 變形五子棋變形五子棋 Backgammon Backgammon 西洋雙陸棋西洋雙陸棋 Othello Othello 黑白棋黑白棋 Checkers Checkers 西洋跳棋西洋跳棋 Draughts Draughts 英式象棋英式象棋 Chess Chess 西洋棋西洋棋 Shogi Shogi 將棋將棋
Other gamesOther games Theoretical complexity Theoretical complexity Space states and game tree complexity of other Space states and game tree complexity of other
games games
the space states complexity the space states complexity ((EE) ) as the number as the number of positions you can reach from the starting of positions you can reach from the starting position position
game tree complexity game tree complexity ((AA) ) as the number of as the number of nodes in the smallest tree necessary to solve nodes in the smallest tree necessary to solve the game the game
Complexity of Go Complexity of Go
Other gamesOther games
Other gamesOther games
ResultsResults History of Computer Go History of Computer Go (Since 1963)(Since 1963)
Computer Go competitions Computer Go competitions (the ING cup, FOST cup, ladder)(the ING cup, FOST cup, ladder)
Programs versus human playersPrograms versus human players
Tsume-Go Tsume-Go
Combinatorial game theory Combinatorial game theory
Programs versus human Programs versus human playersplayers
after each FOST cup, the three best programs after each FOST cup, the three best programs play against human playersplay against human playersHandtalk received a Japanese Handtalk received a Japanese 3rd3rd Kyu diploma Kyu diploma for winning its games for winning its games
Janice Kim beat Handtalk, despite an enormous Janice Kim beat Handtalk, despite an enormous handicap of more than handicap of more than twentytwenty stones. stones.Recently, Martin Müller beat Many Faces of Go, Recently, Martin Müller beat Many Faces of Go, despite a huge handicap of despite a huge handicap of twenty-ninetwenty-nine stones. stones.
Although Go programs have been improved over Although Go programs have been improved over the last few years, they are the last few years, they are still much weaker still much weaker than human playersthan human players..
Tsume-GoTsume-Go GoToolsGoTools is a very strong Tsume-Go problem solver is a very strong Tsume-Go problem solver
It can solve 5-dan problems (an amateur 5-dan is It can solve 5-dan problems (an amateur 5-dan is roughly equivalent to a professional 1-dan Go player) roughly equivalent to a professional 1-dan Go player)
It has even spotted an error in a dictionary of Tsume-It has even spotted an error in a dictionary of Tsume-Go problemsGo problems
It can analyze complex situations completely, and It can analyze complex situations completely, and find unique winning moves that Go players find with find unique winning moves that Go players find with great difficulty great difficulty
However, GoTools is restricted to completely However, GoTools is restricted to completely enclosed problems that contain thirteen or fewer enclosed problems that contain thirteen or fewer empty intersections empty intersections
Combinatorial game Combinatorial game theorytheory
Combinatorial game theory has also Combinatorial game theory has also been used to find the number of eyes been used to find the number of eyes of a group , thus enabling a program of a group , thus enabling a program to break down a life and death to break down a life and death problem into a sum of games, so as problem into a sum of games, so as to reduce its complexity to reduce its complexity
EvaluationEvaluation the major difficulty of Computer Go—the major difficulty of Computer Go—
building the building the Evaluation FunctionEvaluation Function (EF) (EF)
The evaluation of a position is necessary for The evaluation of a position is necessary for a program that wants a program that wants to associate a score to associate a score with a gamewith a game
Finding a “good” EF is very hard, and is Finding a “good” EF is very hard, and is undoubtedly the biggest obstacle in undoubtedly the biggest obstacle in Computer Go Computer Go
Therefore the task of presenting a Go EF is Therefore the task of presenting a Go EF is far from being easy far from being easy
EvaluationEvaluation
EvaluationEvaluation
Concrete evaluationConcrete evaluation 具體的評估具體的評估 Conceptual evaluation Conceptual evaluation 概念式的評估概念式的評估 Connected groupConnected group 相連的棋塊相連的棋塊 ““ Inside”, “outside” and Inside”, “outside” and
“morphological group”“morphological group” The building of groupsThe building of groups Number of “eyes”Number of “eyes” ““ Interaction”Interaction” ““ Death”, “inversion”, “ aggregation”Death”, “inversion”, “ aggregation”
explicit-control &explicit-control & implicit-control implicit-control
Connected groupConnected group
Connected groupConnected group Fig. 4 is called a “connector” Fig. 4 is called a “connector”
Its notation will be ‘>’, so as to indicate that the Its notation will be ‘>’, so as to indicate that the outcome of this elementary game is an effective outcome of this elementary game is an effective connection whoever plays first connection whoever plays first
In the case (Fig. 8), the final state of the connector In the case (Fig. 8), the final state of the connector depends on who moves first, and we give the value ‘*’ depends on who moves first, and we give the value ‘*’ to the connector to the connector
Then, the “connected groups” are defined as groups of Then, the “connected groups” are defined as groups of strings linked with connectors ‘>’ strings linked with connectors ‘>’
A very important point : the construction of connected A very important point : the construction of connected groups implies the use of results from local tree groups implies the use of results from local tree searches having the goal of connection.searches having the goal of connection.
The EF uses Tree Search. This is one important aspect The EF uses Tree Search. This is one important aspect of the EF in Goof the EF in Go
Inside, outside and Inside, outside and morphological groupmorphological group
The building of groupsThe building of groups For human players, the notion of group For human players, the notion of group
corresponds neither to the connected group corresponds neither to the connected group notion nor to the morphological group notion, notion nor to the morphological group notion, but to a certain extent to both notions but to a certain extent to both notions
For programs, the question of knowing which For programs, the question of knowing which notion is better remains an open problem notion is better remains an open problem
Nevertheless, this may be speeded up by Nevertheless, this may be speeded up by using patterns, but then the problem is how using patterns, but then the problem is how to handle the patterns database to handle the patterns database
Number of “eyes”Number of “eyes” On the whole, for size-one-two-or-three connected On the whole, for size-one-two-or-three connected
sets, the number of eyes depends on its boundary, sets, the number of eyes depends on its boundary, and opponent stones. and opponent stones.
For sizes from four to about six, it also depends on For sizes from four to about six, it also depends on its shape and on the shape of prisoners. its shape and on the shape of prisoners.
For example, Go players say that “straight 4 is alive” For example, Go players say that “straight 4 is alive” and “square 4 is dead”. and “square 4 is dead”.
For size bigger than about six, the number of eyes For size bigger than about six, the number of eyes becomes greater than two. becomes greater than two.
Each Go program must contain such expertise in Each Go program must contain such expertise in counting eyes of a connected set. It is very counting eyes of a connected set. It is very difficult difficult to define complete and adequate rules for to define complete and adequate rules for determining the number of eyes of groupsdetermining the number of eyes of groups
Interaction Interaction
InteractionInteraction The difference between the number of liberties of The difference between the number of liberties of
the two groups will be crucial in deciding which the two groups will be crucial in deciding which group dominates the other group dominates the other
When the value (relative to zero) of the When the value (relative to zero) of the interaction depends on who plays first, its value interaction depends on who plays first, its value is designated ‘ is designated ‘ * * ’ ’
Such is the case in our example. When one group Such is the case in our example. When one group dominates the other whoever plays first, the dominates the other whoever plays first, the interaction is ‘ interaction is ‘ >> ’ for the dominating color ’ for the dominating color
For example, the interaction between the black For example, the interaction between the black group (corresponding to Fig. 15) which is located group (corresponding to Fig. 15) which is located at the bottom right of the position of Fig. 3, and at the bottom right of the position of Fig. 3, and the big white group encircling it, is ‘the big white group encircling it, is ‘>>’ for White ’ for White
Death, inversion, Death, inversion, aggregationaggregation
EvaluationEvaluation
The first reason is to be found in the The first reason is to be found in the concept of “group” which is crucial to Go concept of “group” which is crucial to Go and has many variants. and has many variants.
The Computer Go community still holds The Computer Go community still holds different views on its definition different views on its definition
The setting up of an efficient, correct, and The setting up of an efficient, correct, and complete, EF is the major difficulty complete, EF is the major difficulty inherent in Computer Go.inherent in Computer Go.