Computer Solution of Calculus Word Problems
Proceedings of the First International Joint Conference on Artificial Intelligence. Question-answering Systems and Computer Understanding. Pages 303-316.
© 1969 International Joint Conferences on Artificial Intelligence
Abstract
A program was written to solve calculus word problems. The program, CARPS (CAlculus Rate Problem Solver), is restricted to rate problems. The overall plan of the program is similar to Bobrow's STUDENT, the primary difference being the introduction of "structures" as the internal model in CARPS. Structures are stored internally a s trees, each structure holding the information gathered about one object. It was found that the use of structures made CARPS mo re powerful than STUDENT in several respects. 1) CARPS is better able to recognize that two phrases describe the same object. (e.g . , CONICAL PILE and PILE OF SAND) 2) Information about an object can be gathered in piecemeal fashion. In calculus word problems it is not uncommon to have two or three sentences providing information for one equation. 3) CARPS to a limited degree is able to use its knowledge to parse its input sentences . For example in a problem about a filter, ALTITUDE was interpreted as ALTITUDE OF THE FILTER because CARPS knew that since the filter was a cone and cones have altitudes the filter had a altitude. The program has solved 14 calculus problems, mo st taken (sometimes with slight modifications) from standard calculus texts.
- Ayres, F., Theory and Problems of Differential and Integral Calculus, Schaum Publishing Co., New York, 1964.
- Bobrow, D.G. "Natural Language Input for •a Computer Problem Solving System", Report MAC-TR-1, Project MAC, M.I.T., Cambridge, Mass., June 1964.
- Charniak, E., "CARPS, A Program Which Solves Calculus Word Problems", Report MAC-TR-51, Pro- ject MAC, M.I.T., Cambridge, Hass., July 1968.
- Guzman, A., and Mcintosh, H. V., "A Miscellany of CONVERT Programming", Memorandum MAC-M-346, Project MAC, M.I.T., Cambridge, Mass., April 1967.
- Guzman, A., and Mcintosh; H. V., "CONVERT", Communications of the ACM, Vol. 9, No. 8, August 1966.
- Lightstone, A.H., Concepts of Calculus, Harper and Row, New York, 1966.
- Moses, J., "Symbolic Integration", Report MAC-TR-35, Project MAC, M.I.T., Cambridge, Mass., December 1967. -316- 8
- Thomas, G.B., Calculus and Analytic Geometry, Addison Wesley Publishing Co., Reading, Mass., 1959.
References were extracted automatically from the PDF and may contain errors.
Full text extracted automatically from the PDF; figures, tables and equations may differ. The PDF is the version of record.
SUMMARY
A program was written to solve calculus word problems. The progra~, CARPS (CAlculus Rate Problem Solver), is restricted to rate problems. The overall plan of the program is similar to Bobrow's STUDENT, the primary difference being the i ntroduction of "structures" as the internal model in CARPS. Structures are stored internally as trees, each structure holding the information gathered about one object.
It was found that the use of structures made CARPS more powerful than STUDENT in several respects.
- CARPS is better able to recognize that t wo phrases describe the same object. (e.g . , CONICAL PILE and PILE OF SAND)
- Information about an object can be gathered in piecemeal fashion. In calculus word pr oblems it is not uncommon to have two or three sentences providing information for one equation.
- CARPS to a limited degree is able to use its knowledge to parse its input sentences . For examplep in a problem about a filter, ALTITUDE was interpreted as ALTITUDE OF THE FILTER because CARPS knew that since the filter was a cone and cones have altitudes the filter had aa altitude.
The program has solved 14 calculus problems, most taken (sometimes with slight modifications) f rom standard calculus texts.
I. INTRODUCTION
The research described in this paper had as i ts goal the creation of a program which solves f reshman calculus word problems. The program, CARPS (CAlculus Rate Problem Solver), is re stri cted to rate problems. It is described in greater detail in MAC-TR-51 (Thesis)~ CARPS was primarily motivated by Bobrow's work on STUDENT~ a program which solves high school algebra word problems. An understanding of STUDENT is suffi ciently important to our work that we shall ana l yze Bobrow's program in the second section of the paper.
*This paper is based upon a thesis submitted in part i al fulfillment for the degree of Master of Science at the Massachusetts Institute of Techno logy , Department of Electrical Engineering. The work was supported in part by Project MAC, an MIT research program sponsored by the Advanced Re search Projects Agency, Department of Defense, under Office of Naval Research, contract Number Nonr-4102(01), and in part by the National Science Foundation.
Eugene Charniak
Massachusetts Institute of Technology Cambridge, Massachusetts
CARPS is written in two languages. The bulk of the coding is in LISf. There are, however, large sections which require a great deal of pat tern matching, something in which LISP is not par ticularly powerful. These sections were written in CONVER~,5 a language especially designed for pattern matching. Since CONVERT is embedded in LISP it was an especially convenient choice be cause we could easily switch back and forth be tween the two languages. Both of these languages were available on the Project MAC PDP-6 time sharing system which was used in this research. Also available were J. Moses' algebraic simplifi cation and differentiation routines which are des cribed in7. The PDP-6 system which has a quarter million words of core storage, gave us a decided advantage over Bobrow, whose program had to fit into a 32K 7094 LISP system, whereas ours wallows in the comparative luxury of 45K of m~ory .
Though CARPS is a fairly complex program, its basic organization is relatively straight forward. To demonstrate the underlying principles let us show how it would solve the following particularly simple problem. The parentheses and slashes are required by the PDP-6 LISP system.
(A SHIP IS 30.0 MILES SOUTH OF POINT 0 AND TRAVELING WEST AT 25.0 MILES PER HOUR/. HOW FAST IS THE DISTANCE FROM THE SHIP TO 0 INCREASING ?) Poo, f Odi?J· 1 3 o 1"1; les

