Adversarial Search Christos Papaloukas, Iosif Angelidis University of Athens November 2017 Christos P., Iosif A. Adversarial Search UoA, 2017 1 / 61
Main Aspects Formulation In order to perform an Adversarial Search, the following components are required: S 0 : the initial state. Successor function: yields a list of (move, state) pairs. Terminal-test(S): game over for S? Utility function: Also known as objective function. Gives a numerical value for terminal states. Result(S, a): the potential estimation of performing a certain action. Consider 2 players, MAX and MIN, assumming that MAX starts first (otherwise the inverse logic of our discussion holds). Christos P., Iosif A. Adversarial Search UoA, 2017 2 / 61
Christos P., Iosif A. Adversarial Search UoA, 2017 3 / 61
Pseudocode MAX a: MAX s best option on path to root d e f max_value ( s t a t e, a, b ) : i n i t i a l i z e v = f o r s u c c e s s o r i n s t a t e. s u c c e s s o r s : v = max( v a l u e ( s u c c e s s o r, a, b ) ) i f v > b : r e t u r n v a = max( a, v ) r e t u r n v Christos P., Iosif A. Adversarial Search UoA, 2017 4 / 61
Pseudocode MIN b: MIN s best option on path to root d e f min_value ( s t a t e, a, b ) : i n i t i a l i z e v = + f o r s u c c e s s o r i n s t a t e. s u c c e s s o r s : v = min ( v a l u e ( s u c c e s s o r, a, b ) ) i f v < a : r e t u r n v b = min ( b, v ) r e t u r n v Christos P., Iosif A. Adversarial Search UoA, 2017 5 / 61
Example 1 (1/38) Christos P., Iosif A. Adversarial Search UoA, 2017 6 / 61
Example 1 (2/38) Christos P., Iosif A. Adversarial Search UoA, 2017 7 / 61
Example 1 (3/38) Christos P., Iosif A. Adversarial Search UoA, 2017 8 / 61
Example 1 (4/38) Christos P., Iosif A. Adversarial Search UoA, 2017 9 / 61
Example 1 (5/38) Christos P., Iosif A. Adversarial Search UoA, 2017 10 / 61
Example 1 (6/38) Christos P., Iosif A. Adversarial Search UoA, 2017 11 / 61
Example 1 (7/38) Christos P., Iosif A. Adversarial Search UoA, 2017 12 / 61
Example 1 (8/38) Christos P., Iosif A. Adversarial Search UoA, 2017 13 / 61
Example 1 (9/38) Christos P., Iosif A. Adversarial Search UoA, 2017 14 / 61
Example 1 (10/38) Christos P., Iosif A. Adversarial Search UoA, 2017 15 / 61
Example 1 (11/38) Christos P., Iosif A. Adversarial Search UoA, 2017 16 / 61
Example 1 (12/38) Christos P., Iosif A. Adversarial Search UoA, 2017 17 / 61
Example 1 (13/38) Christos P., Iosif A. Adversarial Search UoA, 2017 18 / 61
Example 1 (14/38) Christos P., Iosif A. Adversarial Search UoA, 2017 19 / 61
Example 1 (15/38) Christos P., Iosif A. Adversarial Search UoA, 2017 20 / 61
Example 1 (16/38) Christos P., Iosif A. Adversarial Search UoA, 2017 21 / 61
Example 1 (17/38) Christos P., Iosif A. Adversarial Search UoA, 2017 22 / 61
Example 1 (18/38) Christos P., Iosif A. Adversarial Search UoA, 2017 23 / 61
Example 1 (19/38) Christos P., Iosif A. Adversarial Search UoA, 2017 24 / 61
Example 1 (20/38) Christos P., Iosif A. Adversarial Search UoA, 2017 25 / 61
Example 1 (21/38) Christos P., Iosif A. Adversarial Search UoA, 2017 26 / 61
Example 1 (22/38) Christos P., Iosif A. Adversarial Search UoA, 2017 27 / 61
Example 1 (23/38) Christos P., Iosif A. Adversarial Search UoA, 2017 28 / 61
Example 1 (24/38) Christos P., Iosif A. Adversarial Search UoA, 2017 29 / 61
Example 1 (25/38) Christos P., Iosif A. Adversarial Search UoA, 2017 30 / 61
Example 1 (26/38) Christos P., Iosif A. Adversarial Search UoA, 2017 31 / 61
Example 1 (27/38) Christos P., Iosif A. Adversarial Search UoA, 2017 32 / 61
Example 1 (28/38) Christos P., Iosif A. Adversarial Search UoA, 2017 33 / 61
Example 1 (29/38) Christos P., Iosif A. Adversarial Search UoA, 2017 34 / 61
Example 1 (30/38) Christos P., Iosif A. Adversarial Search UoA, 2017 35 / 61
Example 1 (31/38) Christos P., Iosif A. Adversarial Search UoA, 2017 36 / 61
Example 1 (32/38) Christos P., Iosif A. Adversarial Search UoA, 2017 37 / 61
Example 1 (33/38) Christos P., Iosif A. Adversarial Search UoA, 2017 38 / 61
Example 1 (34/38) Christos P., Iosif A. Adversarial Search UoA, 2017 39 / 61
Example 1 (35/38) Christos P., Iosif A. Adversarial Search UoA, 2017 40 / 61
Example 1 (36/38) Christos P., Iosif A. Adversarial Search UoA, 2017 41 / 61
Example 1 (37/38) Christos P., Iosif A. Adversarial Search UoA, 2017 42 / 61
Example 1 (38/38) Christos P., Iosif A. Adversarial Search UoA, 2017 43 / 61
Example 2 (1/3) Question Given the next zero-sum game, circle MAX s optimal next move on the graph and state the minimax value of the game. Explain. Christos P., Iosif A. Adversarial Search UoA, 2017 44 / 61
Example 2 (2/3) Christos P., Iosif A. Adversarial Search UoA, 2017 45 / 61
Example 2 (3/3) Christos P., Iosif A. Adversarial Search UoA, 2017 46 / 61
Example 3 (1/3) Question Same as example 2, with a-b pruning. Christos P., Iosif A. Adversarial Search UoA, 2017 47 / 61
Example 3 (2/3) Christos P., Iosif A. Adversarial Search UoA, 2017 48 / 61
Example 3 (3/3) Christos P., Iosif A. Adversarial Search UoA, 2017 49 / 61
Example 4 (1/4) Question Modify the previous game by giving the first leaf a value of X. Find the domain of X in which MAX will select the left action. Christos P., Iosif A. Adversarial Search UoA, 2017 50 / 61
Example 4 (2/4) Christos P., Iosif A. Adversarial Search UoA, 2017 51 / 61
Example 4 (3/4) Christos P., Iosif A. Adversarial Search UoA, 2017 52 / 61
Example 4 (4/4) Answer As long as 10 < X < 10, MIN will choose the action leading to X. Because the right branch has a value of 1, for any X > 1 (or X 1, also acceptable), MAX chooses left. Be careful! X 10. Even if X > 10, we still move left initially. X = 10. is equal to expectimax but we want it to be more. Christos P., Iosif A. Adversarial Search UoA, 2017 53 / 61
Example 1 (1/3) Question Same game as the previous examples, but MIN acts randomly in a uniform fashion. Circle MAX s optimal move, show the cost value and explain. Christos P., Iosif A. Adversarial Search UoA, 2017 54 / 61
Example 1 (2/3) Christos P., Iosif A. Adversarial Search UoA, 2017 55 / 61
Example 1 (3/3) Christos P., Iosif A. Adversarial Search UoA, 2017 56 / 61
Example 2 (1/4) Question Modify the previous game by giving the first leaf a value of X. Find the domain of X in which MAX will select the left action. Christos P., Iosif A. Adversarial Search UoA, 2017 57 / 61
Example 2 (2/4) Christos P., Iosif A. Adversarial Search UoA, 2017 58 / 61
Example 2 (3/4) Christos P., Iosif A. Adversarial Search UoA, 2017 59 / 61
Example 2 (4/4) Answer We need to compare 8 with 10+X 2. Proper calculations show that MAX will select the left action if X > 6 (or X 6, also acceptable). Christos P., Iosif A. Adversarial Search UoA, 2017 60 / 61
Thank you very much for your attention!