Logical agents 5 AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 1 - - PowerPoint PPT Presentation

logical agents
SMART_READER_LITE
LIVE PREVIEW

Logical agents 5 AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 1 - - PowerPoint PPT Presentation

Logical agents 5 AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 1 5 Logical Agents 5.1 Knowledge-based agents 5.2 Propositional logic 5.3 Theorem proving 5.4 Resolution 5.5 Model checking 5.6 SAT problem AI Slides (5e) c Lin


slide-1
SLIDE 1

Logical agents

5

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 1

slide-2
SLIDE 2

5 Logical Agents 5.1 Knowledge-based agents 5.2 Propositional logic 5.3 Theorem proving 5.4 Resolution 5.5 Model checking∗ 5.6 SAT problem∗

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 2

slide-3
SLIDE 3

Knowledge-based agents

Logic: study of thought, rational part of intelligence Knowledge: power of thinking Before building knowledge-based systems (agents) before there can be learning, reasoning, planning, · · · need to be able to express knowledge Need a formal (precise declarative) language → logical language

Inference engine Knowledge base domain−specific content domain−independent algorithms

KB = set of sentences in a logical language IE = algorithms by logical reasoning Using logic: – no universal language / why not English or Chinese?

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 3

slide-4
SLIDE 4

knowledge level

Declarative approach to building an agent Tell it what it needs to know — into KB Then it can Ask itself what to do — from 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 struct. in KB and algorithms that manipulate them

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 4

slide-5
SLIDE 5

A simple knowledge-based agent

function KB-Agent( percept) returns an action persistent: KB, a knowledge base t, a counter, initially 0, indicating time Tell(KB,Make-Percept-Sentence( percept, t)) action ← Ask(KB,Make-Action-Query(t)) Tell(KB,Make-Action-Sentence(action,t)) t ← t + 1 return action

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

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 5

slide-6
SLIDE 6

Wumpus World

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

Breeze Breeze Breeze Breeze Breeze

Stench Stench

Breeze

PIT PIT PIT

1 2 3 4 1 2 3 4

START

Gold

Stench

Actuators Left turn, Right turn, Forward, Grab, Release, Shoot Sensors Breeze, Glitter, Smell

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 6

slide-7
SLIDE 7

Wumpus world characterization

Observable??

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 7

slide-8
SLIDE 8

Wumpus world characterization

Observable?? No—only local perception Deterministic??

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 8

slide-9
SLIDE 9

Wumpus world characterization

Observable?? No—only local perception Deterministic?? Yes—outcomes exactly specified Episodic??

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 9

slide-10
SLIDE 10

Wumpus world characterization

Observable?? No—only local perception Deterministic?? Yes—outcomes exactly specified Episodic?? No—sequential at the level of actions Static??

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 10

slide-11
SLIDE 11

Wumpus world characterization

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??

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 11

slide-12
SLIDE 12

Wumpus world characterization

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??

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 12

slide-13
SLIDE 13

Wumpus world characterization

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

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 13

slide-14
SLIDE 14

Exploring a wumpus world

A

OK OK OK

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 14

slide-15
SLIDE 15

Exploring a wumpus world

OK OK OK A A B

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 15

slide-16
SLIDE 16

Exploring a wumpus world

OK OK OK A A B P? P?

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 16

slide-17
SLIDE 17

Exploring a wumpus world

OK OK OK A A B P? P? A S

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 17

slide-18
SLIDE 18

Exploring a wumpus world

OK OK OK A A B P? P? A S OK

P W

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 18

slide-19
SLIDE 19

Exploring a wumpus world

OK OK OK A A B P? P? A S OK

P W

A

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 19

slide-20
SLIDE 20

Exploring a wumpus world

OK OK OK A A B P? P? A S OK

P W

A OK OK

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 20

slide-21
SLIDE 21

Exploring a wumpus world

OK OK OK A A B P? P? A S OK

P W

