In the early days of artificial intelligence, we wrote programs to do things that were very advanced. One of the first such programs was able to prove theorems in Euclidean geometry. This was easy because geometry depends only upon a few assumptions: Two points determine a unique line. If there are two lines then they are either parallel or they intersect min just one place. Or, two triangles are the same in all respects if the two sides and the angle between them are equivalent. This is a wonderful subject because you're in a world where assumptions are very simple, there are only a small number of them, and you use a logic that is very clear. It's a beautiful place, and you can discover wonderful things there. However, I think that, in retrospect, it may have been a mistake to do so much work on task that were so 'advanced.' The result was that‹until today‹no one paid much attention to the kinds of problems that any child can solve. That geometry program did about as well as a superior high school student could do. Then one of our graduate students wrote a program that solved symbolic problems in integral calculus. Jim Slagle's program did this well enough to get a grade of A in MIT's first-year calculus course. (However, it could only solve symbolic problems, and not the kinds that were expressed in words. Eventually, the descendants of that program evolved to be better than any human in the world, and this led to the successful commercial mathematical assistant programs called MACSYMA and Mathematica. It's an exciting story‹but those programs could still not solve "word problems." However in the mid 1960s, graduate student Daniel Bobrow wrote a program that could solve problems like "Bill's father's uncle is twice as old as Bill's father. 2 years from now Bill's father will be three times as old as Bill. The sum of their ages is 92. Find Bill's age." Most high school students have considerable trouble with that. Bobrow's program was able to take convert those English sentences into linear equations, and then solve those equations‹but it could not do anything at all with sentences that had other kinds of meanings. We tried to improve that kind of program, but this did not lead to anything good because those programs did not know enough about how people use commonsense language. By 1980 we had thousands of programs, each good at solving some specialized problems‹but none of those program that could do the kinds of things that a typical five-year-old can do. A five-year-old can beat you in an argument if you're wrong enough and the kid is right enough. To make a long story short, we've regressed from calculus and geometry and high school algebra and so forth. Now, only in the past few years have a few researchers in AI started to work on the kinds of common sense problems that every normal child can solve. But although there are perhaps a hundred thousand people writing expert specialized programs, I've found only about a dozen people in the world who aim toward finding ways to make programs deal with the kinds of everyday, commonsense jobs of the sort that almost every child can do. |