review: what is a logic? a formal language syntax what expressions are legal semantics what legal...
DESCRIPTION
Review: Propositional logic: syntaxTRANSCRIPT
Review: What is a logic?
• A formal language– Syntax – what expressions are legal– Semantics – what legal expressions mean– Proof system – a way of manipulating syntactic
expressions to get other syntactic expressions (which will tell us something new)
• Why proofs? Two kinds of inferences an agent might want to make:– Multiple percepts conclusions about the world– Current state & operator properties of next state
Review: Types of logic
Review: Propositional logic: syntax
Review:Propositional logic: semantics
Entailment
Propositional inference: enumeration method
Enumeration: Solution
Validity and satisfiability
Theorem
Proof methods
A Typical Wumpus World
Wumpus World Description
Wumpus World Sentences
Wumpus World Sentences
Wumpus World Sentences
Wumpus world: example• Rules: A square has stench if and only if the square or
adjacent squares contain the wumpus– R1: S1,1 ↔ W1,1 v W1,2 v W2,1
– R2: S2,1 ↔ W1,1 v W2,2 v W3,1 – …
• Facts: Percepts inject (TELL) facts into the KB– [There is no stench at 1,1] S1,1
• Inference: – KB contains S1,1 then using Modus Ponens we infer
(W1,1 v W1,2 v W2,1)– Using De Morgan’s Law we get:
W1,1 W1,2 W2,1
– Using And-Elimination we get: W1,1 W1,2 W2,1
Limitations of Propositional Logic1. It is too weak, i.e., has very limited expressiveness:• Each rule has to be represented for each situation:
e.g., “don’t go forward if the wumpus is in front of you” takes 64 rules
2. It cannot keep track of changes:• If one needs to track changes, e.g., where the agent has been
before then we need a timed-version of each rule. To track 100 steps we’ll then need 6400 rules for the previous example.
Its hard to write and maintain such a huge rule-baseInference becomes intractable
Predicate logic
Predicate Logic is more expressive, because it allows us to represent :
• Objects• Predicates (facts)• Variables
Assume we have the following assertions (facts)
• Comet is a horse• Prancer is a horse• Comet is parent of Dasher• Comet is a parent of Prancer• Prancer is fast• Dasher is a parent of Thunder• Thunder is fast• Thunder is a horse• Dasher is a horse
Write predicate logic sentences for these facts :
To do so, we need to understand the concepts of:• Objects
– Comet, Prancer, Dasher, etc• Predicates (facts)
– horse horse(Comet)– parent-of parent-of(Comet,Dasher)
• Variables– horse(x)
Thus, we can write
• Comet is a horse• Prancer is a horse• Comet is parent of Dasher• Comet is a parent of Prancer• Prancer is fast• Dasher is a parent of Thunder• Thunder is fast• Thunder is a horse• Dasher is a horse
• horse(Comet)• horse(Prancer)• parent-of(Comet,Dasher)• parent-of(Comet,Prancer)• fast(Prancer)• parent-of(Dasher,Thunder)• fast(Thunder)• horse(Thunder)• horse(Dasher)
We also can write compound statements such as:
• not( horse(Schafer) )
• horse(Comet) and parent-of(Comet,Dasher)
• winner(Prancer) implies fast(Prancer)
Suppose we have the following rule (relation)
R1: if x is-a horse x is-parent-of y y is-fast then x is valuable
Bindings
In general, there will be variables in the rules which stand for arbitrary objects. We need to find bindings for them so that the rule is applicable.
Bindings
Bindings
From these we can deduce that there are two possible bindings applicable to the rule:
x = Comet and y = Prancer
x = Dasher and y = Thunder
Since x is valuable, Comet is valuable and Dasher is valuable
Forward Chaining
• Forward Chaining or data-driven inference works by repeatedly: starting from the current state, matching the premises of the rules (the IF parts), and performing the corresponding actions (the then parts) that usually update the knowledge base or working memory.
• The process continues until no more rules can be applied, or some cycle limit is met.
Forward Chaining
Forward Chaining
• In this example there are no more rules, so we can draw the inference chain:
• This seems simple enough, but this had few initial facts and few rules.
Disadvantages of Forward Chaining
• Many rules may be applicable at each stage – so how should we choose which one to apply next at each stage?
• The whole process is not directed towards a goal, so how do we know when to stop applying the rules?
Backward Chaining
• Backward chaining or goal-driven inference works towards a final state by looking at the working memory to see if the sub-goal states already exist there. If not, the actions (the THEN parts) of the rules that will establish the sub-goals are identified and new sub-goals are set up for achieving the premises of those rules (the IF parts).
Backward Chaining
• The previous example now becomes:
Backward Chaining
• The first part of the chain works back from the goal until only the initial facts are required, at which point we know how to traverse the chain to achieve the goal state.
Backward Chaining
• Advantage– The search is goal directed, so we only apply
the rules that are necessary to achieve the goal.• Disadvantage
– The goal has to be known. – Fortunately, many AI systems can be
formulated in a goal based fashion.