Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)

Slides:



Advertisements
Similar presentations
Chapter 6, Sec Adversarial Search.
Advertisements

Adversarial Search Chapter 6 Sections 1 – 4. Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
Adversarial Search Chapter 6 Section 1 – 4. Types of Games.
Games & Adversarial Search Chapter 5. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent’s reply. Time.
February 7, 2006AI: Chapter 6: Adversarial Search1 Artificial Intelligence Chapter 6: Adversarial Search Michael Scherger Department of Computer Science.
Games & Adversarial Search
Adversarial Search Chapter 6 Section 1 – 4. Warm Up Let’s play some games!
CSC 8520 Spring Paula Matuszek CS 8520: Artificial Intelligence Solving Problems by Searching Paula Matuszek Spring, 2010 Slides based on Hwee Tou.
CS 484 – Artificial Intelligence
Adversarial Search Chapter 6 Section 1 – 4.
Adversarial Search Chapter 5.
COMP-4640: Intelligent & Interactive Systems Game Playing A game can be formally defined as a search problem with: -An initial state -a set of operators.
1 Game Playing. 2 Outline Perfect Play Resource Limits Alpha-Beta pruning Games of Chance.
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
Adversarial Search Game Playing Chapter 6. Outline Games Perfect Play –Minimax decisions –α-β pruning Resource Limits and Approximate Evaluation Games.
Adversarial Search CSE 473 University of Washington.
Hoe schaakt een computer? Arnold Meijster. Why study games? Fun Historically major subject in AI Interesting subject of study because they are hard Games.
Adversarial Search Chapter 6.
Artificial Intelligence for Games Game playing Patrick Olivier
Adversarial Search 對抗搜尋. Outline  Optimal decisions  α-β pruning  Imperfect, real-time decisions.
An Introduction to Artificial Intelligence Lecture VI: Adversarial Search (Games) Ramin Halavati In which we examine problems.
1 Adversarial Search Chapter 6 Section 1 – 4 The Master vs Machine: A Video.
10/19/2004TCSS435A Isabelle Bichindaritz1 Game and Tree Searching.
Games CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
EIE426-AICV 1 Game Playing Filename: eie426-game-playing-0809.ppt.
G51IAI Introduction to AI Minmax and Alpha Beta Pruning Garry Kasparov and Deep Blue. © 1997, GM Gabriel Schwartzman's Chess Camera, courtesy IBM.
This time: Outline Game playing The minimax algorithm
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 580 Artificial Intelligence Ch.6: Adversarial Search Fall 2008 Marco Valtorta.
Game Tree Search based on Russ Greiner and Jean-Claude Latombe’s notes.
Adversarial Search: Game Playing Reading: Chess paper.
Games & Adversarial Search Chapter 6 Section 1 – 4.
Game Playing State-of-the-Art  Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in Used an endgame database defining.
CSC 412: AI Adversarial Search
CHAPTER 6 : ADVERSARIAL SEARCH
1 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.
Games as Game Theory Systems (Ch. 19). Game Theory It is not a theoretical approach to games Game theory is the mathematical study of decision making.
Adversarial Search Chapter 6 Section 1 – 4. Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
Introduction to Artificial Intelligence CS 438 Spring 2008 Today –AIMA, Ch. 6 –Adversarial Search Thursday –AIMA, Ch. 6 –More Adversarial Search The “Luke.
1 Adversarial Search CS 171/271 (Chapter 6) Some text and images in these slides were drawn from Russel & Norvig’s published material.
Adversarial Search Chapter 6 Section 1 – 4. Search in an Adversarial Environment Iterative deepening and A* useful for single-agent search problems What.
Adversarial Search Chapter Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent reply Time limits.
CSE373: Data Structures & Algorithms Lecture 23: Intro to Artificial Intelligence and Game Theory Based on slides adapted Luke Zettlemoyer, Dan Klein,
Paula Matuszek, CSC 8520, Fall Based in part on aima.eecs.berkeley.edu/slides-ppt 1 CS 8520: Artificial Intelligence Adversarial Search Paula Matuszek.
Artificial Intelligence
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
Turn-Based Games Héctor Muñoz-Avila sources: Wikipedia.org Russell & Norvig AI Book; Chapter 5 (and slides)
Adversarial Search Chapter 6 Section 1 – 4. Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent reply Time.
Adversarial Search Chapter 5 Sections 1 – 4. AI & Expert Systems© Dr. Khalid Kaabneh, AAU Outline Optimal decisions α-β pruning Imperfect, real-time decisions.
ADVERSARIAL SEARCH Chapter 6 Section 1 – 4. OUTLINE Optimal decisions α-β pruning Imperfect, real-time decisions.
Adversarial Search CMPT 463. When: Tuesday, April 5 3:30PM Where: RLC 105 Team based: one, two or three people per team Languages: Python, C++ and Java.
5/4/2005EE562 EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS Lecture 9, 5/4/2005 University of Washington, Department of Electrical Engineering Spring 2005.
Artificial Intelligence AIMA §5: Adversarial Search
Game Playing Why do AI researchers study game playing?
Game Playing Why do AI researchers study game playing?
EA C461 – Artificial Intelligence Adversarial Search
CS 460 Spring 2011 Lecture 4.
Adversarial Search and Game Playing (Where making good decisions requires respecting your opponent) R&N: Chap. 6.
Adversarial Search Chapter 5.
Games & Adversarial Search
Games & Adversarial Search
Adversarial Search.
Games & Adversarial Search
Games & Adversarial Search
Game Playing Fifth Lecture 2019/4/11.
Games & Adversarial Search
Adversarial Search CMPT 420 / CMPG 720.
Adversarial Search CS 171/271 (Chapter 6)
Games & Adversarial Search
Adversarial Search Chapter 6 Section 1 – 4.
Presentation transcript:

Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)

