Min-Max Trees

17
Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

description

Min-Max Trees. Yishay Mansour. Based on slides by: Rob Powers Ian Gent. Two Players Games. One Search Tree for both Players Even layers – Max Player move Odd Layers – Min Player move The state evaluated according to heuristic function. MinMax search strategy. - PowerPoint PPT Presentation

Transcript of Min-Max Trees

Page 1: Min-Max Trees

Min-Max Trees

Based on slides by:

Rob Powers

Ian Gent

Yishay Mansour

Page 2: Min-Max Trees

Two Players Games

• One Search Tree for both Players– Even layers – Max Player move– Odd Layers – Min Player move

• The state evaluated according to heuristic function.

Page 3: Min-Max Trees

MinMax search strategy

• Generate the whole game tree. (Or up to a constant depth)

• Evaluate Terminal states (Leafs)• propagate Min-Max values up from leafs • Search for MAX best next move, so that no matter

what MIN does MAX will be better off

• For branching factor b and depth search d the complexity is O(bd)

Page 4: Min-Max Trees

MinMax first Example

Page 5: Min-Max Trees

-1 1 -2

1

Page 6: Min-Max Trees

Cuting Off Search

• We want to prune the tree: stop exploring subtrees with values that will not influence the final MinMax root decision

• In the worst case, no pruning. – The complexity is O(bd).– In practice, O(bd/2), with branching factor of b1/2

instead of b.

Page 7: Min-Max Trees

Alpha Beta First Example

Page 8: Min-Max Trees

Alpha and Beta values

• At a Max node we will store an alpha value– the alpha value is lower bound on the exact minimax

score

– the true value might be – if we know Min can choose moves with score <

• then Min will never choose to let Max go to a node where the score will be or more

• At a Min node, value is similar but opposite• Alpha-Beta search uses these values to cut search

Page 9: Min-Max Trees

Alpha Beta in Action

• Why can we cut off search?

• Beta = 1 < alpha = 2 where the alpha value is at an ancestor node

• At the ancestor node, Max had a choice to get a score of at least 2 (maybe more)

• Max is not going to move right to let Min guarantee a score of 1 (maybe less)

M axscore = 3

M axscore = 2

M inscore = 2

B es t m ove = R ig h tb e ta = 2

M axscore = 1

M axscore = ?

M axscore = ?

M inscore = ? < 2

B es t m ove = ?b e ta = 1

M axscore = 2

B es t m ove = L e fta lp h a = 2

Page 10: Min-Max Trees

Alpha and Beta values• Max node has value

– the alpha value is lower bound on the exact minimax score– with best play Max can guarantee scoring at least

• Min node has value– the beta value is upper bound on the exact minimax score– with best play Min can guarantee scoring no more than

• At Max node, if an ancestor Min node has < – Min’s best play must never let Max move to this node

• therefore this node is irrelevant

– if = , Min can do as well without letting Max get here• so again we need not continue

Page 11: Min-Max Trees

Alpha-Beta Pruning Rule

• Two key points:– alpha values can never decrease– beta values can never increase

• Search can be discontinued at a node if:

– Max node:• the alpha value is the beta of any Min ancestor• this is beta cutoff

– Min node:• the beta value is the alpha of any Max ancestor• this is alpha cutoff

Page 12: Min-Max Trees

#2b Left->Right = -, = +

Page 13: Min-Max Trees

#2b Left->Right = 7, = +

= -, = 4

= -, = + = -, = 4

= 4, = 6

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 6, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8 = 5, = 6

=5, =8 =5, =6

= 6, = +

Page 14: Min-Max Trees

Beta Pruning = 4, = +

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 4, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8

9

Page 15: Min-Max Trees

Beta Pruning = 4, = +

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 9, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8

9

(Beta pruning)

Page 16: Min-Max Trees

#2b Right->Left = -, = +

Page 17: Min-Max Trees

#2b Right->Left = 7, = +

= -, = += 7, = 6

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

(Alpha pruning)

(Alpha pruning)

= 7, = 7

= 7, = +

(Alpha pruning)