You are on page 1of 4

CSCI 4511W Artificial Intelligence Initial Project Proposal

Christopher Harman Parathan Sivagnanasundaram Kevin Wackman Joseph Liu March 28, 2014


is seen as particularly difficult. For example. To understand how this works. is that the players do not have free choice to play on any sub-board they want. The best X can do is force a draw. Ultimate Tic-TacToe. with perfect play by both sides resulting in a draw. What makes this particular variant so complex.1 Background The classic game of Tic-Tac-Toe is trivially solvable. As such. and does not appear to have been solved as yet. many varieties of the game have been created to make it more challenging. Players are required to play on the sub-board that corresponds with the previous player’s turn. making it a Tic-Tac-Toe board of Tic-Tac-Toe boards. O can win the overall game by winning the game in the upper left hand sub-board. The game is played as followed. with each slot containing a traditional 9x9 TicTac-Toe board. we can define board positioning in terms of rows and columns as in the following image: 2 . the following image represents a game in progress. In place of the traditional 9x9 Tic-Tac-Toe board is a larger 9x9 board. In order to win the overall game. One of these variants. a player must win individual games (referred to after this as sub-boards) in a pattern that provides an overall win.

and the planning ability to force the opposing player to direct our movement options to winnable games. In the event that a sub-board game ends in a draw. D11 on the overall board. 2 Proposal We propose to create an AI which can beat most human players at Ultimate Tic-Tac-Toe. the sub-board is marked as full. O must play somewhere within the D12 sub-board. If X plays on the position D12 in the D11 subboard. X plays first. Perfect information (All moves are visible to the AI) 3 . an awareness of the states of each individual game. Dynamic environment: Turn Based 2. If.Traditionally. Properties of the problem: 1. and can play anywhere in the center game.. O chooses to play on the D10 position on the D12 sub-board. and cannot be used by either player as part of their overall win. for example. This game requires a great deal of foresight. X would have to play somewhere within the D10 sub-board. as successful play requires an overall strategy. Zero-sum (A win by one party means the other party loses) 3.

which represents the difference between a master and a grandmaster in a chess AI. but has more comprehensive heuristics. As such. Due to memory issues. A* is not traditionally interruptible. which means our algorithm must be interruptable. Since this is an adversarial game. nothing short of a supercomputer would be able to enumerate every game possibility. A[0][0] will be a 3*3 2d array representing the top left sub-board. This also means it’s possible that we will be unable to search far enough ahead to find a path that will yield good results. be able to generate the entire tree for this game. Breadth-first would be forced to consider every possible option in. we should use an algorithm designed for adversarial problems. we will not. we will place time limitations on the AI.State Space: A tree with branching factor b<= 9 (9 possible options on each sub-board) solution depth d>=15 (15 is the minimum number of moves required to win the game if the AI plays perfectly and the opposing human plays as poorly as possible) Cost: The cost is simply the cost to traverse the tree from node to node. It may be impossible to determine perfect heuristics for the game. as well as trim as many options as possible. resulting in an upper bound of 2ˆ81 = 2417851639229258349412352 possible game boards. 4 Proposed Solution We will represent each state as a 3*3 2d array of 3*3 2d arrays. As such.000 boards per turn. we would be able to examine up to a depth of 5 (9ˆ 5=59. we believe these algorithms represent the best means to accomplish our goal. 3 Potential Issues There are a number of potential issues that could cause problems. depth first would not provide any significant advantages. 4 . and would be quickly bogged down by the branching factor. As such we plan to use Mini-max and Alpha-Beta pruning. the amount of pruning will vary wildly. as previously discussed. Assuming that our time limitations enable us to search through 60. An AI that looks six moves ahead could be beaten by a human that looks fewer moves ahead. as the branching factor for this problem is fairly high. As such. In theory. every spot on the board could contain either an X or an O. so it would return incorrect information. There are many different algorithms we could use. Although the solution would lie in a leaf. That is if A[][] is the bigger 2d array. and we are limited by hardware. our implementation will have to make use of heuristics. Depending on the phase of the game.656). If Alpha-Beta pruning is able to reduce the branching factor by 3. However. we need to make use of an algorithm that will be able to evaluate game states in the tree. Implementation will be difficult.049). we would be able to search an entire additional level (6ˆ 6=46. As such.