The diagram of this problem is for the benefit of the reader. CARPS does not use diagrams.
The program is divided into five sections. The primary goal of the first section is to tag words with their part of speech. At the same time the program accomplishes several other tasks such as checking for words indicating the t ype of prob lem it has been handed. Just before it turns the transformed problem over to the next section it will print out
(THE PROBLEM WITH TAGS ON IS) (((A SHIP (IS VERB) 30.0 (MILE UNIT) (SOUTH PNOUN)POINT 0 AND (TRAVELING VERB) (WEST PNOUN) (AT PREP) 25.0 (MILE UNIT) PER (HOUR UNIT)) (1.)) (((HOW QWORD) (FAST RWORD) (IS VERB) THE DISTANCE (FROM PREP) THE SHIP TO 0 ( INCREASING VERB)) (2.)))
(THE PROBLEM TYPE IS) DISTANCE
At the moment the program is familiar with two types of problems, DISTANCE and VOLUME. The second section of the program takes the output of the first section and breaks the sentences into simple sentences. After it has done so it will print:
(THE SIMPLIFIED SENTENCES ARE) (((A SHIP (IS VERB) 30.0 MILE UNIT) (SOUTH PNOUN) POINT 0) (1.)) ((A SHIP (TRAVELING VERB) (WEST PNOUN)(l.)) ((A SHIP (TRAVELING VERB) (AT PREP) 25.0 (MILE UNIT) PER (HOUR UNIT)) (1.)) (((HOW QWORD) (FAST RWORD) (IS VERB) THE DISTANCE (FROM PREP) THE SHIP TO 0 (INCREASING VERB)) (2 . ) ) )
Note that the first sentence has been broken into three, while the second has been left unchanged.
The third section is responsible for taking these simple sentences and transforming them into the model of the problem which the computer must have. The model used in the program is composed of equations and "structures". A "structure" is basically a tree which has as its head the name of some object, and at various levels beneath the head all the information the program was able to abstract from the problem. (The second level cor responds to the property list of the head atom. The third level corresponds to the property lists of the atoms on the second level.) In our prob lem there is only one structure. It is most easily visualized in the following form:

The expressions G0007, G0008, etc. are symbols generated by the LISP system. They are commonly called GENSYMS, and are used as fillers in the structures.
Looking at the right hand node of the struc ture we see that the velocity of the ship is 25 miles per hour, and this velocity is in the -J direction. (The program assumes a right-handed co-ordinate system so -J would be west as it should be.)
The fourth section will generate the equa tions which the final section will solve. In this problem it must change the expression (DISTANCE (SHIP)(G0008)) to an actual distance equation. After it has done so the program prints out
(THE EQUATION SET IS) ((EQUAL (GOO 12) (EXPT (PLUS
(TIMES 899.99998 (EXPT MILE 2.)) (TIMES 624.99998 (EXPT TlM 2.) (EXPT MILE 2.) (EXPT HOUR -2.))) 0.5)))
Noting that TlM is the symbol for time we see that this is just the equation written in more usual notation is

The final section of the program will differen tiate, simplify, and finally print out

