Feigenbaum C4], commenting on the Fifth Gerieration Project, has said that logic is not important, but knowledge is. I agree that knowledge is more important than logic. But logic is important too. Knowledge-based systems need both knowledge and formalism. Although knowledge is more important than formalism, formalism is important because the use of a poor formalism can interfere with the representation of knowledge and can restrict the uses to which that knowledge can be put. I believe that logic is the least restrictive and most appropriate formalism for knowledge-based systems. Knowledge-based systems combine both complex knowledge and sophisticated formalisms. I believe that this combination of knowledge and formalism accounts for some of the difficulty practicioners have had in explaining what knowledge-based systems are. Problems arise because we confuse knowledge with formalism. Many characterizations of expert systems for example concentrate simply on formalism, on rule-based languages for example and say very little about what makes such formalisms particularly appropriate for expressing and reasoning with knowledge. Logic is strong on formalism but weak on concepts. It contains no knowledge, and is all form and no content. Indeed the significance of the model theoretic semantics of logic is precisely that: Model theory defines as valid precisely those sentences which are true in any interpretation. As a consequence, logic tells us nothing about the actual world itself. To use logic to represent knowledge we have to identify a useful vocabulary of symbols to represent concepts. We have to formulate appropriate sentences, with the aid of that vocabulary, to represent the knowledge itself. Logic can help us to test an initial choice of vocabulary and sentences, by helping us to derive logical consequences and identify the assumptions which participate in the derivation of those consequences. It provides us with no help, however, in identifying the right concepts and knowledge in the first place. A typical AI knowledge representation scheme, such as semantic networks or frames, combines concepts and formalism at the same time. It provides a built-in framework of ready-made concepts to help with the initial representation of knowledge. But it also provides a formalism to go along with the concepts. In the same way that a computer salesman might try to convince us that to run a particular piece of software we need to buy the appropriate hardware, a LISP machine for example, the developer of an AI system typically tries to convince us …
[1]
Akikazu Takeuchi,et al.
MANDELA: A LogicBased Knowledge Programming System
,
1984,
FGCS.
[2]
P. Hayes.
The Logic of Frames
,
1981
.
[3]
Keith L. Clark,et al.
PARLOG: parallel programming in logic
,
1986,
ACM Trans. Program. Lang. Syst..
[4]
Christopher John Hogger,et al.
Introduction to logic programming
,
1986,
A.P.I.C. Studies in data processing.
[5]
Robert A. Kowalski,et al.
Amalgamating language and metalanguage in logic programming
,
1982
.
[6]
Ehud Shapiro,et al.
A subset of Concurrent Prolog and its interpreter
,
1988
.
[7]
Keith L. Clark,et al.
Negation as Failure
,
1987,
Logic and Data Bases.
[8]
Carl Hewitt,et al.
The challenge of open systems: current logic programming methods may be insufficient for developing the intelligent systems of the future
,
1985
.
[9]
Robert A. Kowalski,et al.
Logic for problem solving
,
1982,
The computer science library : Artificial intelligence series.
[10]
Edward A. Feigenbaum.
INNOVATION AND SYMBOL MANIPULATION IN FIFTH GENERATION COMPUTER SYSTEMS
,
1982
.