Sie sind auf Seite 1von 4

CSCI 4511W Articial Intelligence Initial Project Proposal

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

Background

The classic game of Tic-Tac-Toe is trivially solvable, with perfect play by both sides resulting in a draw. As such, many varieties of the game have been created to make it more challenging. One of these variants, Ultimate Tic-TacToe, is seen as particularly dicult, and does not appear to have been solved as yet. The game is played as followed. In place of the traditional 9x9 Tic-Tac-Toe board is a larger 9x9 board, with each slot containing a traditional 9x9 TicTac-Toe board, making it a Tic-Tac-Toe board of Tic-Tac-Toe boards. In order to win the overall game, a player must win individual games (referred to after this as sub-boards) in a pattern that provides an overall win. For example, the following image represents a game in progress. O can win the overall game by winning the game in the upper left hand sub-board. The best X can do is force a draw.

What makes this particular variant so complex, is that the players do not have free choice to play on any sub-board they want. Players are required to play on the sub-board that corresponds with the previous players turn. To understand how this works, we can dene board positioning in terms of rows and columns as in the following image:

Traditionally, X plays rst, and can play anywhere in the center game, D11 on the overall board. If X plays on the position D12 in the D11 subboard, O must play somewhere within the D12 sub-board. If, for example, O chooses to play on the D10 position on the D12 sub-board, X would have to play somewhere within the D10 sub-board. In the event that a sub-board game ends in a draw, the sub-board is marked as full, and cannot be used by either player as part of their overall win.. This game requires a great deal of foresight, as successful play requires an overall strategy, an awareness of the states of each individual game, and the planning ability to force the opposing player to direct our movement options to winnable games.

Proposal

We propose to create an AI which can beat most human players at Ultimate Tic-Tac-Toe. Properties of the problem: 1. Dynamic environment: Turn Based 2. Zero-sum (A win by one party means the other party loses) 3. Perfect information (All moves are visible to 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.

Potential Issues

There are a number of potential issues that could cause problems. Due to memory issues, nothing short of a supercomputer would be able to enumerate every game possibility. In theory, every spot on the board could contain either an X or an O, resulting in an upper bound of 281 = 2417851639229258349412352 possible game boards. As such, our implementation will have to make use of heuristics. It may be impossible to determine perfect heuristics for the game. An AI that looks six moves ahead could be beaten by a human that looks fewer moves ahead, but has more comprehensive heuristics. Implementation will be dicult. Depending on the phase of the game, the amount of pruning will vary wildly. As such, we will place time limitations on the AI, which means our algorithm must be interruptable. This also means its possible that we will be unable to search far enough ahead to nd a path that will yield good results.

Proposed Solution

We will represent each state as a 3*3 2d array of 3*3 2d arrays. That is if A[][] is the bigger 2d array. A[0][0] will be a 3*3 2d array representing the top left sub-board. There are many dierent algorithms we could use. However, as the branching factor for this problem is fairly high, and we are limited by hardware, we need to make use of an algorithm that will be able to evaluate game states in the tree, as well as trim as many options as possible. Since this is an adversarial game, we should use an algorithm designed for adversarial problems. Although the solution would lie in a leaf, we will not, as previously discussed, be able to generate the entire tree for this game. As such, depth rst would not provide any signicant advantages. Breadth-rst would be forced to consider every possible option in, and would be quickly bogged down by the branching factor. A* is not traditionally interruptible, so it would return incorrect information. As such we plan to use Mini-max and Alpha-Beta pruning. Assuming that our time limitations enable us to search through 60,000 boards per turn, we would be able to examine up to a depth of 5 (9 5=59,049). If Alpha-Beta pruning is able to reduce the branching factor by 3, we would be able to search an entire additional level (6 6=46,656), which represents the dierence between a master and a grandmaster in a chess AI. As such, we believe these algorithms represent the best means to accomplish our goal.

Das könnte Ihnen auch gefallen