This, of course, with either a little thought, or a little algebra can be shown to be the correct answer. As a point of interest CARPS took 41 seconds of machine time to solve this problem.
II. STUDENT
As we mentioned earlier Bobrow's program, STUDENT, solves algebra word problems. To really understand how STUDENT works we should go through a problem and see how the program solves it. A typical problem which STUDENT could solve is:
(THE GAS CONSUMPTION OF MY CAR IS 15 MILES PER GALLON. IF THE DISTANCE BETWEEN BOSTON AND NEW YORK IS 250 MILES, WHAT IS THE NUMBER OF GALLONS OF GAS USED ON A TRIP BETWEEN NEW YORK AND BOSTON Q·)
In this problem we don't have any mandatory trans formations, however many of the words will be tagged. (A typical mandatory transformation would be "twice" changed to "2 times".) After the words are tagged the problem would then look like:
(THE GAS CONSUMPTION (OF/OP)(MY/PRON) CAR (IS/VERB) 15 MILES PER GALLON (PERIOD/DLM) IF THE DISTANCE BETWEEN BOSTON AND NEW YORK (IS/VERB) 250 MILES, (WHAT/QWORD) (IS/VERB) THE NUMBER (OF/OP) GALLONS (OF/OP) GAS USED ON A TRIP BETWEEN NEW YORK AND BOSTON (Q/DLM))
The next section of the program breaks the sentences into what Bobrow calls kernel sentences. In this problem the first sentence will not be changed, however the second will. It will become (for the sake of convenience we will drop the tags):
(THE DISTANCE BETWEEN BOSTON AND NEW YORK IS 250 MILES. WHAT IS THE NUMBER OF GALLONS OF GAS USED ON A TRIP BETWEEN NEW YORK AND BOSTON Q~o)
It accomplishes this by noting the "IF ·.· (-/QWORD) ··· "construction and breaking the sentence into the two smaller ones above.
STUDENT next transforms the simple sentences into equations. The general rule used here is that the word "is" is changed to an equal sign, and words like "times", "divide" are changed to their algebraic equivalents. The equation formed by a question is an equality between a newly cre ated atom and the quantity to which the question refers. Our problem will create the following equations:
(EQUAL XOOOOl (NUMBER OF GALLONS OF GAS USED ON TRIP BETWEEN NEW YORK AND BOSTON))
(EQUAL (DISTANCE BETWEEN BOSTON AND NEW YORK) (TIMES 2 50 (MILES)))
(EQUAL (GAS CONSUMPTION OF MY CAR) (QUOTIENT (TIMES 15 (MILES)) (TIMES 1 (GALLON))))
With the exception of XOOOOl (the newly created variable) our variables come directly from the words of the problem, ignoring any occurrences of "a" and "the".
STUDENT then tries to solve this set of equa tions and finds that it can not. It then prints out
(USING THE FOLLOWING KNOWN RElATIONSHIPS) ((EQUAL (DISTANCE) (TIMES (SPEED) (TIME))) (EQUAL (DISTANCE((TIMES (GAS CONSUMPTION) (NuMBER OF GALLONS OF GAS USED))))
{ASSUMING THAT) ((DISTANCE) IS EQUAL TO (DISTANCE BETWEEN BOSTON AND NEW YORK))
(ASSUMING THAT)
((NUMBER OF GALLONS OF GAS USED) IS EQUAL TO (NUMBER OF GALLONS OF GAS USED ON TRIP BETWEEN NEW YORK AND BOSTON))
(ASSUMING THAT) ((GAS CONSUMPTION) IS EQUAL TO (GAS CONSUMPTION OF MY CAR))
The equations are stored in a glossary under a key word. The first word of each variable is looked up in the glossary and the corresponding equations pulled out. STUDENT then matches up the variables in the new equations with the variables already in the problem. After having made these observations STUDENT again tries to solve the equations, suc ceeds, and prints out
(THE NUMBER OF GALLONS OF GAS USED ON A TRIP BETWEEN NEW YORK AND BOSTON IS 16.66 GALLONS)
A close examination of STUDENT shows that it has some properties which make it less general than one would like. The first of these is that once we have translated our sentences into equa tions, all algebra word problems are alike, that is, they are all sets of linear equations with as many equations as unknowns. Hence, once the problem has been reduced to equation form, STUDENT does not need any heuristics to solve the equations.
The second property is in my estimation even more serious. With one exception, each kernel sentence is translated into exactly one complete equation, and since STUDENT can count on its input always forming equations, there is no provision for any other form of information storage. How ever, in a typical calculus word problem we might have a sentence like "A ship is traveling east.", or "Water is flowing into a conical funnel." In each case there is information which should be stored, but clearly the equation form would not be the appropriate storage medium.
Both of these criticisms stem directly from the type of problem Bobrow sets out to solve. There are other difficulties with STUDENT which were probably left unsolved because they were not critical to the operation of the program and the size of the program had already reached the size of the available memory. These are l) a very limited subset of English grammar. STUDENT cannot handle something as basic to English as a depen dent clause. In general one must be very careful in one's choice of sentences when addressing STUDENT. 2) a lack of sophisticated heuristics to determine the equality of variables previously considered independent. 3) a small knowledge of the "real world" and a rather inflexible manner of using that knowledge.
III. WORD TAGGING AND SENTENCE DECOMPOSITION
If we are to really understand the workings of CARPS we should go through a problem in great detail. Consider the following problem:
(WATER IS FLOWING INTO A CONICAL FILTER AT THE RATE OF 15.0 CUBIC INCHES PER SECOND /. IF THE RADIUS OF THE BASE OF THE FILTER IS 5. 0 INCHES AND THE ALTITUDE IS 10.0 INCHES /, FIND THE RATE AT WHICH THE WATER LEVEL IS RISING WHEN THE VOLUME IS 100.0 CUBIC INCHES/.)

In the first section of the program each word is checked to see if it has a property on its property list under the indicator GRAMMAR. If it does, the value of this property will be a func tion which will. then be evaluated. The net result of the evaluation will be one of the following:
l) The current word (i.e., the word whose property list we just checked) will be tagged with its part of speech. 2) The words of the question sentence will moreover be checked to see if they give any clue as to the type of problem we are dee.ling with. In our problem the word LEVEL, is the clue that the problem is one which deals with volumes. 3) A current word may be noted as a key word (meaning it has equations as sociated with it in memory). The only key word occurring in our problem is CONICAL. 4) Common phrases will be changed to a standard form. For example the phrases AT THE RATE OF and AT THE RATE are changed to AT RATE· 5) Words ending in ING will be labeled as verbs.
After this section is through, our problem will look like this:
(((WATER (FLOWING VERB) (INTO PREP) A (CONICAL ADJ) FILTER (AT PREP) (RATE RWORD) 15.0 (IN3 UNIT) PER (SEC UNIT)) (1)) ((IF THE RADIUS OF THE BASE OF THE FILTER (IS VERB) 5.0 (IN UNIT) AND THE ALTITUDE (IS VERB) 10. 0 (IN UNIT ) , (FIND QWORD) (RATE RWORD) AT WHICH THE WATER LEVEL (RISING VERB) WHEN THE VOLUME (IS VERB) 100.0 (IN3 UNIT)) (2)))
The next section of the program breaks the sentences into simple sentences. Since we treat this as a problem of pattern matching, it is written in CONVERT. At the present moment we have sixteen rules in this part of the program. They cover a large portion of compound and com plex sentences. They are listed with examples of their use in Appendix B.
Let us start with the second sentence, since it is somewhat easier to explain than the first. The pattern which will match this is
IF - ANYTHING - , - QUESTION WORD - ANYTHING
IF 1 THE RADIUS OF THE BASE OF THE FILTER IS 5. 0 ~ ~-----------------y~---------- IF ANYTHING
IN AND THE ALTITUDE IS 10.0 IN

