Analysis and Comparison of Knowledge Representation Systems
Degree GrantorUniversity of Canterbury
Degree NameBachelor of Science with Honours
Knowledge representation is an active field of Artificial Intelligence research. The method of representation strongly influences the possible types of processing of the knowledge base. The knowledge base and the mechanisms for its manipulation determine the intelligence of a computer program. Therefore a powerful representation system is desired to enable the mechanisms to operate at full potential. Numerous approaches to representing knowledge have resulted in a wide range of knowledge representation (KR) formalisms. At one end of the scale are the simple techniques which give little or no indication of the structure of knowledge, such as LISP Property Lists. At the other extreme are semantic networks, frames, actors, predicate calculus and production systems. The distance between them is large - the designers had different ideas of how to best represent the knowledge when the systems were developed. Many of the earlier attempts, such as the associational network model of "semantic memory" proposed by M. Quillian [Quillian 66], provided the groundwork for later KR languages. Quillian's model used associative links connecting nodes in order to permit "human like use" of the meanings of the words, and closely reflected the organisation of a dictionary. Further improvements lead to hierarchies of concepts with attached properties [Collins & Quillian 70]. Predicate logic systems, such as PROLOG [Colmerauer et alia 73], developed independently, and were oriented towards using facts to make deductions. Production systems were first proposed in 1943 by E. Post [Post 43]. These were based on productions, a set of conditions and an action, which work on a knowledge base. Some non-network formalisms like KRL [Bobrow & Winograd 77] and FRL [Roberts & Goldstein 77] share many features with semantic network systems such as KLONE [Brachman 79]. The aim of this project is to determine the differences between the formalisms. This includes determining which features are common to all formalisms, which features are unique, the methods of representing knowledge, and some measure of the power of each formalism. The large number of formalisms and independent research has lead to a wide range of terms for very similar items. To avoid confusion, some clarification of terminology is required. A class is a general concept which usually consists of the common features, called attributes, of a group of concepts. This is also called a generic or a prototype. An example is person, which has attributes such as name and age. An instance of a class is a single concept which is a member of the group of concepts of the class. It has the attributes of the class concepts. It is also called an individual or an instantiation of the class. An example is the person Juerg Daellenbach, who is a person with a name and an age. A subclass is a class which contains all the attributes of another class, and some more of its own. It is also called a further specification. An example is student, which is a subclass of person, and has the additional attributes of course and stage. Classes, instances and subclasses build hierarchies, with classes at the top, and subclasses and instances below each class. Some formalisms do not distinguish between instances and subclasses; every instance is treated as a subclass and can be further specified. A relation is a mapping between several classes. Most relations are binary, which means there is a domain class and a range class. A more complex relation involves a cross-product domain. An example is the grade of a student with respect to a course. The student/course cross-product maps to the range which is the mark. An instance of a relation is an occurrence of a relation between two or more instantiations. It is called an assertion or a proposition. A Frame [Minsky 75] is a data structure for representing a stereotyped situation. It can be thought of as a hierarchy of nodes and relations. The "top levels" represent things that are always true about the situation, and are fixed. The lower levels have many storage locations called slots that are filled by specific instances or data, subject to certain restrictions. The term semantic network was derived from the early applications of associative networks, working with the meanings of words stored and used in the net. However the term is now used for any associative net regardless of the types of concepts stored in the KR language. A demon is an active process with a set of requirements. It constantly checks for the satisfaction of the requirements using the values in the knowledge base, and they are satisfied, its actions are performed. The demon is independent of any other processes running "at the same time". Once a demon is started it remains active until it terminates itself. The only control over a demon is by setting the values in the knowledge base to force or prevent satisfaction of the requirements.
SubjectsField of Research::08 - Information and Computing Sciences::0801 - Artificial Intelligence and Image Processing::080199 - Artificial Intelligence and Image Processing not elsewhere classified
- Engineering: Reports