0% found this document useful (0 votes)
46 views

Artificial Intelligence 5. Game Playing: Course V231 Department of Computing Imperial College © Simon Colton

This document discusses how artificial intelligence can be used for game playing. It covers techniques like minimax search, alpha-beta pruning and expectimax search which allow agents to search game trees and make optimal moves. Games discussed include chess, checkers, backgammon and more complex games involving chance elements.

Uploaded by

lakshay212
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Artificial Intelligence 5. Game Playing: Course V231 Department of Computing Imperial College © Simon Colton

This document discusses how artificial intelligence can be used for game playing. It covers techniques like minimax search, alpha-beta pruning and expectimax search which allow agents to search game trees and make optimal moves. Games discussed include chess, checkers, backgammon and more complex games involving chance elements.

Uploaded by

lakshay212
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

Artificial Intelligence

5. Game Playing
Course V231
Department of Computing
Imperial College
Simon Colton

Two Player Games


Competitive

One player loses, one player wins

Zero

sum game

One player wins what the other one loses


See game theory for the mathematics

Getting

rather than cooperative

an agent to play a game

Boils down to how it plays each move


Express this as a search problem
Cannot

backtrack once a move has been made (episodic)

(Our) Basis of Game Playing:


Search for best move every time

Search for

Opponent

Move 1

Moves

Initial Board State

Board State 2

Search for

Opponent

Move 3

Moves

Board State 4

Board State 3

Board State 5

Lookahead Search
If

I played this move


Then they might play that move
Then

And they would probably do that move

Or they might play that move


Then

Or

If

I could do that move

I could do that move

And they would play that move

I could play that move


And they would do that move

I played this move

Lookahead Search (best moves)


If

I played this move


Then their best move would be
Then

my best move would be

Then their best move would be

Or another good move for them is


Then

my best move would be

Etc.

Minimax Search
Like

children sharing a cake


Underlying assumption

Opponent acts rationally

Each

player moves in such a way as to

Maximise their final winnings, minimise their losses


i.e., play the best move at the time

Method:

Calculate the guaranteed final scores for each move


Assuming

the opponent will try to minimise that score

Choose move that maximises this guaranteed score

Example Trivial Game

Deal four playing cards out, face up


Player 1 chooses one, player 2 chooses one

Player 1 chooses another, player 2 chooses another

And the winner is.

Add the cards up


The player with the highest even number

Scores that amount (in pounds sterling from opponent)

For Trivial Games


Draw

the entire search space


Put the scores associated with each final board
state at the ends of the paths
Move the scores from the ends of the paths to
the starts of the paths

Whenever there is a choice use minimax assumption


This guarantees the scores you can get

Choose

the path with the best score at the top

Take the first move on this path as the next move

Entire Search Space

Moving the scores from


the bottom to the top

Moving a score
when theres a choice

Use minimax assumption

Rational choice for the player below the number youre moving

Choosing the best move

For Real Games


Search

So we cannot draw (search) the entire space

For

example: chess has branching factor of ~35

Suppose our agent searches 1000 board states per second


And has a time limit of 150 seconds
So

space is too large

can search 150,000 positions per move

This is only three or four ply look ahead


Because

353 = 42,875 and 354 = 1,500,625

Average humans can look ahead six-eight ply

Cutoff Search
Must

use a heuristic search


Use an evaluation function

Estimate the guaranteed score from a board state

Draw

search space to a certain depth

Depth chosen to limit the time taken

Put

the estimated values at the end of paths


Propagate them to the top as before
Question:

Is this a uniform path cost, greedy or A* search?

Evaluation Functions
Must

be able to differentiate between

Good and bad board states


Exact values not important
Ideally, the function would return the true score
For

goal states

Example

in chess

Weighted linear function


Weights:
Pawn=1,

knight=bishop=3, rook=5, queen=9

Example Chess Score

Black has:

5 pawns, 1 bishop, 2 rooks

Score = 1*(5)+3*(1)+5*(2)
= 5+3+10 = 18
White has:

5 pawns, 1 rook

Score = 1*(5)+5*(1)
= 5 + 5 = 10
Overall scores for this board state:
black = 18-10 = 8
white = 10-18 = -8

Evaluation Function for our Game


Evaluation

Count zero if its odd, take the number if its even

Evaluation

after the first move

function here would choose 10

But this would be disastrous for the player

Problems with Evaluation Functions


Horizon

problem

Agent cannot see far enough into search space


Potentially

Possible

disastrous board position after seemingly good one

solution

Reduce the number of initial moves to look at


Allows

you to look further into the search space

Non-quiescent

search

Exhibits big swings in the evaluation function


E.g., when taking pieces in chess
Solution: advance search past non-quiescent part

Pruning
Want

to visit as many board states as possible

Want to avoid whole branches (prune them)


Because

Example: having your queen taken in chess


(Queen

Alpha-beta

they cant possibly lead to a good score

sacrifices often very good tactic, though)

pruning

Can be used for entire search or cutoff search


Recognize that a branch cannot produce better score
Than

a node you have already evaluated

Alpha-Beta Pruning for Player 1


1. Given a node N which can be chosen by player one,
then if there is another node, X, along any path, such
that (a) X can be chosen by player two (b) X is on a
higher level than N and (c) X has been shown to
guarantee a worse score for player one than N, then
the parent of N can be pruned.
2. Given a node N which can be chosen by player two,
then if there is a node X along any path such that (a)
player one can choose X (b) X is on a higher level
than N and (c) X has been shown to guarantee a
better score for player one than N, then the parent of
N can be pruned.

Example of Alpha-Beta Pruning

player 1

Pr

un
e

player 2

Depth first search a good idea here

See notes for explanation

Games with Chance


Many

more interesting games

Have an element of chance


Brought in by throwing a die, tossing a coin

Example:

In

backgammon

See Gerry Tesauros TD-Gammon program

these cases
We can no longer calculate guaranteed scores
We can only calculate expected scores
Using

probability to guide us

Expectimax Search
Going

to draw tree and move values as before


Whenever there is a random event

Add an extra node for each possible outcome which will


change the board states possible after the event
E.g., six extra nodes if each roll of die affects state

Work out all possible board states from chance node


When moving score values up through a chance node

Multiply the value by the probability of the event happening

Add together all the multiplicands

Gives you expected value coming through the chance node

More interesting
(but still trivial) game
Deal

four cards face up


Player 1 chooses a card
Player 2 throws a die

If its a six, player 2 chooses a card, swaps it with


player 1s and keeps player 1s card
If its not a six, player 2 just chooses a card

Player

1 chooses next card


Player 2 takes the last card

Expectimax Diagram

Expectimax Calculations

Games Played by Computer


Games

played perfectly:

Connect four, noughts & crosses (tic-tac-toe)


Best move pre-calculated for each board state
Small

Games

played well:

Chess, draughts (checkers), backgammon


Scrabble, tetris (using ANNs)

Games

number of possible board states

played badly:

Go, bridge, soccer

Philosophical Questions

Q1. Is how computers plays chess

In science, simple & effective techniques are valued

Minimax cutoff search is simple and effective


But this is seen by some as stupid and non-AI

Drew McDermott:

More fundamental than how people play chess?

"Saying Deep Blue doesn't really think about chess is like saying
an airplane doesn't really fly because it doesn't flap its wings

Q2. If aliens came to Earth and challenged us to chess

Would you send Deep Blue or Kasparov into battle?

You might also like