, QUESTION WORD
RATE ATWHICH THE WATER LEVEL RISING WHEN THE
VOLUME IS 100.0 IN3
The right side of the rule specifies that we begin the program over, but break the sentences in two. In our case the two sentences are THE RADIUS OF THE BASE OF THE FILTER IS 5 IN AND THE ALTITUDE IS 10.0 IN and FIND RATE ATWHICH THE WATER LEVEL RISING WHEN THE VOLUME IS 100 IN.
The second sentence of these two (FIND THE RATE ATWHICH ·.. ) will be broken by the rule
QUESTION WORD - ANYTHING - WHEN - ANYTHING
ANYTHING

This rule is fairly straight forward in the sense that it splits off the dependent clause intro duced by WHEN and makes it into a separate sen tence. However, in the process the WHEN is re moved from the sentence. The word WHEN in calcu lus problems is almost always used to indicate the boundary condition. That is, it precedes a value which should only be substituted into the equa tions after the differentiation is accomplished. In order to save this information the word WHEN is added to the tag of the second sentence created by this rule.
In the same way the rest of the problem is broken into simple sentences. Our problem now looks like (with the word tagged just to remind the reader that the tags are still there)
(((WATER (FLOWING VERB) (INTO PREP) A (CONICAL ADJ) FILTER) . (1)) ((WATER (FLOWING VERB) (AT PREP) (RATE RWORD) 15.0 (IN3 UNIT) PER (SEC UNIT)) (1)) ((THE RADIUS OF THE BASE OF THE FILTER (IS VERB) 5.0 (IN UNIT)) (2)) ((THE ALTITUDE (IS VERB) 10.0 (IN UNIT)) (2)) ( ((FIND QWORD) (RATE RWORD) ATWHICH THE WATER LEVEL (RISING VERB)) (2)) ((THE VOLUME (IS VERB) 100.0 (IN3 UNIT)) (2 WHEN)))
_IV. TRANSFORMATION OF SIMPLE SENTENCES INTO THE INTERNAL MODEL
Once the sentences are simplified the pro gram goes to the third and probably most impor tant stage. It is here that we translate our simple sentences into the internal representation of the problem (i.e. into structures and equa tions). This takes place in two phases. Let us call them A and B. The first phase identifies the basic form of a sentence. A list of these forms can be found in Appendix c. The second phase further analyzes the sentence components recognized by phase A, especially noun phrases. A list of the processes applied to noun phrases can be found in Appendix D. Phase B also relates the sentences to the entire problem of which it is a part. Phase B concludes by filling out the structures. The entire procedure is applied to each sentence.
Upon entering phase A with the first sen tence we check if the sentence is a question. In this case the sentence is routed to a special sec tion which deals only with questions. The first sentence will not match any pattern and will be placed on the special list for unmatched sen tences. The second sentence will match the pattern


This format indicates that the object men tioned by the noun phrase is changing at a given rate. The rate is restricted to time simply be cause all our problems have only time rates.
We now enter phase B. It notices that IN3 i s a unit of volume, so we get the structure:

VALU:~ 15.0 (TIMES TlM (EXPT IN 3)))SEC)
The program now realizes that this sentence indicates volume change. By the previously un used sentence it decides that WATER is the con tents of the CONICAL FILrER. It then notes that CONICAL is an adjective describing SHAPE. Then this information, as well as the contents of the filter, is put into structure form and we get:

The fact that atoms are unique in LISP comes in very handily here. When we put WATER on the pro perty list of FILTER we are guaranteed that all the properties associated with WATER (VOLUME in this case) will tag along.
The third sentence (THE RADIUS OF THE BASE OF THE FILTER IS 5.0 IN) will match

This indicates a value assignment. THE RADIUS OF THE BASE OF THE FILTER is changed into structure form, and then the value, 5 IN, is tacked on. This gives us To understand the fourth sentence (THE ALTI TUDE IS 10.0 IN) is handled we must backtrack somewhat. When we encountered the phrase CONICAL FILTER we put conical on the property list of filter. The program knows that conical objects have many properties in common. For example they all have altitudes and bases, and bases have radii. So these facts are put on the structure of the filter. Hence much of the structure we have shown being created had already been placed in the structure as a common property of cones. Never the less at each step the system actually did cre ate the substructure finding, however, that the information was already on the property lists.
There is one other operation we have so far neglected. Every time a property X is put on the atom Y, a property MARKERON is placed on the atom X, and this has the value Y. This gives us back wards pointers so that given a property we can find out which atoms have that property. The point is that when the program checked to see if ALTITUDE was a marker on any atom, it discovered that it was on FILTER. The program then assumed that ALTITUDE referred to the altitude of the filter, and created the sub structure (A)

