Search: Games & Adversarial Search Artificial Intelligence CMSC 25000 January 28, 2003.

Slides:



Advertisements
Similar presentations
Adversarial Search Reference: “Artificial Intelligence: A Modern Approach, 3 rd ed” (Russell and Norvig)
Advertisements

CMSC 671 Fall 2001 Class #8 – Thursday, September 27.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2008.
Lecture 12 Last time: CSPs, backtracking, forward checking Today: Game Playing.
MINIMAX SEARCH AND ALPHA- BETA PRUNING: PLAYER 1 VS. PLAYER 2.
Games CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Artificial Intelligence in Game Design
This time: Outline Game playing The minimax algorithm
Game Playing CSC361 AI CSC361: Game Playing.
Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour.
1 search CS 331/531 Dr M M Awais A* Examples:. 2 search CS 331/531 Dr M M Awais 8-Puzzle f(N) = g(N) + h(N)
Find a Path s A D B E C F G Heuristically Informed Methods  Which node do I expand next?  What information can I use to guide this.
Searching for Solutions Artificial Intelligence CSPP January 14, 2004.
ICS-271:Notes 6: 1 Notes 6: Game-Playing ICS 271 Fall 2006.
Adversarial Search: Game Playing Reading: Chess paper.
Games & Adversarial Search Chapter 6 Section 1 – 4.
Game Playing: Adversarial Search Chapter 6. Why study games Fun Clear criteria for success Interesting, hard problems which require minimal “initial structure”
1 Adversary Search Ref: Chapter 5. 2 Games & A.I. Easy to measure success Easy to represent states Small number of operators Comparison against humans.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Lecture 6: Game Playing Heshaam Faili University of Tehran Two-player games Minmax search algorithm Alpha-Beta pruning Games with chance.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
Minimax with Alpha Beta Pruning The minimax algorithm is a way of finding an optimal move in a two player game. Alpha-beta pruning is a way of finding.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
Game Playing. Introduction One of the earliest areas in artificial intelligence is game playing. Two-person zero-sum game. Games for which the state space.
GAME PLAYING 1. There were two reasons that games appeared to be a good domain in which to explore machine intelligence: 1.They provide a structured task.
Game Playing Revision Mini-Max search Alpha-Beta pruning General concerns on games.
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
Graph Search II GAM 376 Robin Burke. Outline Homework #3 Graph search review DFS, BFS A* search Iterative beam search IA* search Search in turn-based.
Adversarial Search 2 (Game Playing)
Adversarial Search and Game Playing Russell and Norvig: Chapter 6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
D Goforth - COSC 4117, fall OK administrivia  Exam format – take home, open book  Suicide rule for King’s court Illegal moves cannot move last.
CS-424 Gregory Dudek Lecture 10 Annealing (final comments) Adversary Search Genetic Algorithms (genetic search)
February 25, 2016Introduction to Artificial Intelligence Lecture 10: Two-Player Games II 1 The Alpha-Beta Procedure Can we estimate the efficiency benefit.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 5 Adversarial Search (Thanks Meinolf Sellman!)
Artificial Intelligence in Game Design Board Games and the MinMax Algorithm.
Game Search & Constrained Search CMSC Artificial Intelligence January 18, 2005.
Game Playing Why do AI researchers study game playing?
Adversarial Search and Game-Playing
Announcements Homework 1 Full assignment posted..
PENGANTAR INTELIJENSIA BUATAN (64A614)
Adversarial Search and Game Playing (Where making good decisions requires respecting your opponent) R&N: Chap. 6.
State Space 4 Chapter 4 Adversarial Games.
Games & Adversarial Search
Artificial Intelligence
Artificial Intelligence Chapter 12 Adversarial Search
Chapter 6 : Game Search 게임 탐색 (Adversarial Search)
Alpha-Beta Search.
Games & Adversarial Search
Games & Adversarial Search
Game Playing: Adversarial Search
Game Search & Constrained Search
NIM - a two person game n objects are in one pile
Artificial Intelligence
Alpha-Beta Search.
The Alpha-Beta Procedure
Alpha-Beta Search.
Minimax strategies, alpha beta pruning
Game Playing Fifth Lecture 2019/4/11.
Alpha-Beta Search.
Mini-Max search Alpha-Beta pruning General concerns on games
Game Playing: Adversarial Search
Game Playing Chapter 5.
Search.
Search.
Games & Adversarial Search
Alpha-Beta Search.
Games & Adversarial Search
Minimax strategies, alpha beta pruning
Games & Adversarial Search
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

