450 likes | 619 Views
Chapter 10 Knowledge Representation. KR. previous chapters: syntax, semantics, and proof theory of propositional and first-order logic Chapter 10: what content to put into an agent’s KB How to represent knowledge of the world. Natural Kinds.
E N D
Chapter 10 Knowledge Representation
KR • previous chapters: syntax, semantics, and proof theory of propositional and first-order logic • Chapter 10: what content to put into an agent’s KB • How to represent knowledge of the world
Natural Kinds • Some categories have strict definitions (triangles, squares, etc) • Natural kinds don’t • Define a cup (distinguishing it from bowls, mugs, glasses, etc) • Bachelor: is the Pope a bachelor? • But logical treatment can be useful (can extend with typicality, uncertainty, fuzziness)
Upper Ontologies • An ontology is similar to a dictionary but with greater detail and structure • Ontology: concepts, relations, axioms that formalize a field of interest • Upper ontology: only concepts that are meta, generic, abstract; cover a broad range of domain areas
Anything AbstractObjects GeneralizedEvents Sets Numbers RepresentationalObjects Interval Places PhysicalObjects Processes Categories Sentences Measurements Moments things stuff times weights animals agents solid liquid gas Lower concepts are specializations of their parents
Categories and Objects • I want to marry a Swedish woman • Category of Swedish woman? • A particular woman who is Swedish? • Choices for representing categories: predicates or reified objects • basketball(b) vs member(b,basketballs) • Let’s go with the reified version…
Facts about categories and objects in FOL • An object is a member of a category • A category is a subclass of another category • All members of a category have some properties • Members of a category can be recognized by some properties • A category as a whole has some properties Necessary versus sufficient properties? Note: simplification of real categories
Other Relationships • disjoint (no members in common) • exhaustive decomposition of a category (all members are in at least one of the sets) • Partition: disjoint, exhaustive decomposition
Composite Objects • partof(england,europe) • All X,Y,Z partof(X,Y) ^ partof(Y,Z) partof(X,Z) • Heavy(bunchOf({apple1,apple2,apple3})) • Before continuing: inspiration for creative reification! • From Through the Looking Glass
Measures • Diameter(basketball12) = inches(9.5) • All XY member(X,dimestore) ^ sells(X,Y) cost(Y) = $(1) • member(db1,dollarbills) • member(db2,dollarbills) • denomination(db1) = $(1) • denomination(db2) = $(1) There are multiple dollar bills, but a single $(1)
Ordinal Comparisons • But often scales are not so precisely defined • Often, ordinal comparisons among members of categories are useful • member(p1,poems) ^ member(p2,poems) ^ beauty(p1) < beauty(p2) We don’t have to say p1 has beauty 54.321 Qualitative physics: reasoning about physical systems without detailed equations and numerical simulations.
Stuff versus Things • Suppose some ice cream and a cat in front of you. There is one cat, but no obvious number of ice-cream things in front of you. • A piece of an ice-cream thing is an ice-cream thing (until you get down to very low level) • A piece of a cat is not a cat
Stuff versus Things • Linguistically distinguished, in English through mass versus count noun phrases • “a cat” • “an ice-cream” (you have to coerce this to a thing, such as an ice-cream bar, or a variety of ice cream) • “a sand”, “an energy” • “some cat” (you have to coerce this to a substance; eeewww)
Actions, Situations, and EventsThe Situation Calculus • The robot is in the kitchen. • in(robot,kitchen) • It walks into the living room. • in(robot,livingRoom) • Oops… • in(robot,kitchen,2:02pm) • in(robot,livingRoom,2:17pm) • But what if you are not sure when it was? • We can do something simpler than rely on time stamps…
Situation Calculus Ontology • Actions: terms, such as “forward” and “turn(right))” • Situations: terms; initial situation s0 and all situations that are generating by applying an action to a situation. result(a,s) names the situation resulting when action a is done in situation s.
Situation Calculus Ontology continued • Fluents: functions and predicates that vary from one situation to the next. By convention, the situation is the last argument of the fluent. ~holding(robot,gold,s0) • Atemporal or eternal predicates and functions do not change from situation to situation. gold(g1).lastName(wumpus,smith).adjacent(livingRoom,kitchen).
Sequences of Actions • Also useful to reason about action sequences • All S resultSeq([],S) = S • All A,Se,S resultSeq([A|Se],S) = resultSeq(Se,result(A,S)) resultSeq([a,b,a2,a3],so) is result(a3,result(a2,result(b,result(a,s0)
Modified Wumpus World • Fluent predicates: at(O,X,S) and holding(O,S) • Initial situation: at(agent,[1,1],s0) ^ at(g1,[1,2],s0) • But we want to exclude possibilities from the initial situation too…
Initial KB • All O,X at(O,X,s0) [O=agent ^ X = [1,1]) v (O=g1 ^ X = [1,2])] • All O ~holding(O,s0) • Eternals: • gold(g1) ^ adjacent([1,1],[1,2]) ^ adjacent([1,2],[1,1]).
Goal: g1 is in [1,1] At(g1,[1,1],resultSeq( [go([1,1],[1,2]),grab(g1),go([1,2],[1,1])], s0) Or, planning by answering the query: Exists S at(g1,[1,1],resultSeq(S,s0)) So, what has to go in the KB for such queries to be answered?...
Possibility and Effect Axioms • Possibility axioms: • Preconditions poss(A,S) • Effect axioms: • poss(A,S) changes that result from that action
Axioms for our Wumpus World • For brevity: we will omit universal quantifies that range over entire sentence. S ranges over situations, A ranges over actions, O over objects (including agents), G over gold, and X,Y,Z over locations.
Possibility Axioms • The possibility axioms that an agent can • go between adjacent locations, • grab a piece of gold in the current location, and • release gold it is holding
Effect Axioms • If an action is possible, then certain fluents will hold in the situation that results from executing the action • Going from X to Y results in being at Y • Grabbing the gold results in holding the gold • Releasing the gold results in not holding it
Frame Problem • We run into the frame problem • Effect axioms say what changes, but don’t say what stays the same • A real problem, because (in a non-toy domain), each action affects only a tiny fraction of all fluents
Frame • A data structure • Knowledge about an object or concept • Natural way for concise representation of knowledge • Organizes knowledge into a set of slots
Frame Problem (continued) • One solution approach is writing explicit frame axioms, such as: At(O,X,S) ^ ~(O=agent) ^ ~holding(O,S) at(O,X,result(Go(Y,Z),S)) • With F fluent predicates and A actions, need O(AF) frame axioms • But if an action has at most E effects, then need only O(AE).
Representational Frame Problem • What stays the same? • A actions, F fluents, and E effects/action (worst case). Typically, E << F • Want O(AE) versus O(AF) solution
Solving the Representational Frame Problem • Instead of writing the effects of each action, consider how each fluent predicate evolves over time • Successor-state axioms: • Action is possible (fluent is true in result state action’s effect made it true v it was true before and action left it alone)
Ramification Problem • Implicit effects, such as: if an agent moves from X to Y, then any gold it is carrying will move too • For our specific domain, we can solve this by writing a more general successor-state axiom for “at”
Initial KB (reminder) • All O,X at(O,S,s0) [O=agent ^ X = [1,1]) v (O=g1 ^ X = [1,2])] • All O ~holding(O,s0) • Eternals: • gold(g1) ^ adjacent([1,1],[1,2]) ^ adjacent([1,2],[1,1]).
Qualification Problem • Ensuring that all necessary conditions for an action’s success have been specified. No complete solution.
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
Semantic Networks • Graphical aids for visualizing the knowledge base • Efficient algorithms for inferring properties based on category membership • Often, correspond to a subset of first-order logic • Many variants • All distinguish among individual objects, categories of objects and relations among objects
Mammals SubsetOf Legs HasMother Persons 2 SubsetOf SubsetOf Female Male MemberOf MemberOf Legs SisterOf John Mary 1
Example • See previous slide • Specify what edges and nodes mean • In previous slide, indivs and categories look the same • memberOf(indiv,category) • sisterOf(indiv,indiv) • subsetOf(category,category) • hasMother(indiv,indiv)
Semantic Networks • How about hasMother(persons,femalePersons)? • Nope: hasMother is a relation between individuals • cat1-- label cat2 means: • all X X in cat1 [all Y label(X,Y) Y in cat2] (So, this does not say that each person has a mother)
Semantic Networks • cat – label value • All X X in cat label(X,value)
Inheritance • Inheritance is efficient and convenient • Trace paths from individuals to categories, inheriting properties as you go • In Example slide, how many legs does John have? Most specific (nearest) information wins
Semantic Networks • In a semantic network, only binary relations are possible • A richer representation is possible by reifying propositions and events • This forces creation of a rich ontology of reified concepts; many current ideas originated in semantic network systems