06-chapt6

06-chapt6 - CSE630 AdversarialSearch(GameTrees Prof Naeem...

This preview shows pages 1–15. Sign up to view the full content.

CSE 630: Adversarial Search (Game Trees) Prof. Naeem Shareef

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Game Playing (Competitive)  Problems Games like Chess or Go are compact settings that mimic the uncertainty of interacting with the natural world For centuries humans have used them to exert their intelligence Recently, there has been great success in building game programs that challenge human supremacy
Adversarial Search Aspects of the problem Two-player Turn-taking Fully observable Zero-sum Time-constrained game

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Adversarial Search Nature of the State space Initial state : First move Successor function : Next move Your agent is called MAX The opponent is called MIN Assume MAX plays the first move (initial state) Terminal test : Is a state a win / loss / draw for MAX All states are fully observable Uncertainty is caused by the actions of another
Issues In The Game MIN wants MAX to lose (and vice versa) No plan exists that guarantees MAX’s success regardless of which actions MIN executes (the same is true for MIN) At each turn, the choice of which action to perform must be made within a specified time limit The state space is enormous: only a tiny fraction of this space can be explored within the time limit Chess

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Game Tree MAX’s play MIN’s play Terminal state (win for MAX) Here, symmetries have been used to reduce the branching factor MIN nodes MAX nodes
Game Tree MAX’s play MIN’s play Terminal state (win for MAX) In general, the branching factor and the depth of terminal states are large Chess: Number of states: ~10 40 Branching factor: ~35 Number of total moves in a game: ~100

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Choosing an Action: Basic Idea 1) Using the current state as the initial state, build the game tree uniformly to the maximal depth h (called horizon ) feasible within the time limit 1) Evaluate the states of the leaf nodes 1) Back up the results from the leaves to the root and pick the best action assuming the worst from MIN Minimax algorithm
Evaluation Function Function e(s): state s scalar A heuristic that estimates how favorable s is for MAX e(s) > 0 : s is favorable to MAX e(s) < 0 : s is favorable to MIN e(s) = 0 : s is neutral

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Example: Tic-tac-Toe Consider … e(s) = # rows/columns/diagonals open for MAX - # rows/columns/diagonals open for MIN 8 - 8 = 0 6 - 4 = 2 3 - 3 = 0
Construction of Function e(s) Usually a weighted sum of “features”: Features may include Number of pieces of each type Number of possible moves Number of squares controlled n i i i=1 e(s)= wf (s)

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Backing up Values 6-5=1 5-6=-1 5-5=0 5-5=0 6-5=1 5-5=1 4-5=-1 5-6=-1 6-4=2 5-4=1 6-6=0 4-6=-2 -1 -2 1 1 Tic-Tac-Toe tree at horizon = 2 Best move
Continuation 0 1 1 1 3 2 1 1 2 1 0 1 1 0 0 2 0 1 1 1 2 2 2 3 1 2

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Why use backed-up values? At each non-leaf node N, the backed-up
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

Page1 / 70

06-chapt6 - CSE630 AdversarialSearch(GameTrees Prof Naeem...

This preview shows document pages 1 - 15. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online