On Reading Solutions

(Ed Note: This was earlier posted under the incorrect title “On Designing Olympiad Training”. How I managed to mess that up is a long story involving some incompetence with Python scripts, but this is fixed now.)

Spoiler warnings: USAMO 2014/1, and hints for Putnam 2014 A4 and B2. You may want to work on these problems yourself before reading this post.

1. An Apology

At last year’s USA IMO training camp, I prepared a handout on writing/style for the students at MOP. One of the things I talked about was the “ocean-crossing point”, which for our purposes you can think of as the discrete jump from a problem being “essentially not solved” ({0+}) to “essentially solved” ({7-}). The name comes from a Scott Aaronson post:

Suppose your friend in Boston blindfolded you, drove you around for twenty minutes, then took the blindfold off and claimed you were now in Beijing. Yes, you do see Chinese signs and pagoda roofs, and no, you can’t immediately disprove him — but based on your knowledge of both cars and geography, isn’t it more likely you’re just in Chinatown? . . . We start in Boston, we end up in Beijing, and at no point is anything resembling an ocean ever crossed.

I then gave two examples of how to write a solution to the following example problem.

Problem 1 (USAMO 2014)

Let {a}, {b}, {c}, {d} be real numbers such that {b-d \ge 5} and all zeros {x_1}, {x_2}, {x_3}, and {x_4} of the polynomial {P(x)=x^4+ax^3+bx^2+cx+d} are real. Find the smallest value the product

\displaystyle  (x_1^2+1)(x_2^2+1)(x_3^2+1)(x_4^2+1)

can take.

Proof: (Not-so-good write-up) Since {x_j^2+1 = (x+i)(x-i)} for every {j=1,2,3,4} (where {i=\sqrt{-1}}), we get {\prod_{j=1}^4 (x_j^2+1) = \prod_{j=1}^4 (x_j+i)(x_j-i) = P(i)P(-i)} which equals to {|P(i)|^2 = (b-d-1)^2 + (a-c)^2}. If {x_1 = x_2 = x_3 = x_4 = 1} this is {16} and {b-d = 5}. Also, {b-d \ge 5}, this is {\ge 16}. \Box

Proof: (Better write-up) The answer is {16}. This can be achieved by taking {x_1 = x_2 = x_3 = x_4 = 1}, whence the product is {2^4 = 16}, and {b-d = 5}.

Now, we prove this is a lower bound. Let {i = \sqrt{-1}}. The key observation is that

\displaystyle  \prod_{j=1}^4 \left( x_j^2 + 1 \right) 		= \prod_{j=1}^4 (x_j - i)(x_j + i) 		= P(i)P(-i).

Consequently, we have

\displaystyle  \begin{aligned} 		\left( x_1^2 + 1 \right) 		\left( x_2^2 + 1 \right) 		\left( x_3^2 + 1 \right) 		\left( x_1^2 + 1 \right) 		&= (b-d-1)^2 + (a-c)^2 \\ 		&\ge (5-1)^2 + 0^2 = 16. 	\end{aligned}

This proves the lower bound. \Box

You’ll notice that it’s much easier to see the key idea in the second solution: namely,

\displaystyle  \prod_j (x_j^2+1) = P(i)P(-i) = (b-d-1)^2 + (a-c)^2

which allows you use the enigmatic condition {b-d \ge 5}.

Unfortunately I have the following confession to make:

In practice, most solutions are written more like the first one than the second one.

The truth is that writing up solutions is sort of a chore that people never really want to do but have to — much like washing dishes. So must solutions won’t be written in a way that helps you learn from them. This means that when you read solutions, you should assume that the thing you really want (i.e., the ocean-crossing point) is buried somewhere amidst a haystack of other unimportant details.

2. Diff

But in practice even the “better write-up” I mentioned above still has too much information in it.

Suppose you were explaining how to solve this problem to a friend. You would probably not start your explanation by saying that the minimum is {16}, achieved by {x_1 = x_2 = x_3 = x_4 = 1} — even though this is indeed a logically necessary part of the solution. Instead, the first thing you would probably tell them is to notice that

