top | item 37227229

How to Solve It (1945)

203 points| GamerUncle | 2 years ago |math.utah.edu | reply

101 comments

order
[+] boppo1|2 years ago|reply
This summary really undersells the book IMO. It's one of the more interesting books I've read in that it is not structured linearly. He introduces a few ideas which have very particular language he defines in the remainder of the book which is essentially a dictionary. If you don't come from a math-y background and you are trying to get into serious mathematics, this definitely helps to 'lift the veil' on how you might think about math. Most of the criticism I've heard about the book comes from

Paraphrased from memory: "I'm not claiming to have discovered anything special here. What I think I'm doing is describing the mental operations that lots of people perform, consciously or unconsciously, to solve different sorts of problems. You probably already do some or all of what I'm describing."

I found that he was describing some thought patterns that I am extremely familiar with because I use them so often. Making them explicit was pretty cool. I haven't gotten around to his follow-up works yet, but I look forward to them.

[+] sfpotter|2 years ago|reply
If you don't come from a math-y background and are trying to "get into serious mathematics", the only way to do this is to get a PhD.

I realize this might come across as gatekeeping, but the reality is that each subfield of math (or any scientific discipline) has its own set of tactics for approaching problems, which have been developed over the years by the people actually in the trenches. These problem solving strategies and habits of mind aren't written up anywhere, and even if they were, they wouldn't be useful to read. The way you learn them is by getting the training that comes with a PhD: they are passed down as part of the mentoring process. It's not clear to me that it could happen any other way.

