Chapter 10 Knowledge Representation 1

advertisement
Chapter 10
Knowledge Representation
1
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
2
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)
3
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
4
Anything
AbstractObjects
GeneralizedEvents
Sets Numbers RepresentationalObjects Interval Places PhysicalObjects Processes
Categories
Sentences Measurements Moments
times weights
things
stuff
animals agents solid liquid gas
Lower concepts are specializations of their parents
5
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…
6
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
7
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
8
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
9
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)
10
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.
11
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
12
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)
13
Actions, Situations, and Events
The 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…
14
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.
15
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).
16
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)
17
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…
18
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]).
19
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?...
20
Possibility and Effect Axioms
• Possibility axioms:
– Preconditions  poss(A,S)
• Effect axioms:
– poss(A,S)  changes that result from
that action
21
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.
22
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
23
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
24
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
25
Frame
• A data structure
• Knowledge about an object or concept
• Natural way for concise
representation of knowledge
• Organizes knowledge into a set of
slots
26
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).
27
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
28
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)
29
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”
30
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]).
31
Qualification Problem
• Ensuring that all necessary conditions
for an action’s success have been
specified. No complete solution.
32
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
33
Semantic Networks
• Graphical aids for visualizing the knowledge
base
• Efficient algorithms for inferring
properties based on category membership
• Often, correspond to a subset of firstorder logic
• Many variants
• All distinguish among individual objects,
categories of objects and relations among
objects
34
Mammals
SubsetOf
Legs
HasMother
Persons
SubsetOf
2
SubsetOf
Female
Male
MemberOf
MemberOf
Legs
Mary
SisterOf
John
1
35
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)
36
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)
37
Semantic Networks
• cat – label  value
• All X X in cat  label(X,value)
38
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
39
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
40
Download