Saturday, 11 August 2018

Using of First Order Logic (FOL) in Artificial Intelligence

We want to TELL things to the KB, e.g.
TELL (KB,  ∀x,King(x) ⇒Person(x)
TELL(KB, King(John)

These sentence are assertions

We also want to ASK things to the KB,
ASK(KB, ∃x,Person(x))

these are quires or goals

The KB should return the list of x's for which person(x) is true {x/John,x/Richard,...}

FOL Version of Wumpus World
  • Typical percept sentence:
         Percept ([Stench,Breeze,Glitter,None,None]) 
  • Actions:
         Turn (Right), Turn(Left), Forward, Shoot, Grab, Release, Climb
  • To determine best action, construct query:
         ∀ a BestAction(a,5)
  • ASK solves this and returns {a/Grab}
       - And TELL about the action.

Knowledge Base for Wumpus World
  • Perception
            ➝ ∀b,g,t Percept([Breeze,b,g],t ⇒Breeze(t)
            ➝ ∀s,b,t Percept([s,b,Glitter],t) ⇒Glitter(t)
  • Reflex
            ∀tGlitter(t) ⇒ BestAction(Grab,t)

Knowledge engineering in FOL
  1. Identify the task
  2. Assemble the relevant knowledge
  3. Decide on a vocabulary of predicates,functions,and constants
  4. Encode general knowledge about the domain
  5. Encode a description of the specific problem instance
  6. Pose queries to the inference procedure and get answers
  7. Debug the knowledge base

No comments:

Post a Comment

Popular Posts