I think the right way to look at this is that someone getting a PhD is basically a "journeyman researcher", much like a journeyman in one of the trades. Unfortunately, this often goes sideways (particularly if an advisor is bad or if there aren't enough support systems). But much like the only way to become an electrician is to apprentice yourself, the same goes for becoming a researcher. I think this is for good reason.

[+] OldGuyInTheClub|2 years ago|reply
"How To Solve It" does not account for actual ability. It was recommended in high school to those of us interested in math contests. My big lesson was that if you need this book, you're going to be roadkill in math contests. If you have the chops to be a successful mathlete, you don't need this book. And so it came to pass.

There are some people who have the ability to see a problem well enough to analyze it and make progress. Some people can do this in math, some in other technical disciplines, others in the arts, and so forth. Umpteen years later, I have not seen anyone including Polya successfully /teach/ this ability. If you want to be good at math, piano, chess, sculpture, or whatever you need the talent and then it can be nurtured.

In college I took organic chemistry[0]. The exam problems would often have redundant and/or contradictory information. The student had to figure out what to NOT believe to get anywhere.

As others have mentioned, none of Polya matters for selecting and attacking research problems.

[0] It was taught well and none of the cliches of "It's all memorization" applied. I struggled but look back fondly on it because I had to think along many axes at the same time.

[+] lcuff|2 years ago|reply
On a totally orthogonal axis: My biggest problem with tackling math problems early in life was psychological. My inner critic would say nasty things to me when I didn't get the answer right away, making it impossible to stick with exploring the problem. Once I overcame that, I got lots better at math.

And working on yet another axis, the most useful tip I've gotten on how to think about problems is to "think in extremes". Perhaps more applicable to physics than math, but a classic example is the puzzle where a ship in a lock (closed system/giant bathtub) has an engine break down. As the engine is being hauled out for repairs, the chain breaks and the engine drops into the lock beside the ship and falls to the bottom of the lock. Does the water in the lock rise, fall or stay the same? The only person I ever told the problem to that solved it described his technique: Imagine the engine is the size of a pea and weighs 20 tons. Shazaam: The water in the lock falls because it is now displacing its volume, instead of its weight in water.

[+] recursivecaveat|2 years ago|reply
I like to use extremes and the intermediate value theorem, ie if you have two extreme points, and some continuous curve connecting them, it passes through all the points in the middle. It's a good shortcut for "is it possible to balance X and Y" questions. Like is there a hexagon with 'equal' area and perimeter? It's easy to conceptualize ones on each side of the ratio, and you can smoothly deform between them so the ratio is continuous, hence there is such a hexagon.
[+] hibernator149|2 years ago|reply
Thinking in extremes helped me to understand the Monty Hall problem. Imagine there are a hundred doors instead of three and 98 wrong ones are eliminated. Should you switch?
[+] apocadam|2 years ago|reply
If you don't mind, could you share how you overcame that? I think for me at least a lot of it is/was not being able to be comfortable struggling with a hard problem for an extended amount of time, probably due to being used to only solving fairly trivial exercises and thus feeling dumb/the problem feeling impossible if it wasn't clearly solvable under a short timeframe.
[+] js2|2 years ago|reply
Ah yes, just four steps:

1. Understand the problem.

2. Devise a plan.

3. Carry out the plan.

4. Look back.

---

Compare with the Fenyman Algorithm:

1. Write down the problem.

2. Think real hard.

3. Write down the solution.

https://wiki.c2.com/?FeynmanAlgorithm

(The discussion on FeynmanAlgorithm links back to Polya's book since not everyone is Feynman.)

[+] jiggawatts|2 years ago|reply
Reminds me of the official Microsoft guidance for big projects like migrating Exchange to the cloud, merging an Active Directory, or whatever.

They’re all verbatim the same, except for the product name.

1. Gather requirements.

2. Devise plan.

3. Run a proof of concept

4. Run production migration

…etc.

It’s about as helpful as someone telling you to “do your job”.

[+] morkalork|2 years ago|reply
>Write down the problem

Sometimes this step is enough to get you 80% of the way to solving a problem.

[+] marginalia_nu|2 years ago|reply
The Feynman algorithm is very underrated. I think some people see it as a joke, as though it's clearly not a working method. But it's how I do most of my difficult work, possibly as a result of majoring in physics where "stare at the problem for a few hours" is the standard approach.

I think my strongest asset is not understanding when a problem is difficult and staring at the problem for hours anyway.

There are classes of problems that don't trivially decompose into a series of easier problems. The only way is to punch your way through them.

[+] jodrellblank|2 years ago|reply
You say 'ah yes' as if there's no value in these steps. Compare with more common steps:

1. Don't try to understand the problem, just stare at the given information blankly.

2. Instead of devising a plan or thinking real hard, try to "guess the teacher's password" and parrot any relevant sounding words for this ... or any related thing - https://www.lesswrong.com/posts/NMoLJuDJEms7Ku9XS/guessing-t... and the linked https://www.lesswrong.com/posts/48WeP7oTec3kBEada/two-more-t... - as if the universe will accept the words (map) as the solution (territory).

3. Carry out incantations handed down from above, regardless of whether they could be applicable to this problem; they are not understood which leaves room for them being potentially powerful and relevant.

4. Give up. If the incantations of power didn't help, what else is there to do? Don't look back.

Are these steps from How To Solve It in 1945 so different from Eric Raymond's "how to ask smart questions" from the 1990s(?) or from Eric Lippert's "How to debug small programs" from 2014 ( https://ericlippert.com/2014/03/05/how-to-debug-small-progra... )? His example "I wrote this program for my assignment and it doesn’t work." is still a common approach to "problem solving" nearly a decade later, not just for student coders either.

People seem to be missing:

- the belief that problems are solvable. (Instead apparently believing that some people know the answer or that the problem cannot be solved; not understanding that someone can start unknowing, work to solve, and then know).

- that solving something involves a mental model of how a thing works, in some context. (Instead apparently believing that solving is random or guesswork or luck or flash of inspiration, but not solved by any kind of knowable process).

- that solving something involves a feedback loop of gathering information, testing hypotheses, learning from the result, looking back (Instead trying one thing and stopping, not seeing if anything could be learned from the result, not trying to expand a mental model from what was known).

Even that this is a pet frustration of mine with some of my coworkers and internet programming askers, I still resist writing down the problem or thinking real hard (as far as I can do such a thing).

[+] ergocoder|2 years ago|reply
I read it and it doesn't help much.

What helps with solving problems like math and algorithmic problems is to go through a lot of problems to see different patterns and strategies of solving problems. I'm talking about going through thousands of problems. That is very effective.

[+] mathisfun123|2 years ago|reply
> I'm talking about going through thousands of problems.

you don't need thousands of problems. you don't even need hundreds, unless, no offense, your medium-term memory is very poor.

personal anecdote 1: in between undergrad and grad school i decided i was gonna try this "solve all of the problems" approach, as opposed to my usual "sit there and ponder approach", in order to prepare for eventual quals in grad school. i started with calculus, using apostol's calculus (famous for its rigor and difficulty right?). some sections have double digits (maybe even 100? i don't remember) problems and invariably (no pun intended) by the time i got about a quarter of the way through they got trivially easy. i did finish and do all the problems in both volumes. i didn't feel i learned any of it better than the first time i took calc (wherein i didn't solve many at all beyond assignments). i did not keep on with this kind of slavish dedication and just skimmed the rest of the books. i didn't end up doing a phd in math but i did take math and cs theory classes and i did well.

personal anecdote 2: after my MS i did hundreds of leetcode problems. it was roughly the same phenomenon: in every category it only took about a dozen to be able to solve the remainder trivially (yes even hard DP problems).

and i'm willing to bet (if you're on this board) your memory is better than mine (i smoked incredible amounts of pot in high school...).

