AI: Problems with symbolic logic
Last time we looked at symbolic logic and how it can be used for knowledge representation. Now we’re going to look at some problems with using symbolic logic for representing knowledge in a hypothetical AI program.
The first problem with symbolic logic is that nobody can agree on what symbols to use. To a certain extent, this should be expected because many different problems are solved by using artificial intelligence. Different sets of symbols for different problems. But even when everyone is working on the same problem, (acting like or reasoning like human beings, for example) it is hard to come to an agreement on what symbols and rules to use for knowledge representation. Furthermore, the disagreement increases as the complexity of the problem increases. This is a bad sign.
Let’s look at Cyc again. Cyc uses lots and lots of symbolic logic, but Cyc has tons and tons and tons of symbols. From the What’s in cyc? webpage:
At the present time, the Cyc KB [knowledge base] contains nearly two hundred thousand terms and several dozen hand-entered assertions about/involving each term. New assertions are continually added to the KB by human knowledge enterers. Additionally, term-denoting functions allow for the automatic creation of millions of non-atomic terms, such as (LiquidFn Nitrogen); and Cyc adds a vast number of assertions to the KB by itself as a product of the inferencing process.
200,000 terms! With new assertions (rules) and terms (symbols) added every day! Obviously, systems which do not try to encode all of human knowledge will need fewer symbols. But, is it possible to encode all of human knowledge in fewer symbols?
Some people think so. I remember reading a paper back in college by a professor who figured that all human knowledge could be represented by thirty or so symbols, grouped into four main categories. Each symbol would have a number of attributes, and by a series of transformations and application of logical rules you can represent all of human knowledge with your thirty major symbols. Or something along those lines; it’s been over 5 years and I don’t remember that much about it, but even at the time I was pretty skeptical. I haven’t heard a peep about this system since. But who knows, it might even be possible, although I suspect that the “series of transformations” step would push the run time of the system into astronomical bounds.†
Whether we need to use 30 symbols or 300,000 symbols for storing all human knowledge in a computer readable format, the fact that nobody agrees on a standard means that it will be impossible for two seperately developed AI systems to natively exchange information with each other. Information will have to be translated or encoded in an intermediate language, most likely, this will mean that subtleties and nuances are lost in the translation.
A second problem with symbolic logic systems is missing context. Think of math. No no, I mean really simple math. When I type 5 + 2 = ___, that plus sign is like saying “group these things together and count them.” Group what together? Good question.
If 5 and 2 are just abstract numbers then we can say seven.
If I have $5.00 and you have $2.00, then we have $7.00.
If I have five apples and you have two oranges, then we have seven pieces of fruit.
If I have five gallons of gas and you have two gallons of gas, then we have seven gallons of gas in total.
But if I have five sheep and you have two SUV dealerships, then we have… nothing in common. We certainly don’t have seven of anything. A computer blindly following the rules of adding would say we have seven Sheepsuv Dealerships, but that’s not very helpful. This may seem like a ridiculous mistake to make, but to a computer a sheep is a “thing” and so is an SUV dealership so it’s not inconceivable that it would happily exchange one for the other. Our computer needs more context.
Cyc has the advantage here because of its complicated and extensive symbol hierarchy. But even if we can keep serious symbol clash operations from taking place, there are still some subtle information context issues we have to watch out for. Five year olds don’t really understand mountains. They think that a mountain is like a really tall hill, and five year olds understand hills. If you want to climb a mountain, just keep walking up it until you get to the top, right? The problem is, our hypothetical five year old doesn’t know about things like oxygen deprivation, frigid mountain air, and impassable cliffs and canyons. Neither does our computer, unless we tell it.
Not only do we have problems with symbol clashes and missing information, we also have problems with the inappropriate application of rules. Remember this example rule from last time: “Everything that is an A is a kind of B. All Bs are C. Therefore, all As are Cs.” And our concrete example:
All squares are rectangles.
All rectangles have four sides.
Therefore, all squares have four sides.
But with the right selection of A, B, and C, we can fool the computer and get:
Martha Stewart is an American.
All Americans are rude and boorish.
Therefore, Martha Stewart is rude and boorish.
Martha Stewart may have flaws but they don’t include being rude and boorish. Our simple rules need more and more exceptions, until they become complex rules.
These problems may seem easy to fix. But they are hard to fix with code and algorithms, and code and algorithms are the only tools we have to solve the problems with. For instance, let’s take context issues as a problem. Let’s say I’m a mad genius and I have a really smart AI running on my desktop computer. Being mad, I decided to put its brain into a robotic body. Suddenly, the program has a physical body it didn’t have before. What happens if I ask it “Can you throw _______?”, where ________ is some thing.
Chances are I didn’t think to make it easy for my AI to know about throwing things. It never needed to know anything from the standpoint of having its own body, so why would it? Despite being a mad genius I’m really rather stupid and I gave it all kinds of knowledge of things from a human perspective. So now it can tell me whether or not I can throw something quite easily, but depending on how I coded it, it might be very hard for it to figure out whether or not it can throw something.
I may have to write some new algorithms for it to access the right information in the right way from its data store (or at least give it some hints). I could add a Throwable flag to all ConcreteNoun symbols, and then just tell it to figure out for itself by trial and error whether it can throw everything. That might not be such a good idea when it decides to see if it can throw me, however. And adding just one flag like that could increase the memory requirements of my AI by hundreds of megabytes.
Ultimately, all of this discussion of abstract symbols and rules reveals a new problem. Logical rules and propositions are how computers and Vulcans and fictional people like Sherlock Holmes think, but it is not the way that actual human beings think. We have emotions, which influence and direct our thinking, sometimes without us even being aware of it. Frequently our emotions lead us to the right answer even when all of our logic leads us astray.
Lack of emotion may or may not be a problem depending on the situation the computer is dealing with. The more human contact an AI has, the more of a problem a lack of emotion will be.
Phew. I’ve had enough abstract symbol mumbo-jumbo for one day. Next time we’ll look at something a little more fun (and practical): the use of AI in video games.
† If a person wanted to be perverse, they could claim that all human knowledge could be represented with just 26 symbols (the roman alphabet), and a handful of punctuation marks. But in reality when I speak I’m using the symbols of the alphabet in a compound way to make English words. So while it is technically true in a certain sense that all human knowledge can be represented with only 26 symbols, it’s not very useful. If I say “Fine. Go make me an AI that uses only those 26 symbols to represent everything,” then you will have a very rough time of it indeed.
March 23rd, 2006 at 3:39 pm
Clearly you’ve never actually met Martha Stewart in person…
November 4th, 2006 at 5:01 pm
Symbols are only usable in combination with other symbols, so saving all human knowledge could be done with just 2 if them if you wish, 1’s and 0’s. You could even use a unary system if you wish…
The number of symbols used are not part of the AI problem at all, only for the human readability of the knowledge…