1 / 10

Search applied to a problem against an adversary some actions are not under the control of the problem-solver there is an opponent (hostile agent) - PowerPoint PPT Presentation

Game playing. Search applied to a problem against an adversary some actions are not under the control of the problem-solver there is an opponent (hostile agent) Since it is a search problem, we must specify states & operations/actions

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Search applied to a problem against an adversary some actions are not under the control of the problem-solver there is an opponent (hostile agent)

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

• Search applied to a problem against an adversary

• some actions are not under the control of the problem-solver

• there is an opponent (hostile agent)

• Since it is a search problem, we must specify states & operations/actions

• initial state = current board; operators = legal moves; goal state = game over; utility function = value for the outcome of the game

• usually, (board) games have well-defined rules & the entire state is accessible

• Consider all possible moves for yourself

• Consider all possible moves for your opponent

• Continue this process until a point is reached where we know the outcome of the game

• From this point, propagate the best move back

• choose best move for yourself at every turn

• assume your opponent will make the optimal move on their turn

• For interesting games, it is simply not computationally possible to look at all possible moves

• in chess, there are on average 35 choices per turn

• on average, there are about 50 moves per player

• thus, the number of possibilities to consider is 35^100

Chance

Deterministic

Perfect

Information

Imperfect

Information

• Two players take turn.

• Each Player knows what the other has done to this point and can do.

• One of the players wins and the other loses (or there is a draw).

MIN

Games as SearchGrundy’s Game (Nilsson 1980, Page 112)

• Each player divides one of the current stacks into two unequal stacks (one having more coins than the other).

• The game ends when every stack contains one or two coins

• The first player who cannot play loses.

5, 2

4, 3

Max’s turn

Min’s turn

3, 2, 2

5, 1, 1

4, 2, 1

3, 3, 1

4, 1, 1, 1

3, 2, 1, 1

2, 2, 2, 1

Max’s turn

MAX Loses

3, 1, 1, 1, 1

2, 2, 1, 1, 1

Min’s turn

Min Loses

2, 1, 1, 1, 1, 1

Max’s turn

MAX Loses

Grundy’s Game: States

Can Max devise a strategy to always win?

Min’s turn

7

A numeric value for the terminal states. For chess it is 1, 0, -1 for win loss, draw. For backgammon 192 to -192.

O

X

X

O

O

e(n) = 4 - 3 = 1

e(n) = 6 - 4 = 2

Conduct a depth first search until a terminal node is reached- a breadth first search until all nodes at level 2 are generated

Evaluation function example:

tic-tac-toe for a node n

e(n)=(number of complete lines- row, column or diagonal that are still open for

max) - (number of complete lines- row, column or diagonal that are still

open for min)

For each move by the computer

1. perform depth-first search as far as the terminal state

2. assign utilities at each terminal state

3. propagate upwards the minimax choices

if the parent is a minimizer (opponent)

propagate up the minimum value of the children

if the parent is a maximizer (computer)

propagate up the maximum value of the children

4. choose the move (the child of the current node) corresponding

to the maximum of the minimax values of the children

minimax values are gradually propagated upwards as depth-first search proceeds, i.e., minimax values

propagate up the tree in a “left-to-right” fashion

minimax values for sub-tree are propagated upwards “as we go”, so only O(bd) nodes need to be kept in

memory at any time