Loading in 5 sec....

Search applied to a problem against an adversaryPowerPoint Presentation

Search applied to a problem against an adversary

- By
**ayla** - Follow User

- 65 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Search applied to a problem against an adversary' - ayla

**An Image/Link below is provided (as is) to download presentation**

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

Basic idea

- 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

Problem

- 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

http://www.youtube.com/watch?v=y9UMt-8gfW8

Deterministic Two-person Games

- 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)- Start with a stack of coins
- 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: StatesCan Max devise a strategy to always win?

Min’s turn

7

Utility function (objective function or payoff function)

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 generatedEvaluation 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)

General Minimax Algorithm on a Game Tree

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

Download Presentation

Connecting to Server..