Back when I was looking for a job, I did a lot of interview prep with other people. Among other things, that means practicing brainteasers in front of white boards. But as it turns out, I am extremely good at this already and don’t need the practice. Recreational math was a hobby in my youth, I participated in math competitions in college, and I’m mildly competitive in the US Puzzle Championship. I don’t want to brag, but friends have told me I ought to brag more often, so I am bragging. I am ridiculously good at puzzles.
So if I’m “good” at puzzles, what skills does that mean I have? It’s hard to say. (Does this imply that I’m also good at the jobs I interview for? Eh.)
There are, of course, many very different kinds of puzzles, and perhaps each category of puzzles requires unique skills. To name a few categories: programming puzzles where you seek to write an algorithm; logic problems where you deduce a solution from structured clues (e.g. Sudoku); puzzles where you make multiple moves in sequence (e.g. Sokoban); math problems; jigsaw puzzles; and what I call “linchpin” puzzles, where the goal is to have a particular realization. Some puzzle solving “skills” are more properly understood as puzzle-solving knowledge–knowing the solution to a bunch of common puzzles gives you a set of tools to solve new puzzles. But I also think there are a few general puzzle-solving skills, which I’ll try to describe.
We learn many skills by observation, but it’s important to understand the limitations of observing others solve puzzles. Some puzzles have very clever solutions, and you think, that’s so smart, but how did anyone ever come up with that? Often, the answer is scaffolding. As you build a solution, you don’t make one giant clever leap, you often work your way there incrementally. Then, once you find your solution, you can remove all the intermediate steps, leaving an answer that seems impossibly clever. With a lot of experience, you can do this really fast, or by intuition, and make it look like one giant leap towards the solution. But observing these giant leaps isn’t always a great way to learn puzzle-solving, because all the intermediate steps are hidden.
Finding a solution to a problem is a matter of eliminating incorrect solutions. So a general strategy in puzzling is to identify the part of the puzzle that eliminates the most incorrect solutions. Another way to think about this, is that a correct solution needs to jump through a series of hoops. If you identify the smallest hoop, then that imposes the most constraints on the solution. In other words, you want to identify the puzzle’s bottleneck (or bottlenecks).
In a Sokoban-style game, this is easy to do by just trying stuff, and observing where your attempted solutions fail. But sometimes it also helps to look ahead for bottlenecks that you haven’t yet reached, because that might tell you something about the intended solution to the earlier parts of the puzzle.
Solve a simpler problem
As mentioned above, a lot of puzzle solving “skills” are really more like puzzle solving knowledge, gained by solving similar puzzles. So it stands to reason, if you encounter a difficult puzzle that you don’t have prior experience with, then you can make up for it by posing similar and simpler puzzles to yourself.
This is easiest to illustrate with math problems. For instance, if a question asks you to calculate how many numbers less than 2021 have a factor in common with it, you should first try the same problem but replace 2021 with a smaller number. Try 2, then 3, then 4, and so on, until you recognize a pattern.
Brute force is a legitimate strategy
If you’re accustomed to linchpin puzzles, you might think that every puzzle is about hitting upon some clever idea. You might think that doing an exhaustive search of all possible solutions (known as a “brute force” solution) is inelegant and unintended.
First of all, that’s not even always how linchpin puzzles work (see scaffolding). And second of all, most problems in the world require some form of solution search. Linchpin puzzles are created by carefully selecting questions that fit a certain aesthetic, but not all puzzles are created with that same aesthetic in mind. There is no sense in trying to solve, for example, a jigsaw puzzle, as if it were a linchpin puzzle.
There are multiple methods to do a solution search. “Brute force” usually refers to an exhaustive search, systematically trying each possible solution. But you can also do a random search—basically trying out things to see what works. Or a heuristic search, which first tries possibilities that seem most likely to work. Generally, you would start out with a random search, just to get a sense of what works and what doesn’t. Once you’ve identified the major bottlenecks, hopefully that only leaves a few possibilities, which you can then search exhaustively.
Part of the skill in solving puzzles is knowing when to switch from a bottleneck search to an exhaustive search. If there are 1000 possible solutions, and it takes 10 seconds to check each one, that’s almost 3 hours to solve. If you can spend 5 minutes to identify a bottleneck that blocks even half of the solutions, that saves you a lot of time.
How do you perform an exhaustive search? You can think of solutions as being in a tree structure. For example in a Sudoku puzzle, maybe there’s a square that could be a 1 or an 8. So you create a tree, with one branch assuming that it’s a 1, and the other branch assuming it’s an 8. Each branch may further split into more branches.
Know when to fold ‘em
You can’t solve every puzzle. At some point, it is correct to give up, and come to terms with not having solved everything. If you’re only incidentally into puzzles, looking up answers might feel like a missed opportunity, a puzzle that you’ll never again be able to solve for yourself. But there are lots of other puzzles in the world, an infinite number, in fact. You need to find the ones that match your skill level, and personal goals.
Most people’s personal goal is to have fun. In which case, you should give up when it’s no longer fun. But, even in a competitive context, or an interview context, there still comes a time to give up and save time for the next question.
It’s also worth mentioning that sometimes puzzles are bad. A good puzzle requires some degree of trust in the designer, that they picked a reasonable question and reasonable answer. Or sometimes a designer is just going for a different aesthetic than you were expecting, or the puzzle is removed from the context that made it originally work. Just like with other hobbies, being a puzzle-lover doesn’t mean loving and solving every puzzle out there. It means having discernment, an understanding of what puzzles you appreciate, and what puzzles you don’t.