\displaystyle  \prod_{j=1}^4 \left( x_j^2 + 1 \right) = P(i)P(-i) 	= (b-d-1)^2 + (a-c)^2 \ge 4^2 = 16.

In fact, if your friend has been working on the problem for more than ten minutes, this is probably the only thing you need to tell them. They probably already figured out by themselves that there was a good chance the answer would be {2^4 = 16}, just based on the condition {b-d \ge 5}. This “one-liner” is all that they need to finish the problem. You don’t need to spell out to them the rest of the details.

When you explain a problem to a friend in this way, you’re communicating just the difference: the one or two sentences such that your friend could work out the rest of the details themselves with these directions. When reading the solution yourself, you should try to extract the main idea in the same way. Olympiad problems generally have only a few main ideas in them, from which the rest of the details can be derived. So reading the solution should feel much like searching for a needle in a haystack.

3. Don’t Read Line by Line

In particular: you should rarely read most of the words in the solution, and you should almost never read every word of the solution.

Whenever I read solutions to problems I didn’t solve, I often read less than 10% of the words in the solution. Instead I search aggressively for the one or two sentences which tell me the key step that I couldn’t find myself. (Functional equations are the glaring exception to this rule, since in these problems there sometimes isn’t any main idea other than “stumble around randomly”, and the steps really are all about equally important. But this is rarer than you might guess.)

I think a common mistake students make is to treat the solution as a sequence of logical steps: that is, reading the solution line by line, and then verifying that each line follows from the previous ones. This seems to entirely miss the point, because not all lines are created equal, and most lines can be easily derived once you figure out the main idea.

If you find that the only way that you can understand the solution is reading it step by step, then the problem may simply be too hard for you. This is because what counts as “details” and “main ideas” are relative to the absolute difficulty of the problem. Here’s an example of what I mean: the solution to a USAMO 3/6 level geometry problem, call it {P}, might look as follows.

Proof: First, we prove lemma {L_1}. (Proof of {L_1}, which is USAMO 1/4 level.)

Then, we prove lemma {L_2}. (Proof of {L_2}, which is USAMO 1/4 level.)

Finally, we remark that putting together {L_1} and {L_2} solves the problem. \Box

Likely the main difficulty of {P} is actually finding {L_1} and {L_2}. So a very experienced student might think of the sub-proofs {L_i} as “easy details”. But younger students might find {L_i} challenging in their own right, and be unable to solve the problem even after being told what the lemmas are: which is why it is hard for them to tell that {\{L_1, L_2\}} were the main ideas to begin with. In that case, the problem {P} is probably way over their head.

This is also why it doesn’t make sense to read solutions to problems which you have not worked on at all — there are often details, natural steps and notation, et cetera which are obvious to you if and only if you have actually tried the problem for a little while yourself.

4. Reflection

The earlier sections describe how to extract the main idea of an olympiad solution. This is neat because instead of having to remember an entire solution, you only need to remember a few sentences now, and it gives you a good understanding of the solution at hand.

But this still isn’t achieving your ultimate goal in learning: you are trying to maximize your scores on future problems. Unless you are extremely fortunate, you will probably never see the exact same problem on an exam again.

So one question you should often ask is:

“How could I have thought of that?”

(Or in my case, “how could I train a student to think of this?”.)

There are probably some surface-level skills that you can pick out of this. The lowest hanging fruit is things that are technical. A small number of examples, with varying amounts of depth:

  • This problem is “purely projective”, so we can take a projective transformation!
  • This problem had a segment {AB} with midpoint {M}, and a line {\ell} parallel to {AB}, so I should consider projecting {(AB;M\infty)} through a point on {\ell}.
  • Drawing a grid of primes is the only real idea in this problem, and the rest of it is just calculations.
  • This main claim is easy to guess since in some small cases, the frogs have “violating points” in a large circle.
  • In this problem there are {n} numbers on a circle, {n} odd. The counterexamples for {n} even alternate up and down, which motivates proving that no three consecutive numbers are in sorted order.
  • This is a juggling problem!