A OK OK A BGS

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 21

slide-22
SLIDE 22

Other tight spots

A B OK OK OK A B A P? P? P? P?

Breeze in (1,2) and (2,1) ⇒ no safe actions Assuming pits uniformly dis- tributed, (2,2) has pit w/ prob 0.86,

  • vs. 0.31

A S

Smell in (1,1) ⇒ cannot move Can use a strategy of coercion: shoot straight ahead wumpus was there ⇒ dead ⇒ safe wumpus wasn’t there ⇒ safe

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 22

slide-23
SLIDE 23

Logic

Logics are formal languages for representing knowledge 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

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 23

slide-24
SLIDE 24

Types of logic

Logics are characterized by what they commit to as “primitives” – Ontological commitment: what exists—facts? objects? time? beliefs? – Epistemological commitment: what states of knowledge?

Language Ontological Commitment Epistemological Commitment Propositional logic facts true/false/unknown First-order logic facts, objects, relations true/false/unknown Temporal logic facts, objects, relations, times true/false/unknown Probability theory facts degree of belief 0. . . 1 Fuzzy logic degree of truth degree of belief 0. . . 1

Picking a logic has issues at the knowledge level Start with first-order (predicate calculus) logic (FOL) consider subsets / supersets and very different looking repre- sentation languages – propositional logic as subsets of FOL

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 24

slide-25
SLIDE 25

Propositional logic

  • (Propositional) Language
  • Syntax

Proof theory

  • Semantics

Model theory

  • Pragmatics

Reasoning Knowledge Representation

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 25

slide-26
SLIDE 26

Propositional language

Propositional logic (PL) is the simplest logic, but illustrates basic ideas and important applications A propositional language L:

  • Syntax

– a set of (possibly infinite) symbols: ¬, ⇒ , (, ), P1, P2, · · · – a set of (well-formed) formulas (Wffs)

  • Semantics

– truth evaluations, i.e., truth functions (truth tables)

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 26

slide-27
SLIDE 27

Syntax

The proposition symbols P1, P2, · · · are sentences (atom) 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) Connectives precedence: ¬, ∧ ∨, ⇒ , ⇔ A literal is a proposition (symbol) or its negation, i.e., Pi, or ¬Pi

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 27

slide-28
SLIDE 28

Semantics

Each model specifies true/false for each proposition symbol E.g. P1,2 P2,2 P3,1 true true false (With these symbols, 8 possible models, can be enumerated automat- ically) 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 S1 is 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 and S2 ⇒ S1 is true Simple recursive process evaluates an arbitrary sentence, e.g., ¬P1,2 ∧ (P2,2 ∨ P3,1) = true ∧ (false ∨ true) = true ∧ true = true

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 28

slide-29
SLIDE 29

Truth tables for connectives

P Q ¬P P ∧ Q P ∨ Q P⇒Q P⇔Q false false true false false true true false true true false true true false true false false false true false false true true false true true true true

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 29

slide-30
SLIDE 30

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”

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 30

slide-31
SLIDE 31

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) “A square is breezy if and only if there is an adjacent pit” Building a (simple) knowledge base for the wumpus world

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 31

slide-32
SLIDE 32

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

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 32

slide-33
SLIDE 33

Models

Models are formally structured worlds w.r.t. which truth can be eval- uated Say m is a model of a sentence α if α is true in m, written as m | = α M(α) is the set of all models of α Then KB | = α iff M(KB) ⊆ M(α) i.e., for all model m, if m | = KB then m | = α E.g. KB = Giants won and Reds won α = Giants won

M( ) M(KB)

x x x x x x x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x xx x x x x x x x x

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 33

slide-34
SLIDE 34

Entailment in the wumpus world

Situation after detecting nothing in [1,1], moving right, breeze in [2,1] Consider possible models for ?s assuming only pits

A A B

? ? ?

3 Boolean choices ⇒ 8 possible models

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 34

