adversarial search

30
ARTIFICIAL INTELLIGENCE Chapter 6 Adversarial search Prepared by: Issam Al-dehedhawy Farah Al-Tufaili

Upload: farah-al-tufaili

Post on 31-Jul-2015

191 views

Category:

Documents


1 download

TRANSCRIPT

ARTIFICIAL INTELLIGENCE

Chapter 6Adversarial search

Prepared by:Issam Al-dehedhawyFarah Al-Tufaili

ADVERSARIAL SEARCH

Examining the problems that arise when we try to plan ahead in a world where other agents are planning against us.

OVERVIEW OF GAMES

Games are a form of multi-agent environment

What do other agents do and how do they affect our success?

Cooperative vs. competitive multi-agent environments .

Competitive multi-agent environments give rise to adversarial search.

OUTLINES Introduction to game

Optimal decisions in games

Optimal strategies

Tic-tac-toe.

The minimax algorithm.

Optimal decisions in multiplayer games.

GAME SEARCHGame-playing programs developed by AI researchers since the beginning of the modern AI

– Programs playing chess, checkers, etc (1950s)

• Specifics of the game search:

– Sequences of player’s decisions we control– Decisions of other player(s) we do not control

• Contingency problem: – Many possible opponent’s moves must be “covered” by the solution– Opponent’s behavior introduces an uncertainty in the game– We do not know exactly what the response is going to be

• Rational opponent – maximizes it own utility (payoff) Function.

GAMES VS. SEARCHSearch – no adversary -Solution is (heuristic) method for finding goal -Heuristics and CSP techniques can find optimal solution Evaluation function: estimate of cost from start to goal through given node.

Examples: path planning, scheduling activities

Games – adversary -Solution is strategy (strategy specifies move for every possible opponent reply).

-Time limits force an approximate solution to be taken.Evaluation function: evaluate “goodness” of game position

Examples: chess, checkers, Othello, backgammon

Farah Al-Tufaili
موجهه
Farah Al-Tufaili
constraint satisfaction problem

TYPES OF GAME PROBLEMSTypes of game problems

Adversarial games:

win of one player is a loss of the other

– Cooperative games:

players have common interests and utility function

– A spectrum of game problems in between the two

TYPES OF GAME PROBLEMS Fully cooperative games

Adversarial games

we focus on adversarial games only!!

OPTIMAL DECISIONS IN GAMES• Game problem formulation:

– Initial state: initial board position and identifies the player to move

– successor function: legal moves a player can make

– Goal (terminal test): determines when the game is over

– Utility (payoff) function: measures the outcome of the

game and its desirability

• Search objective:

– find the sequence of player’s decisions (moves)

maximizing its utility (payoff)

– Consider the opponent’s moves and their utility

OPTIMAL STRATEGIES

-Find the contingent strategy for MAX assuming an infallible MIN opponent.

-Assumption: Both players play optimally !!

Given a game tree, the optimal strategy can be determined by using the minimax value of each node:

-MINIMAX-VALUE(n)=

UTILITY(n) If n is a terminal

maxs successors(n) MINIMAX-VALUE(s) If n is a max then

mins successors(n) MINIMAX-VALUE(s) If n is a min node

EXAMPLE OF AN ADVERSARIAL 2 PERSON GAME:TIC-TAC-TOEPlayer 1 (x) moves

first

win

drow

loss

A two player game where minmax algorithm is applies is Tic–Tac-Toe. In this game in order to win you must fill a row,a column or diagonal

(X or O).

GAME PROBLEM FORMULATION (TIC-TAC-TOE)

Objectives: •Player 1:

maximize outcome

•Player 2:minimize outcome

-1 0 1

Terminal (goal) states

Utility:

Minimax is a decision rule algorithm, which is represented as a game-tree.

It has applications in decision theory, game theory , statistics and philosophy.

Minimax is applied in two player games. The one is the min and the other is the max player.

By agreement the root of the game-tree represents the max player.

It is assumed that each player aims to do the best move for himself and therefore the worst move for his opponent in order to win the game.

MINIMAX ALGORITHM

MINIMAX ALGORITHM

How to deal with the contingency problem?

• Assuming that the opponent is rational and always optimizes its behavior (opposite to us) we consider the best response. opponent’s

• Then the minimax algorithm determines the best move

MINIMAX ALGORITHM

3 8 12 2 4 6 14 5 2

3 2 2

3Max

Min

Utility

MINIMAX ALGORITHM

4 3 6 2 1 9 5 3 1

Max

Min

Utility 2 7 5

Max

MINIMAX ALGORITHM

2 1 9 5 3 1

Max

Min

Utility 2 7 5

Max

4

4 3 6

MINIMAX ALGORITHM

2 1 9 5 3 1

Max

Min

Utility 2 7 5

Max

4 6

4 3 6

MINIMAX ALGORITHM

4 3 6 2 1 9 5 3 1

Max

Min

Utility 2 7 5

Max

4

64

MINIMAX ALGORITHM

4 3 6 2 1 9 5 3 1

Max

Min

2 7 5

Max

4

64 2

Utility

MINIMAX ALGORITHM

4 3 6 2 1 9 5 3 1

Max

Min

2 7 5

Max

4

64 2 9

Utility

MINIMAX ALGORITHM

4 3 6 2 1 9 5 3 1

Max

Min

2 7 5

Max

4

64 2 9

2

Utility

MINIMAX ALGORITHM

2 1 9 5 3

3

Max

Min

2 7 5

Max

4

64 2 9

2

1Utili

ty 4 3 6

MINIMAX ALGORITHM

2 1 9 5 3

3

Max

Min

2 7 5

Max

4

64 2 9

2

1

7

Utility 4 3 6

MINIMAX ALGORITHM

2 1 9 5 3

3

Max

Min

2 7 5

Max

4

64 2 9

2

1

7

3

Utility 4 3 6

MINIMAX ALGORITHM

2 1 9 5 3

3

Max

Min

2 7 5

Max

4

64 2 9

2

1

7

3

4

Utility 4 3 6

MINIMAX ALGORITHMfunction MINIMAX-DECISION(state) returns an action

inputs: state, current state in game vMAX-VALUE(state)

return the action in SUCCESSORS(state) with value v

function MIN-VALUE(state) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state)

v ∞ for a,s in SUCCESSORS(state) do

v MIN(v,MAX-VALUE(s)) return v

function MAX-VALUE(state) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state)

v ∞ for a,s in SUCCESSORS(state) do

v MAX(v,MIN-VALUE(s)) return v

PROPERTIES OF MINIMAX

Complete? Yes (if tree is finite)

Optimal? Yes (against an optimal opponent)

Time complexity? O(bm)

Space complexity? O(bm) (depth-first exploration,for algorithm that generates all successors at once or O(m) for an algorithm that generates suuccesors one at atime )

For chess, b ≈ 35, m ≈100 for "reasonable" games exact solution completely infeasible

Minimax advantages:

-Returns an optimal action, assuming perfect opponent play.

Minimax is the simplest possible (reasonable) game search algorithm.

-Tic-Tac-Toe player, chances are you either looked this up on Wikipedia, or

invented it in the process.)

Minimax disadvantages: It's completely infeasible in practice.

! When the search tree is too large, we need to limit the search depth and

apply an evaluation function to the cut-off states.

MULTIPLAYER GAMES

Games allow more than two players

Single minimax values become vectors