min-max trees based on slides by: rob powers ian gent yishay mansour

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

Post on 20-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

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

Min-Max Trees

Based on slides by:

Rob Powers

Ian Gent

Yishay Mansour

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

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 Based on slides by: Rob Powers Ian Gent Yishay Mansour

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 Based on slides by: Rob Powers Ian Gent Yishay Mansour

MinMax first Example

Page 5: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour
Page 6: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

-1

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

-1 1

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

-1 1 -2

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

-1 1 -2

1

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

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 11: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

Alpha Beta First Example

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

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 13: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

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 14: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

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 15: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

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 16: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

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

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

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

= -, = +

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

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

= -, = +

= -, = +

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

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

= -, = 4

= -, = +

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

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

= -, = 4

= -, = + = -, = 4

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

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

= -, = 4

= -, = + = -, = 4

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

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

= -, = 4

= -, = + = -, = 4

= 4, = +

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

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

= -, = 4

= -, = + = -, = 4

= 4, = +

= 4, = +

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

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

= -, = 4

= -, = + = -, = 4

= 4, = +

= 4, = +

= 4, = +

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

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

= -, = 4

= -, = + = -, = 4

= 4, = +

= 8, = +

= 4, = +

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

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

= -, = 4

= -, = + = -, = 4

= 4, = +

= 8, = +

= 4, = + = 8, = +

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

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

= -, = 4

= -, = + = -, = 4

= 4, = +

= 8, = +

= 4, = + = 8, = +

= 8, = +

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

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

= -, = 4

= -, = + = -, = 4

= 4, = +

= 8, = +

= 4, = + = 8, = 6

= 8, = +

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

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

= -, = 4

= -, = + = -, = 4

= 4, = +

= 8, = +

= 4, = + = 8, = 6

= 8, = +

(Alpha pruning)

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

(Alpha pruning)

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 4, = 8

(Alpha pruning)

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 4, = 8

= 4, = 8

(Alpha pruning)

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 4, = 8

= 4, = 8

= 4, = 8

(Alpha pruning)

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 4, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 4, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 4, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 5, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 5, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8 = 5, = 8

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 5, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8 = 5, = 8

=5, =8

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 5, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8 = 5, = 6

=5, =8

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 5, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8 = 5, = 6

=5, =8 =5, =6

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 5, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8 = 5, = 6

=5, =8 =5, =6

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

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

= -, = 4

= -, = + = -, = 4

= 4, = 8

= 8, = +

= 4, = + = 8, = 6

= 8, = +

= 6, = 8

= 4, = 3

= 4, = 8

(Alpha pruning)

(Alpha pruning)

= 4, = 8 = 5, = 6

=5, =8 =5, =6

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

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

= -, = 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

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

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

= -, = 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

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

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

= -, = 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 47: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

#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 48: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

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 49: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

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

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

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 51: Min-Max Trees Based on slides by: Rob Powers Ian Gent Yishay Mansour

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

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

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

= -, = +

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

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

= -, = +

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

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

= -, = += 7, = +

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

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

= -, = += 7, = +

= 7, = +

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

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

= -, = += 7, = +

= 7, = +

= 7, = +

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

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

= -, = += 7, = +

= 7, = +

= 7, = +

=7, =+

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

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

= -, = += 7, = +

= 7, = +

= 7, = 12

=7, =+

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

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

= -, = += 7, = +

= 7, = +

= 7, = 12

=7, =+=7, =+

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

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

= -, = += 7, = +

= 7, = +

= 7, = 6

=7, =+=7, =+

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

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

= -, = += 7, = +

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

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

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

= -, = += 7, = +

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = +

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

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

= -, = += 7, = +

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = +

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

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

= -, = += 7, = +

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = +

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

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

= -, = += 7, = +

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = +

=7, =+

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

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

= -, = += 7, = +

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

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

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

= -, = += 7, = +

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

(Alpha pruning)

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

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

= -, = += 7, = 6

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

(Alpha pruning)

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

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

= -, = += 7, = 6

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

(Alpha pruning)

(Alpha pruning)

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

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

= -, = += 7, = 6

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

(Alpha pruning)

(Alpha pruning)

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

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

= -, = += 7, = 6

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

(Alpha pruning)

(Alpha pruning)

= 7, = +

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

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

= -, = += 7, = 6

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

(Alpha pruning)

(Alpha pruning)

= 7, = +

= 7, = +

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

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

= -, = += 7, = 6

= 7, = +

= 7, = 6

=7, =+=7, =+

(Alpha pruning)

= 7, = += 7, = -1

=7, =+

(Alpha pruning)

(Alpha pruning)

= 7, = 7

= 7, = +

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

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