slide-35
SLIDE 35

Wumpus models

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 35

slide-36
SLIDE 36

Wumpus models

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

KB

KB = wumpus-world rules + observations

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 36

slide-37
SLIDE 37

Wumpus models

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

KB

1

KB = wumpus-world rules + observations α1 = “[1,2] is safe”, KB | = α1, proved by model checking

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 37

slide-38
SLIDE 38

Wumpus models

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

KB

KB = wumpus-world rules + observations

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 38

slide-39
SLIDE 39

Wumpus models

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

PIT PIT

1 2 3 1 2

Breeze

KB

2

KB = wumpus-world rules + observations α2 = “[2,2] is safe”, KB | = α2

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 39

slide-40
SLIDE 40

Inference

KB ⊢i α = sentence α can be derived from KB by procedure i Consequences of KB are a haystack; α is a needle. Entailment = needle in haystack; inference = finding it 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: FOL 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.

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 40

slide-41
SLIDE 41

Truth tables for inference

B1,1 B2,1 P1,1 P1,2 P2,1 P2,2 P3,1 R1 R2 R3 R4 R5 KB false false false false false false false true true true true false false false false false false false false true true true false true false false . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . false true false false false false false true true false true true false false true false false false false true true true true true true true false true false false false true false true true true true true true false true false false false true true true true true true true true false true false false true false false true false false true true false . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . true true true true true true true false true true false true false

Enumerate rows (different assignments to symbols), if KB is true in row, check that α is too

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 41

slide-42
SLIDE 42

Inference by enumeration

Depth-first enumeration of all models is sound and complete

function TT-Entails?(KB,α) returns true or false inputs: KB, the knowledge base, a sentence in propositional logic α, the query, a sentence in propositional logic symbols ← a list of the proposition symbols in KB and α return TT-Check-All(KB,α,symbols,[ ]) function TT-Check-All(KB,α,symbols,model) returns true or false if Empty?(symbols) then if PL-True?(KB,model) then return PL-True?(α,model) else return true else do P ← First(symbols); rest ← Rest(symbols) return TT-Check-All(KB,α,rest,{P = true} ∪ model) and TT-Check-All(KB,α,rest,{P = false} ∪ model)

O(2n) for n symbols; problem is co-NP-complete

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 42

slide-43
SLIDE 43

Logical equivalence

Two sentences are logically equivalent iff true in same models: α ≡ β if and only if α | = β and β | = α (α ∧ β) ≡ (β ∧ α) commutativity of ∧ (α ∨ β) ≡ (β ∨ α) commutativity of ∨ ((α ∧ β) ∧ γ) ≡ (α ∧ (β ∧ γ)) associativity of ∧ ((α ∨ β) ∨ γ) ≡ (α ∨ (β ∨ γ)) associativity of ∨ ¬(¬α) ≡ α double-negation elimination (α ⇒ β) ≡ (¬β ⇒ ¬α) contraposition (α ⇒ β) ≡ (¬α ∨ β) implication elimination (α ⇔ β) ≡ ((α ⇒ β) ∧ (β ⇒ α)) biconditional elimination ¬(α ∧ β) ≡ (¬α ∨ ¬β) De Morgan ¬(α ∨ β) ≡ (¬α ∧ ¬β) De Morgan (α ∧ (β ∨ γ)) ≡ ((α ∧ β) ∨ (α ∧ γ)) distributivity of ∧ over ∨ (α ∨ (β ∧ γ)) ≡ ((α ∨ β) ∧ (α ∨ γ)) distributivity of ∨ over ∧

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 43

slide-44
SLIDE 44

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 – written as | = α If the procedure i is completeness, = ⊢i α – called α a theorem 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 i.e., prove α by reductio ad absurdum

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 44

slide-45
SLIDE 45

