Solve a simpler version of the problem.

For some reason that I can’t remember, I was recently motivated to take a look at the classic book on mathematical heuristics, How to Solve It, by George Pólya. When searching for it at the library, I came across a more recent book of the same title by Zbigniew Michalewicz and David Fogel. I checked the two books out of the library and skimmed them. Both books were readable and interesting, and I think if I’d been given them as a student, I would’ve read them cover to cover and enjoyed them. As it is, we all have shorter attention spans and less free time than before, also I’m already familiar with lots of the material in the two books, so I couldn’t quite bring myself to read them completely carefully. But I liked the material.

Books are long. Even Pólya’s book, which is short for a book, is long compared to a blog post. It contains lots of advice.

I wanted to make a post that’s useful to all of you, and I thought that, instead of giving a list of tips, it would be best to give just one tip. And, here it is:

Solve a simpler version of the problem.

Here’s the scenario:

You have a problem to solve, a math problem or maybe a math-like problem such as a coding problem or a negotiation problem or a challenge in getting a plot element to work in a story or just about anything.

And you’re stuck, not sure how to start.

Here’s the solution:

Construct a simpler version of the problem, a special case of the problem you’re given, but with less complexity. Set all the parameters to zero, or set all but one of the parameters to zero, then solve that simpler problem.

This sort of simplification has been a useful research tool for me (for example here and here), and it works for applied problems too.

P.S. Pólya’s How to Solve It is a classic. Why hadn’t I read it before? Here’s why. Back when I was in math olympiad, the coaches were always pushing that How to Solve It book.

And, usually, most of the things they were pushing were things that I resisted.

What were they pushing?
– The idea that analytic geometry and calculus were kinda cheating, and that it’s better to solve geometry problems without using those tools.
– The “nine-point circle.”
– Disdain and lack of interest in applied problems.
– The history of math as a history of heroes.
– Math as competition.
All sorts of attitudes that I didn’t like and still don’t like. I’m not saying that these attitudes are inherently bad, just that they weren’t for me, and they’re not for me now. The people pushing those attitudes were also pushing How to Solve It. So I wasn’t really interested in reading it, even though it came up a lot. My loss (until now).

12 thoughts on “Solve a simpler version of the problem.

  1. The admonition to “Solve a simpler version of the problem” undoubtedly has a lot of merit in the world of math, science and engineering. Unfortunately, the current problems confronting learning on college campuses tend to avoid agreement as to what is a simpler version of what problem.

  2. > The idea that analytic geometry and calculus were kinda cheating, and that it’s better to solve geometry problems without using those tools.

    This brings back a lot memories… I grew up in Hungary and took part in a lot of math contests, where about 40% of the problems were geometry and 40% combinatorics.

    Most of the time I worked through the geometry problems using coordinates and algebra, so I got reasonably good at it, with all kinds of tricks, like rotating and shifting the problem to a convenient form before writing down the equations (“without loss of generality”). But when the organizers discussed the solutions they rarely mentioned mine, and privately I was told that it worked but it was “ugly”.

  3. I recently saw that put as “for every question that you cannot solve, there is a slightly easier question that you can’t solve either”.

    I read “How to solve it” decades ago and while I don’t remember any specific thing from it I feel that I would recommended it without hesitation.

  4. One of the benefits of simplifying the problem is, ironically, it forces us to complicate our thinking about the problem. I find that when complex problems are being solved, the problems are frequently under-specified – there are many hidden assumptions. Simplifying it often entails making some of these assumptions explicit.

  5. This is good advice, and enables one to get a feeling for the problem. Sometimes the simpler version will uncover essential pieces, applicable to more complex problems. The simpler version may also give answers that completely generalize.
    For example, in evolutionary theory for the sex ratio, the equilibrium sex ratio is quite independent of the underlying genetical coding of sex determination, excepting for some special cases; thus one is pretty safe solving for the equilibrium using the simplest genetics, and puts all the complexity into various environmental , life history, etc assumptions. Lots of wonderful results here, many backed up by data.

    Ecologists have argued for this sort of approach to the building up of theoretical understanding; See https://neti-net.org/wp-content/uploads/2016/05/Marquet-et-al-BioScience-2014-Full.pdf

  6. This is a well understood heuristic in computer science—you start with the simplest possible thing and then build out. It’s also what we recommend in the workflow paper. Building up from simpler pieces has the advantage of letting you see how each new piece changes the model, though ordering these changes and trying them all quickly becomes combinatorially prohibitive.

    You also see it in good mathematicains, who when confronted with a definition, start looking for the simplest possible example satisfying the definition. I just did that the other day in looking at a NUTS-like sampler—in NUTS you can have up to 2**max_doublings iterations within the leapfrog integrator. I thought—what if we set max_doublings at 0, what if we choose complementary points directly from the stationary distribution, and what if we move from terribly conditioned problems to standard normals—does the general problem we’re having (over concentration in the posterior in this case) still show up?

    I wasn’t in the kind of school where people had even heard of a Math Olympiad, much less participated. I did read Polya’s book as an undergrad math major and felt even then it was mostly just a nod along because I was already familiar with the heuristics. I may have been familiar with a lot of general techniques because I was spending most of my time thinking about how to automate math with AI when I was an undergrad (I graduated in 1984).

  7. I read Polya at some point while doing my PhD and loved it, but…

    One criticism I’ve read of Polya (unfortunately I forget where…) is that while for people who are good at mathematics, it’s a feast of recognition (yeah! I do that!) it doesn’t serve well as a teaching tool. Tell a student who is stuck on a problem to try and solve a simpler variant first, they’ll often be clueless as to what this “simpler” problem is…

    It reminds me of some elementary maths didactics I’ve seen, where people recommend: “smart people do … so let’s dump the long division algorithm and teach people tricks”.

  8. This is how science works too, not just statistics or math. Galileo solved the problem of describing projectile motion by considering the simplest case first and then generalizing it (the myth is a bowling ball dropped from the Leaning Tower of Pisa; the reality is his experiments with balls on inclined planes).

  9. Polya’s book is great, thoutgh somewhat dated in content and style; there have been a *lot* of similar books written in the last 80 years!
    Paul Zeitz’s “Art and Craft of Problem Solving” is good, as is Arthur Engel’s “Problem-Solving Strategies” [though this assumes a bit more math background to begin].

    Some of the books in the “Math Circle Library” https://bookstore.ams.org/mcl have elements of this, though (A) not all of them and (B) they’re usually more narrowly focused on a specific topic

Leave a Reply

Your email address will not be published. Required fields are marked *