Problem solving is a difficult enterprise. Any task worth calling a problem must have an element of uncertainty as to whether the desired solution will be reached. Thus, problem solving can be characterized as goal-oriented activity where the path or means to the goal is at least somewhat uncertain. The extremes of problem solving are these: A task might be given to a problem solver who quite simply lacks some knowledge that is essential to achieving the goal. For example, if a theoretical physics problem is posed to a person who knows no physics, failure is assured. Many problems might be failed because of lack of necessary knowledge, but the failure itself is uninteresting. At the opposite extreme, a problem solver might be given a task that is extremely familiar so that the solver simply knows what to do, with no uncertainty. For example, an elementary math problem is really no problem for a mathematician who will immediately know how to find the answer. The interesting cases of problem solving lie between these extremes, where the problem solver has the knowledge necessary to arrive at a solution (in some form or another, and perhaps weakly) but will still face difficulties in reaching a solution. Many such situations occur in everyday life, in education, and in research on problem solving, where puzzle-type problems are frequently used precisely because no special training is required to possess the knowledge needed to find a solution.