AI: Symbolic logic

Other folks musing on expert systems reasoned like this. Expert systems have problems, deep problems, because they encode all of the knowledge in the system right up front! It’s easy to seem intelligent when someone has given you all of your intelligence. What we need are computers that can see problems and reason, computers that can think. One way we can make computers think is by using symbolic logic. Symbolic logic is essentially taking a bunch of rules and applying them to abstract symbols. An example rule would be, “Everything that is an A is a kind of B. All Bs are C. Therefore, all As are Cs.” For instance:

All squares are rectangles.
All rectangles have four sides.
Therefore, all squares have four sides.

Now I can add a few new rules: all rectangles are parallelograms and all things that have four sides are quadrilaterals. Now my system knows that all squares are parallelograms and that they are quadrilaterals as well. But I didn’t have to encode that knowledge specifically; it was able to figure things out for itself by applying the new rules to things it already knew.

Symbolic logic, when you get right down to it, is really just applying rules to things. Here’s a more human and less geometrical example. When we see a sign in a store that says “No Pets”, then we can infer that they mean no dogs (and no cats, rabbits, or ponies, for that matter.) But if a blind person brings her seeing eye dog with her into the store, then we know that is allowed, because we know that the dog is more than just a pet. A guide dog is really more like a wheelchair or a set of crutches: it’s a device to help handicapped people.

Comparing a guide dog to a pair of crutches may seem like a strange way of classifying things. But that’s exactly how a robot grocery store clerk based on symbolic logic would think.

In other words, symbolic logic is a form of knowledge representation. “Knowledge representation” is a phrase that means how the computer program knows what it knows. MYCIN had a whole mess of very specific rules by which it would decide which questions to ask, with well defined answers and outcomes. A system based on symbolic logic would have a well-defined set of symbols, and a (potentially huge) set of rules to apply to the symbols, as well as an inference engine that could combine the two and make sense of the mess.

How successful an AI program will be at storing knowledge using symbolic logic depends on a number of factors. How complicated is the problem domain? How skillfully can the AI’s creators break the world down into symbols and come up with a decent hierarchy to classify them? How easy is it to draw some general rules and inferences from the symbols we have? Who creates the rules for the symbols; are they programmed in all at once or is the machine allowed to “learn” for itself?

Remember that we can’t analyze how “useful” any knowledge representation scheme will be unless we have a pretty good idea what kinds of knowledge it is we want to represent! (It’s amazing how often this simple observation is overlooked.)

Next time: problems with symbolic logic.

Leave a Reply