Theorem proving

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 alg. – Typically require translation of sentences into a normal form Inference rules include – forward chaining – backward chaining – resolution Model checking truth table enumeration (always exponential in n) improved backtracking, e.g., DPLL algorithm heuristic search in model space (sound but incomplete) e.g., min-conflicts-like hill-climbing algorithms

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 45

slide-46
SLIDE 46

Clause form

Clause Form (restricted) KB = conjunction of clauses Clause = disjunction of literals

  • proposition symbol; or
  • (conjunction of symbols)

⇒ symbol (i.e., conjunction of literals) E.g., C ∧ (B ⇒ A) ∧ (C ∧ D ⇒ B) i.e., C ∧ (¬B ∨ A) ∧ (¬C ∨ ¬D ∨ B) Horn clause = a clause in which at most one is positive literal Definite clause = a clause in which exactly one is positive literal all definite clauses are Horn clauses Goal clauses = clauses with no positive literals

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 46

slide-47
SLIDE 47

Forward and backward chaining

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

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 47

slide-48
SLIDE 48

Forward chaining

Idea: fire any rule whose premises are satisfied in the KB, add its conclusion to the KB, until query is found P ⇒ Q L ∧ M ⇒ P B ∧ L ⇒ M A ∧ P ⇒ L A ∧ B ⇒ L A B

Q P M L B A

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 48

slide-49
SLIDE 49

Forward chaining algorithm

function PL-FC-Entails?(KB,q) returns true or false inputs: KB, the knowledge base, a set of propositional definite clauses q, the query, a proposition symbol local variables: count, a table, where count[c] is the number of symbols in c‘s premise inferred, a table, where inferred[s] is initially false for all symbols agenda, a queue of symbols, initl. symbols known to be true in KB while agenda is not empty do p ← Pop(agenda) if p=q then return true if inferred[p]=false then inferred[p] ← true for each clause c in KB where p is in c.Premise do /* implication */ decrement count[c] if count[c] = 0 then add c.Conclusion to agenda return false

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 49

slide-50
SLIDE 50

Forward chaining example

Q P M L B A 2 2 2 2 1

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 50

slide-51
SLIDE 51

Forward chaining example

Q P M L B 2 1 A 1 1 2

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 51

slide-52
SLIDE 52

Forward chaining example

Q P M 2 1 A 1 B 1 L

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 52

slide-53
SLIDE 53

Forward chaining example

Q P M 1 A 1 B L 1

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 53

slide-54
SLIDE 54

Forward chaining example

Q 1 A 1 B L M P

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 54

slide-55
SLIDE 55

Forward chaining example

Q A B L M P

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 55

slide-56
SLIDE 56

Forward chaining example

Q A B L M P

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 56

slide-57
SLIDE 57

Forward chaining example

A B L M P Q

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 57

slide-58
SLIDE 58

Completeness

FC derives every atomic sentence that is entailed by Horn KB

  • 1. FC reaches a fixed point where no new atomic sentences are derived
  • 2. Consider the final state as a model m, assigning true/false to

symbols

  • 3. Every clause in the original KB is true in m

Proof: Suppose a clause a1 ∧ . . . ∧ ak ⇒ b is false in m Then a1 ∧ . . . ∧ ak is true in m and b is false in m Therefore the algorithm has not reached a fixed point

  • 4. Hence m is a model of KB
  • 5. If KB |

= q, q is true in every model of KB, including m Idea: construct any model of KB by sound inference, check α

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 58

slide-59
SLIDE 59

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 1) has already been proved true, or 2) has already failed

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 59

slide-60
SLIDE 60

Backward chaining example

Q P M L A B

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 60

slide-61
SLIDE 61

Backward chaining example

P M L A Q B

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 61

slide-62
SLIDE 62

Backward chaining example

M L A Q P B

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 62

slide-63
SLIDE 63

Backward chaining example

M A Q P L B

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 63

slide-64
SLIDE 64

Backward chaining example

M L A Q P B

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 64

slide-65
SLIDE 65

Backward chaining example

