Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm...

49
Introduction to Artificial Intelligence Game Playing Bernhard Beckert U NIVERSITÄT KOBLENZ -L ANDAU Summer Term 2003 B. Beckert: Einführung in die KI / KI für IM – p.1

Transcript of Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm...

Page 1: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Intr oduction to Ar tificial Intellig ence

Game Playing

Bernhar d Becker t

UNIVERSITÄT KOBLENZ-LANDAU

Summer Term 2003

B. Beckert: Einführung in die KI / KI für IM – p.1

Page 2: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Outline

Perfect play

Resour ce limits

α-β pruning

Games of chance

Games of imperf ect inf ormation

B. Beckert: Einführung in die KI / KI für IM – p.2

Page 3: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Games vs. Search Problems

Game playing is a search problem

Defined by

– Initial state– Successor function– Goal test– Path cost / utility / payoff function

Characteristics of game playing

“Unpredictab le” opponent:Solution is a strategy specifying a move for every possib le opponent repl y

Time limits:Unlikel y to find goal, must appr oximate

B. Beckert: Einführung in die KI / KI für IM – p.3

Page 4: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Game Playing

Plan of attac k

Computer consider s possib le lines of play [Babba ge, 1846]

Algorithm for perf ect play [Zermelo, 1912; Von Neumann, 1944]

Finite horizon, appr oximate evaluation[Zuse , 1945; Wiener, 1948; Shannon, 1950]

First chess program [Turing, 1951]

Machine learning to impr ove evaluation accurac y [Samuel, 1952–57]

Pruning to allo w deeper search [McCar thy, 1956]

B. Beckert: Einführung in die KI / KI für IM – p.4

Page 5: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Types of Games

deterministic chance

perfect information

imperfect information

chess, checkers,go, othello

backgammonmonopoly

bridge, poker, scrabblenuclear war

B. Beckert: Einführung in die KI / KI für IM – p.5

Page 6: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Game Tree: 2-Player / Deterministic / Turns

XXXX

XX

X

XX

MAX (X)

MIN (O)

X X

O

OOX O

OO O

O OO

MAX (X)

X OX OX O XX X

XX

X X

MIN (O)

X O X X O X X O X

. . . . . . . . . . . .

. . .

. . .

. . .

TERMINALXX

−1 0 +1Utility

B. Beckert: Einführung in die KI / KI für IM – p.6

Page 7: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Minimax

Perfect play for deterministic, perf ect-inf ormation games

Idea

Choose move to position with highest minimax value,i.e., best achievable payoff against best play

B. Beckert: Einführung in die KI / KI für IM – p.7

Page 8: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Minimax: Example

2-ply game

MAX

3 12 8 642 14 5 2

MIN

3

A1

A3

A2

A13A

12A

11A

21 A23

A22

A33A

32A

31

3 2 2

B. Beckert: Einführung in die KI / KI für IM – p.8

Page 9: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Minimax Algorithm

function MINIMAX-DECISION(game) returns an operator

for each op in OPERATORS[game] do

VALUE[op] MINIMAX-VALUE(APPLY(op, game), game)

end

return the op with the highest VALUE[op]

function MINIMAX-VALUE(state, game) returns a utility value

if TERMINAL-TEST[game](state) then

return UTILITY[game](state)

else if M AX is to move in state then

return the highest MINIMAX-VALUE of SUCCESSORS(state)

else

return the lowest MINIMAX-VALUE of SUCCESSORS(state)

B. Beckert: Einführung in die KI / KI für IM – p.9

Page 10: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Proper ties of Minimax

Complete Yes, if tree is finite (chess has specific rules for this)

Optimal Yes, against an optimal opponent. Otherwise??

Time O bm (depth-fir st exploration)

Space O bm (depth-fir st exploration)

Note

Finite strategy can exist even in an infinite tree

B. Beckert: Einführung in die KI / KI für IM – p.10

Page 11: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Resour ce Limits

Comple xity of chess

b 35, m 100 for “reasonab le” gamesExact solution completel y inf easib le

Standar d appr oach

Cutoff teste.g., depth limit (perhaps add quiescence search)

Evaluation functionEstimates desirability of position

B. Beckert: Einführung in die KI / KI für IM – p.11

Page 12: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Evaluation Functions

Estimate desirability of position

Black to move

White slightly better

White to move

Black winning

B. Beckert: Einführung in die KI / KI für IM – p.12

Page 13: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Evaluation Functions

Typical evaluation function for chess

Weighted sum of features

EVAL s w1 f1 s w2 f2 s wn fn s

