310 likes | 661 Views
Knowledge Representation. In which we show how to use first-order logic to represent the most important aspects of the real world. This is a treatise of chapter 12 of Russel & Norvig: AIMA (Ed.3) The notation for FOL will be in implicative normal form, which makes the examples executable.
E N D
Knowledge Representation In which we show how to use first-order logic to represent the most important aspects of the real world. This is a treatise of chapter 12 of Russel & Norvig: AIMA (Ed.3) The notation for FOL will be in implicative normal form, which makes the examples executable.
Categories and Objects The organization of objects into categories is a vital part of KR. Important relationships are subclass relation (AKO - a kind of) <category> AKO <category>. instance relation ( ISA - is a) <object> ISA <category>.
The upper ontology(*) Anything AbstractObjects GeneralizedEvents Sets Numbers Representations Intervals Places PhysicalObjects Processes Categories Sentences Measurements Moments Things Stuff Times Weights Animals Agents Solid Liquid Gas Humans (*) This is AIMA ’s version. Other authors have other partitions. See bus_semantics
Bus semantics study ako activity. subset ako thing. version ako abstract. accident ako activity. activation ako activity. %% start of it addition ako abstract. address ako place. advice ako abstract. age ako year. %% (measure) agreement ako abstract. %% air ako place. %% kan bussen gå i lufta ? analysis ako abstract. animate ako agent. application ako activity. area ako measure. % ….. % + (750 ako items) % thing top node unkn ako thing. event ako thing. set ako thing. cardinality ako number. member ako thing. amount ako thing. abstract ako thing. activity ako thing. agent ako thing. company ako agent. %% e.g. TT contact ako thing. content ako thing. group ako thing. identity ako thing. information ako thing. list ako thing. mass ako thing. %% => stuff measure ako thing. meta ako thing. %% lexical object object ako thing. %% class. part ako thing. place ako thing. river ako thing. %% (water but no area) story ako thing.
Categories Category is a kind of set and denotes a set of objects. A category has a set of properties that is common to all its members. Categories are formally represented in logic as predicates, but we will also regard categories as a special kind of objects. We then actually introduce a restricted form of second order logic, since the the terms that occur may be predicates. Example: Elephants and Mammals are categories. The set denoted by Elephants is a subset of the set denoted by Mammals. The set of properties common to Elephants is a superset of the set of properties common to Mammals.
Taxonomy Subcategory relations organize categories into a taxonomy or taxonomic hierarchy. Other names are type hierarchy or class hierarchy . We state that a category is a subcategory of another category by using the notation for subsets Basketball Ball We will also use the notation ako(basketball,ball).
Category representations There are two choices of representing categories in first order logic: predicates and objects. That is, we can use the predicate Basketball(b) or we can reify the category as an ”object” basketball. We could then write member(x,basketball) or x basketball We will also use the notation isa(x,basketball). Basketball is a subset or subcategory of Ball, which is abbreviated Basketball Ball We will also use the notation ako(basketball,ball).
Inheritance Categories serve to organize and simplify the knowledge base through inheritance. If we say that all instances of Food is edible (edible is in the property set of Food), and if we assert that Fruit is a subcategory of Food, and Apple is a subcategory of Fruit, then we know that every apple is edible. We say that the individual apples inherit the property of edibility, in this case from their membership in the Food category.
Reifying properties An individual object may have a property. For example, a specific ball, BB9 can be round. In ordinary FOL, we write Round(BB9). As for categories, we can regard Round as higher order object, and say BB9 has the property Round We will also use the notation hasprop(BB9,round).
Reifying Property Values Some properties are determined by an attribute and a value. For example, the diameter of my basketball BB9 has diameter 9.5: Diameter(BB9 )=9.5 We can also use the notation has(bb9,diameter,9.5). An alternative representation for properties , when regarded as Boolean attributes is has(BB9,round,true). In the same manner, we can express that a red ball has colour = red. has(BB9,colour,red).
Logical expressions on categories An object is a member of a category isa(bb9,basketball). A category is a subclass of another category ako(basketball,ball). All members of a category have som properties isa(X,basketball) => hasprop(X,round). Members of a category can be recognized by some properties, for example: hasprop(X,orange) and hasprop(X,round) and has(X,diameter,9.5) and isa(X,ball) => isa(X,basketball) A category as a whole has some properties isa(teacher,profession). Here, it is a fallacy to conclude that isa(tore,teacher) and isa(teacher,profession)=>isa(tore,profession).
Category Decompositions We can say that both Male and Female is a subclass of Animal, but we have not said that a male cannot be a female. That is expressed by Disjoint({Male,Female}) If we know that all animals are either male or female, (they exhaust the possibilities) Exhaustive({Male,Female},Animals). A disjoint exhaustive decomposition is known as a partition Partition({Male,Female},Animals).
Physical Compositions One object can be a part of another object. Example, declaring direct parts part(bucharest,romania). part(romania,eastern_europe). part(europe,earth). We can make a transitive extension partof part(Y,Z) and partof(X,Y) => partof(X,Z). and reflexive (*) partof(X,X). Therefore we can conclude that partof(bucharest,earth) (*) depending on definition
Bunch It is also useful to define composite objects with definite parts but no particular structure. For example, we might say ”The apples in the bag weigh two pounds” It is adviced that we don’t regard these apples as the set of (all) apples, but instead define them as a bunch of apples. For example, if the apples are Apple1,Apple2 and Apple3, then BunchOf({Apple1,Apple2,Apple3}) Denotes the composite object with three apples as parts, not elements.
More about bunches The category of deodorant actually denotes the set of all deodorants in the world. A subset of this, e.g. mydeodorants is a subset of these, i.e. ako(mydeodorants,deodorant). However, we are often interested in a set as being a composite object, with properties connected to the collected properties of the elements, like the cardinalty of the set, weight, price etc. To make this distinction, we can use the concept "bunch". A bunch is both similar to a category and to an unstructured composite object. mydeodorants isa “bunch of “ deodorant (objects) isa(mydeodorants,deodorant). We shall introduce the notation as a combination: bunch(mydeodorants,deodorant). We also allow various expressions for the bunch objects: bunch({apple1,apple2,apple2},apple). bunch({apples,tomatoes},fruit). partof(twopoundoftomatoes,sometomatoesandbeef).
Substances and Objects The real world can be seen as consisting of primitive objects (particles) and composite objects. A common characteristic is that they can be counted (individuated) However, there are objects that cannot be individuated like Butter, Water, Nitrogen, Wine, Grass, etc. They are called stuff, and are denoted in English without articles or quantifiers (not ”a water”). Typically, they can be divided without loosing their intrinsic properties. When you take a part of a substance, you still have the same substance. isa(X,butter) and partof(Y,X)=>isa(Y,butter). We can say that butter melts at 30 degrees centigrade isa(X,butter) =>has(X,meltingpoint,30).
Measures, Abstracts ,Mentals In the common world, objects have height, mass, cost and so on. The values we assign for these properties are called measures. We imagine that the universe includes abstract ”measure objects” such as length. Measure objects are given as a number of units, e.g. meters. Logically, we can combine this with unit functions Length(L1) = Inches(1.5) = Centimeters(3.81) Another way is to use predicates Length(L1,1.5,inches) Abstract concepts like ”autonomy”, ”quality” are difficult to represent without seeking artificial measurements. (e.g. IQ). Mental concepts are beliefs, thoughts, feelings etc.
Reasoning systems for categories Semantic networks and Description Logics are two closely related systems for reasoning with categories. Both can be described using logic. Semantic networks provide graphical aids of visualizing the knowledge base, together with efficient algoritms for inferring properties of an object on the basis of its category membership. Description logics provide a formal language for constructing and combining category definitions, and efficient algorithms for deciding subsets and superset relationships between categories.
Semantic Networks Example Mammal ako Legs Person 2 HaveMother ako ako Female Male isa isa brother Legs 1 John Mary sister
Link types in semantic nets There are 3 types of entities in a semantic nets categories, objects and values (other than these) Then there could be 9 different types of relations between these. They are drawn with certain conventions. Note that objects can act as values also. category category ako(C1,C2) every C1 is a.k.o. C2 category category haveatt(C1,R,C2) every C1has a R a.k.o C2 category value have(C1,R,V) every C1 has attribute value R = V object category isa(O,C) O is a C object object has(O1,R,O2) O1 has relation R to O2 object value has (O,R,V) O has attribute value R=V object object partof (O1,O2) O1 is a part of O2 In addition, we have all kinds of relations between values. value* V1 > 2*V2 +5
Further comments on link types We know that persons have female persons as mothers, but we cannot draw a HasMother link from Persons to FemalePersons because HasMother is a relation between a person and his or her mother, and categories do not have mothers. For this reason, we use a special notation – the double boxed link. In logic, we have given it the name haveatt,e.g. haveatt(person,mother,femaleperson). Compare this to haveatt(lion,mother,lioness). We also want to express that persons normally have two legs.As before, we must be careful not to assert that categories have legs; instead we use a single-boxed link. In logic, we have given it the name have,e.g. have(person,legs,2).
Content of semantic net Logic representation ako(person,mammal). ako(female,person). ako(male,person). haveatt(person,mother,female). have(person,legs,2). has(john,legs,1). isa(mary,female). isa(john,male). has(john,sister,mary). has(mary,brother,john). A paraphrase of the knowledge All persons are mammals All females are persons All males are persons Persons have a mother who is female Persons have normally 2 legs John has 1 leg Mary isa female John is a male John has a sister Mary Mary has a brother John
Inheritance and inference in semantic nets The rules of inheritance can now be automated using our logic representation of semantic nets. isa(X,Y) and ako(Y,Z) => isa(X,Z). have(Y,R,V) and isa(X,Y) => has(X,R,V). haveatt(C,R,M) and isa(X,C) and has(X,R,V) => isa(V,M). With these definitions, we can prove that Mary has two legs, even if this information is not explicitly represented.
Example of inheritance PROOF: has(mary,legs,2) because have(person,legs,2) and isa(mary,person) have(person,legs,2) is true isa(mary,person) because isa(mary,female) and ako(female,person) isa(mary,female) is true ako(female,person) is true isa(X,Y)and ako(Y,Z)=>isa(X,Z) have(X,Y,Z)and isa(A1,X)=>has(A1,Y,Z) haveatt(X,Y,C) and isa(A1,X) and has(A1,Y,V) => isa(V,C). t=>ako(person,mammal) t=>ako(female,person) t=>ako(male,person) t=>haveatt(person,mother,female) t=>have(person,legs,2) t=>isa(mary,female) t=>isa(john,male) t=>has(john,legs,1) t=>has(john,sister,mary) t=>has(mary,brother,john)
Multiple inheritance in a hierarchy An attribute of a class can be given an attribute value. This is a default value that can be redefined in any of its subclasses. In the example, it is stated that persons normally have 2 legs, while John, who is a person, has 1 leg. Actually, there are conflicting evidence, but the ambiguity is solved by stating that the innermost definition, most specific definition takes place, i.e. John’s definition. This will be made precise later.
Multiple Inheritance We have described a type of semantic nets that can be characterized as a hierarchy: Each category is a subclass of exactly one superclass. However, things are not that simple. Take for instance a girl, who is both a child and a female. Such networks are called a heterarchy. Inheritance in heterarchies is a bit more complicated. The following semantic network is an extension of the previous example.
Example of heterarchy What is the height of Mary,Alice,Robert and John? Mammal 175 Height ako Legs Person 2 HaveMother ako 170 ako ako Height Height 100 180 Height Female Male Child omitted isa Boy Girl Legs John 1 Mary isa isa Alice Robert
Heterarchy in Logic isa(mary,female). isa(john,male). isa(alice,girl). isa(robert,boy). has(john,legs,1). have(person,legs,2). have(person,height,175). have(female,height,170). have(child,height,100). %% have(male,height,180). %% omitted for sake of demonstration ako(person,mammal). ako(female,person). ako(male,person). ako(child,person). ako(girl,female). ako(girl,child). ako(boy,male). ako(boy,child). haveatt(person,legs,number). haveatt(person,height,centimeter).
Inheritance results 1. Mary has legs = 2 % default inheritance from person 2. John has legs = 1 % explicitly stated 3. Mary has height = 170 % default inheritance from female 4. John has height = 175 % default inheritance from person 5. Robert has height = 100 % default inheritance from child , priority over % inheritance from person 6. Alice has height = 100 and height=170. % contradicting values, no priority
Description Logics • Description logics are notations that are designed to make it easier to describe definitions and properties of categories. • The most important inference task is • subsumption checking if one category is a subset of another • classification checking if an object belongs to a category • consistency checking if a description is satisfiable Small example Bachelor = And(Unmarried,Adult,Male) The equivalent first-order logic woul be Bachelor(x) Unmarried(x) and Adult(x) Male(x)
Description Logic example Example: Describe the set of men with at least three sons who are all unempoyed and married to doctors and at most two daughters who are all professors in physics ot math departments And(Man,AtLeast(3,Son),AtMost(2,Daughter), All(Son,And(Unemployed,Married,All(Spouse,Doctor))), All(Daughter,And(Professor,Fills(Department,Phusics,Math)))). As the example shows, Description Logic is a kind of variable-free logic that can be translated to FOL (”exercise”)