M A Q P L B

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 65

slide-66
SLIDE 66

Backward chaining example

M A Q P L B

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 66

slide-67
SLIDE 67

Backward chaining example

A Q P L B M

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 67

slide-68
SLIDE 68

Backward chaining example

A Q P L B M

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 68

slide-69
SLIDE 69

Backward chaining example

A Q P L B M

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 69

slide-70
SLIDE 70

Backward chaining example

A Q P L B M

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 70

slide-71
SLIDE 71

Forward vs. backward chaining

FC is data-driven, cf. 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

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 71

slide-72
SLIDE 72

Resolution

Entailment in PL is decidable: can prove that α if KB | = α orKB | = α Resolution is a refutation procedure: to prove KB | = α, show that KB ∧ ¬α is unsatisfiable Resolution uses KB, ¬α in CNF (conjunction of clauses) Resolution inference rule combines two clauses to make a new one:

C C1 C2

C is called a resolvent of input clauses C1, C2 Inference continues until an empty clause { } is derived (contrad.)

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 72

slide-73
SLIDE 73

Resolution

Conjunctive Normal Form (CNF — universal) conjunction of disjunctions of literals

  • clauses

E.g., (A ∨ ¬B) ∧ (B ∨ ¬C ∨ ¬D) Resolution inference rule (for CNF): complete for propositional logic ℓ1 ∨ · · · ∨ ℓk, m1 ∨ · · · ∨ mn ℓ1 ∨ · · · ∨ ℓi−1 ∨ ℓi+1 ∨ · · · ∨ ℓk ∨ m1 ∨ · · · ∨ mj−1 ∨ mj+1 ∨ · · · ∨ mn where ℓi and mj are complementary literals. E.g.,

OK OK OK A A B P? P? A S OK

P W

A

P1,3 ∨ P2,2, ¬P2,2 P1,3

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 73

slide-74
SLIDE 74

Resolution

Given a clause of the form ℓ1∨· · ·∨ℓk containing some literal ℓi, and a clause of the form m1 ∨· · ·∨mn containing some literal mj, where ℓi and mj are complementary literals, infer the clause consisting of those literals in the first clause other than ℓi and those in the second

  • ther than mj, i.e.,

ℓ1∨· · ·∨ℓi−1∨ℓi+1∨· · ·∨ℓk∨m1∨· · ·∨mj−1∨mj+1∨· · ·∨mn which is a resolvent of the two input clauses w.r.t. ℓi and mj A resolution derivation (or proof) of a clause c from a set of clauses S is a sequence of clauses c1, · · · , cn, where the last clause, cn, is c, and where each ci is either an element of S or a resolvent of two earlier clauses in the derivation write S ⊢i c (i is resolution, hereafter simply ⊢) if there is a derivation of c from S write { } ⊢ c, simply ⊢ c, called c is a theorem

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 74

slide-75
SLIDE 75

Conversion to CNF

B1,1 ⇔ (P1,2 ∨ P2,1)

  • 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)

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 75

slide-76
SLIDE 76

Resolution algorithm

Proof by contradiction, i.e., show KB ∧ ¬α unsatisfiable

function PL-Resolution(KB,α) returns true or false inputs: KB, the knowledge base, a sentence in propositional logic α, the query, a sentence in propositional logic clauses ← the set of clauses in the CNF representation of KB ∧ ¬α new ← { } loop do for each Ci, Cj in clauses do resolvents ← PL-Resolve(Ci,Cj) if resolvents contains the empty clause then return true new ← new ∪ resolvents if new ⊆ clauses then return false clauses ← clauses ∪ new

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 76

slide-77
SLIDE 77

Resolution example

KB = (B1,1 ⇔ (P1,2 ∨ P2,1)) ∧ ¬B1,1 α = ¬P1,2

