Title: CS 2710, ISSP 2610
1CS 2710, ISSP 2610
- Chapter 10, Part 1
- Knowledge Representation
2KR
- Last 3 chapters syntax, semantics, and proof
theory of propositional and first-order logic - Chapter 10 what content to put into an agents
KB - How to represent knowledge of the world
3Natural Kinds
- Some categories have strict definitions
(triangles, squares, etc) - Natural kinds dont
- 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)
4Upper 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 - IEEE Standard Upper Ontology Working Group
5Anything 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
6Categories 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)
- Lets go with the reified version
7Facts 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
(necessary properties) - Members of a category can be recognized by some
properties (sufficient properties) - A category as a whole has some properties
- Note idealization of real categories
- Examples in Lecture
8Other 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
- Examples in lecture
9Composite 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
10Measures
- 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)
11Ordinal 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)
lt beauty(p2) - We dont have to say p1 has beauty 54.321
- Qualitative physics reasoning about physical
systems without detailed equations and numerical
simulations.
12Stuff 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
13Stuff 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) - Lecture representation schemes
14Actions, Situations, and EventsThe Situation
Calculus
- The robot is in the kitchen.
- in(robot,kitchen)
- He walks into the living room.
- in(robot,livingRoom)
- in(robot,kitchen,202pm)
- in(robot,livingRoom,217pm)
- But what if you are not sure when it was?
- We can do something simpler than rely on time
stamps
15Situation Calculus Ontology
- Actions terms, such as forward and
turn(right)) - Situations terms initial situation, say s0,
and all situations that are generated by applying
an action to a situation. result(a,s) names the
situation resulting when action a is done in
situation s.
16Situation 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).
17Sequences of Actions
- Also useful to reason about action sequences
- All S resultSeq(,S) S
- All A,Se,S resultSeq(ASe,S)
resultSeq(Se,result(A,S)) - resultSeq(a,b,a2,a3,so) is
- result(a3,result(a2,result(b,result(a,s0)
18Modified Wumpus World
- Wont worry about agents orientation
- 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
19Initial KB
- All O,X (at(O,X,s0) ?? (Oagent X 1,1) v
(Og1 X 1,2)) - All O holding(O,s0)
- Eternals
- gold(g1) adjacent(1,1,1,2)
adjacent(1,2,1,1).
20Goal g1 is in 1,1
- At(g1,1,1,resultSeq(
- go(1,1,1,2),grab(g1),go(1,2,1,1),s0)
- 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?...
21Possibility and Effect Axioms
- Possibility axioms
- Preconditions ? poss(A,S)
- Effect axioms
- poss(A,S) ? changes that result from that action
22Axioms 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.
23Possibility 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
24Effect 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
25Frame Problem
- We run into the frame problem
- Effect axioms say what changes, but dont say
what stays the same - A real problem, because (in a non-toy domain),
each action affects only a tiny fraction of all
fluents
26Frame Problem (continued)
- One solution approach is writing explicit frame
axioms, such as - At(O,X,S) (Oagent) 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).