Day 28 · 2026.07.20

The Art of Problem-Solving

How to Solve It — Pólya and the universal craft of mathematical discovery
"A great discovery solves a great problem, but there is a grain of discovery in the solution of any problem." — George Pólya, How to Solve It

Pólya's Four Steps

The Meta-Algorithm of Solving
Heuristics
Intuition

Most people get stuck on a hard problem because they leap straight to "what's the answer?" Pólya says: don't rush to compute — first ask the right questions. He splits solving into four stages: ①Understand — what is the unknown? what is given? are the conditions sufficient? ②Devise a plan — have I seen a similar problem? can I first solve an easier version? ③Carry it out — proceed step by step, checking each step really holds. ④Look back — is the answer correct? can I get it another way? what else could this method solve?

The point isn't the four words but that it turns "inspiration" — seemingly uncontrollable — into moves you can practise repeatedly. Stuck no longer means staring blankly; you have a checklist to interrogate yourself with: which step am I in? which condition did I ignore?

Why it's beautiful

Its beauty is that it makes "how to think" itself an object of study — a triumph of metacognition. Pólya noticed that mathematicians reuse a small kit of general moves: analogy, specialization, generalization, working backwards, finding an auxiliary problem. These belong to no single branch of math yet work across all of them. It reveals something deep: discovery isn't pure luck — it's a teachable craft.

Applications

These four steps are almost exactly a modern AI agent's planning loop: understand the task → decompose into subgoals → execute step by step calling tools → reflect and self-correct. A large model's chain-of-thought essentially forces it to walk the "plan, execute" steps explicitly; frameworks like ReAct and Reflexion add Pólya's fourth step, "look back" — letting the model check its own answer and retry. Debugging software and designing scientific experiments follow the same flowchart.

Essence + a question
The first skill in solving isn't calculation — it's knowing what to ask yourself the moment you're stuck.
Recall a hard problem you recently solved (a code bug counts). Did you actually walk these four steps? Which one did you skip, and did that force a detour — was it failing to truly understand the problem, or skipping the "look back"?

Reduction & Auxiliary Problems

Turning a new problem into one already solved
Reduction
Intuition

Mathematicians almost never solve a problem "from scratch." What they do is reshape an unfamiliar problem until it looks like one they already know how to solve. Pólya calls this "can you reduce it to a known problem?" Descartes went further — he dreamed of reducing every problem to an equation, and every equation to algebra.

An everyday analogy: you must attend a meeting in a city you've never visited. You don't research "how to reach this specific address"; you reduce it to two solved subproblems — "how to get to that city" (book a flight) and "how to find an address in a city" (open a map). Reduction = not reinventing the wheel, but bolting your problem onto wheels that already exist.

Why it's beautiful

Reduction reveals the network structure of knowledge: countless seemingly isolated problems are linked by arrows of "A reduces to B" into one vast web. The moment a core problem falls, everything that reduces to it is solved at once. This is leverage — one fulcrum moving a whole region. The cumulative, compounding power of mathematics springs from exactly this.

Applications

Reduction is the soul of computational complexity theory. The definition of "NP-complete" is: every NP problem reduces to it in polynomial time. So to prove a new problem "hard," you needn't analyze it from scratch — just reduce a known hard problem (like 3-SAT) to it. This chain of dominoes holds up all of theoretical computer science. Divide and conquer (reducing a big problem to smaller ones of the same kind), compilers reducing high-level code to machine code, and machine learning reducing "prediction" to "optimizing a loss function" are all reduction.

Essence + a question
The strongest solver isn't the one who knows the most moves, but the one best at translating a new problem into an old one.
Reduction has a trap: after reducing A to B, B may be harder to solve than A. When is a reduction genuine progress, and when has it merely relocated the difficulty? Can you think of a "seemingly simpler, actually harder" reduction?

The Invariant

Finding what stays fixed amid change
Invariant
Intuition

Facing a system you may operate on repeatedly (chess, a puzzle, a state machine), the sharpest question is: no matter what I do, what never changes? That unchanging thing is the invariant. Like a conservation law, it cleaves the infinitely many possible moves into two camps: the reachable and the forever unreachable.

The classic example — the mutilated chessboard: remove two opposite-corner squares from an $8\times 8$ board; can you tile the rest with 31 dominoes (each covering two squares)? Trying arrangements leads into endless cases. But note: every domino covers one black and one white square, so the invariant = the number of black squares must equal the number of white. The two opposite corners share a color, so removing them leaves the counts differing by 2 — the invariant is broken, hence it is impossible. One sentence beats a million trial placements.

both removed corners are white → color imbalance
Why it's beautiful

An invariant turns "proving something is impossible" — normally hard — into the elegant task of "pointing out a conserved quantity." To prove something can be done, one example suffices; but to prove it can never be done, you must rule out infinitely many attempts at once — and the invariant is the master key. In physics this is the spirit of Noether's theorem (Day 18): behind every conservation law hides a symmetry. The invariant is one of the deepest aesthetics math and physics share.

Applications

