The term artificial intelligence is one of those polarized icons that almost invariably evokes a strong response. To certain purists, it is a prime example of an oxymoron a term that contradicts itself. To others, it conjures up fantasies of renegade thinking machines such as HAL 9000, or the offworld androids who haunted the dark romance: Blade Runner.
To those who create computer software, it has a simple working definition. It is the continually changing bleeding edge of the art the aim to push the envelope, not in speed or in mass computational power, but in expressiveness and the flexibility of the interface between the human and computer. About fifteen years ago, I thought that the idea of scanning printed text into a word processor, or of dictating commands or text to a computer was pure fantasy. In fact, the latter made for a very funny moment in one of the Star Trek movies, when Commander Scott, disguised as a 20th century engineer, forgot himself and began speaking into the mouse, addressing it as computer.
Examples abound. It was not very long ago that the notion of a chess playing computer belonged only to science fiction. Remember Robby the Robot? It was a romantic idea, but a remote one. Today, it only requires a trip to your local Toys R Us to put your hands on a chess playing computer. But think of the possibilities. Chess is a microworld based on a rigid scheme of rules, actions and transformations. In this way, it is much like a mathematical notation, or a linguistic structure. In fact, a game of chess is essentially a dialog between two players in an abstract and formal language. With the appearance of chess playing programs, it has become possible to converse with a computer in this sense.
Alan Turing formulated an informal test for machine intelligence. If one had a conversation with a hidden conversant, could she decide whether the conversant was human or machine? Would Deep Blue pass such a test if the language was chess, rather than natural language?
And while these simple advances encourage us that the human-computer interface has indeed improved dramatically, and will continue to do so, there have also been some rather striking failures. One of the great dreams of the 50s was to build computer programs that could translate from one (natural) language to another. A text written in French might be automatically converted to Russian and vice-versa. The vice-versa part was the killer. Presumably such a translation, say from French to Russian, and then from Russian back to French would yield a French document that meant the same thing as the original. It was soon discovered that in order to do this, the machine would have to represent not only the grammatical form of the original text (its syntax), but also its meaning (its semantics).
Now, noone knows how to represent the meaning of a piece of text in a computer. It took the artificial intelligence community several decades (and many millions of dollars of research funds) to realize this simple truth. As Roger Penrose argued with polite and meticulous determination in his book The Emporers new Mind: Thought is not computation.
But another, humbler dream of the 50s was to a large extent realized in that decade, just as the chess playing computer was. Many forms of mathematics use a highly refined syntax a syntax that is so unambiguous that some mathematicians (Hilbert, Russell, and others) were tempted to identify the syntax with the meaning. Godel put a stop to that in the 30s with his famous paradox, but it remains true that much of formal mathematics can be so systematized that it is possible to teach a computer to go beyond basic algorithms (addition, multiplication, and so on) but to do more open-ended performances that seem to require guesswork and judgement.
Examples of performances like this are: Equation solving, simplification of mathematical expressions, the application of functional identities (such as sin^2(x)+cos^2(x) = 1), solving inequalities, factoring polynomials, or proving theorems. In these cases, there are not cut-and-dried algorithms (mechanical procedures like the one you use to multiply integers) but only strategies with definite goals. To solve an equation for x, you want to do whatever it takes to get x alone on one side of the equation. This may be done in a variety of ways, and it may not be known in advance which way to go. For example, suppose you wanted to solve the equation:
x^3 + x^2 + x + 1 = 0 for real x. A human being might say to himself: If x = -1, it is true. But how would a computer know that?
In the Expert Systems WorkBook: http://www.mathwright.com/book_pgs/book027.html
If on page 5, you install the RuleSet Cubic then click explain you see the following performance. The output in Mathwright is much more legible than this, showing that our email programs are not yet as smart as they might be.
Rewriting: x^3+x^2+x+1
Applying subrule: 3 : completing_the_cube of Rule: vari to transform the equation to the equation:
cub(x+1/3)+2*x/3+26/27 = 0
Rewriting: cub(x+1/3)+2*x/3+26/27
Substituting: u1-1/3 for: x
Applying subrule: 5 : substitute_for_linear_term of Rule: vari to transform the equation to the equation:
cub(u1)+2*u1/3+20/27 = 0
Rewriting: cub(u1)+2*u1/3+20/27
Substituting: u2-2/(9*u2) for: u1
Applying subrule: 6 : normalizing_substitution of Rule: vari to transform the equation to the equation:
cub(u2-2/(9*u2))+2*u2/3-4/(27*u2)+20/27 = 0
Clearing denominators to transform the equation to the equation:
u2*cub(u2-2/(9*u2))+2*u2^2/3-4/27+20*u2/27 = 0
Applying subrule: 8 : expand_the_cube of Rule: vari to transform the equation to the equation:
u2^4-8/(729*u2^2)+20*u2/27 = 0
Clearing denominators to transform the equation to the equation:
u2^6-8/729+20*u2^3/27 = 0
Rewriting: u2^6-8/729+20*u2^3/27
Applying subrule: 9 : complete_the_square_of_cubic_terms of Rule: vari to transform the equation to the equation:
sq(u2^3+10/27)-4/27 = 0
The answer is:
(sqrt(4/27)-10/27)^(1/3)+(-2)*(1/(sqrt(4/27)-10/27))^(1/3)/9-1/3
What is that? Ask for a numeric approximation, taking positive real roots, and you see:
An approximation to 6 places is: -0.9999996
So (sqrt(4/27)-10/27)^(1/3)+(-2)*(1/(sqrt(4/27)-10/27))^(1/3)/9-1/3 is a fancy way to write 1. [ The other two (imaginary) roots also appear if you take the other square and cube roots. ]
The individual steps are not pre-programmed. The system looks over the equation, at each step, choosing what it knows about Cardanos Method to make the next step. And, as ugly as they look in this email program telegraphic ascii you can see that the mathematical expressions are greatly simplified. For example, all fractions are reduced, and all polynomials simplified. [ In fact, the whole procedure of representing mathematical expressions in human-readable form: with exact rational numbers, raised exponents, and numerators over denominators is a nice example of artificial intelligence. Mathwright WorkBooks generally present their output this way. ]
Now, suppose you typed in a different equation, say
1/x^3+1/x^2+1/x+1=0
Its first step would be:
Clearing denominators to transform the equation to the equation:
1+x+x^2+x^3 = 0
After that, it would proceed to the solution as above (which is also 1).
This sort of open-ended performance was one of the early goals of artificial intelligence research. The programming language: Macsyma showed with brilliant success that this, and many more ambitious goals, such as symbolic integration, could be done by computer. These capabilities are standard features of modern programs, such as Maple, Mathematica, MathCAD, and others. This greatly eases the human-computer interface, because the system goes to great pains to present its intermediate steps in intelligible form, so that we humans can understand it. Also, in following its own strategy and not having to be told at every step what to do, it is easier for a human to work with it. Still, there is no reason on Earth for the computer to guess that its answer can be simplified to 1 when positive roots are taken. That requires human intelligence!
In Newsletter #3 we showed how, in the Expert system WorkBook, we could teach the System certain functional identities, such as the half-angle and sum formulas for sine and cosine, and produce performances such as this:
Calcexact Reduce( sin(16*t) )
16*sin(t)*(cos(t))^15-560*(sin(t))^3*(cos(t))^13+4368*(sin(t))^5*(cos(t))^11-11440*(sin(t))^7*(cos(t))^9+11440*(sin(t))^9*(cos(t))^7-4368*(sin(t))^11*(cos(t))^5+560*(sin(t))^13*(cos(t))^3-16*(sin(t))^15*cos(t)
If artificial intelligence often leads to a friendlier interface with a computer environment, it promises to do much more. Consider the example of the chess-playing computer. It holds a conversation with the player -- albeit in a refined and esoteric language. But it does another thing, too. If you have played computer chess, you probably quickly forgot that your opponent was a machine. The conversation was, as it should be, about chess.
Such computer environments create an illusion that brings the player under its spell. That is, they bring the player into a microworld in which the focus is on the rules, actions, and transformations of that world. This ability to support a useful illusion is an example of artificial intelligence in the sense discussed above. That is because, if the player is to believe the illusion, it must be natural and easy for her to interact with the environment. In this sense, games like Mario Brothers (especially the 3D variety) are magical examples of artificial intelligence. The relevant rules there are gravity and dynamics, and they are rendered with masterful skill although of course they do not aim or pretend to teach.
If we carry this idea to the worlds of mathematics and science, we will find that there are a great many opportunities to teach. For example, Synthetic Geometry is a microworld with very definite rules (given by Euclid). Several Mathwright WorkBooks attempt to place the player in a world in which those rules hold sway. Interacting with the WorkBooks is (or should be) like talking Geometry. Examples of such WorkBooks are:
Herons Formula:
Conic Sections:
Reflections: or
Geometry:
Another place where such magical illusions have pedagogic value is with simulations in science. Books such as:
Gravitation:
(Or, more especially, the greatly expanded version of this book on CD:
Bernoullis Problem:
Boats:
The Pendulum: or
Elastic Collisions:
attempt in their own way to do this.
It has been observed by Jean Piaget that play is the most enduring source of permanent knowledge. The biological and psychological role of play is is to acquire and to practice behaviors that will be important throughout life. Mathwright is your Mathematical Playground. Come Play With Us!
James E. White Editor
If you came here from the old building,