Games vs. search problems "Unpredictable" opponent  specifying a move for every possible opponent reply Time limits  unlikely to find goal, must approximate

Game tree (2-player, deterministic, turns)

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:

Example Your good friend and roomate suggests the following game to you: –There are 8 coins: 7 quarters and one cent. –You and him take turns to take away either 1,2, or 3 coins. –The one taking the cent loses and has to do the dishes for the next year Do you accept, if he “offers” to start? What if you may start?

Example F Y F Y F Y F Y Min

Example F Y F Y F Y F Y Min Max Min Max Min

MiniMax The previous two-player game tree evaluation is called a MiniMax-evaluation. [Note that the previous graph denoted a compressed version of a tree!] How can the MiniMax-evaluation of a two player game be computed? One way to compute it is by backtracking: On odd depths we return the max, on even depths the min of all child node evaluations. And at leaf nodes, we simply evaluate the game.

MiniMax Algorithm F Y F Y F Y F Y ? ? ? ? ? ? ? Min Max Min Max Min

MiniMax Algorithm F Y F Y F Y F Y 1 ? ? ? ? ? ? Min Max Min Max Min

MiniMax Algorithm F Y F Y F Y F Y ? 1 ? ? ? ? ? 1 Min Max Min Max Min

MiniMax Algorithm F Y F Y F Y F Y 1 1 ? ? ? ? ? 1 Min Max Min Max Min

MiniMax Algorithm F Y F Y F Y F Y ? 1 1 ? ? ? ? 1 Min Max Min Max Min

MiniMax Algorithm F Y F Y F Y F Y 1 1 ? ? ? ? 1 Min Max Min Max Min ?

MiniMax Algorithm F Y F Y F Y F Y 1 1 ? ? ? ? 1 Min Max Min Max Min

MiniMax Algorithm F Y F Y F Y F Y ? ? ? ? 1 Min Max Min Max Min

MiniMax Algorithm F Y F Y F Y F Y ? ? ? 1 Min Max Min Max Min ?

MiniMax Algorithm F Y F Y F Y F Y ? ? ? 1 Min Max Min Max Min 1

MiniMax Algorithm F Y F Y F Y F Y ? ? 1 Min Max Min Max Min 1 ? ?

MiniMax Algorithm F Y F Y F Y F Y ? ? 1 Min Max Min Max Min 1 ? 1

MiniMax Algorithm F Y F Y F Y F Y ? ? 1 Min Max Min Max Min ?

