When I am doing research, I often think of the Feynman Problem-Solving Algorithm, supposedly coined in jest by another Nobel Prize-winning physicist, Murray Gell-Mann, about Richard Feynman‘s innate problem-solving ability:
- Write down the problem.
- Think very hard.
- Write down the answer.
Feynman was renowned for his ability to develop innovative and creative solutions to hugely complex problems, without being able to give much insight into how this process worked. Nevertheless, the algorithm itself is much more helpful than I thought on first reading. I occasionally overlook how important it is to define and bound a problem and think about it in abstract terms before attempting to construct a solution. In fact, I try to instil this problem-solving ability in my students when I teach introductory programming, as they all rush head-first into writing code before actually thinking about the problem they are trying to solve.
I’m off to find a pen and some paper…
(Feynman was also known for frequently changing his mind during this problem-solving process; when he worked on the Manhattan Project, colleagues remarked that only when Feynman said something was true on three consecutive occasions, you could count on it.)