P1,2 P1,2 P2,1 P1,2 B1,1 B1,1 P2,1 B1,1 P1,2 P2,1 P2,1 P1,2 B1,1 B1,1 P1,2 B1,1 P2,1 B1,1 P2,1 B1,1 P1,2 P2,1 P1,2

Note: need only convert KB to CNF once

  • can handle multiple queries with same KB
  • after addition of new fact α, can simply add new clauses α′ to

KB

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 77

slide-78
SLIDE 78

Derivation and entailment

Claim: resolvent is entailed by input clauses Proof: Suppose m | = p ∨ α and m | = ¬p ∨ β Case 1: m | = p then m | = β, so m | = (α ∨ β) Case 2: m | = p then m | = β, so m | = (α ∨ β) Either way, m | = (α ∨ β) {(p ∨ α), (¬p ∨ β)} | = (α ∨ β) Special case: c and ¬c resolve to { } i.e., {c, ¬c} is unsatisfiable

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 78

slide-79
SLIDE 79

Derivation and entailment

Can extend the previous argument to derivations If KB ⊢ c then KB | = c Proof: by induction on the length of the derivation Show (by looking at the two cases) that KB | = ci But the converse does not hold in general Can have KB | = c without having KB ⊢ c E.g., ¬p | = ¬p ∨ ¬q but no derivation Note: resolution is sound but not complete in general

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 79

slide-80
SLIDE 80

Soundness and completeness of resolution

Theorem: i (resolution) is sound and refutation complete if KB ⊢i α iff KB | = α, i.e. A set of clauses is unsatisfiable iff the resolution closure of those clauses contains the empty clause – provides method for determining satisfiability: search all deriva- tions for { } – so provides a method for determining all entailments Proof of soundness – Consider the complementary literals ℓi,mj, easy to check

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 80

slide-81
SLIDE 81

Completeness

Resolution closure RC(S) (of a set of clauses S) denotes the set of all clauses derivable by resolution; RC(S) must be finite

  • 1. Consider the contrapositive: if the closure RC(S) does not con-

tains the empty clause, then S is satisfiable

  • 2. Construct a model for S with suitable truth values for the symbols

P1, · · · , Pk that appear in S: For i from 1 to k – If a clause in RC(S) contains ¬Pi and all its other literals are false under the assignment chosen for P1, · · · , Pi−1, then assign false to Pi – Otherwise, assign true to Pi

  • 3. This assignment to P1, · · · , Pk is a model of S

Proof by contradiction: at some stage i in the sequence, assigning symbol Pi causes some clause C to become false

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 81

slide-82
SLIDE 82

Model checking

Two efficient algorithms for propositional theorem proving based on model checking: Backtracking – DPLL (Davis-Putnam-Logemann-Loveland) algorithm: recur- sive, depth-first enumeration of possible models Local search – Similarly, Min-Conflicts for CSPs, using an evaluation func- tion that counts the number of unsatisfied clauses

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 82

slide-83
SLIDE 83

DPLL

DPLL: a complete backtracking algorithm – improving TT-Entail

  • Early termination: a clause is true if any literal is true

E.g., (A ∨ B) ∧ (A ∨ C) is true if A is true, regardless B, C

  • Pure symbol heuristic: a pure symbol appears with the same “sign”

in all clauses E.g., (A ∨ ¬B), (¬B ∨ ¬C), (C ∨ A) A (only positive appears) and B are pure, C is impure A sentence has a model ⇒ it has a model with the pure symbols assigned so as to make their literals true

  • Unit clause heuristic: a unit clause with just one literal, with esp.

clauses in which all literals but one are already assigned false E.g., if B = true , then (¬B ∨ ¬C) simplifies to ¬C assigning one unit clause can create another one (unit propagation)

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 83

slide-84
SLIDE 84

DPLL algorithm

