Artificial intelligence (AI) technology is a discipline with an ultimate goal of providing a machine that is capable of reasoning, making inferences and following rules in a manner believed to model the human mind. Artificial intelligence provides relatively untrained users sophisticated computer power to solve practical problems such as to assist in the analysis of massive amounts of relatively unprocessed data to aid in decision-making processes.
In the field of artificial intelligence, "knowledge" is a combination of data structures and interpretive procedures which, if suitably manipulated, will lead to what might best be termed "knowledgeable" behavior. A knowledge base is a set of knowledge representations which describes a domain of knowledge. A knowledge base is to an artificial intelligence environment what a database is to a conventional computer program. Unlike a database, however, a knowledge base can include executable program material within a defined record herein called a slot. One type or category of representing knowledge is descriptive knowledge. This category is the collection and classification of facts and categorizations about an idea or entity which might be acted upon. The basic units of descriptive knowledge are generally called frames. A frame contains one or more slots.
As used herein, slots embody the attribute, relationship, and procedural information of the object or concept which is being represented. A collection of slots is a frame which is an atomic unit of knowledge. Two types of frames are provided herein: class and instance. A class frame is used to represent a generalized type or category of object. An instance is used to represent a particular member of a class.
Three types of slots are provided herein: attribute, relation, and message. Attribute slots are used to store values (e.g. integer numbers, character strings, etc.). Relation slots are used to store user-defined links between frames in the knowledge base. Message slots are used to store procedural code (i.e. functions) which is executed in response to messages sent to the frame by an application program.
One of the key concepts of artificial intelligence is that of inheritance. It is a development of the idea of using a hierarchical structure for relating frames in a knowledge base. The key to these structures is the concept of connecting relations between structures of data or knowledge through which information about slots may pass to other structures of data or knowledge.
There is a need for an efficient and accurate way to merge a frame-based system such as ROCK with a rule-based system such as TIN so that inheritance of slots and values can occur at runtime rather than at compile time. Knowledge Craft provides an ad hoc approach to inheritance for rule matching which is not particularly efficient or accurate.