CSM6120 Introduction to Intelligent Systems Knowledge representation rkj@aber.ac.uk What is knowledge? Representation AI agents deal with knowledge (data) Facts (believe & observe knowledge) Procedures (“how to” knowledge) Meaning (relate & define knowledge) Right representation is crucial Early realisation in AI Wrong choice can lead to project failure Active research area Choosing a representation For certain problem solving techniques Examples ‘Best’ representation already known Often a requirement of the technique Or a requirement of the programming language (e.g. Prolog) First order theorem proving… first order logic Inductive logic programming… logic programs Neural networks learning… neural networks Some general representation schemes Suitable for many different (and new) AI applications Knowledge representation Representation of Declarative knowledge (what, objects, structure) Procedural knowledge (how, actions, performance) Representation formalisms Declarative knowledge Frames, Semantic Networks, Inheritance Hierarchies, Schemata,... Procedural knowledge Algorithms, Procedures, Plans, Rules,... What is a Logic? A language with concrete rules Many ways to translate between languages No ambiguity in representation (may be other errors!) Allows unambiguous communication and processing Very unlike natural languages e.g. English A statement can be represented in different logics And perhaps differently in same logic Not to be confused with logical reasoning Logics are languages, reasoning is a process (may use logic) What is a Logic? Knowledge can be represented using first-order predicate logic More on this later in the module Non-logical representations Logic representations have restrictions and can be hard to work with Many AI researchers searched for better representations Non-logical Semantic networks Conceptual graphs Frames Scripts Production rules ... What we’ve ignored Objects in the world tend to be related to each other The state of the world can change over time Classes, superclasses & subclasses Part / whole hierarchies Properties are inherited across relationships Explicit representation of time Frame problem Non-monotonic reasoning We must reason without complete knowledge Closed world assumption Not all knowledge is “black & white” (later modules on CSM…) Uncertainty Statistics, fuzzy logic Classes “I want to buy a basketball” Objects organized into a hierarchy by class I want to buy BB27341 (NO) I want to buy an object that is a member of the basketball class (YES) BB27341 basketballs basketballs balls Facts (objects) & rules (classes) All balls are round All basketballs are <size> in diameter BB27341 is red, white and blue BB27341 is a basketball (Therefore BB27341 is round and <size> in diameter) Inheritance If a property is true of a class, it is true of all subclasses of that class If a property is true of a class, it is true of all objects that are members of that class (If a property is true of a class, it is true of all objects that are members of subclasses of that class) There are exceptions (to be dealt with later…) Part/whole inheritance A cow has 4 legs The cow is in the field All of the cow’s parts are brown The cow is happy All of the cow’s parts are also in the field The cow is (entirely) brown Each leg is part of the cow All of the cow’s parts are happy (?) Note: some properties are inherited by parts, others are not. This is generally made explicit by rules, such as part-of(x,y) and location(y,z) -> location(x,z) Defaults and exceptions Exception for a single object Set a property of the object to the (exception) value Default for a class Set a property of the class to the (default) value If there are multiple default values, the one “closest” to the object wins Example All birds can fly Birds with broken wings are birds, but cannot fly Penguins are birds, but they cannot fly Magical penguins are penguins that can fly Who can fly? Tweety is a bird Peter is a penguin Penelope is a magical penguin Note that beliefs can be changed as new information comes in that changes the classification of an object Semantic networks Semantic networks are essentially a generalization of inheritance hierarchies Each node is an object or class Each link is a relationship is-a (the usual subclass or element relationship) has-part or part-of Any other relationship that makes sense in context Note: semantic networks pre-dated OOP Inheritance: follow one member-of link, as many subclass or other links as necessary Graphical representation Graphs easy to store in a computer To be of any use must impose a formalism Jason is 15, Bryan is 40, Arthur is 70, Jim is 74 How old is Julia? Semantic networks Because the syntax is the same, we can guess that Julia’s age is similar to Bryan’s Semantic networks Knowledge represented as a network or graph has-part Animal subclass head subclass Reptile Mammal subclass lives-in Africa Elephant size large instance Nellie apples likes Semantic networks By traversing network we can find: But: meaning of semantic networks not always well defined That Nellie has a head (by inheritance) That certain concepts related in certain ways (e.g., apples and elephants) Are all Elephants large, or just typical elephants? Do all Elephants live in the “same” Africa? Do all animals have the same head? For machine processing these things must be defined Frames Devised by Marvin Minsky, 1974 Incorporates certain valuable human thinking characteristics: Expectations, assumptions, stereotypes. Exceptions. Fuzzy boundaries between classes The essence of this form of knowledge representation is typicality, with exceptions, rather than definition Frames Frames allow more convenient “packaging” of facts about an object mammal: subclass: animal elephant: subclass: mammal size: large has-part: trunk Nellie: instance: elephant likes: apples We use the terms “slots” and “slot values” Frames Frames often allowed you to say which things were just typical of a class, and which were definitional, so couldn’t be overridden Elephant: subclass: mammal has-part: trunk * colour: grey * size: large Frames also allow multiple inheritance (Nellie is an Elephant and is a circus animal) Frame representations Semantic networks where nodes have structure When agent faces a new situation Frame with a number of slots (age, height, ...) Each slot stores specific item of information Slots can be filled in (value may be another frame) Filling in may trigger actions May trigger retrieval of other frames Inheritance of properties between frames Very similar to objects in OOP Example: Frame representation Flexibility in frames Slots in a frame can contain Information for choosing a frame in a situation Relationships between this and other frames Procedures to carry out after various slots filled Default information to use where input is missing Blank slots: left blank unless required for a task Other frames, which gives a hierarchy Can also be expressed in first order logic How frames are organised In the higher levels of the frame hierarchy, typical knowledge about the class is stored The value in a slot may be a range or a condition In the lower levels, the value in a slot may be a specific value, to overwrite the value which would otherwise be inherited from a higher frame Note that a frames system may allow multiple inheritance but, if it does so, it must make provision for cases when inherited values conflict... Multiple inheritance and views Multiple inheritance Possibly conflicting information ( = ambiguity) Sub-concept inherits descriptions from several superconcepts Skeptical reasoners: “don’t know” (no conclusion) Credulous reasoners: “whatever” (several conclusions) Views Description of concept from different viewpoints Inheritance of multiple, complementing descriptions e.g. view computer as machine or as equipment Multiple inheritance - views Multiple inheritance - ambiguity subclass Person pacifist non-pacifist Republican Quaker instance subclass instance Nixon Other varieties of structured object Knowledge representation researchers - particularly Roger Schank and his associates - devised some interesting variations on the theme of structured objects In particular, they invented the idea of scripts (1973) A script is a description of a class of events in terms of contexts, participants, and sub-events Scripts Rather similar to frames: uses inheritance and slots; describes stereotypical knowledge (i.e. if the system isn't told some detail of what's going on, it assumes the "default" information is true) but concerned with events These are somewhat out of the mainstream of expert systems work More a development of natural-language-processing research Scripts Why represent knowledge in this way? Because real-world events follow stereotyped patterns Human beings use previous experience to understand verbal accounts; computers can use scripts instead Because people, when relating events, leave large amounts of assumed detail out of their accounts People don't find it easy to converse with a system that can't fill in missing conversational detail Non-monotonic logic Once true (or false) does not mean always true (or false) As information arrives, truth values can change (Penelope is a bird, penguin, magic penguin) Implementations Circumscription Bird(x) and not abnormal(x) -> flies(x) We can assume not abnormal(x) unless we know abnormal(x) Default logic “x is true given x does not conflict with anything we already know” Truth maintenance systems These systems allow truth values to be changed during reasoning (belief revision) When we retract a fact, we must also retract any other fact that was derived from it Penelope is a bird (can fly) Penelope is a penguin (cannot fly) Penelope is magical (can fly) Retract (Penelope is magical) (cannot fly) Retract (Penelope is a penguin) (can fly) Types of TMS Justification-based TMS For each fact, track its justification (facts and rules from which it was derived) When a fact is retracted, retract all facts that have justifications leading back to that fact, unless they have independent justifications Assumption-based TMS Represent all possible states simultaneously For each fact, use list of assumptions that make that fact true; each world state is a set of assumptions When a fact is retracted, change state sets Rule-based systems Knowledge Base Database Rule: IF-THEN Fact Inference Engine Explanation Facilities User Interface User Structured objects: final comments At best, structured objects provide data & control structures which are more flexible than those in conventional languages, and so more suited to simulating human reasoning However, if we just want an AI system to act rationally (rather than think/act humanly), then logic might be better... Resources A good introduction to the area: http://www.cse.buffalo.edu/~shapiro/Papers/kr.pdf