# An Algorithm for Solving Problems

“He (Richard Feynman) was always searching for patterns, for connections, for a new way of looking at something, but I suspect his motivation was not so much to understand the world as it was to find new ideas to explain. The act of discovery was not complete for him until he had taught it to someone else.”Daniel Hillis

***

The Feynman Algorithm, which is a simplification of Richard Feynman's technique to learn anything, is a good all purpose algorithm for solving problems. Cal Newport explains:

1. Simplify the problem down to an “essential puzzle.” Here’s how Danny Hillis explained Feynman’s use of simplicity: “He always started by asking very basic questions like, ‘What is the simplest example?’ or ‘How can you tell if the answer is right?’ He asked questions until he reduced the problem to some essential puzzle that he thought he would be able to solve. Then he would set to work.”
2. Continually master new techniques and then apply them to your library of unsolved puzzles to see if they help. As mathematician Gian Carlo-Rota explained when describing Feynman’s use of this strategy: “Every once in a while there will be a hit, and people will say: ‘How did he do it? He must be a genius!’”