The next sentence is the question (FIND RATE ATWHICH THE WATER LEVEL RISING). The phrase WATER LEVEL becomes (B). Note that CARPS recog nizes that in this context LEVEL means ALTITUDE. For a partial list of the knowledge CARPS has about words, see Appendix E. Once again WATER is only on the property list of FILTER, so we can trace back and find that what we are interested in is (G0019 WATER FILTER). This is the equation variable format. This variable represents, in English, the altitude of the contents of the filter. So we create the equation
(EQUAL G0020 (DERIV(G0019 WATER FILTER)))
The interpretation of the last simple sen tence (THE VOLUME IS 100.0 IN3) depends on the same sort of analysis. The word volume only ap pears as a marker on water, so the program as sumes the sentence is referring to this volume. However since the sentence tag for this sentence has the word WHEN, the structure created is modi fied as seen below in the completed structure. The WHEN on the property list of WATER indicates that what follows beneath it is a boundary condition.
At this point all the necessary information has been extracted from the sentences, and this stage of the solution is over. The final struc ture is on the next page.
V. THE FORMATION OF THE EQUATIONS AND THEIR SOLUTION
The fourth section is concerned with estab lishing the equations which the fifth section will manipulate to solve the problem.
There will be two equations (other than the one already created by the question sentence). One relates the volume of the contents of a cone to the altitude and radius, and the other relates the height and radius of our cone to the height and radius of the contents of the cone. To see how the stored equations are manipulated consider this equation used in the problem.
(EQUAL (TIMES (RADIUS BASE CONTENTS OBJ) (ALTITUDE OBJ)) (TIMES (ALTITUDE CONTENTS OBJ)
(RADIUS BASE OBJ)))
This is the relationship, R I RC = A I AC as seen· in the diagram on page 3 ·
Before the parameters are replaced an extra copy is set aside to be used later when we solve for the boundary condition. The program will then go through the list structure noting that EQUAL and TIMES are algebraic symbols. It will then come to (RADIUS ··..· ) and note that this is not an algebraic symbol, implying that the list of which RADIUS i s the first element is a variable name. Processing the variable in reverse order, it first finds that the value of OBJ is FILTER. It then looks for the contents of FILTER, which is water, and then for the BASE of the WATER, which it does not find. Hence it leaves this variable with only the last two elements replaced (e.g., (RADIUS BASE WATER FILTER)). It will find the altitude of the filter however, and note that it has the property VALU whose value will then re place this entire expression in the equation. In this same manner the rest of the equation set will be filled, and the computer prints out.
(THE EQUATION SET IS)
1 ((EQUAL (G0005) (DERIV (G0004 WATER FILTER)))
2 (EQUAL (QUOTIENT (TIMES 17.0 (TIMES (EXPT IN 3) TlM)) SEC)
(TIMES (G0004 WATER FILTER) 0.33333300 PI (EXPT (RADIUS BASE WATER FILTER)2)))
3 (EQUAL (TIMES (RADIUS BASE WATER FILTER)
(TIMES 12.0 IN))
(TIMES (G0004 WATER FILTER)
(TIMES 5.0 IN)) ))
In usual notation this is



At this point section four of CARPS is com pleted, and we go on to five.
In section five we first get our desired var iable (in our case the altitude of water) com pletely in terms of time, and then differentiate to find the rate as a function of time. Then the boundary condition is used to solve for time and this value is substituted into the rage equation to get our final answer.
(THE ANSWER IS)
(TIMES · 53132 943 IN (EXPT SEC -1. 0) (EXPT PI -0.33333332))
In conventional notation this would be

