All rights reservedL. Manevitz Lecture 41 Artificial Intelligence Logic L. Manevitz
All rights reservedL. Manevitz Lecture 42 Logic - Advantages Pretty universal – (need to choose the correct language). Clear semantics –Interpretation. –Intended Interpretation. Uniform Method of Manipulating –Theorem proving via Resolution. –Green’s Trick for answer production.
All rights reservedL. Manevitz Lecture 43 Representing Information Formulas Semantic connection Formal connection Representation Interpretation
All rights reservedL. Manevitz Lecture 44 Basic Concept Let be a set of formulas. Let φ be a specific formula. When does φ logically follow from ? Meaning : in every possible interpretation where is true then φ is true. Notationally : φ ( “semantically implies φ).
All rights reservedL. Manevitz Lecture 45 Syntax Language: –Logical symbols. –Relation symbols. –Function symbols. –Constant symbols. Terms – recursive. Formulas – recursive. Sentences – no free variables.
All rights reservedL. Manevitz Lecture 46 Semantics - Interpretation θ= R i AxAx..xA F k : AxAx..xA A C l A θθθθθθθθθ θ θ θ
All rights reservedL. Manevitz Lecture 47 Semantics To handle variables, we extend the notion of satisfaction to include variables (explain on blackboard)
All rights reservedL. Manevitz Lecture 48 How to work with Basic semantic equivalents : – (e.g. De Morgan’s Laws, Assoc. Laws, Distr. Laws). Fundamental Problem : –Find mechanical procedure to test if φ or not.
All rights reservedL. Manevitz Lecture 49 Abstraction of Proof - φ Intuitive: φ 1 φ 2 φ n = φ Example: “Acceptable Rule” φ ψ(MP) Where φ i or φ i follows from {φ j | j<i } By “acceptable” rule φ ψ
All rights reservedL. Manevitz Lecture 410 Definitions A system S is consistent if whenever φ then φ. A system S is complete if whenever φ then φ. s s
All rights reservedL. Manevitz Lecture 411 Theorem Completeness Theorem: There is a system S s.t. φ φ
All rights reservedL. Manevitz Lecture 412 Example Trivially complete where A is any formula. Sound Rule: (MP) A A B A B
All rights reservedL. Manevitz Lecture 413 Example cont. [M | s] A B iff [M | s] A or [M | s] B by def. If [M | s] A then [M | s] A by def. It follows that [M | s] B. A B A B
All rights reservedL. Manevitz Lecture 414 What kind of systems ? Mimic People (“Natural Deduction”). Mimic Mathematical Proof. Convenient for Computers.
All rights reservedL. Manevitz Lecture 415 Proof Systems “Natural Deduction” Formal Computational e.g. Resolution Completeness Theorem
All rights reservedL. Manevitz Lecture 416 Control DATA Set of formulas Rules of Deduction What rule to apply to what ?
All rights reservedL. Manevitz Lecture 417 Resolution System (Syntax) Sound Rule Basic Idea: (φ 1 … φ n ) ( φ 1 ψ 1 … ψ m ) φ 2 … φ n ψ 1 … ψ m
All rights reservedL. Manevitz Lecture 418 Semantic Equivalents We can check this, now that we have a definition of truth in interpretations. Example ~(~p) is equivalent to p
All rights reservedL. Manevitz Lecture 419 Semantic Equivalents ( A) A A B A B B A A B (A B) (B A) Associative : –A (B C) (A B) C
All rights reservedL. Manevitz Lecture 420 Semantic Equivalents cont. Commutative: –A B B A Distributive: –A (B C) (A B) (A C)
All rights reservedL. Manevitz Lecture 421 Semantic Equivalents cont. De Morgan: – (A B) ( A) ( B)
All rights reservedL. Manevitz Lecture 422 Quantifier Equivalences De Morgan: (( x)A(x)) ( x) A(x) x A(x) y A(y) x [P(x) Q(x)] ( x P(x)) ( x Q(x))
All rights reservedL. Manevitz Lecture 423 Resolution (Predicate) S Convert to set of clauses. Convert S to set of clauses. Let Clauses := all the above clauses. Repeat until NIL found : –Select two clauses. –Resolve (using Unification). –Check result : If result is NIL finish. Otherwise add result to Clauses
All rights reservedL. Manevitz Lecture 424 Over all Procedure 1.Eliminate,. 2.Push to atomic. 3.Eliminate. 4.Rename variables in a formula. 5.Move quantifier to the left.
All rights reservedL. Manevitz Lecture 425 Over all Procedure 6.Push down. 7.Eliminate conj. - By making separate formulas. 8.Rename variables in all formulas. 9.Eliminate - Convention.
All rights reservedL. Manevitz Lecture 426 Example [ x (A(x) B(x)] [ y C(y)] A(a) B(a) y C(y) y [ A(a) B(a) C(y)] Get Clause [ A(a) B(a) C(y)] To replace add a constant to language.
All rights reservedL. Manevitz Lecture Elimination example x y Boss (y,x) –Problem: Constant not sufficient. y depends on x. –Solution: Add a new function symbol f(). x Boss (f(x),x)
All rights reservedL. Manevitz Lecture 428 Example 1. x [Brick(x) [ y[On(x,y) Pyramid(y)] y[On(x,y) On(y,x)] y[ Brick(y) Equal(x,y)]]] 2.x [ Brick(x) [ y[On(x,y) Pyramid(y)] y[On(x,y) On(y,x)] y[ ( Brick(y)) Equal(x,y)]]] Eliminate Push
All rights reservedL. Manevitz Lecture 429 Example cont. 3.x [ Brick(x) [ y[On(x,y) Pyramid(y)] y[ On(x,y) On(y,x)] y[Brick(y) Equal(x,y)]]] 4.x [ Brick(x) [[On(x,support(x)) Pyramid(support(x))] y[ On(x,y) On(y,x)] y[Brick(y) Equal(x,y)]]] Eliminate Rename variables apart
All rights reservedL. Manevitz Lecture 430 Example cont. 5.x [ Brick(x) [[On(x,support(x)) Pyramid(support(x))] y[ On(x,y) On(y,x)] z[Brick(z) Equal(x,z)]]] 6.x y z [ Brick(x) [[On(x,support(x)) Pyramid(support(x))] [ On(x,y) On(y,x)] [Brick(z) Equal(x,z)]]] Move to left Push down
All rights reservedL. Manevitz Lecture 431 Example cont. 7.x y z [ Brick(x) [On(x,support(x)) Pyramid(support(x))]] [ Brick(x) On(x,y) On(y,x)] [ Brick(x) Brick(z) Equal(x,z)]]
All rights reservedL. Manevitz Lecture 432 Example cont. 8.x y z [[ Brick(x) On(x,support(x))] [ Brick(x) Pyramid(support(x))] [ Brick(x) On(x,y) On(y,x)] [ Brick(x) Brick(z) Equal(x,z)]] Eliminate conj.
All rights reservedL. Manevitz Lecture 433 Example cont. 9.x [ Brick(x) On(x,support(x))] x [ Brick(x) Pyramid(support(x))] x y [ Brick(x) On(x,y) On(y,x)] x z [ Brick(x) Brick(z) Equal(x,z)] Rename variables
All rights reservedL. Manevitz Lecture 434 Example cont. 10. x [ Brick(x) On(x,support(x))] w [ Brick(w) Pyramid(support(w))] u y [ Brick(u) On(u,y) On(y,u)] v z [ Brick(v) Brick(z) Equal(v,z)] Eliminate
All rights reservedL. Manevitz Lecture 435 Example cont. Clause form: Brick(x) On(x,support(x)) Brick(w) Pyramid(support(w)) Brick(u) On(u,y) On(y,u) Brick(v) Brick(z) Equal(v,z)