[+] rahimnathwani|2 years ago|reply
This is consistent with a sentence on page 1 of the book:

'The student should acquire as much experience of independent work as possible.'

[+] retrocryptid|2 years ago|reply
<snark> Yes, yes. I get it. We should all invest in your "LLM, but for Ride-Sharing" startup. </snark>

Seriously thought... the pattern matching vs. rational directed approaches to general problem seem to have analogs to CNNs vs. Constraint Programming approaches to GAI. Maybe, in the same way that neural-networking solves certain types of problems brilliantly but not so much with other problems, rational directed problem solving and "work a lot of problems" / pattern matching have different problem domains in which they excel.

[+] vl|2 years ago|reply
I read it as a kid and it was transformative.

This is one of the rare "meta" books which really help when you are not exposed to meta concepts that much yet.

[+] hgsgm|2 years ago|reply
Maybe if you followed Polya you wouldn't need thousands of problems.
[+] RcouF1uZ4gsC|2 years ago|reply
Or you can just be like von Neumann

From: https://www.tennessean.com/story/opinion/columnists/teachabl...

>George Pólya, one of his university teachers, said, “I came to a certain theorem, and I said it is not proved and it may be difficult. Von Neumann didn’t say anything but after five minutes he raised his hand. When I called on him, he went to the blackboard and proceeded to write down the proof. After that I was afraid of von Neumann.”

[+] sverona|2 years ago|reply
Mathematics and Plausible Reasoning, in two volumes also by Polya, is the closest thing I've ever found to an explanation of how a working mathematician goes about her business. It has exercises, too. Great fun when I was in undergrad.
[+] 3abiton|2 years ago|reply
Any recommendations of similar books?
[+] bee_rider|2 years ago|reply
> What is the unknown? What are the data? What is the condition?

> Did you use all the data? Did you use the whole condition? Have you taken into account all essential notions involved in the problem?

What sort of problems are they solving, that they can somehow identify the relevant data to the point that they know once they’ve chomped their way through the data, the problem is done? It seems oddly constructed (I can only imagine that I know I’ve only been given relevant data if I’m working a textbook problem or playing a video game; somebody has set the problem up for me, but clearly this was written by somebody prestigious, so that isn’t it).

[+] jxramos|2 years ago|reply
> Did you use all the data...

It's a good articulation that informs one while working on complex stuff. Here's a recent example of this where the above advice came to mind while reading over this advice the other day (I believe someone linked it on HN)

> A good way to stress-test this sort of false argument is to try to run the same argument without the initial assumption that X is false. If one can easily modify the argument to again lead to a contradiction, it shows the problem wasn’t with X – it was with the argument. https://terrytao.wordpress.com/career-advice/be-sceptical-of....

[+] UltimateEdge|2 years ago|reply
I think the author is talking about maths problems, or proofs of theorems/propositions.

