Download presentation
Presentation is loading. Please wait.
1
Automated Reasoning in Propositional Logic
Russell and Norvig: Chapters 6 and 9 Chapter 7, Sections 7.5—7.6 CS121 – Winter 2003
2
Problem Given: KB: a set of sentence : a sentence Answer: KB ?
3
Deduction vs. Satisfiability Test
KB iff {KB,} is unsatisfiable Hence: Deciding whether a set of sentences entails another sentence, or not Testing whether a set of sentences is satisfiable, or not are closely related problems
4
Computational Approaches
Enumeration of models Construction of a proof Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Battery-OK Starter-OK (5+6) Battery-OK Starter-OK Empty-Gas-Tank (9+7) Engine-Starts (2+10) Engine-Starts Flat-Tire (3+8) Flat-Tire (11+12)
5
Enumeration of Models P: Set of propositional symbols in {KB,}
n: Size of P ENTAILS?(KB,) For each of the 2n models on P do If it is a model of {KB,} then return no Return yes
6
Satisfiability Test as CSP
Each propositional symbol is a variable The domain of each variable is {True, False} Each sentence in {KB,} is a constraint on the value(s) taken by one or several variables Recursive backtracking CSP techniques and heuristics are applicable
7
Construction of a Proof
Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Battery-OK Starter-OK (5+6) Battery-OK Starter-OK Empty-Gas-Tank (9+7) Engine-Starts (2+10) Engine-Starts Flat-Tire (3+8) Flat-Tire (11+12)
8
Construction of a Proof
Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Battery-OK Starter-OK (5+6) Battery-OK Starter-OK Empty-Gas-Tank (9+7) Engine-Starts (2+10) Engine-Starts Flat-Tire (3+8) Flat-Tire (11+12) What do we need? A complete set of sound inference rules A complete search algorithm to decide which rule to apply next and to which sentences
9
Complementary Literals
A literal is a either an atomic sentence or the negated atomic sentence, e.g.: P or P Two literals are complementary if one is the negation of the other, e.g.: P and P
10
Unit Resolution Rule Given two sentences: L1 … Lp and M where Li,…, Lp and M are all literals, and M and Li are complementary literals Infer: L1 … Li-1 Li+1 … Lp
11
Examples From: Engine-Starts Car-OK Engine-Starts Infer: Car-OK
Modus ponens Engine-Starts Car-OK From: Engine-Starts Car-OK Car-OK Infer: Engine-Starts Modus tolens
12
Another Example Engine-Starts Flat-Tire Car-OK Engine-Starts
13
Detection of Unsatisfiability
Car-OK Car-OK False
14
Soundness of Unit Resolution
Let m be a model of: L1 … Lp and M where M and Li are complementary literals Li must be False in m, hence L1 … Li-1 Li+1 … Lp must be True
15
Shortcoming of Unit Resolution
From: Engine-Starts Flat-Tire Car-OK Engine-Starts Empty-Gas-Tank we can infer nothing!
16
Full Resolution Rule Given two sentences: L1 … Lp and M1 … Mq where L1,…, Lp, M1,…, Mq are all literals, and Li and Mj are complementary literals Infer: L1 … Li-1Li+1…LkM1 … Mj-1Mj+1…Mk in which only one copy of each literal is retained (factoring)
17
Example From: Engine-Starts Flat-Tire Car-OK
Engine-Starts Empty-Gas-Tank Infer: Empty-Gas-Tank Flat-Tire Car-OK
18
Example From: P Q ( P Q) Q R ( Q R) Infer:
P R ( P R)
19
Not All Inferences are Useful!
From: Engine-Starts Flat-Tire Car-OK Engine-Starts Flat-Tire Infer: Flat-Tire Flat-Tire Car-OK
20
Not All Inferences are Useful!
From: Engine-Starts Flat-Tire Car-OK Engine-Starts Flat-Tire Infer: Flat-Tire Flat-Tire Car-OK tautology
21
Not All Inferences are Useful!
From: Engine-Starts Flat-Tire Car-OK Engine-Starts Flat-Tire Infer: Flat-Tire Flat-Tire Car-OK True tautology
22
Soundness of Full Resolution
Left as an exercise
23
Full Resolution Rule clauses
Given two sentences: L1 … Lp and M1 … Mq Infer: L1 … Li-1Li+1…LkM1 … Mj-1Mj+1…Mk clauses
24
Sentence Clause Form Example: (A B) (C D)
25
Sentence Clause Form Example: (A B) (C D)
1. Eliminate (A B) (C D)
26
Sentence Clause Form Example: (A B) (C D)
1. Eliminate (A B) (C D) 2. Reduce scope of (A B) (C D)
27
Sentence Clause Form Example: (A B) (C D)
1. Eliminate (A B) (C D) 2. Reduce scope of (A B) (C D) 3. Distribute over (A (C D)) (B (C D)) (A C) (A D) (B C) (B D)
28
Sentence Clause Form Example: (A B) (C D)
1. Eliminate (A B) (C D) 2. Reduce scope of (A B) (C D) 3. Distribute over (A (C D)) (B (C D)) (A C) (A D) (B C) (B D) Set of clauses: {A C , A D , B C , B D}
29
Resolution Refutation Algorithm
RESOLUTION-REFUTATION(KB,a) clauses set of clauses obtained from KB and a new {} Repeat: For each C, C’ in clauses do res RESOLVE(C,C’) If res contains the empty clause then return yes new new U res If new clauses then return no clauses clauses U new
30
Completeness of Resolution Refutation
Left as an exercise
31
Example Battery-OK Bulbs-OK Headlights-Work
Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire Starter-OK Empty-Gas-Tank Engine-Starts Battery-OK Empty-Gas-Tank Engine-Starts Battery-OK Starter-OK Engine-Starts Engine-Starts Flat-Tire Engine-Starts Car-OK
32
Example Battery-OK Bulbs-OK Headlights-Work
Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire Starter-OK Empty-Gas-Tank Engine-Starts Battery-OK Empty-Gas-Tank Engine-Starts Battery-OK Starter-OK Engine-Starts Engine-Starts Flat-Tire Engine-Starts Car-OK
33
Example … Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
Battery-OK Starter-OK Engine-Starts Engine-Starts Flat-Tire
34
Example … Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
Battery-OK Starter-OK Engine-Starts Engine-Starts Flat-Tire Battery-OK Starter-OK Flat-Tire Starter-OK Flat-Tire Flat-Tire False (empty clause)
35
Resolution Heuristics
Set-of-support heuristics: At least one ancestor of every inferred clause comes from a Shortest-clause heuristics: Generate a clause with the fewest literals first Simplifications heuristics: Remove any clause containing two complementary literals (tautology) Remove any clause C that contains all the literals of another clause C’ If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)
36
Example (Set-of-Support)
Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
37
Example (Set-of-Support)
Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire Engine-Starts Car-OK Engine-Starts Battery-OK Starter-OK Empty-Gas-Tank Starter-OK Empty-Gas-Tank Empty-Gas-Tank False Note the goal-directed flavor
38
Resolution Heuristics
Set-of-support heuristics: At least one ancestor of every inferred clause comes from a Shortest-clause heuristics: Generate a clause with the fewest literals first Simplifications heuristics: Remove any clause containing two complementary literals (tautology) Remove any clause C that contains all the literals of another clause C’ If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)
39
Example (Shortest-Clause)
Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
40
Example (Shortest-Clause)
Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlight-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire Engine-Starts Car-OK Engine-Starts Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Starter-OK Empty-Gas-Tank Empty-Gas-Tank False
41
Resolution Heuristics
Set-of-support heuristics: At least one ancestor of every inferred clause comes from a Shortest-clause heuristics: Generate a clause with the fewest literals first Simplifications heuristics: Remove any clause containing two complementary literals (tautology) Remove any clause C that contains all the literals of another clause C’ If a symbol always appears with the same “sign”, remove all the clauses that contain it (pure symbol)
42
Example (Pure Literal)
Battery-OK Bulbs-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Engine-Starts Engine-Starts Flat-Tire Car-OK Headlights-Work Battery-OK Starter-OK Empty-Gas-Tank Car-OK Flat-Tire
43
When to Use Logic? When the knowledge base is large and can be made explicit When formulating a problem as a CSP problem would yield complex constraints When the agent’s environment is conveniently described by true or false sentences
44
Summary Entailment problem Resolution rule
Clause form of a set of sentences Resolution refutation algorithm Resolution heuristics
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.