1 / 32

Declaring Your Knowledge

Declaring Your Knowledge. Lecture 6-2 November 4 th , 1999 CS250/350. Keep your eye on the prize. Why did we study heuristic search? How else can we incorporate knowledge. Designing an Interplanetary Explorer. Goals for the explorer Actions we can take Situations that might arise.

ori-moss
Download Presentation

Declaring Your Knowledge

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Declaring Your Knowledge Lecture 6-2 November 4th, 1999 CS250/350 CS250: Intro to AI/Lisp

  2. Keep your eye on the prize • Why did we study heuristic search? • How else can we incorporate knowledge CS250: Intro to AI/Lisp

  3. Designing an Interplanetary Explorer • Goals for the explorer • Actions we can take • Situations that might arise Can we anticipate everything? CS250: Intro to AI/Lisp

  4. Telling Your Computer about the World • What you know • How to go from what you know to what you don’t know • Will Rogers CS250: Intro to AI/Lisp

  5. Knowledge Base Knowledge base:Database :: Knowledge:Data • KB stores what the computer knows about the world • Knowledge representation language • How we encode knowledge about the world • Each bit of knowledge is a sentence CS250: Intro to AI/Lisp

  6. OuRover • Goals • Gather core samples • Gather rocks • Video sequence of interesting places • Actions • Drill to depth d • Move forward, backward • Rotate r degrees • Transmit audio/video CS250: Intro to AI/Lisp

  7. Getting through to your computer • KB Interaction • Tell: Add new sentences to the KB • Ask: Query what’s known (or what follows from what is known) • Inference procedure goes from what’s unknown to what’s known CS250: Intro to AI/Lisp

  8. How true is it? • Valid • Necessarily true under all interpretations in all worlds • Tautology A  A • Satisfiable • True sometimes A  B CS250: Intro to AI/Lisp

  9. Knowledge-Based Agents • Agents perceive the world around them • Perceptions are recorded in the KB • Actions are chosen based on the KB • Results of actions are recorded CS250: Intro to AI/Lisp

  10. Levels of Agents • Knowledge level • What an agent knows • Planetary core samples must be taken at least 100mm below the surface • Logical level • Knowledge is encoded at this level • MinDepth(CoreSample,100) • Implementation level • Inside the machine CS250: Intro to AI/Lisp

  11. Building Knowledge Agents • Lean on the inference mechanism • Tell agent what it needs to know • Declarative • Declare the state of the world, and let ‘er rip • Adding learning • Reacting to percepts CS250: Intro to AI/Lisp

  12. Separate Domain-Specific from the General CS250: Intro to AI/Lisp

  13. A logic for every season Propositional First-order Higher-order Increasing complexity, expressive power CS250: Intro to AI/Lisp

  14. Is this your world? • if KB1=  then (KB1  KB2) =  CS250: Intro to AI/Lisp

  15. Propositional Logic • Syntax • Propositions • Connectives (, , , , ) • ()’s • Semantics • Implication  causation • “A false proposition implies any proposition” CS250: Intro to AI/Lisp

  16. Jumping to propositional conclusions • How do we reason from what we know to what we don’t? • Inference rules • In propositional logic: • Modus ponens • And-elimination • And introduction • Double-negation elimination • Unit resolution • Resolution CS250: Intro to AI/Lisp

  17. Horn clauses • Restricted form: P1 P2 P3 ...  Pn Q • Why is this an advantage? CS250: Intro to AI/Lisp

  18. Wumpus World CS250: Intro to AI/Lisp

  19. Specifying the Wumpus World • Percepts? • Actions? • Goals? CS250: Intro to AI/Lisp

  20. Describing the Wumpus World • Is the world… • Deterministic • Fully accessible • Static • Discrete CS250: Intro to AI/Lisp

  21. One Environment is Easy • If we know the environment well, can engineer it • Range of environments? CS250: Intro to AI/Lisp

  22. Exploring the world Perception: Stench, Breeze, Glitter, Bump, Scream Perceive: [None, None, None, None, None] CS250: Intro to AI/Lisp

  23. Move Forward to 2,1 CS250: Intro to AI/Lisp

  24. Perception after One Move Stench: None Breeze: Yes Glitter: None Bump: None Scream: None CS250: Intro to AI/Lisp

  25. What Does the World Look Like? CS250: Intro to AI/Lisp

  26. Knowledge Representation • Not just computer readable… …computer reasonable as well • Syntax - Rules for building expressions • Semantics - Relationship between facts in the world and sentences • Examples? CS250: Intro to AI/Lisp

  27. Entailment • What follows from what • Entailment is relationship among sentences • KB entails a • “Follows” is a relationship among facts in the world • Inference procedures that generate only entailed sentences is sound CS250: Intro to AI/Lisp

  28. Logical Commitment CS250: Intro to AI/Lisp

  29. Tell-Ask.lisp I ;;;; Main Functions on KBs: Tell, Retract, Ask-Each, ;;;; Ask, Ask-Pattern[s] ;;; First we define a very simple kind of knowledge base, ;;; literal-kb, that just stores a list of literal sentences. (defstructure literal-kb "A knowledge base that just stores a set of literal sentences." (sentences '())) CS250: Intro to AI/Lisp

  30. Tell-Ask.lisp II ;;; There are three generic functions that operate on ;;; knowledge bases, and that must be defined as methods ;;; for each type of knowledge base: TELL, RETRACT, and ;;; ASK-EACH. Here we show the implementation for literal-kb; ;;; elsewhere you'll see implementations for propositional, ;;; Horn, and FOL KBs. (defmethod tell ((kb literal-kb) sentence) "Add the sentence to the knowledge base." (pushnew sentence (literal-kb-sentences kb) :test #'equal)) (defmethod retract ((kb literal-kb) sentence) "Remove the sentence from the knowledge base." (deletef sentence (literal-kb-sentences kb) :test #'equal)) (defmethod ask-each ((kb literal-kb) query fn) "For each proof of query, call fn on the substitution that the proof ends up with." (declare (special +no-bindings+)) (for each s in (literal-kb-sentences kb) do (when (equal s query) (funcall fn +no-bindings+)))) CS250: Intro to AI/Lisp

  31. Tell-Ask.lisp III ;;; There are three other ASK functions, defined below, ;;; that are defined in terms of ASK-EACH. These are ;;; defined once and for all here (not for each kind ;;; of KB)." (defun ask (kb query) "Ask if query sentence is true; return t or nil." (ask-each kb (logic query) #'(lambda (s) (declare (ignore s)) (RETURN-FROM ASK t)))) ;;; Omitted pattern-matching ASK’s CS250: Intro to AI/Lisp

  32. Propositional logic: Straw man for the ages • “Don’t take a core sample if you’re not on a stable surface” • How hard is it to compute with propositional logic CS250: Intro to AI/Lisp

More Related