Example

w1 9

f1 s (number of white queens) (number of black queens)

B. Beckert: Einführung in die KI / KI für IM – p.13

Page 14: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Cutting Off Search

Does it work in practice?

bm 106 b 35 m 4

Not reall y, because . . .

4-ply human novice (hopeless chess player)

8-ply typical PC, human master

12-ply Deep Blue , Kaspar ov

B. Beckert: Einführung in die KI / KI für IM – p.15

Page 15: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

α-β Pruning Example

MAX

3 12 8

MIN 3

3

B. Beckert: Einführung in die KI / KI für IM – p.16

Page 16: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

α-β Pruning Example

MAX

3 12 8

MIN 3

2

2

X X

3

B. Beckert: Einführung in die KI / KI für IM – p.16

Page 17: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

α-β Pruning Example

MAX

3 12 8

MIN 3

2

2

X X14

14

3

B. Beckert: Einführung in die KI / KI für IM – p.16

Page 18: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

α-β Pruning Example

MAX

3 12 8

MIN 3

2

2

X X14

14

5

5

3

B. Beckert: Einführung in die KI / KI für IM – p.16

Page 19: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

α-β Pruning Example

MAX

3 12 8

MIN

3

3

2

2

X X14

14

5

5

2

2

3

B. Beckert: Einführung in die KI / KI für IM – p.16

Page 20: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Proper ties of α-β

Effects of pruning

Reduces the search space

Does not affect final result

Effectiveness

Good move ordering impr oves effectiveness

Time comple xity with “perf ect ordering”: O bm

2

Doub les depth of search

For chess:Can easil y reach depth 8 and play good chess

B. Beckert: Einführung in die KI / KI für IM – p.17

Page 21: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

The Idea of α-β

..

..

..

MAX

MIN

MAX

MIN V

α is the best value (to MAX)found so far off the current path

If value x of some node belo w V iskno wn to be less than α,

then value of V is kno wn to be at most x,i.e., less than α,

theref ore MAX will avoid node V

Consequence

No need to expand fur ther nodesbelo w V

B. Beckert: Einführung in die KI / KI für IM – p.18

Page 22: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

The α-β Algorithm

function MAX-VALUE(state, game, α, β) returns the minimax value of state

inputs : state /* current state in game */

game /* game description */

α /* the best score for M AX along the path to state */

β /* the best score for M I N along the path to state */

if CUTOFF-TEST(state) then return EVAL(state)

for each s in SUCCESSORS(state) do

α MAX(α, MIN-VALUE(s, game, α, β))

if α β then return βend

return α

B. Beckert: Einführung in die KI / KI für IM – p.19

Page 23: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

The α-β Algorithm

function MIN-VALUE(state, game, α, β) returns the minimax value of state

inputs : state /* current state in game */

game /* game description */

α /* the best score for M AX along the path to state */

β /* the best score for M I N along the path to state */

if CUTOFF-TEST(state) then return EVAL(state)

for each s in SUCCESSORS(state) do

β MIN( β, MAX-VALUE(s, game, α, β))

if β α then return αend

return β

B. Beckert: Einführung in die KI / KI für IM – p.20

Page 24: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Deterministic Games in Practice

Checkers

Chinook ended 40-year-reign of human world champion Marion Tinsle y in 1994.Used an endgame database defining perf ect play for all positionsinvolving 8 or fewer pieces on the boar d, a total of 443,748,401,247 positions.

Chess

Deep Blue defeated human world champion Gary Kaspar ov in a six-game matc hin 1997. Deep Blue searches 200 million positions per second, uses verysophisticated evaluation, and undisc losed methods for extending some linesof search up to 40 ply.

Go

Human champions refuse to compete against computer s, who are too bad.In go, b 300, so most programs use pattern kno wledg e bases to sug gestplausib le moves.

B. Beckert: Einführung in die KI / KI für IM – p.21

Page 25: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Nondeterministic Games: Backgammon

1 2 3 4 5 6 7 8 9 10 11 12

24 23 22 21 20 19 18 17 16 15 14 13

0

25

B. Beckert: Einführung in die KI / KI für IM – p.22

Page 26: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Nondeterministic Games in General

Chance intr oduced by dice , card-shuffling, etc.

Simplified example with coin-flipping

MIN

MAX

2

CHANCE

4 7 4 6 0 5 −2

2 4 0 −2

0.5 0.5 0.5 0.5

3 −1

B. Beckert: Einführung in die KI / KI für IM – p.23

Page 27: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Algorithm for Nondeterministic Games

