Thinking in the wild
olympiad stuff
November 30, 2025
What I appreciated most from the olympiads I did was a type of thinking I had never learned before. System 1 thinking is fast, instinctive, and emotional. System 2 thinking is slow, deliberative, and more logical. While I haven’t read the book, I think what you learn in olympiads is distinct from both.
Instead of testing you on memorization of content, science olympiads at the highest level (at least IMO/IOI) try to focus on ‘reasoning’ and ‘problem-solving’ abilities. This means, for example, that the IOI does extensive search to see if proposed problems have even similar problems online. It is said that competitive programming starts at 2800 rating on Codeforces (a rank only a hundred people have in the world) because everything before can be ‘learned,’ while everything after is problem solving.
Problem-solving to me is like a guided random-walk (or random-walk with heuristics, if you will) through some hierarchical graph. This is from some codeforces blog, but I cannot seem to find it. On the higher levels of abstraction we have more meta problem solving techniques, directions, and ideas: greedy, dynamic programming, requires observation to simplify, etc. And on lower levels we have more concrete techniques and steps: algorithms to use, edge-cases to remember, implementation details. The nodes represent ideas, the edges represent links, the strength of these edges are determined by past training and the observations gathered about the problem. If there is a ‘generator’ in the background constantly generating ideas, it is this hierarchical graph.
Thinking through a problem isn’t exactly system 1 thinking: observations pile up, are taken apart, and are considered over the course of hours. It isn’t exactly system 2 thinking, either: instinctive and emotional impulses guide the random walk, or can lead to brilliant insights that seem to come out of the blue (I had one of these moments recently at ICPC regionals; it was beautiful and felt like a divine revelation.)
In school, we mostly train System 2 thinking until the subject matter becomes natural enough to relegate to System 1 thinking. We study a topic and are tested on questions that fit, for the most part, squarely in the domain of what we’ve learned. Learn the method, apply the method. I think this is narrow and robotic: can you learn to follow these instructions? The experience of extended consideration of a single idea over many hours, even days, is a type of thinking more people should experience.