Search: Games & Adversarial Search Artificial Intelligence CMSC January 28, 2003

Agenda Game search characteristics Minimax procedure –Adversarial Search Alpha-beta pruning: –“If it’s bad, we don’t need to know HOW awful!” Game search specialties –Progressive deepening –Singular extensions

Games as Search Nodes = Board Positions Each ply (depth + 1) = Move Special feature: –Two players, adversial Static evaluation function –Instantaneous assessment of board configuration –NOT perfect (maybe not even very good)

Minimax Lookahead Modeling adversarial players: –Maximizer = positive values –Minimizer = negative values Decisions depend on choices of other player Look forward to some limit –Static evaluate at limit –Propagate up via minimax

Minimax Procedure If at limit of search, compute static value Relative to player If minimizing level, do minimax –Report minimum If maximizing level, do minimax –Report maximum

Minimax Example MAX MIN

Alpha-Beta Pruning Alpha-beta principle: If you know it’s bad, don’t waste time finding out HOW bad May eliminate some static evaluations May eliminate some node expansions Similar to branch & bound

Simple Alpha-Beta Example MAX MIN 27 2 >=2 1 <=1 2

Alpha-Beta Detailed Example

Alpha-Beta Procedure If level=TOP_LEVEL, alpha = NEGMAX; beta= POSMAX If (reached Search-limit), compute & return static value of current If level is minimizing level, While more children to explore AND alpha < beta ab = alpha-beta(child) if (ab < beta), then beta = ab Report beta If level is maximizing level, While more children to explore AND alpha < beta ab = alpha-beta(child) if (ab > alpha), then alpha = ab Report alpha

Alpha-Beta Pruning Analysis Worst case: –Bad ordering: Alpha-beta prunes NO nodes Best case: –Assume cooperative oracle orders nodes Best value on left “If an opponent has some response that makes move bad no matter what the moving player does, then the move is bad.” Implies: check move where opposing player has choice, check all own moves

Optimal Alpha-Beta Ordering

Optimal Ordering Alpha-Beta Significant reduction of work: –11 of 27 static evaluations Lower bound on # of static evaluations: –if d is even, s = 2*b^d/2-1 –if d is odd, s = b^(d+1)/2+b^(d-1)/2-1 Upper bound on # of static evaluations: –b^d Reality: somewhere between the two –Typically closer to best than worst

Heuristic Game Search Handling time pressure –Focus search –Be reasonably sure “best” option found is likely to be a good option. Progressive deepening –Always having a good move ready Singular extensions –Follow out stand-out moves

Progressive Deepening Problem: Timed turns –Limited depth If too conservative, too shallow If too generous, won’t finish Solution: –Always have a (reasonably good) move ready –Search at progressively greater depths: 1,2,3,4,5…..

Progressive Deepening Question: Aren’t we wasting a lot of work? –E.g. cost of intermediate depths Answer: (surprisingly) No! –Assume cost of static evaluations dominates –Last ply (depth d): Cost = b^d –Preceding plies: b^0 + b^1+…b^(d-1) (b^d - 1)/(b -1) –Ratio of last ply cost/all preceding ~ b - 1 –For large branching factors, prior work small relative to final ply

Singular Extensions Problem: Explore to some depth, but things change a lot in next ply –False sense of security –aka “horizon effect” Solution: “Singular extensions” –If static value stands out, follow it out –Typically, “forced” moves: E.g. follow out captures

Additional Pruning Heuristics Tapered search: –Keep more branches for higher ranked children Rank nodes cheaply Rule out moves that look bad Problem: –Heuristic: May be misleading Could miss good moves

Games with Chance Many games mix chance and strategy –E.g. Backgammon –Combine dice rolls + opponent moves Modeling chance in game tree –For each ply, add another ply of “chance nodes” –Represent alternative rolls of dice One branch per roll Associate probability of roll with branch

Expectiminimax:Minimax+Chance Adding chance to minimax –For each roll, compute max/min as before Computing values at chance nodes –Calculate EXPECTED value –Sum of branches Weight by probability of branch

Summary Game search: –Key features: Alternating, adversarial moves Minimax search: Models adversarial game Alpha-beta pruning: –If a branch is bad, don’t need to see how bad! –Exclude branch once know can’t change value –Can significantly reduce number of evaluations Heuristics: Search under pressure –Progressive deepening; Singular extensions