I want to write a bit about problem solving, the ability to find an answer to a question or a problem. Obviously there can be no general procedure for all sorts of questions from all sorts of disciplines. So what I will write is probably most useful for physics/math/programming problems and riddles. These are the kind of problems I encounter frequently, and therefore my mind is kind of adapted to that.
I will begin with a riddle that it is very well suited to illustrate my point:
Plant 10 apple trees in 5 rows, such that each row has exactly 4 trees.
You are invited to try your luck with it it now. It is a difficult riddle, most people (including myself) can not solve it without hints. The solution is given below.
I observed that my mind follows a pattern when I tackle such a problem. I try to see the problem from different points of view, look at it in different formulations or ways. I want to call these ways of looking at the problem perspectives. People automatically choose the perspective that seems most useful for a problem. If one has some experience with a certain type of questions, this works better and better, as more perspectives are available. I found it often very fruitful to actively search for such perspectives, classify them and try to translate between them.
Take for example a classical example from classical mechanics. A frictionless mass point moves down a slope. How fast is it at the end of the slope? I immediately see two perspectives that are useful for this question: The Newton's equation perspective and the energy conservation perspective.
The Newton's equation perspective is the most general persepective for classical mechanics problems. We look at the position, velocity and acceleration of the mass point and the forces that act on it. Newton's equation describes how these quantities are connected. If we know the forces that act on the slope, we can solve the problem above. Figuring out the forces is basic trigonometry, so it is easy. But it requires to solve an ordinary differential equation, which is difficult.
The energy perspective is only concerned with energies. In this situation we look at kinetic and potential energies of the mass point. It requires us to solve a quadratic equation, which is much easiear than solving a ODE. So we are lucky that this perspective is applicable to the problem, because it is so easy. If we had asked for the time it takes the mass point to get to the end of the slope this perspective would not help, we had to use Newton's equation perspective.
So lets compare these two perspectives. Some things can be translated between the perspectives, for example the kinetic energy and the velocity of the mass point are connected. On the other hand, time is a notion, that is only present in the Newton's equation perspective. We can not talk about time if we only think about energies.
There are more perspectives for this problem. For example, one could look at it as an analytical mechanics problem and consider the Hamiltonian. This perspective is equivalent to the Newton's equation perspective, so we can talk about the same quantities. In many cases one of the two formulations of classical mechanics leads to much easier calculations.
In math I find the notion of different perspectives is even more pronounced. Once it is proved that matrices and linear mappings are essentially the same thing, we can think about them in both ways. And as soon as one knows that something has the structure of a group/ring/module/field, one can immediately try to translate all the concepts from the corresponding theories to this something and maybe the problem was already solved in the general structure. I like to think about mathematics as the search for perspectives, their classification and the study of connections between them.
Computer science is very closely related to mathematics, at least the more theoretical part. There are several perspectives that I picked up there. For example there are problems that naturally translate to graphs or trees, optimisation, enumeration or constraint satisfaction problems, problems that are more clear in a recursive or iterative description.
One type of riddles I enjoy are crossword puzzles with highly abstract hints ("Um die Ecke gedacht"). There one frequently has to switch between a literal perspective, where not the meaning of a word is important, but only the characters, a phonetic perspective, where the sound of a word is the key to the solution, a "pun" perspective and many others. Often just thinking about these different possibilities in the context of a specific hint helps a lot.
Generally I try to think about a problem in a way that hides as much complexity as possible, try to view it from the birds perspective, and only zoom in on details if necessary. In computer science or math often problems pop up that concern arbitrary big or complex problems. Then I try to think not about the arbitrarily complex case, because this completely overwhelmes my mind. If a statement is correct for arbitrary integers, then it is also correct for three. Or five. Sometimes trying to sketch a problem on paper leads to a interesting perspective.
A master of perspectives is Donald Knuth. I recommend strongly his "Selected Papers on Fun and Games", where he presents problems of great diversity and often very elegant solutions and discussions that make use of perspectives. For example, he connects space filling curves to the fold marks on a piece of paper, a perspective that I had never thought of.
I do not know if my explanations are useful to anybody. But I have the impression that the concept of perspectives is central to problem solving, and that this perspective (which in a way is a meta-perspective) on the problem of problem solving (which in a way is a meta-problem) is very useful. In my education I only rarely had the impression, that this or something similar was made explicit. All non-math classes and lectures and books I remember focus mainly on details of the problems, but not on general strategies how to attack them. Maybe (probably) this is due to me being so overwhelmed by all the new knowledge that I was exposed to that I did not notice the teachers efforts in this direction. When I teach I always try to teach with this general idea about problem solving in mind, but not as explicitly as in this post. I would like to try to teach a problem solving class, based on this ideas. I wonder how well that would work, but I am sure that it would be interesting.
To come back to the riddle I put at the beginning: Many difficult riddles are difficult just because they require a unusual perspective. This one is no exception. The solution is very easy as soon as one thinks about rows instead of individual trees. Then it is more difficult to construct something that is not a solution, than to find a solution.