MiniMax Algorithm F Y F Y F Y F Y ? ? 1 Min Max Min Max Min 1 1 1

MiniMax Algorithm F Y F Y F Y F Y ? 1 1 Min Max Min Max Min ? ?

MiniMax Algorithm F Y F Y F Y F Y ? 1 1 Min Max Min Max Min ?

MiniMax Algorithm F Y F Y F Y F Y ? 1 1 Min Max Min Max Min ? ?

MiniMax Algorithm F Y F Y F Y F Y ? 1 1 Min Max Min Max Min ?

MiniMax Algorithm F Y F Y F Y F Y ? 1 1 Min Max Min Max Min

MiniMax Algorithm F Y F Y F Y F Y Min Max Min Max Min

Minimax Standard Notation– Max goes first; Min goes second; The leaves of a game tree represent the final positions of the game – we assign a value to each leaf representing the payoff of the first player (MAX). Idea: choose move to position with highest minimax value = best achievable payoff against best play E.g., 2-ply game:

The value of a vertex in a game is defined recursively: (1)The value of a leaf is the payoff of the first player, when the game terminates in th eposition represented by the leaf; (2)The value of an internal vertex is the MAXIMUM of its children, for the case of the first player (MAX) and it is the MINIMUM of the values of its children for the case of the second player (MIN). Theorem – the value of a vertex of a game tells us the payoff to the first player if both players follow the minimax strategy and play starts from the position represented by this vertex.

Minimax algorithm

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

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

Alpha-Beta Pruning Was all the work that we just did really necessary to compute the MinMax-evaluation of the root-node? When can we save work? Let’s do it again!

α-β pruning example

Alpha-Beta Pruning F Y F Y F Y F Y ? ? ? ? ? ? ? Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y 1 ? ? ? ? ? ? Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y ? 1 ? ? ? ? ? 1 Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? ? ? ? 1 Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y ? 1 1 ? ? ? ? 1 Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? ? ? 1 Min Max Min Max Min ?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? ? ? 1 Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? ? 1 Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? 1 Min Max Min Max Min ? ? 1

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? 1 Min Max Min Max Min ? 1 1 ?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? 1 Min Max Min Max Min ? 1 1 1?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? 1 Min Max Min Max Min ?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? ? 1 Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? 1 1 Min Max Min Max Min ?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? 1 1 Min Max Min Max Min ? ?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? 1 1 Min Max Min Max Min ? ?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? 1 1 Min Max Min Max Min ? ?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? 1 1 Min Max Min Max Min ?

Alpha-Beta Pruning F Y F Y F Y F Y 1 1 ? 1 1 Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y Min Max Min Max Min

Alpha-Beta Pruning So far we just used slavish backtracking. Now let us assume that we have a heuristic at hand that lets us investigate more promising moves first. More promising means: For a node on a Min-level the move that gives the most negative outcome; for a node on a Max-level a move that maximizes the outcome.

Alpha-Beta Pruning F Y F Y F Y F Y ? Min Max Min Max Min ? ?

Alpha-Beta Pruning F Y F Y F Y F Y ? Min Max Min Max Min ? ?

Alpha-Beta Pruning F Y F Y F Y F Y ? Min Max Min Max Min ? ?

Alpha-Beta Pruning F Y F Y F Y F Y ? Min Max Min Max Min ?

Alpha-Beta Pruning F Y F Y F Y F Y ? Min Max Min Max Min

Alpha-Beta Pruning F Y F Y F Y F Y Min Max Min Max Min

Properties of α-β Pruning does not affect final result 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)

Why is it called α-β? α is the value of the best (i.e., highest- value) choice found so far at any choice point along the path for max If v is worse than α, max will avoid it  prune that branch Define β similarly for min

The α-β algorithm

Resource limits Suppose we have 100 secs, explore 10 4 nodes/sec  10 6 nodes per move Standard approach: cutoff test: e.g., depth limit (perhaps add quiescence search) evaluation function = estimated desirability of position

Evaluation functions For chess, 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.

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

Deterministic games in practice Checkers: Chinook ended 40-year-reign of human world champion Marion Tinsley in 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 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.

Summary Games are fun to work on! They illustrate several important points about AI perfection is unattainable  must approximate good idea to think about what to think about