Você está na página 1de 4

Problem Solving - The Cryptarithmetic Example

In addition to research in perception, the Gestaltist also focused on problem solving. In retrospect, we can see that problem solving often exhibits two properties that support the Gestaltist position. First, it is typically the case that many steps are required to solve a problem. These "steps" often don't need to be (and in some case couldn't be) made in a physical sense. This complexity of the "response" supports the idea of a mind actively manipulating "mental stuff." Second, many times a problem can be represented in differing ways...and, the way in which the problem is represented is often crucial to the solution. In this section, we will use several different problems to exemplify and amplify these points. The first problem that we will examine is an example of a cryptarithmetic problem. The problem statement is given below. This same problem is given in the text. You should take some time trying to solve the problem so that our discussion of this problem will be easier for you to grasp.

If you were unable to solve the problem, try to determine why. If you solved it, think back over your problem solving efforts and try to identify points where you ran into particular difficulties. Problems such as this are not easy to solve. You must "think" of the problem in the right way, follow a strategy for pursuing the solution, and be systematic in remembering intermediate steps in your solution. One of the questions that we would like to understand better is exactly what makes one problem hard and another easy. In this introductory level course we won't be able to develop the sophistication required to fully describe the way this question is being addressed, but we can begin to point out some of the features of problem solving that are importantly related to problem difficulty. First, a little review. Previously, we discussed the line labeling problem. We noted that the general problem of satisfying some arbitrary set of constraints over a set of objects is a very difficult problem. It is what is referred to as an intractable problem. But the physical world, it turns out, isn't really an arbitrary set of objects. Rigid objects can't influence other rigid objects over arbitrary distances. This fact, and just as importantly, the fact that our mind seems to utilize this fact, makes the line labeling problem tractable. Now, it turns out that this cryptarithmetic problem is also a problem that involves satisfying a set of constraints. But, your mind doesn't automatically exploit the implications of this fact. You must have some knowledge of algebra and use this to construct an algebraic representation of the problem to actually take advantage of the fact that this is a constraint satisfaction problem. Note, this is not the only way in which the problem could be represented. You could simply think of it as involving a set of 10 letters and a set of 10 integers and think of the basic problem solving move as assigning each of the integers to a letter and testing to see if the assignment is correct. This set theoretic representation together with this move of assigning integers to letters is, in fact, a way in which the problem can be solved. I know of no agent, human or machine, that ever solved it in this fashion. The reason is that even with one of the assignments given, namely D=5, there are still 9 more assignments to make. And, there are 9! (362,880) ways of making these assignments. A very large set to look through! And, to make matters worse, there is no way to know when you are getting close. In this way of representing and thinking about the problem, an assignment is either correct or incorrect. There is no such thing as being partially correct. But now contrast this set theoretic representation with the algebraic representation of the problem. This representation is depicted below. The representation consists of rewriting the problem as a set of six equations where we have explicitly added the carry terms (c1, c2, ....) that are involved in the addition. At the top of the picture in the green box, the possible value assignments are explicitly shown (the 'v' is the symbol used to represent logical 'or'). The picture also includes arrows linking the terms in the equation. Each of these words is six letters long, and there are only 10 letters involved in the problem. Thus, letters must recur at various points in the equations. The arrows link places where the same letter occurs. Now, we know that the integer that we assign to a letter in one equation constrains the integer that can be assigned to another letter in the equation. For example, assigning 5 to D in (1) constrains us to assign 0 to T and 1 to c1. If these letters occur in other equations, then this assignment affects those equations....again, the constraints propagate!

Note that once we have represented the problem as one that involves six subproblems, we now have the opportunity to (intelligently) choose which subproblem to work on first, which next, and so on. Intelligent choices involve following the dependencies (as well as knowing a bit about how to exploit algebraic identities, as in equation 5) so that the number of possible candidate values for a particular letter is strongly constrained. The figure below was created to help you visualize these constraints or dependencies between subproblems. The letters represent the letters in the problem. Each rectangle or triangle represents one of the six subproblems. The triangles represent the case where an equation involves three letters and the rectangles where only two letters are involved. The letters within a shape and the line between them also serve to indicate that the letters occur in the same equation. The intersection of the figures reflects those cases where the same letter appears in differing equations. This gives you an overall picture of the structure of the dependencies in this problem. The picture to the right also includes the carry terms and each geometric figure is labeled with the corresponding equation or subproblem.

By seeing the problem represented in this way, I hope that the relation between this type of problem solving and the line labeling problem is now apparent. Think of each equation (the rectangle or triangle above) as corresponding to a vertex. The letters of the equation then correspond to the lines in the vertex, and the integers are the "labels" for the letters corresponding to the labels for the lines. We have seen two very different cases where a problem has been broken down or decomposed into parts or subproblems. And, having found a "good" decomposition and an order in which to work on the subproblems; the problem becomes rather easy to solve. This will be a recurring theme. But be warned, we can't always find a good decomposition. And, there are a great many to look through. Recall the partitioning of the dots and the Sterling number for the number of partitions....the same combinatoric principles apply to problem decompositions.

Você também pode gostar