EXPECTMINIMAX gives perf ect play

if state is a MAX node thenreturn the highest EXPECTMINIMAX value of SUCCESSORS(state)

if state is a MIN node thenreturn the lowest EXPECTI M I NI M AX value of SUCCESSORS(state)

if state is a chance node thenreturn average of EXPECTMINIMAX value of SUCCESSORS(state)

B. Beckert: Einführung in die KI / KI für IM – p.24

Page 28: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning in Nondeterministic Game Trees

A version of α-β pruning is possib le

0.5 0.5

[ − , + ]

[ − , + ]

[ − , + ]

0.5 0.5

[ − , + ]

[ − , + ]

[ − , + ]

B. Beckert: Einführung in die KI / KI für IM – p.25

Page 29: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning in Nondeterministic Game Trees

A version of α-β pruning is possib le

2

[ − , 2 ]

0.5 0.5

[ − , + ]

[ − , + ]

[ − , + ]

0.5 0.5

[ − , + ]

[ − , + ]

B. Beckert: Einführung in die KI / KI für IM – p.25

Page 30: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning in Nondeterministic Game Trees

A version of α-β pruning is possib le

0.5 0.5

[ − , + ]

[ − , + ]

[ − , + ]

0.5 0.5

[ − , + ]

[ − , + ]

2 2

[ 2 , 2 ]

B. Beckert: Einführung in die KI / KI für IM – p.25

Page 31: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning in Nondeterministic Game Trees

A version of α-β pruning is possib le

[ − , 2 ]

2

[ − , 2 ]

0.5 0.5

[ − , + ]

[ − , + ]

[ − , + ]

0.5 0.5

2 2

[ 2 , 2 ]

B. Beckert: Einführung in die KI / KI für IM – p.25

Page 32: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning in Nondeterministic Game Trees

A version of α-β pruning is possib le

2

0.5 0.5

[ − , + ]

[ − , + ]

[ − , + ]

0.5 0.5

2 2

[ 2 , 2 ]

1

[ 1 , 1 ]

[ 1.5 , 1.5 ]

B. Beckert: Einführung in die KI / KI für IM – p.25

Page 33: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning in Nondeterministic Game Trees

A version of α-β pruning is possib le

[ − , 0 ]

2

0.5 0.5

[ − , + ]

[ − , + ]

0.5 0.5

2 2

[ 2 , 2 ]

1

[ 1 , 1 ]

[ 1.5 , 1.5 ]

0

B. Beckert: Einführung in die KI / KI für IM – p.25

Page 34: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning in Nondeterministic Game Trees

A version of α-β pruning is possib le

2

0.5 0.5

[ − , + ]

[ − , + ]

0.5 0.5

2 2

[ 2 , 2 ]

1

[ 1 , 1 ]

[ 1.5 , 1.5 ]

0 1

[ 0 , 0 ]

B. Beckert: Einführung in die KI / KI für IM – p.25

Page 35: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning in Nondeterministic Game Trees

A version of α-β pruning is possib le

[ − , 0.5 ]

[ − , 1 ]

2

0.5 0.50.5 0.5

2 2

[ 2 , 2 ]

1

[ 1 , 1 ]

[ 1.5 , 1.5 ]

0 1

[ 0 , 0 ]

1

B. Beckert: Einführung in die KI / KI für IM – p.25

Page 36: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning Contin ued

More pruning occur s if we can bound the leaf values

0.5 0.50.5 0.5

[ −2 , 2 ] [ −2 , 2 ]

[ −2 , 2 ][ −2 , 2 ][ −2 , 2 ][ −2 , 2 ]

B. Beckert: Einführung in die KI / KI für IM – p.26

Page 37: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning Contin ued

More pruning occur s if we can bound the leaf values

0.5 0.50.5 0.5

[ −2 , 2 ] [ −2 , 2 ]

[ −2 , 2 ][ −2 , 2 ][ −2 , 2 ][ −2 , 2 ]

2

B. Beckert: Einführung in die KI / KI für IM – p.26

Page 38: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning Contin ued

More pruning occur s if we can bound the leaf values

0.5 0.50.5 0.5

[ −2 , 2 ]

[ −2 , 2 ][ −2 , 2 ][ −2 , 2 ]

2 2

[ 2 , 2 ]

[ 0 , 2 ]

B. Beckert: Einführung in die KI / KI für IM – p.26

Page 39: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning Contin ued

More pruning occur s if we can bound the leaf values

0.5 0.50.5 0.5

[ −2 , 2 ]