function DPLL-Satisfiable?(s) returns true or false inputs: s, a sentence in propositional logic clauses ← the set of clauses in the CNF representation of s symbols ← a list of the proposition symbols in s return DPLL(clauses,symbols,[ ]) function DPLL(clauses,symbols,model) returns true or false if every clause in clauses is true in model then return true if some clause in clauses is false in model then return false P,value ← Find-Pure-Symbol(symbols,clauses,model) if P is non-null then return DPLL(clauses,symbols – P,model ∪ {P = value}) P,value ← Find-Unit-Clause(clauses,model) if P is non-null then return DPLL(clauses,symbols – P,model ∪ {P = value}) P ← First(symbols); rest ← Rest(symbols) return DPLL(clauses,rest,model ∪ {P = value}) or DPLL(clauses,rest,model ∪ {P = value})

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 84

slide-85
SLIDE 85

SAT problem

SAT(isfiability) is the problem of determining the satisfiability of sen- tences in propositional logic – The first problem was proved to be NP-complete (Cook Theo- rem, 1971) – Many problems in computer science are really SAT problems – E.g., CSPs ask whether the constraints are satisfiable by some assignment Roughly, any search task where what is searched for can be verified in polynomial time can be recast as a satisfiability problem – Recall that KB | = α can be done by testing unsatisfiability of KB ∧ ∨α In general, satisfiability can be checked by enumerating the possible models until one is found that satisfies the sentences Satisfiability is believed by most people to be unsolvable in polynomial time

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 85

slide-86
SLIDE 86

3SAT

Notation CNFk(m, n): k-CNF sentence with m clauses and n sym- bols, where the clauses are chosen uniformly, independently, and with-

  • ut replacement from among all clauses with k different literals, which

are positive or negative at random – E.g., 3SAT or CNF3(m, n) – 3SAT is also NP-complete (2SAT can be solved in polynomial time) DPLL algorithm is complete for solving SAT problem There are a number of SAT solvers, say, WalkSAT, MaxSAT, Satz, RSat, MiniSAT, GSAT, etc. – WalkSAT algorithm: on every iteration, picking an unsatis- fied clause and a symbol to flip at a “random walk” step

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 86

slide-87
SLIDE 87

WalkSAT algorithm

function WalkSAT(clauses,p,max-flips) returns a satisfying model or failure inputs: clauses, a set of clauses in propositional logic p, the probability of choosing to do a “random walk” move, typically 0.5 max-flips, number of flips allowed before giving up model ← a random assignment of true/false to the symbols in clauses for i = 1 to max-flips do if model satisfies clauses then return model clause ← a randomly selected clause from clauses that is false in model with probability p flip the value in model of a ran. selected symbol from clause else flip whichever symbol in clause maximizes the number of satisfied clauses return failure

if max-flips is infinity and the sentence is unsatisfiable, then the algorithm never terminates

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 87

slide-88
SLIDE 88

SAT vs. CSP

SAT ⇔ CSP SAT problem with the clausal form can be represented by the constraint graph as CSP – using CSP algorithms to solve SAP problems CSP with the the constraint graph can be translated into the clausal form as SAP problem – using SAP solvers to solve CSPs Both benefit from each other

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 88

slide-89
SLIDE 89

Satisfiability modulo theories

SMT problem is a decision problem for logical formulas w.r.t. com- binations of background theories expressed in FOL, e.g. – integers, real numbers · · · – data structures, such as lists, arrays, bit vectors · · · SMT can be viewed as a form of CSP and solved by applications of SAT solvers SAT competitions since 2002 Ref: Biere et al., 2009, Handbook of Satisfiability

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 89

slide-90
SLIDE 90

Logical agents in propositional level

  • Wumpus agent

– The wumpus world KB – Finding pits and wumpus using logical inference – Translating knowledge into action

  • Circuit-based agent

1 2 3 1 2

C1 A2 A1 X1 X2 O1

digital (logical) circuit ⇒ components ⇒ CPU/GPU ⇒ VLSI = PL

  • Database agent

AI Slides (5e) c Lin Zuoquan@PKU 2003-2019 5 90