The difference between playing chess and recognizing faces

Two very different kinds of problems get lumped together under the large umbrella of “Artificial Intelligence” and it’s interesting to understand the difference. The fact that deep neural networks are able to help us solve both kinds of problems makes it even more confusing, and, in fact, quite fascinating.

The first kind of problems consists of problems like playing chess. Chess is a well-defined game with precise rules. We know what it means to win a chess game and we know exactly what the legal moves are in any given configuration of the board. What we don’t understand is how to get from a given state of the board to a winning state. Or in other words, we don’t understand the exact implications of the rules. If, hypothetically, we had infinite computing power, chess would be trivial to solve.

The other kind of problems is things like recognizing faces: given an image, does it contain a human face? This is very different from playing chess, because even though a “face” is a concept that’s completely obvious to understand for a human, it’s incredibly hard to define precisely. Exactly what is it that we’re looking for in a collection of pixels, when we look for a face? Or in other words, the rules of the game itself are not very clear. So it’s not a question of understanding the implications of a well-defined set of rules. Instead, it’s about understanding the rules themselves. So unlike the problem of playing chess, even if we were given infinite computing power, it’s not clear how we would use it to develop an algorithm for recognizing faces.

So how do we go about solving the second kind of problems at all? If we can’t really define what we are asking, why do we expect a computer to answer it? The trick of the modern times is to not even attempt to clearly define the problem, and instead, just show some examples of what we mean. We simply present to the algorithm some pictures that contain faces and some that don’t and ask it if it can detect a pattern.

Given how different these two kinds of problems are, why are the same kinds of techniques useful in solving them? That’s a question for a future blog post.