Title: FOPL, Part Deux
1FOPL, Part Deux
- Lecture 8-1
- November 16th, 1999
- CS250
2First-Order Logic
- World consists of objects and predicates on
objects - Get to keep Boolean operators
- Add quantifiers
- Example
- The wumpus is dead could be Dead(wumpus)
- All wumpi are dead could be
- ?x Wumpi(x)?Dead(x)
3Return to the Land of the Wumpus
- Use Tell to add assertions to the knowledge base
- Use Ask to pose queries
- Answers to Asked queries are binding lists (aka
substitutions)
Tell(KB,Percept(Smell, Breeze, None,5))
Ask(KB,?a Action(a, 5))
Does the KB entail any particular action at t5?
a/Shoot (Thats a yes)
4A Little Syntax
- Given a sentence S, and a substitution, ?
- S ? denotes the result of plugging ? into S
S Smarter(x, y) ? x/Hillary, y/Bill S ?
Smarter(Hillary, Bill)
What does Ask(KB, S) do in these terms?
Returns some (or all) ? such that KB S?
5KB for WW
- Represent perceptions more abstractly
- Write rules to transform percepts into predicates
- Map from predicates to actions
- Why is this a better approach?
6The Only Constant is Change
- How do we reason about changing situations?
- Minimal internal state, but story history of
percepts - Build an internal model of the world
- Need diachronic rules
- Already use time, but not the whole context
7Be here now.
- Predicate calculus doesnt have time for time
- For all x means for all x, today, tomorrow and
the day after, and the day after that... - Fine for the immutable things in this world, but
need a fix for changing predicates
8Threes Company
- Add situations to predicate calculus
9Ever-Changing Predicates
- Add a situation argument to properties that
change over time, Si - Actions move from one situation to the next
situation - Result(action, situation)
- Actions have effects
- Example If something thats portable is
present, then if you grab it, youll be holding
it
?(x, s) Present(x, s) ? Portable(x) ? Holding(x,
Result(Grab,s))
10Tracking Action Effects
- If the agent is at a location with gold, and
grabs the gold, the agent is then holding the
gold in the next situation
Portable(Gold) ?s AtGold(s) ? Present(Gold, s)
?x,s Present(x,s) ? Portable(x) ? Holding(x,
Result(Grab, s))
And if the agent releases the gold?
?x,s ?Holding(x, Result(Release, s))
11Flavors of Axioms
- State the effects of actions (Effect axioms)
- What about the non-effects of inaction? (Frame
axioms) - If the agent is Holding an object in a situation,
and performs any action except Release, then the
agent is Holding the object in the resulting
situation - Dont forget about not Holding!
12Frame Problems
- Representational frame problem
- Writing down what doesnt change
- Inferential frame problem
- Reasoning about what doesnt change
- Situation calculus requires carrying every
property through time - even if it doesnt change - What if most of the world doesnt change?
13A New Flavor Combination
- Successor state axioms combine effect and frame
axioms - Each axiom is about a predicate
true afterwards ? an action made it true ? true
already and no action made it false
14Other problems?
- Qualification problem
- Exactly describing when a an action will occur
- Ramification problem
- Inferring what goes with what
15Doin the Sherlock Thing
- Squares are near a breezy pit
- Diagnostic - infer cause from effect
- Causal - infer effect from cause
- Model-based reasoning versus diagnostic approaches
16Planning
- Special search systems for reasoning about
actions - Different representations
- Making good choices
- Preferences among actions