Game Playing. Why do AI researchers study game playing? 1. It s a good reasoning problem, formal and nontrivial.

Similar documents
Adversarial Search. Chapter 5. Mausam (Based on slides of Stuart Russell, Andrew Parks, Henry Kautz, Linda Shapiro) 1

Adversarial Search. Chapter 5. Mausam (Based on slides of Stuart Russell, Andrew Parks, Henry Kautz, Linda Shapiro, Diane Cook) 1

Adversarial Search. CMPSCI 383 September 29, 2011

Game playing. Outline

Game playing. Chapter 5. Chapter 5 1

Game Playing. Dr. Richard J. Povinelli. Page 1. rev 1.1, 9/14/2003

Game playing. Chapter 5, Sections 1{5. AIMA Slides cstuart Russell and Peter Norvig, 1998 Chapter 5, Sections 1{5 1

Game playing. Chapter 6. Chapter 6 1

Outline. Game playing. Types of games. Games vs. search problems. Minimax. Game tree (2-player, deterministic, turns) Games

Adversarial search (game playing)

Today. Types of Game. Games and Search 1/18/2010. COMP210: Artificial Intelligence. Lecture 10. Game playing

COMP219: COMP219: Artificial Intelligence Artificial Intelligence Dr. Annabel Latham Lecture 12: Game Playing Overview Games and Search

CS 380: ARTIFICIAL INTELLIGENCE ADVERSARIAL SEARCH. Santiago Ontañón

Games vs. search problems. Adversarial Search. Types of games. Outline

Games vs. search problems. Game playing Chapter 6. Outline. Game tree (2-player, deterministic, turns) Types of games. Minimax

Artificial Intelligence. Topic 5. Game playing

Game playing. Chapter 6. Chapter 6 1

Game Playing. Philipp Koehn. 29 September 2015

Game Playing: Adversarial Search. Chapter 5

CS 380: ARTIFICIAL INTELLIGENCE

COMP219: Artificial Intelligence. Lecture 13: Game Playing

CS 188: Artificial Intelligence Spring Game Playing in Practice

Adversarial Search (Game Playing)

Game Playing State-of-the-Art CSE 473: Artificial Intelligence Fall Deterministic Games. Zero-Sum Games 10/13/17. Adversarial Search

Adversarial Search. Hal Daumé III. Computer Science University of Maryland CS 421: Introduction to Artificial Intelligence 9 Feb 2012

Games CSE 473. Kasparov Vs. Deep Junior August 2, 2003 Match ends in a 3 / 3 tie!

Programming Project 1: Pacman (Due )

ARTIFICIAL INTELLIGENCE (CS 370D)

Artificial Intelligence, CS, Nanjing University Spring, 2018, Yang Yu. Lecture 4: Search 3.

Ch.4 AI and Games. Hantao Zhang. The University of Iowa Department of Computer Science. hzhang/c145

Game playing. Chapter 5, Sections 1 6

Lecture 5: Game Playing (Adversarial Search)

Last update: March 9, Game playing. CMSC 421, Chapter 6. CMSC 421, Chapter 6 1

ADVERSARIAL SEARCH. Chapter 5

Local Search. Hill Climbing. Hill Climbing Diagram. Simulated Annealing. Simulated Annealing. Introduction to Artificial Intelligence

CS 188: Artificial Intelligence Spring Announcements

CSE 473: Artificial Intelligence. Outline

Game Playing AI Class 8 Ch , 5.4.1, 5.5

Game Playing State of the Art

CS 188: Artificial Intelligence Spring 2007

Adversarial Search. Human-aware Robotics. 2018/01/25 Chapter 5 in R&N 3rd Ø Announcement: Slides for this lecture are here:

Announcements. CS 188: Artificial Intelligence Spring Game Playing State-of-the-Art. Overview. Game Playing. GamesCrafters

Announcements. CS 188: Artificial Intelligence Fall Local Search. Hill Climbing. Simulated Annealing. Hill Climbing Diagram

Game Playing State-of-the-Art

CS 331: Artificial Intelligence Adversarial Search II. Outline

CSE 573: Artificial Intelligence Autumn 2010

Game-Playing & Adversarial Search

CS 5522: Artificial Intelligence II

Artificial Intelligence

Adversarial Search. Soleymani. Artificial Intelligence: A Modern Approach, 3 rd Edition, Chapter 5

Artificial Intelligence. Minimax and alpha-beta pruning

CS 188: Artificial Intelligence

Adversarial Search. Read AIMA Chapter CIS 421/521 - Intro to AI 1

Artificial Intelligence Adversarial Search

CS 771 Artificial Intelligence. Adversarial Search

Adversarial Search and Game- Playing C H A P T E R 6 C M P T : S P R I N G H A S S A N K H O S R A V I

Adversarial Search Lecture 7

Adversarial Search and Game Playing. Russell and Norvig: Chapter 5

Games and Adversarial Search

CS440/ECE448 Lecture 9: Minimax Search. Slides by Svetlana Lazebnik 9/2016 Modified by Mark Hasegawa-Johnson 9/2017

Adversary Search. Ref: Chapter 5

CS 188: Artificial Intelligence

Game Playing State-of-the-Art. CS 188: Artificial Intelligence. Behavior from Computation. Video of Demo Mystery Pacman. Adversarial Search

Adversarial Search and Game Playing

CS 188: Artificial Intelligence. Overview

CS 4700: Foundations of Artificial Intelligence

CS 440 / ECE 448 Introduction to Artificial Intelligence Spring 2010 Lecture #5

Adversarial Search Aka Games

Artificial Intelligence

ADVERSARIAL SEARCH. Today. Reading. Goals. AIMA Chapter , 5.7,5.8

Adversarial Search 1

ADVERSARIAL SEARCH. Today. Reading. Goals. AIMA Chapter Read , Skim 5.7

Foundations of AI. 5. Board Games. Search Strategies for Games, Games with Chance, State of the Art. Wolfram Burgard and Luc De Raedt SA-1

Games (adversarial search problems)

Announcements. Homework 1. Project 1. Due tonight at 11:59pm. Due Friday 2/8 at 4:00pm. Electronic HW1 Written HW1

Intuition Mini-Max 2

Game-playing AIs: Games and Adversarial Search I AIMA

Ar#ficial)Intelligence!!

mywbut.com Two agent games : alpha beta pruning

Set 4: Game-Playing. ICS 271 Fall 2017 Kalev Kask

Game-playing AIs: Games and Adversarial Search FINAL SET (w/ pruning study examples) AIMA

CSE 573: Artificial Intelligence

2/5/17 ADVERSARIAL SEARCH. Today. Introduce adversarial games Minimax as an optimal strategy Alpha-beta pruning Real-time decision making

Foundations of AI. 6. Board Games. Search Strategies for Games, Games with Chance, State of the Art

Adversarial Search (a.k.a. Game Playing)

Chapter 6. Overview. Why study games? State of the art. Game playing State of the art and resources Framework

CSE 40171: Artificial Intelligence. Adversarial Search: Games and Optimality

CPS331 Lecture: Search in Games last revised 2/16/10

Announcements. CS 188: Artificial Intelligence Fall Today. Tree-Structured CSPs. Nearly Tree-Structured CSPs. Tree Decompositions*

Adversarial Search: Game Playing. Reading: Chapter

Artificial Intelligence

Pengju

Outline. Game Playing. Game Problems. Game Problems. Types of games Playing a perfect game. Playing an imperfect game

2 person perfect information

Computer Science and Software Engineering University of Wisconsin - Platteville. 4. Game Play. CS 3030 Lecture Notes Yan Shi UW-Platteville

CITS3001. Algorithms, Agents and Artificial Intelligence. Semester 2, 2016 Tim French

Adversarial Search. CS 486/686: Introduction to Artificial Intelligence

Adversarial Search. CS 486/686: Introduction to Artificial Intelligence

Game Engineering CS F-24 Board / Strategy Games

Search the action space of 2 players Russell & Norvig Chapter 6 Bratko Chapter 24

Transcription:

Game Playing Why do AI researchers study game playing? 1. It s a good reasoning problem, formal and nontrivial. 2. Direct comparison with humans and other computer programs is easy. 1

What Kinds of Games? Mainly games of strategy with the following characteristics: 1. Sequence of moves to play 2. Rules that specify possible moves 3. Rules that specify a payment for each move 4. Objective is to maximize your payment 2

Games vs. Search Problems Unpredictable opponent specifying a move for every possible opponent reply Time limits unlikely to find goal, must approximate 3

Opponent s Move Two-Player Game Generate New Position Game Over? no yes Generate Successors Evaluate Successors Move to Highest-Valued Successor no Game Over? yes 4

Game Tree (2-player, Deterministic, Turns) computer s turn opponent s turn computer s turn opponent s turn The computer is Max. The opponent is Min. leaf nodes are evaluated At the leaf nodes, the utility function is employed. Big value 5 means good, small is bad.

Mini-Max Terminology utility function: the function applied to leaf nodes backed-up value of a max-position: the value of its largest successor of a min-position: the value of its smallest successor minimax procedure: search down several levels; at the bottom level apply the utility function, back-up values all the way up to the root node, and that node selects the move. 6

Minimax Perfect play for deterministic games Idea: choose move to position with highest minimax value = best achievable payoff against best play E.g., 2-ply game: 7

Minimax Strategy Why do we take the min value every other level of the tree? These nodes represent the opponent s choice of move. The computer assumes that the human will choose that move that is of least value to the computer. 8

Minimax algorithm 9

Tic Tac Toe Let p be a position in the game Define the utility function f(p) by f(p) = largest positive number if p is a win for computer smallest negative number if p is a win for opponent RCDC RCDO where RCDC is number of rows, columns and diagonals in which computer could still win and RCDO is number of rows, columns and diagonals in which opponent could still win. 10

Sample Evaluations X = Computer; O = Opponent O X O O X X X rows cols diags X O rows cols diags X O 11

Minimax is done depth-first max min max 2 5 1 leaf 12

Properties of Minimax Complete? Yes (if tree is finite) Optimal? Yes (against an optimal opponent) Time complexity? O(b m ) Space complexity? O(bm) (depth-first exploration) For chess, b 35, m 100 for "reasonable" games exact solution completely infeasible Need to speed it up. 13

Alpha-Beta Procedure The alpha-beta procedure can speed up a depth-first minimax search. Alpha: a lower bound on the value that a max node may ultimately be assigned v > α Beta: an upper bound on the value that a minimizing node may ultimately be assigned v < β 14

α-β pruning example 15

α-β pruning example α = 3 alpha cutoff 16

α-β pruning example 17

α-β pruning example 18

α-β pruning example 19

Alpha Cutoff > 3 α = 3 3 8 10 What happens here? Is there an alpha cutoff? 20

Beta Cutoff β = 4 < 4 4 > 8 8 β cutoff 21

Alpha-Beta Pruning max min max eval 5 2 10 11 1 2 2 8 6 5 12 4 3 25 2 22

Properties of α-β Pruning does not affect final result. This means that it gets the exact same result as does full minimax. Good move ordering improves effectiveness of pruning With "perfect ordering," time complexity = O(b m/2 ) doubles depth of search A simple example of the value of reasoning about which computations are relevant (a form of metareasoning) 23

The α-β algorithm cutoff 24

The α-β algorithm cutoff 25

When do we get alpha cutoffs? 100... < 100 < 100 26

Shallow Search Techniques 1. limited search for a few levels 2. reorder the level-1 sucessors 3. proceed with α-β minimax search 27

Additional Refinements Waiting for Quiescence: continue the search until no drastic change occurs from one level to the next. Secondary Search: after choosing a move, search a few more levels beneath it to be sure it still looks good. Book Moves: for some parts of the game (especially initial and end moves), keep a catalog of best moves to make. 28

Evaluation functions For chess/checkers, typically linear weighted sum of features Eval(s) = w 1 f 1 (s) + w 2 f 2 (s) + + w n f n (s) e.g., w 1 = 9 with f 1 (s) = (number of white queens) (number of black queens), etc. 29

Example: Samuel s Checker- Playing Program It uses a linear evaluation function f(n) = a 1 x 1 (n) + a 2 x 2 (n) +... + a m x m (n) For example: f = 6K + 4M + U K = King Advantage M = Man Advantage U = Undenied Mobility Advantage (number of moves that Max has that Min can t jump after) 30

Samuel s Checker Player In learning mode Computer acts as 2 players: A and B A adjusts its coefficients after every move B uses the static utility function If A wins, its function is given to B 31

Samuel s Checker Player How does A change its function? 1. Coefficent replacement (node ) = backed-up value(node) initial value(node) if > 0 then terms that contributed positively are given more weight and terms that contributed negatively get less weight if < 0 then terms that contributed negatively are given more weight and terms that contributed positively get less weight 32

Samuel s Checker Player How does A change its function? 2. Term Replacement 38 terms altogether 16 used in the utility function at any one time Terms that consistently correlate low with the function value are removed and added to the end of the term queue. They are replaced by terms from the front of the term queue. 33

Kalah KP P s holes 6 6 6 6 6 6 Kp 0 0 counterclockwise 6 6 6 6 6 6 p s holes To move, pick up all the stones in one of your holes, and put one stone in each hole, starting at the next one, including your Kalah and skipping the opponent s Kalah. 34

Kalah If the last stone lands in your Kalah, you get another turn. If the last stone lands in your empty hole, take all the stones from your opponent s hole directly across from it and put them in your Kalah. If all of your holes become empty, the opponent keeps the rest of the stones. The winner is the player who has the most stones in his Kalah at the end of the game. 35

Cutting off Search MinimaxCutoff is identical to MinimaxValue except 1. Terminal? is replaced by Cutoff? 2. Utility is replaced by Eval Does it work in practice? b m = 10 6, b=35 m=4 4-ply lookahead is a hopeless chess player! 4-ply human novice 8-ply typical PC, human master 12-ply Deep Blue, Kasparov 36

Deterministic Games in Practice Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in 1994. 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.»» Chess: 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. Othello: human champions refuse to compete against computers, who are too good. Go: human champions refuse to compete against computers, who are too bad. In go, b > 300, so most programs use pattern knowledge bases to suggest plausible moves. 37

Games of Chance What about games that involve chance, such as rolling dice picking a card Use three kinds of nodes: max nodes min nodes chance nodes min chance max 38

Games of Chance c chance node with max children d 1 d i d k S(c,d i ) expectimax(c) = P(d i ) max(backed-up-value(s)) i s in S(c,d i ) expectimin(c ) = P(d i ) min(backed-up-value(s)) i s in S(c,d i ) 39

Example Tree with Chance max chance min.4.6 1.2 chance max leaf.4.6.4.6 3 5 1 4 1 2 4 5 40

Complexity Instead of O(b m ), it is O(b m n m ) where n is the number of chance outcomes. Since the complexity is higher (both time and space), we cannot search as deeply. Pruning algorithms may be applied. 41

Summary Games are fun to work on! They illustrate several important points about AI. Perfection is unattainable must approximate. Game playing programs have shown the world what AI can do. 42