160 likes | 335 Vues
FOPL, Part Deux. Lecture 8-1 November 16 th , 1999 CS250. First-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).
E N D
FOPL, Part Deux Lecture 8-1 November 16th, 1999 CS250 CS250: Intro to AI/Lisp
First-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) CS250: Intro to AI/Lisp
Return 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 t=5? {a/Shoot} (That’s a yes) CS250: Intro to AI/Lisp
A 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 CS250: Intro to AI/Lisp
KB for WW • Represent perceptions more abstractly • Write rules to transform percepts into predicates • Map from predicates to actions Why is this a better approach? CS250: Intro to AI/Lisp
“The 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 CS250: Intro to AI/Lisp
Be here now. • Predicate calculus doesn’t 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 CS250: Intro to AI/Lisp
Three’s Company • Add situations to predicate calculus CS250: Intro to AI/Lisp
Ever-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 that’s portable is present, then if you grab it, you’ll be holding it” (x, s) Present(x, s) Portable(x) Holding(x, Result(Grab,s)) CS250: Intro to AI/Lisp
Tracking 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)) CS250: Intro to AI/Lisp
Flavors 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 Don’t forget about not Holding! CS250: Intro to AI/Lisp
Frame Problems • Representational frame problem • Writing down what doesn’t change • Inferential frame problem • Reasoning about what doesn’t change • Situation calculus requires carrying every property through time - even if it doesn’t change • What if most of the world doesn’t change? CS250: Intro to AI/Lisp
A 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] CS250: Intro to AI/Lisp
Other problems? • Qualification problem • Exactly describing when a an action will occur • Ramification problem • Inferring what goes with what CS250: Intro to AI/Lisp
Doin’ 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 CS250: Intro to AI/Lisp
Planning • Special search systems for reasoning about actions • Different representations • Making good choices • Preferences among actions CS250: Intro to AI/Lisp