Problem solving itself presents us with a problem, for it is not immediately obvious what are the general techniques and strategies that can be applied to finding solutions. (This may be termed a meta-problem, that is, a problem to solve about problem solving.) It is clear that problem solving is a learned activity--one that human beings undertake first by imitating the methods of others, and only later by being innovative and creative. Furthermore, it is one thing to solve a problem (perhaps by lucky accident) and quite another to be able to generalize such solutions and apply variations of successful techniques to similar situations. That is, problem solving requires that its undertaker not just do something, but also think about the meaning of the problem, the desired goal, and the process of achieving that goal. There are a number of ways of elaborating this thought into a systematic set of steps, but all of them require the solver to do what is sometimes dull, plodding work that one WADES through systematically (Write, Apprehend, Design, Execute, Scrutinize). Consider each step in turn:
Write everything down. This applies to all stages of the process; it is not simply done at the end as an afterthought. Problems tend to come in related groups. The solution to one often applies to many others, or can be adapted to others. Thus, it is important that a record exist, not only of the result, but of the entire technique that brought about the solution. Otherwise, only the answer remains. Not even the original solver, much less any other person, can understand and apply a poorly documented solution some time later to another problem. The more complex and lengthy the process, the more important it is that a complete record is kept of the thought processes at each step.
Apprehend the problem
1. Have a clear grasp of the existing state of affairs. Enough must be known to give an adequate picture of the situation--not so much as to be overwhelming, and not so little as to be incomplete. The data must be sifted for sufficiency, correctness and relevance. If more data is needed, research must be done. If there is too much, only that which is germane is retained. You cannot calculate an area without measuring the dimensions or without knowing the formula. There is not much point in setting out to climb Mt. Baker from the foot of Mt. Robson, sorting the grocery list along with the mailing list, or studying French verbs from a Greek dictionary. A problem solver, like a physician, must understand the problem and must target causes rather than symptoms.
2. Have a clear conception of the goal. Definitions are important here. What is a "greatest common divisor?" What exactly is meant by an "alphabetic sort?" How many French verbs must be learned, and what must be known about them?
3. Formulate the problem clearly. Here the state-that-is, and the state-that-ought-to-be are compared in detail. Only the differences between the two states constitute the problem. If the question was something like "How much cheese did Italy export in 1906?" the answer may be obtained in the mere gathering of data, with no further work required. At this point, there is no problem, eh? On the other hand, if the question is to examine cheese exports for the last eight decades and formulate a five-year plan for the industry, most of the work still remains to be done after the data-gathering stage is complete.
Design a solution
1. Consider related tasks. Even a relative novice has some experience in problem solving, and has accumulated a repertoire or "library" of methods. It may be that the solution to a current problem can be built upon or expanded from that to a similar problem that has either already been solved, or is easier to do. Perhaps only a portion of the desired solution is available as a task already performed in solving another problem. It may be that the entire solution can be pieced together in parts from one's library of previous and related solutions.
2. Break the main task into sub-tasks. Complex problems are decomposable into a series of tasks, each simpler than the whole. Each of the sub-tasks span a portion of the gap between the problem and the desired solution. Climbing a mountain involves planning for each day's base camp, and establishing these one at a time before going on to the next one.
3. Refine the sub-tasks into individual steps. For each portion of the solution, employ the same technique as for the whole. There may be solutions available from the library of past experience for one of the steps, even if not for the whole solution. Individual steps may need to be broken down even finer before a technique becomes obvious. It is possible to tell that progress is being made toward a solution when the overall problem gives way to successive refinements into ever more detailed simpler steps. The solutions to the sub-tasks are developed into finished processes, tested individually wherever possible, and then combined as an organic whole. French is learned one verb at a time; fire wood is cut and bucked one tree at a time.
4. Find a strategy to perform each (sub)task. These may include guessing at a solution, drawing diagrams or pictures, looking for patterns, making tables or lists, employing direct, indirect, deductive or inductive logic, working backwards, breaking the problem into specific cases, or employing simulations or models. When suitable, it may also involve translating the problem into a mathematical or computing notation and using variables or formulas.
Execute the completed plan. Once the plan of action has been completely formulated, it has to be carried out. The mountain must actually be climbed, the French verbs memorized, the game played, the equation solved or the computer program run. This is the just do it stage.
Scrutinize the results.
1. Is the answer correct and reasonable? The answers obtained by the problem solving process now need to be considered carefully for reasonableness, and to see whether or not the desired goal has been reached. If the list is sorted backwards, or every student in the class is assigned a "Z-minus," or there is still one more slope to climb, then there are still aspects of the solution that need attention.
2. Re-develop the solution until the desired goal is reached. Since there is an element of trial-and-error to all problem solving, it is seldom the case that the first attempt at a solution is entirely satisfactory and free from error. This additional refinement by working through parts of the process above will therefore almost always be necessary.
3. Look for a simpler way. The first method found to a correct solution usually instructs the solver more in the process than in the problem. Insights gained by finding one way to obtain the desired result can often be applied to making the solution simpler and more straightforward. Perhaps there was an easier route up the mountain after all.
4. Consider generalizations. Where possible, the completed solution is best implemented as a general one to a whole class of similar problems. Even if this does not happen, the new solution always becomes part of the solver's library, and its techniques are available for re-use on other problems at a later time. Once one mountain has been climbed, the whole process of climbing mountains becomes easier.