Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Artificial Intelligence Game Playing Chapter 6 Outline of this Chapter • • • • • • Introduction Defining a game 2 person games Minimax α-β pruning State of the art Game programs Introduction • Game playing is one of the oldest area in AI. • In 1950, the first chess programs were written by C.Shannon & A.Turing. • IBM's Deep Blue Supercomputer defeats the chess grandmaster Kasparov in 1997 Last weeks, we looked at: • search problems where the situation is not going to change (e.g., if we are searching for a route between two towns, the towns do not move during the search). In game playing. • If we make a move in Board Games such as chess then our opponent is going to move next, so we cannot be certain what the board state will be after our opponents moves. • Not all games are suitable for AI research. We will restrict ourselves to 2 person perfect information board games. Definition • Playing a game involves searching for the best move. • Game can be defined as a type of search problem with the following components: – Players: We call them Max and Min. – Initial state- how the board is set up – Operators- define legal moves that a player can make – Terminal state- when the game is over – Utility/payoff function- A function which assigns a numeric value for the outcome of a game (e.g. in chess the outcome is win (+1), lose (-1) or draw (0). Note that by convention, we always measure utility relative to Max. • Two strategies have been defined: – Minimax algorithm (by John von Neumann in 1944) – Alpha-Beta algorithm Two-Person Games • Two-player games with perfect information (player knows everything about the possible moves of the adversary), the minimax can determine the best move for a player by enumerating the entire game tree. • Player 1 is called Max – Maximizes result • Player 2 is called Min – Minimizes opponent’s result A Search Tree for Noughts and Crosses Game MAX’s job to use the search tree to determine the best move. Simple game – too complex to show/draw the whole search tree. Minimax Steps Minimax examines the entire generated game tree, and picks the best path that can be forced. The minimax algorithm consists of 5 steps 1. Generate the whole game tree. 2. Apply the utility function to leaf nodes to get their values. 3. Use the utility of nodes at level n to determine the utility of nodes at level n-1 in the search tree. 4. Continue backing up values towards the root, one layer at a time. 5. Eventually the backed up values reach the top of the tree, at that point Max chooses the move that leads to the highest value. This is called the minimax decision because it maximises the utility under the assumption that Min will play perfectly to minimise it. Minimax (2-ply game) • Perfect play for deterministic games, perfect-information games • Terminal nodes show the utility value for MAX computed by the utility function (i.e. by the rules of the game). • Other nodes labeled with their minimax values – MAX prefers to move to a state of maximum value – MIN prefers a state of minimum value The values have been propagated back up through the tree based on whose turn it is to play and whether they are trying to maximise or minimise. Properties of minimax • • • • It is Complete (if tree is finite) It is Optimal (against an optimal opponent) Time Complexity: bd Space Complexity: b*d (d= depth of the tree, b=legal moves) • Complexity: many games have a huge search space – For chess: b = 35 legal moves in any given position, d=100 for "reasonable" games nodes = 35 100 positions are searched • Do we need to explore every path? The Need for Imperfect Decision • Problem: The problem with minimax is that we expand every node down to a certain depth even though, in certain cases we are wasting our timenot practical for games of any size – game-playing programs must meet external time-constraints. – we cannot calculate the entire game tree in order to find out the terminal values so that we can propagate them back up through the tree. The Need for Imperfect Decision (cont.) • Solution: – Instead of going all the way to terminal states & using utility function. Cut off search earlier and apply a heuristic evaluation function to the leaves of the tree. • Note – In search problems where we are searching for a goal our heuristic value represents an estimate as to how close we are to the goal. – In game playing we are estimating the chances of winning from a given position. α-β pruning • A technique that enables the Minimax algorithm to ignore branches that will not contribute further to the outcome of the search. • The process of eliminating a branch of the search tree is called pruning the search tree. • Alpha-beta pruning uses a depth first search. In doing so it maintains two variables α and β (α is associated with MAX can never decrease and β is associated with MIN can never increase). • when applied to standard minimax tree, it returns the same move as minimax would but prunes away branches that cannot possibly influence the final decision. α-β pruning example α-β pruning example α-β pruning example α-β pruning example α-β pruning example State of the Art in Chess • Chess has received by far the largest share of attention in game playing. • 1957: Herbert Simon predicted that within 10 years computers would beat the human world champion. • In 1958, the first computer able to play chess was an IBM 704. • 1970: First program to win ACM North American Computer Chess Championship, it uses straightforward alpha-beta search, augmented with book openings and infallible end game algorithms. • 1982: Belle, first special-purpose chess hardware, built by Condon & Thompson at Bell Labs , can search few million of position per move. State of the Art in Chess (Cont.) • 1985: HITECH system can search 10 million of position per move , ranked among the top 800 human players around the world. • 1993: Deep Thought 2, ranked top 100 human players, can search 500 million of position per move, reaching a depth of 11. • 1997: Deep Blue defeated human world champion Garry Kasparov in a six-game match in 1997. Deep Blue searches 200 million positions per second, uses very sophisticated evaluation, and undisclosed methods for extending some lines of search up to 40 ply. State of the Art in Checkers • 1952: Arthur Samuel developed a checkers program that learn its own evaluation function through self play. • 1992: Chinook (J. Schaeffer) wins the U.S. Open. At the world championship, Alpha-beta search were used, but Marion Tinsley beat Chinook. • 1994:Chinook ended 40-year-reign of human world champion Marion Tinsley. Used a precomputed endgame database defining perfect play for all positions involving 8 or fewer pieces on the board, a total of 444 billion positions.-- Chinook become the world champion. State of the Art in Go • Go is the most popular board game in Asia. • Aim By placing the stones on the board, each player tries to win the game by surrounding unoccupied territory as well as enemy stones. Surround more than your opponent and you win! • The branching factor approaches 360, infeasible for regular search methods. • Go seems like an area likely to benefit from intensive research using sophisticated reasoning methods. • Most programs use pattern knowledge bases to suggest plausible moves. Summary • • • • Games are fun to work on They illustrate several important points about AI perfection is unattainable must approximate with perfect information, the minimax can determine the best move for a player by enumerating the entire game tree. • The α-β algorithm does the same calculation as minimax, but is more efficient – prunes away irrelevant branches of the search tree End of Chapter 6