| 3d Tic Tac Toe |
3d Tic Tac Toe is exactly what you think it is. See the picture below.
Introduction
3-Dimensional Tic-Tac-Toe is derived from 2-Dimensional Tic-Tac-Toe. 2D TTT is a very simple game in which a player wins by simply making a line of three stones. The possible combination in 2D TTT is very limited and by just hard-coding in all the possible combination, we can define a pretty much unbeatable AI. There are only 8 lines in the 3x3 board and players often can not even achieve a single line at the end of the game. Extending the 3x3 board to a 3x3x3 cube makes the game much more exciting. With 49 possible lines (including the diagonals of the crossing plane), players often achieve more than 5 lines at the end of the game. The objective is no longer just to get a line but to get multiple lines. To compensate for playing black ( black moves first) in the first game, the player will play white in the second game and the winner is the one who gets the higher score overall. In other words, a match is consisted of two games and the result is the sum of scores from both games. A game automatically ends when all 27 spots are played.
How Does the AI Work?
The first thing one must do when composing a gaming AI is to ask himself what thinking process a human player would go through when playing the game. Normally, we come up with several strategies for any game. The next step would be to express these strategies into subprograms (functions) The scores in 3-Dimensional Tic-Tac-Toe are the number of lines achieved. Thus, the strategies of the game would be to make as many lines as possible while preventing the opponent from making lines. So the kind of spots best for the next move would be spots making a line or adding up the potential of making a line and spots blocking the opponent's (potential) line. When a human player is playing the game, he/she would be trying to compare different spots and choose the best one to play. This is like an evaluation process on the priority of different spots. To simulate such thinking process in AI, we give priority score to each spot and let AI play the spot receiving the highest score. So how do we give the scores? According to the strategies we mentioned above, a spot that helps making lines or preventing opponent from making lines should receive a high priority score. To express it more specifically, let's look at the following example.
Assume it's black's move:
How Does the AI Learn?
The amount of points given in each of the 5 possibilities is constant in this version but the design is made convenient for the modification of these parameters. The modification of these parameters will change the scoring process on the priority. Thus, the AI will play differently from before. In other words, the AI "learns" when the five score parameters are modified. So when does AI increase or decrease a parameter and what is the logics behind the modification?
We can put these 5 possibilities into two categories:
Aggressive: Making lines (increasing the potential of making a line)
Defensive: Blocking opponent's lines
Increasing the value of parameters for the aggressive possibilities or decreasing the value of parameters for the defensive possibilities makes the AI play more aggressively (Valuing making lines more than blocking lines). The parameters should be tuned in this direction when the AI achieves too few lines in a match. Reversely, when the human player achieves too many lines in a match, the parameters should be tuned in the opposite direction. "Parameters Modification" is a very common form of learning.
![]() | ![]() |