[ −2 , 2 ][ −2 , 2 ][ −2 , 2 ]

2 2

[ 2 , 2 ]

[ 0 , 2 ]

2

B. Beckert: Einführung in die KI / KI für IM – p.26

Page 40: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning Contin ued

More pruning occur s if we can bound the leaf values

0.5 0.50.5 0.5

[ −2 , 2 ]

[ −2 , 2 ][ −2 , 2 ]

2 2

[ 2 , 2 ]

2 1

[ 1 , 1 ]

[ 1.5 , 1.5 ]

B. Beckert: Einführung in die KI / KI für IM – p.26

Page 41: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Pruning Contin ued

More pruning occur s if we can bound the leaf values

0.5 0.50.5 0.5

[ −2 , 2 ]

2 2

[ 2 , 2 ]

2 1

[ 1 , 1 ]

[ 1.5 , 1.5 ]

0

[ −2 , 0 ]

[ −2 , 1 ]

B. Beckert: Einführung in die KI / KI für IM – p.26

Page 42: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Nondeterministic Games in Practice

Problem

α-β pruning is much less effective

Dice rolls increase b

21 possib le rolls with 2 dice

Backgammon

20 legal moves

4 204 213 1 2 109

TDGAMMON

Uses depth-2 search + very good EVAL world-c hampion level

B. Beckert: Einführung in die KI / KI für IM – p.27

Page 43: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Digression: Exact Values DO Matter

DICE

MIN

MAX

2 2 3 3 1 1 4 4

2 3 1 4

.9 .1 .9 .1

2.1 1.3

20 20 30 30 1 1 400 400

20 30 1 400

.9 .1 .9 .1

21 40.9

Behaviour is preser ved onl y by positive linear transf ormation of EVAL

Hence EVAL should be propor tional to the expected payoff

B. Beckert: Einführung in die KI / KI für IM – p.28

Page 44: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Games of Imperf ect Information

Typical examples

Card games: Bridg e, poker , skat, etc.

Note

Like having one big dice roll at the beginning of the game

B. Beckert: Einführung in die KI / KI für IM – p.29

Page 45: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Games of Imperf ect Information

Idea for computing best action

Compute the minimax value of each action in each deal,then choose the action with highest expected value over all deals

Requires inf ormation on probability the diff erent deals

Special case

If an action is optimal for all deals, it’s optimal.

Bridg e

GIB, current best bridg e program, appr oximates this idea by

– generating 100 deals consistent with bid ding inf ormation– pic king the action that wins most tric ks on average

B. Beckert: Einführung in die KI / KI für IM – p.30

Page 46: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Commonsense Example

Day 1

Road A leads to a small heap of gold pieces 10 points

Road B leads to a fork:– take the left fork and you’ ll find a mound of jewels 100 points– take the right fork and you’ ll be run over by a bus 1000 points

Best action: Take road B (100 points)

Day 2

Road A leads to a small heap of gold pieces 10 points

Road B leads to a fork:– take the left fork and you’ ll be run over by a bus 1000 points– take the right fork and you’ ll find a mound of jewels 100 points

Best action: Take road B (100 points)

B. Beckert: Einführung in die KI / KI für IM – p.31

Page 47: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Commonsense Example

Day 3

Road A leads to a small heap of gold pieces (10 points)

Road B leads to a fork:– guess correctl y and you’ ll find a mound of jewels 100 points– guess incorrectl y and you’ ll be run over by a bus 1000 points

Best action: Take road A (10 points)

NOT: Take road B ( 1000

1002 450 points)

B. Beckert: Einführung in die KI / KI für IM – p.32

Page 48: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Proper Anal ysis

Note

Value of an actions is NOT the average of valuesfor actual states computed with perf ect inf ormation

With par tial obser vability , value of an action depends on theinf ormation state the agent is in

Leads to rational behavior s suc h as

Acting to obtain inf ormation

Signalling to one’s par tner

Acting randoml y to minimiz e inf ormation disc losure

B. Beckert: Einführung in die KI / KI für IM – p.33

Page 49: Introduction to Artificial Intelligence Game Playingbeckert/teaching/... · Minimax Algorithm function MINIMAX-DECISION(game) returns an operator for each op in OPERATORS[game] do

Summar y

Games are to AI as grand prix racing is to automobile design

Games are fun to work on (and dang erous)

They illustrate several impor tant points about AI

– perf ection is unattainab le, must appr oximate– it is a good idea to think about what to think about– uncer tainty constrains the assignment of values to states

B. Beckert: Einführung in die KI / KI für IM – p.34