Assignment 2

Written Assignment - Game Playing & CSP

Max possible score:


Task 1

Max: [4308: 15 Points, 5360: 15 Points]


X
O   O
X
O

Figure 1. A tic-tac-toe board state.

Consider the tic-tac-toe board state shown in Figure 1. Draw the full minimax search tree starting from this state, and ending in terminal nodes. Show the utility value for each terminal and non-terminal node. Also show which move the Minimax algorithm decides to play for X. Utility values are +1 if X wins, 0 for a tie, and -1 if O wins. (Note: X is the MAX player).


Task 2

Max: [4308: 15 Points, 5360: 15 Points]

MinmaxTree

Figure 2. A game search tree.

a. (4308: 10 points, 5360: 10 points) In the game search tree of Figure 2, indicate what nodes will be pruned using alpha-beta search, and what the estimated utility values are for the rest of the nodes. Assume that, when given a choice, alpha-beta search expands nodes in a left-to-right order. Also, assume the MAX player plays first. Finally incidcate which action the Minmax algorithm will pick to exectute.

b. (4308: 5 points, 5360: 5 points) This question is also on the game search tree of Figure 2. Suppose we are given some additional knowledge about the game: the maximum utility value is 10, i.e., it is not mathematically possible for the MAX player to get an outcome greater than 10. How can this knowledge be used to further improve the efficiency of alpha-beta search? Indicate the nodes that will be pruned using this improvement. Again, assume that, when given a choice, alpha-beta search expands nodes in a left-to-right order, and that the MAX player plays first.


Task 3

Max: [4308: 10 Points, 5360: 10 Points]

Suppose that you want to implement an algorithm that will compete on a two-player deterministic game of perfect information. Your opponent is a supercomputer called DeepGreen. DeepGreen does not use Minimax. You are given a library function DeepGreenMove(S), that takes any state S as an argument, and returns the move that DeepGreen will choose for that state S (more precisely, DeepGreenMove (S) returns the state resulting from the opponent's move).

Write an algorithm in pseudocode (following the style of the Minimax pseudocode) that will always make an optimal decision given the knowledge we have about DeepGreen. You are free to use the library function DeepGreenMove(S) in your pseudocode. What advantage would this algorithm have over Minimax? (if none, Justify).


Task 4

Max: [4308: 10 Points, 5360: 10 Points]

Expectiminmax Tree
Figure 3: An Expectiminmax tree.

Find the value of every non-terminal node in the expectiminmax tree given above. Also indicate which action will be performed by the algoirithm. What is lowest and highest possible outcome of a single game if the minmax strategy is followed.


Task 5

Max: [4308: 10 Points, 5360: 10 Points]

Figure 3: Yet another game search tree
Figure 4: Yet another game search tree

Consider the MINIMAX tree above. Suppose that we are the MAX player, and we follow the MINIMAX algorithm to play a full game against an opponent. However, we do not know what algorithm the opponent uses.

Under these conditions, what is the best possible outcome of playing the full game for the MAX player? What is the worst possible outcome for the MAX player? Justify your answer.

NOTE: the question is not asking you about what MINIMAX will compute for the start node. It is asking you what is the best and worst outcome of a complete game under the assumptions stated above.



Task 6

Max: [4308: 25 Points (+5 Pts EC), 5360: 25 Points (+5 Pts EC)]

Consider the following map.

Map Outline
Figure 5. Outline of a Map

The problem is to color the sections such that no two sections sharing a border have the same color. You are allowed to use the colors (Red, Green, Blue). [Note: Territories V and N share a boundary]

Part a (2 points): Draw the Constraint Graph for this problem.

Part b (10 points): Assuming you are using Backtracking search to solve this problem and that you are using both MRV and Degree heuristic to select the variable, Which variable will be selected at each level of the search tree [You do not need to draw the tree. Just let me know which variable will be selected and why (MRV and degree values)]. Note: Multiple possible correct answers. You only have to give one.

Part c (10 points):
Assume you assign the color 'Red' to the first variable selected in part b. Show the steps involved in checking the remaining legal values for all other variables using Arc Consistency.

Part d (3 points): Can you use the constraint graph to simplify the process of solving this problem? (Seperating into independent subproblems and/or cutset conditioning)

Part e: (5 points EC)
: Give one valid solution to this problem. (You just have to give the solution. No need to give all the steps)