Alpha Beta Pruning
-
Upload
james-callahan -
Category
Documents
-
view
36 -
download
2
description
Transcript of Alpha Beta Pruning
Alpha beta pruning• a – lower bound for max player (the highest minimum payoff)• Initialized as -inf• a is updated by max player (you want the highest lower bound)
• a = max(a, utility)• max player looks at b to prune (when utility val is > b)
• b – upper bound for min player (lowest maximum payoff)• Initialized as inf• b is updated by min player
• a= min(b, utility)• min player looks at a to prune (when utility val is < a)
84 -29 -37 -25 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= inf
a= -infb= inf
a= -infb= inf
0
0 0
0 0
0 0 0 0
0 0
0 0 0 0
84 -29 -37 -25 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= inf
a= -infb= inf
a= -infb= 84
0
0 0
0 0
84 0 0 0
0 0
0 0 0 0b = min(inf, 84)
84 -29 -37 -25 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= inf
a= -infb= inf
a= -infb= -29
0
0 0
0 0
-29 0 0 0
0 0
0 0 0 0b = min(84,-29)
84 -29 -37 -25 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= inf
a= -29b= inf
a= -infb= 84
0
0 0
-29 0
-29 0 0 0
0 0
0 0 0 0
a=max(-inf,-29)
a= -29b= inf
84 -29 -37 -25 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= inf
a= -29b= inf
a= -infb= 84
0
0 0
-29 0
-29 -37 0 0
0 0
0 0 0 0a= -29b= -37
b = min(inf,-37)
84 -29 -37 -25 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= inf
a= -29b= inf
a= -infb= 84
0
0 0
-29 0
-29 -37 0 0
0 0
0 0 0 0a= -29b= -37
the lower bound (a) for the max node X is -29. That’s the least value that X will take. The upper bound (b) for the min node Y is -37, which means Y would take a value of -37 or lower. Since a > b, we know that X will take -29, and can ignore the subtree -25.
X
Y
84 -29 -37 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= inf
a= -29b= inf
a= -infb= 84
0
0 0
-29 0
-29 -37 0 0
0 0
0 0 0 0a= -29b= -37
Since v is still -29,a=max(-29,v) = -29
84 -29 -37 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= -29
a= -29b= inf
a= -infb= 84
0
-29 0
-29 0
-29 -37 0 0
0 0
0 0 0 0a= -29b= -37
b = min(inf,-29)
84 -29 -37 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= -29
a= -29b= inf
a= -infb= 84
0
-29 0
-29 0
-29 -37 1 0
0 0
0 0 0 0a= -29b= -37
a= -infb= -29
a= -infb= -29
b = min(-29,1)
84 -29 -37 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= -29
a= -29b= inf
a= -infb= 84
0
-29 0
-29 0
-29 -37 -43 0
0 0
0 0 0 0a= -29b= -37
a= -infb= -29
a= -infb= -43
b = min(-29,-43)
84 -29 -37 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= -29
a= -29b= inf
a= -infb= 84
0
-29 0
-29 -43
-29 -37 -43 0
0 0
0 0 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a=max(-inf,-43)
84 -29 -37 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= -29
a= -29b= inf
a= -infb= 84
0
-29 0
-29 -43
-29 -37 -43 -75
0 0
0 0 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
b = min(-29,-75)
84 -29 -37 1 -43 -75 49 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= -29
a= -29b= inf
a= -infb= 84
0
-29 0
-29 -43
-29 -37 -43 -75
0 0
0 0 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a >b
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -infb= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
0
-43 0
-29 -43
-29 -37 -43 -75
0 0
0 0 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
b = min(-29,-43)
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -43b= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
-43
-43 0
-29 -43
-29 -37 -43 -75
0 0
0 0 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a=max(-inf,-43)
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -43b= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
-43
-43 0
-29 -43
-29 -37 -43 -75
0 0
-21 0 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a= -43b= inf
a= -43b= inf
a= -43b= -21
b = min(inf, -21)
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -43b= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
-43
-43 0
-29 -43
-29 -37 -43 -75
0 0
-51 0 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a= -43b= inf
a= -43b= inf
a= -43b= -51
b = min(-21,-51)
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -43b= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
-43
-43 0
-29 -43
-29 -37 -43 -75
-51 0
-51 0 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a= -43b= inf
a= -43b= inf
a= -43b= -51
a=max(-43,-51)
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -43b= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
-43
-43 0
-29 -43
-29 -37 -43 -75
-51 0
-51 58 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a= -43b= inf
a= -43b= inf
a= -43b= -51
a= -43b= 58
b = min(inf,58)
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -43b= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
-43
-43 0
-29 -43
-29 -37 -43 -75
-51 0
-51 -46 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a= -43b= inf
a= -43b= inf
a= -43b= -51
a= -43b= -46
b = min(58,-46)
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -43b= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
-43
-43 0
-29 -43
-29 -37 -43 -75
-46 0
-51 -46 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a= -43b= inf
a= -43b= inf
a= -43b= -51
a= -43b= -46
a=max(-43,-46)
84 -29 -37 1 -43 -75 -21 -51 58 -46 -3 -13 26 79
a= -43b= inf
a= -infb= -43
a= -29b= inf
a= -infb= 84
-43
-43 -46
-29 -43
-29 -37 -43 -75
-46 0
-51 -46 0 0a= -29b= -37
a= -43b= -29
a= -infb= -43
a= -43b= -75
a= -43b= -46
a= -43b= inf
a= -43b= -51
a= -43b= -46
a=max(-43,-46)
b = min(inf,-46)a >b