The core of program verification is the loop invariant: a proposition that stays true after every iteration, from which you prove the algorithm correct. Database ACID and distributed-system consistency are essentially "maintaining some invariant under concurrent operations." In physics, energy, momentum, and charge conservation are invariants; in machine learning, seeking features invariant to rotation or translation (equivariant networks) is the same idea — find "the quantity unchanged under a transformation."

Essence + a question
Want to prove something is forever impossible? Don't try every move — find a quantity no move can disturb.
However you twist a Rubik's cube, certain "invariants" constrain which states it can reach (which is why a cube with one sticker swapped can never be solved). Can you think of another hidden conserved quantity in daily life that "no operation can change"?

The Extremal Principle

Attack from the largest or the smallest
Extremal Principle
Intuition

When a problem involves a pile of objects and you don't know where to start, one move is startlingly effective: fix your gaze on the most "extreme" one — the largest, the smallest, the leftmost, the closest to some point. An extreme object is often cornered into a special property with "nowhere to retreat," and becomes the breakthrough for the whole proof.

For instance, to prove "in any group of people, two must have the same number of friends": finding them directly is hard. But consider the person with the most friends — their count is at most $n-1$ and at least $0$, and "someone has no friends" and "someone is friends with everyone" cannot both happen... The extreme member pins the possible values, and the pigeonhole principle closes the net. The extreme point has no way out, so it speaks first.

Why it's beautiful

Its beauty is a kind of advance-by-retreat wisdom: facing a vast field of objects, you don't treat them uniformly — you bet precisely on the boundary. This rhymes with optimization theory — the optimum of a convex problem always lies at an extreme (a vertex, the boundary). The extremal principle often pairs with infinite descent: assume a "smallest counterexample" exists, then construct an even smaller one — contradiction, so no counterexample exists. Fermat used exactly this to prove $x^4+y^4=z^4$ has no positive-integer solution. From "the smallest," overturn "there exists."

Applications

In algorithm design, the greedy method picks the current extreme at each step (shortest edge, earliest deadline, largest gain) — Kruskal's minimum spanning tree and Huffman coding are the extremal principle turned into algorithms. Linear programming's simplex method walks the vertices (extreme points) of the feasible region toward the optimum. Worst-case thinking in game and security analysis fixes on the most extreme outcome an adversary can cause. All of extremal graph theory asks: what happens to a property at its "densest / sparsest"?

Essence + a question
When you don't know where to start, look at the largest and the smallest — the extreme object has no exit, so it exposes structure first.
"Worst-case analysis" feels natural in algorithms, but in life decisions, fixating on the worst case breeds over-caution. The mathematical extremal principle is a proof tool; when is extreme thinking in life wisdom, and when a trap? Where does the difference lie?

Deeper Reflection

Are Pólya's "heuristics" and modern AI "search" the same thing?
Very close, but not identical. A heuristic, in both, means "a rule of thumb that doesn't guarantee success but often works," used to prune a huge space of possibilities. A*'s heuristic function and a chess engine's evaluation function are, in spirit, Pólya's plausible reasoning. The difference: Pólya's heuristics are for humans — meant to guide attention and spark insight; AI's heuristics are for machines — meant to quantitatively estimate "how far from the goal." As large models learn to write out solution plans in natural language, the two threads are merging again.
Why is "looking back" the most-skipped step, yet the most valuable?
Because once the answer is found, the dopamine has already fired and motivation drops — looking back has no immediate reward. But Pólya insists it's the most crucial: only when reviewing do you abstract this problem's method into a transferable pattern and store it in long-term memory. Skip it and you merely solved a problem; do it and you upgrade your solving ability itself. This is exactly why Reflexion-style AI frameworks deliberately add "self-review" — a success that isn't reflected on can't generalize to the next case.
Could the invariant and reduction be two faces of one thing?
There's a deep link. Finding an invariant essentially reduces "all states of a dynamical system" to "the value of the invariant" — a high-dimensional process projected onto a low-dimensional conserved quantity. Category theory (Day 19) pushes this "keep only the information invariant under transformation" to the extreme: an invariant is a "functor" from a complex structure to a simpler one. One could say every good abstraction is the search for some invariant.
If solving has universal methods, why is math still this hard?
Because the methods give you a direction, not an answer. "Try a special case," "find an invariant" tell you where to look, but which invariant it is, where to draw that clever auxiliary line, still needs experience, intuition, and a pile of failures. This is Pólya's honesty: How to Solve It doesn't promise to make you a genius, only to help ordinary people take fewer detours — to turn "occasionally a flash of insight" into "more often a flash." Tools raise the hit rate; they can't replace the creative leap itself.
How would Lockhart view teaching "problem-solving technique"?
There's tension here. In A Mathematician's Lament, Lockhart charges that teaching math as a set of solving templates kills its soul as an art — real math is posing your own questions and enjoying the bewilderment itself. Pólya wants solving to be more teachable. The two are actually complementary: technique is scaffolding, not the building. You learn the templates so you're able to play with problems that have none — as you practise scales in order to improvise. The danger is mistaking the scaffolding for the tower.