(Brownie points if any contest enthusiasts can figure out which problems I’m talking about in this list!)

5. Learn Philosophy, not Formalism

But now I want to point out that the best answers to the above question are often not formalizable. Lists of triggers and actions are “cheap forms of understanding”, because going through a list of methods will only get so far.

On the other hand, the un-formalizable philosophy that you can extract from reading a question, is part of that legendary “intuition” that people are always talking about: you can’t describe it in words, but it’s certainly there. Maybe I would even be better if I reframed the question as:

“What does this problem feel like?”

So let’s talk about our feelings. Here is David Yang’s take on it:

Whenever you see a problem you really like, store it (and the solution) in your mind like a cherished memory . . . The point of this is that you will see problems which will remind you of that problem despite having no obvious relation. You will not be able to say concretely what the relation is, but think a lot about it and give a name to the common aspect of the two problems. Eventually, you will see new problems for which you feel like could also be described by that name.

Do this enough, and you will have a very powerful intuition that cannot be described easily concretely (and in particular, that nobody else will have).

This itself doesn’t make sense without an example, so here is an example of one philosophy I’ve developed. Here are two problems on Putnam 2014:

Problem 2 (Putnam 2014 A4)

Suppose {X} is a random variable that takes on only nonnegative integer values, with {\mathbb E[X] = 1}, {\mathbb E[X^2] = 2}, and {\mathbb E[X^3] = 5}. Determine the smallest possible value of the probability of the event {X=0}.

Problem 3 (Putnam 2014 B2)

Suppose that {f} is a function on the interval {[1,3]} such that {-1\le f(x)\le 1} for all {x} and

\displaystyle  \int_1^3 f(x) \; dx=0.

How large can {\int_1^3 \frac{f(x)}{x} \; dx} be?

At a glance there seems to be nearly no connection between these problems. One of them is a combinatorics/algebra question, and the other is an integral. Moreover, if you read the official solutions or even my own write-ups, you will find very little in common joining them.

Yet it turns out that these two problems do have something in common to me, which I’ll try to describe below. My thought process in solving either question went as follows:

In both problems, I was able to quickly make a good guess as to what the optimal {X}/{f} was, and then come up with a heuristic explanation (not a proof) why that guess had to be correct, namely, “by smoothing, you should put all the weight on the left”. Let me call this optimal argument {A}.

That conjectured {A} gave a numerical answer to the actual problem: but for both of these problems, it turns out that numerical answer is completely uninteresting, as are the exact details of {A}. It should be philosophically be interpreted as “this is the number that happens to pop out when you plug in the optimal choice”. And indeed that’s what both solutions feel like. These solutions don’t actually care what the exact values of {A} are, they only care about the properties that made me think they were optimal in the first place.

I gave this philosophy the name Equality, with poster description “problems where looking at the equality case is important”. This text description feels more or less useless to me; I suppose it’s the thought that counts. But ever since I came up with this name, it has helped me solve new problems that come up, because they would give me the same feeling that these two problems did.

Two more examples of these themes that I’ve come up with are Global and Rigid, which will be described in a future post on how I design training materials.

9 thoughts on “On Reading Solutions”

  1. I’m here for the Brownie points :D

    1. APMO 2016 P3 (could be a lot of others, but I specifically remember this one for my giant facepalm after reading your solution)
    2. Maaaybe Sharygin 2013 P16
    3. Pretty sure this is USAMO 2014 P6
    4. IMO 2016, P6, probably
    5. Sounds a lot like EGMO 2016 P1
    6. IMO 2015 P6

    Yay! Did I get 42/42? :P

    Like

  2. […] I think this S1-level understanding is what it means to “get it”. Verifying a solution to a hard olympiad problem by having S2 check each individual step is straightforward in principle, albeit time-consuming. The tricky part is to get this solution to resonate with S1. Hence my advice to never read a solution line by line. […]

    Like

Leave a comment