Logical Agents
Outline
|
|
|
|
Knowledge-based agents |
|
Wumpus world |
|
Logic in general - models and
entailment |
|
Propositional (Boolean) logic |
|
Equivalence, validity, satisfiability |
|
Inference rules and theorem proving |
|
forward chaining |
|
backward chaining |
|
resolution |
Knowledge bases
|
|
|
|
Knowledge base = set of sentences in a formal
language |
|
Declarative approach to building an
agent (or other system): |
|
Tell it what it needs to know |
|
Then it can Ask itself what to do -
answers should follow from the KB |
|
Agents can be viewed at the knowledge
level |
|
i.e., what they know, regardless of how
implemented |
|
Or at the implementation level |
|
i.e., data structures in KB and
algorithms that manipulate them |
A simple knowledge-based
agent
|
|
|
|
The agent must be able to: |
|
Represent states, actions, etc. |
|
Incorporate new percepts |
|
Update internal representations of the
world |
|
Deduce hidden properties of the world |
|
Deduce appropriate actions |
Wumpus World PEAS
description
|
|
|
|
|
|
|
Performance measure |
|
gold +1000, death -1000 |
|
-1 per step, -10 for using the arrow |
|
|
|
Environment |
|
Squares adjacent to wumpus are smelly |
|
Squares adjacent to pit are breezy |
|
Glitter iff gold is in the same square |
|
Shooting kills wumpus if you are facing
it |
|
Shooting uses up the only arrow |
|
Grabbing picks up gold if in same
square |
|
Releasing drops the gold in same square |
|
|
|
Sensors: Stench, Breeze, Glitter, Bump,
Scream |
|
Actuators: Left turn, Right turn,
Forward, Grab, Release, Shoot |
Wumpus world
characterization
|
|
|
Fully Observable No – only local
perception |
|
Deterministic Yes – outcomes exactly
specified |
|
Episodic No – sequential at the level
of actions |
|
Static
Yes – Wumpus and Pits do not move |
|
Discrete Yes |
|
Single-agent? Yes – Wumpus is
essentially a natural feature |
Exploring a wumpus world
Exploring a wumpus world
Exploring a wumpus world
Exploring a wumpus world
Exploring a wumpus world
Exploring a wumpus world
Exploring a wumpus world
Exploring a wumpus world
Logic in general
|
|
|
|
Logics are formal languages for
representing information such that conclusions can be drawn |
|
Syntax defines the sentences in the
language |
|
Semantics define the
"meaning" of sentences; |
|
i.e., define truth of a sentence in a
world |
|
|
|
E.g., the language of arithmetic |
|
x+2 ≥ y is a sentence; x2+y >
{} is not a sentence |
|
x+2 ≥ y is true iff the number
x+2 is no less than the number y |
|
x+2 ≥ y is true in a world where
x = 7, y = 1 |
|
x+2 ≥ y is false in a world where
x = 0, y = 6 |
Entailment
|
|
|
|
|
|
|
Entailment means that one thing follows
from another: |
|
KB ╞ α |
|
Knowledge base KB entails sentence
α if and only if α is true in all worlds where KB is true |
|
|
|
E.g., the KB containing “the Giants
won” and “the Reds won” entails “Either the Giants won or the Reds won” |
|
E.g., x+y = 4 entails 4 = x+y |
|
Entailment is a relationship between
sentences (i.e., syntax) that is based on semantics |
Models
|
|
|
|
Logicians typically think in terms of models,
which are formally structured worlds with respect to which truth can be
evaluated |
|
|
|
We say m is a model of a sentence
α if α is true in m |
|
|
|
M(α) is the set of all models of
α |
|
|
|
Then KB ╞ α iff M(KB) Í M(α) |
|
E.g. KB = Giants won and Reds
won α = Giants won |
Entailment in the wumpus
world
|
|
|
Situation after detecting nothing in
[1,1], moving right, breeze in [2,1] |
|
|
|
Consider possible models for KB
assuming only pits |
|
|
|
3 Boolean choices Þ 8 possible models |
Wumpus models
Wumpus models
|
|
|
KB = wumpus-world rules + observations |
Wumpus models
|
|
|
KB = wumpus-world rules + observations |
|
α1 = "[1,2] is
safe", KB ╞ α1, proved by model checking |
|
|
Wumpus models
|
|
|
KB = wumpus-world rules + observations |
Wumpus models
|
|
|
KB = wumpus-world rules + observations |
|
α2 = "[2,2] is
safe", KB ╞ α2 |
Inference
|
|
|
Define: KB ├i α =
sentence α can be derived from KB by procedure i |
|
Soundness: i is sound if whenever KB ├i
α, it is also true that KB╞ α |
|
Completeness: i is complete if whenever
KB╞ α, it is also true that KB ├i α |
|
Preview: we will define a logic
(first-order logic) which is expressive enough to say almost anything of
interest, and for which there exists a sound and complete inference
procedure. |
|
That is, the procedure will answer any
question whose answer follows from what is known by the KB. |
Propositional logic:
Syntax
|
|
|
|
Propositional logic is the simplest
logic – illustrates basic ideas |
|
|
|
The proposition symbols P1,
P2 etc are sentences |
|
|
|
If S is a sentence, ØS is a sentence (negation) |
|
If S1 and S2 are
sentences, S1 Ù S2 is a
sentence (conjunction) |
|
If S1 and S2 are
sentences, S1 Ú S2 is a
sentence (disjunction) |
|
If S1 and S2 are
sentences, S1 Þ S2 is a
sentence (implication) |
|
If S1 and S2 are
sentences, S1 Û S2 is a
sentence (biconditional) |
Propositional logic:
Semantics
|
|
|
|
Each model specifies true/false for
each proposition symbol |
|
E.g. P1,2 P2,2
P3,1 |
|
false true false |
|
|
|
With these symbols, 8 possible models,
can be enumerated automatically. |
|
Rules for evaluating truth with respect
to a model m: |
|
ØS is true iff S is false |
|
S1 Ù S2 is
true iff S1 is true and S2 is true |
|
S1 Ú S2 is
true iff S1is true or S2 is true |
|
S1 Þ S2 is true iff S1 is false or S2
is true |
|
i.e., is false iff S1 is
true and S2 is false |
|
S1 Û S2 is true iff S1ÞS2 is true andS2ÞS1 is true |
|
|
|
Simple recursive process evaluates an
arbitrary sentence, e.g., |
|
|
|
ØP1,2 Ù (P2,2 Ú P3,1) = true Ù (true Ú false) = true Ù true = true |
Truth tables for
connectives
Wumpus world sentences
|
|
|
|
|
|
|
Let Pi,j be true if there is
a pit in [i, j]. |
|
Let Bi,j be true if there is
a breeze in [i, j]. |
|
ØP1,1 |
|
ØB1,1 |
|
B2,1 |
|
|
|
"Pits cause breezes in adjacent
squares" |
|
B1,1 Û (P1,2
Ú P2,1) |
|
B2,1 Û (P1,1 Ú P2,2 Ú P3,1) |
Truth tables for
inference
Inference by enumeration
|
|
|
Depth-first enumeration of all models
is sound and complete |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For n symbols, time complexity is O(2n),
space complexity is O(n) |
Logical equivalence
|
|
|
Two sentences are logically equivalent
iff true in same models: α ≡ ß iff α╞ β and β╞
α |
Validity and
satisfiability
|
|
|
|
|
|
|
A sentence is valid if it is true in all
models, |
|
e.g., True, A ÚØA, A Þ A, (A Ù (A Þ B)) Þ B |
|
|
|
Validity is connected to inference via
the Deduction Theorem: |
|
KB ╞ α if and only if (KB Þ α) is valid |
|
|
|
A sentence is satisfiable if it is true
in some model |
|
e.g., AÚ B, C |
|
|
|
A sentence is unsatisfiable if it is
true in no models |
|
e.g., AÙØA |
|
|
|
Satisfiability is connected to
inference via the following: |
|
KB ╞ α if and only if (KB ÙØα) is unsatisfiable |
Proof methods
|
|
|
|
|
|
|
Proof methods divide into (roughly) two
kinds: |
|
|
|
Application of inference rules |
|
Legitimate (sound) generation of new
sentences from old |
|
Proof = a sequence of inference rule
applications
Can use inference rules as operators in a standard search algorithm |
|
Typically require transformation of
sentences into a normal form |
|
|
|
Model checking |
|
truth table enumeration (always
exponential in n) |
|
improved backtracking, e.g.,
Davis--Putnam-Logemann-Loveland (DPLL) |
|
heuristic search in model space (sound
but incomplete) |
|
e.g., min-conflicts like
hill-climbing algorithms |
Resolution
|
|
|
|
|
|
|
Conjunctive Normal Form (CNF) |
|
conjunction of disjunctions of literals |
|
clauses |
|
E.g., (A Ú ØB) Ù (B Ú ØC Ú ØD) |
|
|
|
Resolution inference rule (for CNF): |
|
li Ú… Ú lk, m1
Ú … Ú mn |
|
li Ú … Ú li-1 Ú li+1 Ú … Ú lk Ú m1 Ú … Ú mj-1 Ú mj+1 Ú... Ú mn |
|
|
|
where li and mj
are complementary literals. |
|
E.g., P1,3 Ú P2,2, ØP2,2 |
|
P1,3 |
|
|
|
Resolution is sound and complete
for propositional logic |
Resolution
|
|
|
Soundness of resolution inference rule: |
|
|
|
Ø(li Ú … Ú li-1 Ú li+1 Ú … Ú lk) Þ li |
|
Ømj Þ (m1 Ú … Ú mj-1 Ú mj+1 Ú... Ú mn) |
|
Ø(li Ú … Ú li-1 Ú li+1 Ú … Ú lk) Þ (m1 Ú … Ú mj-1 Ú mj+1 Ú... Ú mn) |
|
|
|
where li and mj
are complementary literals. |
Conversion to CNF
|
|
|
|
|
|
|
B1,1 Û (P1,2 Ú P2,1) |
|
|
|
Eliminate Û,
replacing α Û β with (α Þ β)Ù(β Þ α). |
|
(B1,1 Þ (P1,2 Ú P2,1)) Ù ((P1,2 Ú P2,1) Þ B1,1) |
|
|
|
2. Eliminate Þ, replacing
α Þ
β with ØαÚ β. |
|
(ØB1,1 Ú P1,2 Ú P2,1) Ù (Ø(P1,2 Ú P2,1) Ú B1,1) |
|
|
|
3. Move Ø inwards using de Morgan's rules and
double-negation: |
|
(ØB1,1 Ú P1,2 Ú P2,1) Ù ((ØP1,2 Ú ØP2,1) Ú B1,1) |
|
|
|
4. Apply distributivity law (Ù over Ú) and flatten: |
|
(ØB1,1 Ú P1,2 Ú P2,1) Ù (ØP1,2 Ú B1,1) Ù (ØP2,1 Ú B1,1) |
Resolution algorithm
|
|
|
Proof by contradiction, i.e., show KBÙØα unsatisfiable |
Resolution example
|
|
|
KB = (B1,1 Û (P1,2Ú P2,1)) ÙØ B1,1 |
|
α = ØP1,2
(negate the premise for proof by refutation) |
Forward and backward
chaining
|
|
|
|
|
Horn Form (restricted) |
|
KB = conjunction of Horn clauses |
|
Horn clause = |
|
proposition symbol; or |
|
(conjunction of symbols) Þ symbol |
|
E.g., C Ù (B Þ A) Ù (C Ù D Þ B) |
|
Modus Ponens (for Horn Form): complete
for Horn KBs |
|
α1, … ,αn, α1
Ù … Ù αn Þ β |
|
β |
|
|
|
Can be used with forward chaining or backward
chaining. |
|
These algorithms are very natural and
run in linear time |
Forward chaining
|
|
|
|
Idea: fire any rule whose premises are
satisfied in the KB, |
|
add its conclusion to the KB, until
query is found |
Forward chaining
algorithm
|
|
|
Forward chaining is sound and complete
for Horn KB |
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
Proof of completeness
|
|
|
|
|
FC derives every atomic sentence that
is entailed by KB |
|
FC reaches a fixed point where no new
atomic sentences are derived |
|
Consider the final state as a model m,
assigning true/false to symbols |
|
Every clause in the original KB is true
in m |
|
a1 Ù … Ù ak Þ b |
|
Hence m is a model of KB |
|
If KB╞ q, q is true in every
model of KB, including m |
Backward chaining
|
|
|
|
|
Idea: work backwards from the query q: |
|
to prove q by BC, |
|
check if q is known already, or |
|
prove by BC all premises of some rule
concluding q |
|
|
|
Avoid loops: check if new subgoal is
already on the goal stack |
|
|
|
Avoid repeated work: check if new
subgoal |
|
has already been proved true, or |
|
has already failed |
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Forward vs. backward
chaining
|
|
|
|
|
|
|
FC is data-driven, automatic,
unconscious processing, |
|
e.g., object recognition, routine
decisions |
|
|
|
May do lots of work that is irrelevant
to the goal |
|
|
|
BC is goal-driven, appropriate for
problem-solving, |
|
e.g., Where are my keys? How do I get
into a PhD program? |
|
|
|
Complexity of BC can be much less than
linear in size of KB |
Efficient propositional
inference
|
|
|
|
Two families of efficient algorithms
for propositional inference: |
|
|
|
Complete backtracking search algorithms |
|
DPLL algorithm (Davis, Putnam,
Logemann, Loveland) |
|
Incomplete local search algorithms |
|
WalkSAT algorithm |
The DPLL algorithm
|
|
|
|
|
|
|
Determine if an input propositional
logic sentence (in CNF) is satisfiable. |
|
|
|
Improvements over truth table
enumeration: |
|
Early termination |
|
A clause is true if any literal is
true. |
|
A sentence is false if any clause is
false. |
|
|
|
Pure symbol heuristic |
|
Pure symbol: always appears with the
same "sign" in all clauses. |
|
e.g., In the three clauses (A Ú ØB), (ØB Ú ØC), (C Ú A), A and B are pure, C is impure. |
|
Make a pure symbol literal true. |
|
|
|
Unit clause heuristic |
|
Unit clause: only one literal in the
clause |
|
The only literal in a unit clause must
be true. |
The DPLL algorithm
The WalkSAT algorithm
|
|
|
Incomplete, local search algorithm |
|
Evaluation function: The min-conflict
heuristic of minimizing the number of unsatisfied clauses |
|
Balance between greediness and
randomness |
The WalkSAT algorithm
Hard satisfiability
problems
|
|
|
|
|
|
|
Consider random 3-CNF sentences. e.g., |
|
(ØD Ú ØB Ú C) Ù (B Ú ØA Ú ØC) Ù (ØC Ú ØB Ú E) Ù (E Ú ØD Ú B) Ù (B Ú E Ú ØC) |
|
|
|
m = number of clauses |
|
n = number of symbols |
|
|
|
Hard problems seem to cluster near m/n
= 4.3 (critical point) |
Hard satisfiability
problems
Hard satisfiability
problems
|
|
|
Median runtime for 100 satisfiable
random 3-CNF sentences, n = 50 |
Inference-based agents in
the wumpus world
|
|
|
|
A wumpus-world agent using
propositional logic: |
|
|
|
ØP1,1 |
|
ØW1,1 |
|
Bx,y Û (Px,y+1 Ú Px,y-1 Ú Px+1,y Ú Px-1,y) |
|
Sx,y Û (Wx,y+1 Ú Wx,y-1 Ú Wx+1,y Ú Wx-1,y) |
|
W1,1 Ú W1,2 Ú … Ú W4,4 |
|
ØW1,1 Ú ØW1,2 |
|
ØW1,1 Ú ØW1,3 |
|
… |
|
|
|
Þ 64 distinct proposition symbols, 155 sentences |
Slide 72
Expressiveness limitation
of propositional logic
|
|
|
KB contains "physics"
sentences for every single square |
|
|
|
For every time t and every location [x,y], |
|
Lx,y Ù FacingRightt Ù Forwardt Þ Lx+1,y |
|
|
|
Rapid proliferation of clauses |
Summary
|
|
|
|
Logical agents apply inference to a knowledge
base to derive new information and make decisions |
|
Basic concepts of logic: |
|
syntax: formal structure of sentences |
|
semantics: truth of sentences wrt models |
|
entailment: necessary truth of one
sentence given another |
|
inference: deriving sentences from
other sentences |
|
soundness: derivations produce only
entailed sentences |
|
completeness: derivations can produce
all entailed sentences |
|
Wumpus world requires the ability to
represent partial and negated information, reason by cases, etc. |
|
Resolution is complete for
propositional logic
Forward, backward chaining are linear-time, complete for Horn clauses |
|
Propositional logic lacks expressive
power |