Trying to teach a machine learning system to play TicTacToe is a silly waste of computing power since you can easily specify the logic by which a computer — or a person — can routinely win or at least tie a game: Always first check if you need to block your opponent from winning, try to occupy three corners…that sort of thing. But suppose you’re trying to learn about machine learning, so you decide to train a system to play TicTacToe by giving it no rules or hints. Instead you give it thousands of completed games to learn from. Just suppose.

The whole point of machine learning is that it’ll learn from data rather than having to be explicitly instructed in the rules or logic of the domain it’s making predictions about. So, your machine learning system will analyze the games you’ve input, looking for statistical relationships among the moves. Then its algorithms will build a complex web — a neural network — of those relationships so that it’s able to output a probabilistic suggestion about the best next move, just as other machine learning apps suggest the next book you might like to read, the best way to Santa Jose, or the likelihood of a tornado forming.

So, let’s feed it thousands of games. But what’s a game to a computer? In one interpretation, it’s a series of moves, each resulting in a new state of the board. For example, one complete game might consist of these boards, reading from left to right:

Figure 2: X wins!

Now you want to translate those images into data that expresses the information in those images as succinctly as possible. For example, we might assume that for a computer, the best representation of the game depicted in Figure 2 might be:

Figure 3: A game of seven moves expressed as plain old text

where each three-line grid represents a board, and each character is the sort of thing you might type on a keyboard.

But there’s an issue. To the computer, each three-line grid in Figure 3 doesn’t look like nine symbols but like eleven: the nine plus the carriage returns (or, as we say in techier lingo, the “newline” characters) at the end of the first two lines of each 3×3. They may be invisible to us, but not to the computer. To a computer, the first board in Figure 2 in fact looks like this sequence:

where “↩︎” stands for that newline character.

Now, it might be that the machine learning system will learn to ignore those carriage returns. But why are we even trying to represent the board as a two dimensional graphic? Why not just give it a sequence of characters like the lines of Nines in Figure 1? Is there information in the two-dimensional 3×3 that the machine learning system wouldn’t get from a one-dimensional sequence like a move in Nines?

Figure 4: The squares just numbered for reference

Perhaps. The fact that squares #1,#3, #7, and #9 on a TicTacToe board are corners matters to us humans because we can see that they each can be part of three different successfully filled-in rows, whereas #2, #6, #8 and #4 only have two ways to be part of a winning combo. But to the machine learning system, what counts is the statistical advantage those four squares bring, not that they’re corners.

That’s why given enough years on Devil’s Island playing Nines we would learn that slots number 1,3,7, and 9 have strategic value. At that point our play would become indistinguishable from that of someone playing TicTacToe on a 3×3 grid. The same for the machine learning system. The AI doesn’t need the concept of corners in order to learn the statistical patterns that make corners strategically important. Those patterns are present in Nines’ nine-character strings.

In fact, the AI wouldn’t care if we constructed those strings differently than Nines does, as shown in Figure 5. Nines happens to read the TicTacToe board left to right, from the top. If the Hebrew version read it right to left, or another version read from the bottom up, the winning 9-character strings would be different, but AI would learn how to play equally well.

In fact, the string of characters could be in any random order, and so long as each of the strings is consistent in that representation, the machine would presumably learn to play the game equally well.

Figure 5: Alternative winning patterns

As a result, even if the moves a machine learning system makes are indistinguishable from the moves a human would play, TicTacToe and Nines are different games by our way of thinking. Not only are the boards different, but a fundamental rule of TicTacToe is that to win, you have to get three in a row. But that’s not true for Nines. And if the boards are different and how you win is different, what’s left? The games are different.

In fact, machine learning isn’t even playing a game. Rules define a game, but the AI doesn’t know about any such thing. It’s looking for statistical relationships among sequences of numbers. If those same calculations worked for routing cars or sorting cucumbers, the machine learning wouldn’t know or care.

Machine learning does not think the way we do…if machine learning thought at all.