VI. CONCLUSIONS
In section 2 we noted several aspects of STUDENT which we felt needed further work. Let us compare CARPS and STUDENT in these areas.
- By storing information in terms of structures, CARPS is better able to recognize that two phrases describe the same object.
- Again because of the use of structures CARPS can gather information about an object in piece meal fashion. STUDENT was essentially required to generate one equation for each sentence in the problem description. In calculus word problems it is not uncommon to have two or three sentences providing information for one equation.
- CARPS to a limited degree is able to use its knowledge to parse its input sentences. For ex ample we saw how ALTITUDE was interpreted as ALTITUDE OF THE FILTER because CARPS knew that since the filter was a cone and cones have alti tudes, the filter had an altitude.
- Whereas STUDENT has only one solution method (i.e., solution of linear equations), CARPS has several and can decide which is appropriate for a given problem. CARPS machinery for solving its equations (e.g., differentiation, simplification) is also more complex than STUDENT's.
- CARPS utilizes a more sophisticated grammati cal analysis of the sentences than STUDENT. This is used both in breaking up sentences and in gen erating the internal structures. Up to now 14 problems have been solved by CARPS. Most were taken from standard texts, sometimes with slight modifications. (Variations in the statements of problems would, of course, increase the number of problems solvable by CARPS.) The other problems solved by CARPS are in Appendix A.
Many of the improvements that we claim for CARPS were necessitated by the increased complexity of the problems that we expected it to solve. However many weaknesses of STUDENT are still present in some form in our design.
- An important weakness in the program is due to its dependence on key words to signify the type of problem (i.e., distance or volume) and the method of solution to be used. What one would like to have in a calculus problem solver is a program which would use the information presented in the problem to figure out relationships among the ele ments (e.g., similar triangles) and actually pro pose the method of solution. The answers which could be provided by such a program are currently built into CARPS' data base for several cases, but this scheme severely limits the power of the program.
- Another weakness of CARPS is its limited knowledge of English syntax. It would not be too difficult for CARPS to learn new syntactic rules by adding these rules to its CONVERT subroutines. Actually what would be more satisfying would be a different method of parsing the sentences into components of structures. Currently the CONVERT rules are attempted one at a time until one matches the sentence. A better approach would be an incremental left to right parse which, when finished with the sentence, would have . translated it into the internal model.
- A very powerful calculus word problem solver will require a good deal of "common sense" knowl edge. Consider this problem which we gave to CARPS
(A LADDER 20.0 FT IDNG LEANS AGAINST A HOUSE/. FIND THE RATE AT WHICH THE TOP OF THE LADDER IS MOVING DOWNWARD IF ITS FOOT IS 12. 0 FT FROM THE HOUSE AND MOVING AT THE RATE 2.0 FT PER SEC /.)
Much to our surprise CARPS was not able to solve it. A closer look at the problem shows why. The last phrase mentions that the ladder is moving at the rate 2 ft per second. CARPS has, as an in ternal check, the requirement that associated with each velocity must be the direction of the velo city. The point is that the problem never gave this direction. Most people, however, would as sume that it was moving horizontally away from the house. The reason of course, is that a famil iarity with ladders or the law of gravity tells us that this is the most likely way for it to be moving.
This is not an isolated incident. Consider the problem
(A BARGE WHOSE DECK IS 10 FT BEIDW THE LEVEL OF A DOCK IS BEING DRAWN IN BY MEANS OF A CABLE ATTACHED TO THE DECK AND PASSING THROUGH A RING ON THE DOCK. WHEN THE BARGE IS 24 FT FROM AND APPROACHING THE DOCK AT 3/4 FT / SEC, HOW FAST IS THE CABLE BEING PULLED IN ?)
The ship is moving horizontally towards the dock. The problem does not mention this.
Nor is the need for a body of "real world" information unique to calculus problems. Consider an example taken from a children's story. "Mike's costume had big ruffles. He refused to wear it." The question is "Why?". A program which will an swer correctly must know that boys usually will not wear girl's clothes, and anything with ruf fles on it must be for girls.
It is our belief that a program which is to understand second grade stories must have at its disposal a body of facts comparable to that of an average seven year old. More generally, computer understanding of any body of literature will re quire a data base similar to that of a human read er. The major problems facing computer under standing of natural language are, in our opinion, collecting, storing, and utilizing such large bodies of information.
APPENDIX A
- 1 (A MAN 6.0 IT TALL WALKS AT THE RATE 5.0 PER SECOND TOWARD A STREET LIGHT WHICH IS 16.0 IT ABOVE THE GROUND I. AT WHAT RATE IS THE TIP OF HIS SHADOW MOVING ?)
Taken from Thomas~ page 100. The problem originally asked two questions, only the first is in our problem.
- 2 (SHIP P IS 15.0 MILES EAST OF 0 AND MOVING WEST AT 20.0 MILES PER HOUR; SHIP B I, 60.0 MILES SOUTH OF 0 I, IS MOVING NORTH AT 15.0 MILES PER HOUR /. AT WHAT RATE ARE THEY APPROACHING OR SEPARATING AFTER 1.0 HOUR 1.)
Problem taken from Ayreg~ page 59. Three changes were made. SHIP P was originally SHIP A, the question originally read "Are they approach ing or separating after 1 hr and at what rate ?", and there were three questions.
- 3 (LADDER 20.0 FEET LONG LEANS AGAINST A HOUSE I. FIND THE RATE AT WHICH THE TOP OF THE LADDER IS MOVING IF ITS FOOT IS 12.0 FEET FROM THE HOUSE AND MOVING AWAY FROM THE HOUSE AT THE RATE 2.0 FEET PER SECOND 1.)
Taken from Ayres page 59. The problem ori ginally asked two questions.
- 4 (A TRAIN STARTING AT 11.0 AM I, TRAVELS EAST AT 45.0 MILES PER HOUR WHILE ANOTHER I, STARTING AT NOON FROM THE SAME POINT I, TRAVELS SOUTH AT 60.0 MILES PER HOUR I. HOW FAST ARE THEY SEPARATING AT 3.0 PM ?)
Taken from Ayres page 59, no changes.
- 5 (GAS IS ESCAPING FROM A SPHERICAL BALLOON AT THE RATE OF 2.0 CUBIC FEET PER MINUTE 1. HOW FAST IS THE SURFACE AREA SHRINKING WHEN THE RADIUS IS 12.0 FEET ?)
Taken from Ayres page 57, no changes.
- 6 (A BALL IS RISING VERTICALLY OVER A POINT B AT THE RATE 15.0 FEET PER SECOND 1. A POINT C IS LEVEL WITH B AND IS 30.0 FEET FROM B I. WHEN THE BALLOON IS 40,0 FEET FROM B I, AT WHAT RATE IS ITS DISTANCE FROM C CHANGING ?)
- 7 (UPON BEING HEATED I, A METAL DISC EXPANDS I. THE RADIUS OF THE DISK LENGTHENS AT THE RATE OF .01 PER SEC 1. CALCULATE THE RATE AT WHICH THE AREA OF THE DISK IS INCREASING WHEN THE RADIUS IS 3.0 IN 1.)
Taken from Lightstone5 page 145. The problem originally had two questions and the first two sentences above were connected by the phrase "in such a manner that".
- 8 (SAND FALLS INTO A CONICAL PILE AT THE RATE OF 10.0 IT3 PER MIN 1. THE RADIUS OF THE BASE OF THE PILE IS AUVAYS EQUAL TO ONE HALF OF ITS ALTI TUDE 1. HOW FAST IS THE ALTITUDE OF THE PILE IN CREASING WHEN IT IS 5 IT DEEP ?)
Taken from Thomas page 106, no changes.
- 9 (A RECTANGULAR TROUGH IS 8. 0 IT LONG I, 2. 0 IT WIDE I, AND 4.0 FT DEEP 1. IF WATER FLOWS INTO THE TROUGH AT THE RATE OF 2. 0 IT3 PER MIN I, HOW FAST IS THE SURFACE OF THE WATER RISING WHEN THE WATER IS 1.0 FT DEEP ?)
Taken from Ayres page 59. Rather than WIDE the problem had "across the top", instead of INTO THE TROUGH the problem had "in", and instead of SURFACE OF THE WATER the problem had just "surface".
- 10 (A MAN WALKS AWAY FROM A STREET LIGHT AT 4. 0 IT PER SEC I. HOW FAST IS THE POSITION OF THE TIP OF HIS SHADOW CHANGING IF HE IS 5.0 FEET TALL I, WHILE IT IS 20.0 FEET TALL 1.)
- 11 (JOE RUNS FROM A STREET LIGHT WHOSE HEIGHT IS 30.0 FEET I. IF JOE IS 6. 0 FEET TALL I, AND TRA VELING AT 10.0 MILES PER HOUR I, FIND THE RATE AT WHICH HIS SHADOW IS LENGTHENING ?)
12 (THE AREA OF A SPHERE IS INCREASING AT THE RATE OF 4. 0 SQUARE INCHES PER SECOND I. AT WHAT RATE IS THE DIAMETER CHANGING AITER 10.0 SECONDS ?)
PATTERN
IF - ANYTHING - , - QUESTION WORDANYTHING .
QUESTION WORD - ANYTHING - IF - ANYTHING
QUESTION WORD - ANYTHIN~ - WHEN ANYTHING
WHEN - ANYTHING - QUESTION WORD - ANYTHING
ANYTHING - VERB - ANYTHING - AND/WHILE - VERB - ANYTHING
ANYTHING - VERB - ANYTHING - AND/WHILE - ANYTHING - VERB - ANYTHING
ANYTHING - WHOSE - ANYTHING - VERB - ANYTHING - VERB - ANYTHING
ANYTHING - VERB/PREP - RP - WHOSE - ANYTHING - VERB - ANYTHING
ANYTHING - VERB/PREP - RP - WHICH/THAT - VERB - NVP
RP - , - ANYTHING - ANYTHING - VERB -
NVP - VERB - NVP - , - NVP - , - NVP
NVP - VERB - ADVERB - ANYTHING
NVP - VERB - PREP - RP - PREP/ADVERB - ANYTHING
RP - NUMBER - UNIT - RP - VERB/PREP - ANYTHING
EXAMPLE
If - the radius is 3 ft - , - what - is the altitude
What - is the altitude - if - the radius is 3 ft
What - is the altitude - when - the radius is 3 ft
When-the radius is 3 ft-what-is the altitude
The radius - is - 3 ft - and increasing - at 3 ft per sec
The radius - is - 3 ft - and - the altitude - is 5 in
The cone - whose - radius - is - 3 ft - has - an altitude of 5 ft
A man walks - toward - a light -
whose - height - is 20 ft
A man walks toward - a light - which - is - 20 ft high
A man - , - starting at 5 PM - , - walks toward a light
A box - is - 10 ft long - , - 3 ft wide - , - and 8 ft high
A man - walks - directly - toward a light
A man - walks - toward - a light - at - 2 miles per hour
A man - 5 - ft - tall - walks 7 toward a light To break up sentences which contain a subordinate clause introduced by IF
Same, except that clause occurs at the end of the sentence
Separate off from the sentence a subordinate clause, introduced by WHEN
Same, except that clause occurs at the beginning of the sentence
To break up a sentence which contains two predicates, connected by AND or WHILE
To separate two complete sentences joined by AND or WHILE
To separate a subordinate clause introduced by WHOSE
Same, except that clause occurs at the end of the sentence
To separate a subordinate clause introduced by WHICH or THAT
To separate an appositive set off by conunas
To separate a sentence with 3 objects or predicate adjectives
To create a new sentence with the adverb and verb as its predicate
To break up 2 predicate phrases, the first starting with a prep, the second with a prep or adverb
To separate some appositives which are not indicated by commas
PATIERN
ANYTHING - VERB/PREP - RP - NUMBER - UNIT - NVP - RP
NVP - IS - RP - AND - RP
APPENDIX B: Continued
EXAMPLE
A man walks-toward - a light - 20 ft - from - the ground
A box - is - 12 ft long - and 8 ft high
USE
Same, except that the appositive occurs at the end of the sentence
To separate a sentence with two predicate adjectives I w .....
w I
PATTERN
VOLUME SECTION
NVP - VERB - PREP - ANYTHING - NUMBER - UNIT - PER - TIME UNIT
NVP - IS - NUMBER - UNIT
NVP - IS - NUMBER/NUMBER "TIMES"/ NUMBER "OF" - NO .UNIT - NVP
NVP - IS - NUMBER - UNIT - SINGLE WORD
DISTANCE SECTION
NVP - VERB - POSIT
NVP - VERB - AT - TIME INDICATOR
NVP - VERB - NUMBER - UNIT - POSIT - NVP
NVP - VERB - POSIT - NVP
QUESTION SECTION
QUESTION WORD - RWORD - ANYTHING - VERB - RP/NULL - TIME INDICATOR - RP/NULL
QUESTION WORD - RWORD - ANYTHING - VERB - OR - VERB
QUESTION WORD - RWORD - "ATWHICH"/VERB - NVP - VERB
EXAMPLE
A ship - traveling - at - - 20 - mile - per - hour
The altitude - is - .5 times - the - radius of the base
A ship - traveling - north
A ship - starting - at - 12 AM
A ship - is - 30 - mile - north - point 0
A ship - is - north - point 0
Find - rate - atwhich they - separating - at - 3 PM - -
What - rate - are they - approaching - or - separating
How - fast - is - the altitude - rising
COMMENTS
Indicates something changing at a constant rate.
The basic value assignment statement.
This will create an equation.
Indicates direction of velocity.
Indicates zero time. The time indica tor may also be "noon" or "midnight".
Indicates value and direction of posi tion with respect to a second object.
Indicates direction of position with respect to a second object. Only used in distance problems.
Boundary conditions explicitly involv ing time have different forms, this rule covers most.
This is the basic rate question format.
I w .... +'
APPENDIX D: Noun phrase analysis
PATTERN
ANYTHING - OF - A/THE/PRONOUN - ANYTHING
ANYTHING - OF - NO NUMBER
ANYTHING - DISTANCE - FROM - ANYTHING
ANYTHING - DISTANCE - FROM/BETWEEN - ANYTHING - TO/AND - ANYTHING
POSSESIVE PRONOUN - ANYTHING
1 SIN GUlAR PRONOUN
PLURAL PRONOUN
ADJECTIVE - ANYTHING
EXAMPLE
the radius - of - the - base
a pile - of - sand
the train's - distance - from the ship
The - distance - between - the train - and - the ship
its - altitude
he , she , it
they
red balloon BASE I RADIUS :GOOOl PILE "" CONTENTS :SAND