A problem might give you one or more mathematical objects, and ask you to show that some further condition holds true. To get started, you might consider how the given properties of those objects will help you to achieve your goal (and typically you would need to use every given property).

[+] bonoboTP|2 years ago|reply
It's about advanced school exercises or math contest questions that are designed by someone, not real-world/research problems, where you don't even know how to best frame the issue or whether it's even solvable or the appropriate thing to tackle at the time.
[+] steno132|2 years ago|reply
The best people I work with don't use this stuff. They solve problems based on pattern matching.

Having read hundreds of books and papers over the years, no problem seems new to them. They can rapidly find a solution, especially compared to someone trying to derive a answer from first principles like Polya suggests.

[+] felipefar|2 years ago|reply
I believe pattern matching works best when solving problems with little variation from previous ones.

Novel problems requires a lot more maturing and thinking, which is when slower, longer term thinking like Polya suggests goes a long way.

[+] hgsgm|2 years ago|reply
If what you say is true, why did it take so long to prove Fermat's Last Theorem?

Polya's book is distilling hard fought PhD wisdom into a book children can understand.

It's for solving novel hard problems, not trivial ones.

[+] furyofantares|2 years ago|reply
I remember this book as being written for teachers and was about about prompting students as you help them solve problems.

I read it as a student, and felt it was somewhat formative even though I don't think I ever explicitly applied anything it said.

[+] modeless|2 years ago|reply
It's prompt engineering for humans.
[+] markc|2 years ago|reply
Rich Hickey (creator of Clojure) references Polya several times in his classic talk "Hammock Driven Development". Here's a transcript:

https://github.com/matthiasn/talk-transcripts/blob/master/Hi...

I've long been impressed by Hickey's problem solving skills, so I took much of this talk to heart, and even bought a copy of HTSI. Can't say it really helped me any more than Rich's talk (as a programmer) but I'm thinking I'll give it another look.

[+] greymalik|2 years ago|reply
What is meant by “the condition”? I am imagining that in x + 3 = 7 that x is the unknown and 3 and 7 are the data? Is the condition equality and, if so, how do you use that information?

Some more complicated examples would probably help me understand.

[+] hgsgm|2 years ago|reply
Yes.

It's more relevant in a word problem, where you need to extract the condition from text and translate it into syntactical math notation so you can compute.

"John wants to have 7 pizzas. He has already made 3 pizzas. How many more pizzas does he need to make?"

Data: 7 pizzas needed. 3 pizzas made.

Unknown: X pizzas more to make

Condition: X+3=7

Or for geometry diagram problems (diagram geometry is word problems where the words are pictures), where you have to extract the relationships from the diagram.

The book has more examples.

[+] R41|2 years ago|reply
Loved the way polia's explained the basics of solving challenges by asking questions - - Can you find a problem analogous to your problem and solve that? - Can you add some new element to your problem to get closer to a solution? etc we always asks new onboard people to read this .It's like a bible for problem solving .
[+] ryandv|2 years ago|reply
How well does this book work for solving problems in Walter Rudin's "Principles of Mathematical Analysis?"
[+] sverona|2 years ago|reply
Baby Rudin, despite the somewhat patronizing name, is a second analysis text. There are many things that should have explanations that he expects you to already know. Swallow your pride and start with Abbott. You'll thank me later.

Now here's what I really think: I don't know your situation, but the odds are better than even that you should forget about it entirely. Doubly so if you're out of school. The bizarre math pride held by college kids (I did Math 55! I took a class with Stephen Wolfram's kid! I did all the exercises in Hartshorne! I proved X at age Y!) is real fucking stupid, coming from someone who badly wanted it. Your academic career or lack thereof will be determined about 90% by the people around you. It may piss you off, but you'll find it to be the same bitter truth I did.

[+] im_lince|2 years ago|reply
In our team we recommend this book to new joiners. The principles and methods shared by polya is valid for solving the not only the mathematical problems also engineering problems in effective way.
[+] jzer0cool|2 years ago|reply
Anyone with an interesting example to share using these steps?
[+] dingosity|2 years ago|reply
Weird. I was just talking about this book to my offspring. You're reading my mind, @GamerUncle.