as above
FILTER \ ALTITUDE:GOOOl
BALLOON I COLOR: RED
Only used in volume problems
Filter was the name of the previous non human structure mentioned in the problem
Return the name of the last human or nonhuman structure mentioned
Return names of last two different structures mentioned
COMMENT
I w ..... Ul I
KNOWLEDGE IN THE FORM OF EQUATIONS
conical VOWME OF CONTENTS 1/3 * n * RC 2 * AC
RC *A = AC * R
disk
ladder
shadow AREA = 2 * n * R 2
VOLUME = n * R 2 * THICKNESS
12 = x2 + j
Y * (HL - H) = H * X
Z =X+ Y
APPENDIX E: KNOWLEDGE ABOtrr WORDS


spherical
trough VOLUME = 4/3 * n * R3
AREA = 4 * n * R 2
DIAMETER = 2 * R
VOLUME OF CONTENTS 1/2 * L * WC * AC
WC *A = AC * W
KNOWLEDGE ABOUT OBJECTS
cone is a conical object
conical has altitude, contents, base with radius
disk has radius, width, volume, and area
sphere is a spherical object


APPENDIX E: CONTINUED
spherical has area, volume, diameter, and radius
trough has altitude, width, and length
KEY WORDS FOR DETERMINING PROBLEM TYPE
DISTANCE KEYS
approaching, distance, separating; ladder, pole, rail; shadow
VOLUME KEYS
altitude, area, diameter, radius, surface, volume
ADJECTIVE TYPES
conical - shape cylindrical - shape green - color rectangular - shape red - color spherical - shape
DIRECTION WORDS
above +K level +I vertically east +I north -J +K west horizontally +I over +K south +J -I
OTHER KNOWLEDGE
altitude
AM
balloon
heap
Joe
length
level
Mary
midnight
moving
noon
pile
PM
implied by the words deep, depth, height, high, rising, and tall some times by surface and level
implies the number preceding it in hours
spherical, it and its contents have the same volume, radius, etc.
it and its contents have the same volume, etc.
is a person
is implied by the words long and lengthening
in a noun phrase implies altitude
is a person
zero hours
imp lies position
12 hours
it and its contents have the same volume, etc.
adds 12 hours to the number preceding it
surface if followed by AREA implies area, if followed by a verb which indicates altitude (such as rising) implies alti tude, else implies area
vertical is implied by fence, house, or wall surface
@inproceedings{ijcai1969p30,
title = {Computer Solution of Calculus Word Problems},
author = {Charniak, Eugene},
booktitle = {Proceedings of the First International Joint Conference on
Artificial Intelligence, {IJCAI-69}},
publisher = {International Joint Conferences on Artificial Intelligence},
editor = {Donald E. Walker and Lewis M. Norton},
pages = {303--316},
year = {1969},
month = {5},
note = {Question-answering Systems and Computer Understanding},
url = {https://ijcai.org/proceedings/1969/30},
}
TY - CPAPER TI - Computer Solution of Calculus Word Problems AU - Charniak, Eugene T2 - Proceedings of the First International Joint Conference on Artificial Intelligence, IJCAI-69 PB - International Joint Conferences on Artificial Intelligence PY - 1969 SP - 303 EP - 316 UR - https://ijcai.org/proceedings/1969/30 ER -Copied
Machine-readable versions of this paper, for tools and AI agents:
Welcome
Future Conferences
AI Journal Division
IJCAI Proceedings
About IJCAI
IJCAI Awards