Horn Clauses and Unification

Slides:



Advertisements
Similar presentations
Artificial Intelligence 8. The Resolution Method
Advertisements

Resolution Proof System for First Order Logic
Biointelligence Lab School of Computer Sci. & Eng.
Inference Rules Universal Instantiation Existential Generalization
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
Standard Logical Equivalences
Resolution.
Inference and Reasoning. Basic Idea Given a set of statements, does a new statement logically follow from this. For example If an animal has wings and.
For Friday No reading Homework: –Chapter 9, exercise 4 (This is VERY short – do it while you’re running your tests) Make sure you keep variables and constants.
Logic Use mathematical deduction to derive new knowledge.
F22H1 Logic and Proof Week 7 Clausal Form and Resolution.
Prolog IV Logic, condensed. 2 Propositional logic Propositional logic consists of: The logical values true and false ( T and F ) Propositions: “Sentences,”
1 Applied Computer Science II Resolution in FOL Luc De Raedt.
CSE (c) S. Tanimoto, 2008 Propositional Logic
AI - Week 16 Logic and Reasoning in AI: Resolution Refutation Lee McCluskey, room 2/07
Inference and Resolution for Problem Solving
Artificial Intelligence
CSE (c) S. Tanimoto, 2007 Unification 1 Unification Predicate calculus rules are sometimes so general that we need to create specializations of.
CSE (c) S. Tanimoto, 2005 Logic Programming 1 Logic Programming Outline: Motivation Examples: The Grandmother relation Formulation in Prolog Logic,
Introduction to Logic for Artificial Intelligence Lecture 2 Erik Sandewall 2010.
Knowledge & Reasoning Logical Reasoning: to have a computer automatically perform deduction or prove theorems Knowledge Representations: modern ways of.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Conjunctive normal form: any formula of the predicate calculus can be transformed into a conjunctive normal form. Def. A formula is said to be in conjunctive.
1 Chapter 8 Inference and Resolution for Problem Solving.
First Order Predicate Logic
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
CSE S. Tanimoto Horn Clauses and Unification 1 Horn Clauses and Unification Propositional Logic Clauses Resolution Predicate Logic Horn Clauses.
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
Dr. Muhammed Al-Mulhem ICS An Introduction to Logical Programming.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
Reasoning using First-Order Logic
The Law of Resolution Formal Aspects of Computer Science - Week 7 The Law of Resolution Lee McCluskey, room 2/07
Propositional Logic Predicate Logic
1 Section 9.1 Automatic Reasoning Recall that a wff W is valid iff ¬ W is unsatisfiable. Resolution is an inference rule used to prove unsatisfiability.
第 1 6 章 谓词演算中的归结. 2 Outline Unification Predicate-Calculus Resolution Completeness and Soundness Converting Arbitrary wffs to Clause Form Using Resolution.
Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri CS 440 / ECE 448 Introduction to Artificial Intelligence.
CSE (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.
1-1 An Introduction to Logical Programming Sept
Copyright 1999Paul F. Reynolds, Jr. Foundations of Logic Programming.
CSE (c) S. Tanimoto, 2001 Logic Programming
By P. S. Suryateja Asst. Professor, CSE Vishnu Institute of Technology
Introduction to Logic for Artificial Intelligence Lecture 2
CSE 341, S. Tanimoto Logic Programming -
Propositional Logic Resolution
Proposition & Predicates
Horn Clauses and Unification
Logic Programming Languages
CSE 311 Foundations of Computing I
Logic Use mathematical deduction to derive new knowledge.
Horn Clauses and Unification
Prolog IV Logic, condensed.
Horn Clauses and Unification
CSE (c) S. Tanimoto, 2004 Unification
CSE S. Tanimoto Unification
Reasoning with the Propositional Calculus
CSE (c) S. Tanimoto, 2002 Unification
Reasoning with the Propositional Calculus
CSE (c) S. Tanimoto, 2004 Logic Programming
CSE (c) S. Tanimoto, 2002 Logic Programming
Horn Clauses and Unification
Predicates and Quantifiers
CS2136: Paradigms of Computation
Encoding Knowledge with First Order Predicate Logic
Reasoning with the Propositional Calculus
Reasoning with the Propositional Calculus
Encoding Knowledge with First Order Predicate Logic
RESOLUTION.
Encoding Knowledge with First Order Predicate Logic
Resolution Proof System for First Order Logic
Prolog Concepts.
Presentation transcript:

Horn Clauses and Unification Propositional Logic Clauses Resolution Predicate Logic Horn Clauses Unification Resolution of Horn Clauses CSE 341 -- S. Tanimoto Horn Clauses and Unification

CSE 341 -- S. Tanimoto Horn Clauses and Unification Propositional Logic “If the butler had a motive and the butler was alone with the victim then the butler is guilty.” Define our atomic formulas: P: The butler had a motive. Q: The butler was alone. R: The butler is guilty. Express the compound formula: (P & Q) -> R a typeable version of (P  Q)  R CSE 341 -- S. Tanimoto Horn Clauses and Unification

CSE 341 -- S. Tanimoto Horn Clauses and Unification Clause Form Any boolean formula can be put into conjunctive normal form (CNF). From there, it’s easy to get “clause form.” Automatic inference using resolution requires statements be in clause form. If not Y then X and not Z. Y or (X & not Z) (Y or X & (Y or not Z) (X V Y) & (Y V ~Z) clauses: (X V Y), (Y V ~Z) X, Y, and ~Z are called literals. (A literal is a variable or a negated variable.) Each clause is a disjunction of literals. A formula in CNF is a conjunction of clauses. For our example with the butler, we get the following clause: ~ P V ~ Q V R CSE 341 -- S. Tanimoto Horn Clauses and Unification

CSE 341 -- S. Tanimoto Horn Clauses and Unification Resolution Resolution is a way to make a new clause from two existing clauses. If the two original clauses were true, then the new one is, too. The two existing clauses must be compatible, in order to use resolution. There must exist some literal in one clause that occurs negated in the other clause. Example: Clause 1: A V ~ B V C Clause 2: B V D These are compatible, because the literal ~B in Clause 1 occurs negated (as B) in Clause 2. These two clauses have a unique resolvent, since there is only one complementary literal, B. The resolvent is formed by disjoining (i.e., combining with "V" all the literals of clause 1 and clause 2 except the ones involving B. This results in A V C V D. CSE 341 -- S. Tanimoto Horn Clauses and Unification

CSE 341 -- S. Tanimoto Horn Clauses and Unification Example of Resolution “If the butler had a motive and the butler was alone with the victim then the butler is guilty. If the butler needed money, then the butler had a motive. The butler needed money. The butler was alone with the victim.” Prove that the butler was guilty. Premises: c1: ~ P V ~ Q V R c2: ~ S V P If the butler needed money, then the butler had a motive. c3: S The butler needed money. c4: Q The butler was alone with the victim. Assume to the contrary that the butler was not guilty: c5: ~ R Show a contradiction by resolving to obtain the null clause []. c1 and c4 resolve to give c6: ~ P V R c6 and c2 resolve to give c7: ~ S V R c7 and c5 resolve to give c8: ~ S c8 and c3 resolve to give c6: [] Q.E.D. (Quod Erat Demonstrandum) CSE 341 -- S. Tanimoto Horn Clauses and Unification

Going from Propositional Logic to Predicate Logic Propositional logic is too limited in its expressive power to help us do real-world programming. We need to extend it to a system that uses domain variables, functions, and constants. We will still be able to use resolution to perform inference mechanically. CSE 341 -- S. Tanimoto Horn Clauses and Unification

CSE 341 -- S. Tanimoto Horn Clauses and Unification Predicate Logic “Every Macintosh computer uses electricity.” (all x) (Macintosh(x) implies UsesElectricity(x)) variables: x, y, z, etc. constants: a, b, c, etc. function symbols: f, g, etc. Predicate symbols: P, Q, Macintosh, UsesElectricity quantifiers: all, exists Logical connectives: not, implies, and, or. ~, ->, &, V. CSE 341 -- S. Tanimoto Horn Clauses and Unification

CSE 341 -- S. Tanimoto Horn Clauses and Unification Clause Form (all x) (Macintosh(x) -> UsesElectricity(x) UsesElectricity(x) V Not Macintosh(x). Clause form for predicate calculus expressions is similar to that for propositional calculus expressions. To achieve clause form, several steps may be required. a. Rewrite X -> Y expressions as ~ X V Y. b. Reduce scopes of negation. c. Using strict rules, eliminate quantifiers. If the scope of a universal quantifier is the whole formula, then drop the quantifier, the quantification will be implicit. Using Skolem constants and or Skolem functions, remove any existential quantifiers. d. Convert to conjunctive normal form CSE 341 -- S. Tanimoto Horn Clauses and Unification

CSE 341 -- S. Tanimoto Horn Clauses and Unification Horn clause: at most one unnegated literal (X V Y) is not a Horn clause. (Y V ~Z) is a Horn clause. “If X is the mother of Y and Y is a parent of Z, then X is a grandmother of Z.” (m(X,Y) & p(Y, Z)) -> g(X,Z). grandmother(X, Z) provided mother(X, Y) and parent (Y, Z) g(X,Z) :- m(X,Y), p(Y,Z). ; Edinburgh Prolog syntax grandmother(X, Z) :- % head mother(X, Y), % subgoal 1 parent(Y, Z). % subgoal 2 CSE 341 -- S. Tanimoto Horn Clauses and Unification

How Does Matching Work in Prolog? Literals are matched using a method called unification. The scope of a variable in Prolog is a single clause. Unification involves substituting “terms” for variables. CSE 341 -- S. Tanimoto Horn Clauses and Unification

Unification of Literals A substitution is a set of term/variable pairs. { f(a)/x, b/y, z/w } A unifier for a pair of literals is a substitution that when applied to both literals, makes them identical. P(x, a), P(f(a), y) have the unifier { f(a)/x, a/y } P(x), P(y) have the unifier { a/x, a/y }, but they also have the unifier { x/y }. The latter is more general because after unifying with { x/y} we get P(x) whereas with the other it is P(a), yet we can obtain the latter from the former with an additional substitution { a/x }. CSE 341 -- S. Tanimoto Horn Clauses and Unification

Horn-Clause Resolution Example of resolution with the grandmother rules: g(X, Z) :- m(X, Y), p(Y, Z). m(X, Y) :- p(X, Y), f(X). g(X, Z) :- p(X, Y), f(X), p(Y, Z). more generally, from: P :- Q1, Q2. Q1 :- R1, R2. we obtain the resolvent: P :- R1, R2, Q2 CSE 341 -- S. Tanimoto Horn Clauses and Unification

A Backtracking Horn-Clause Resolver Maintain the rules in a database of rules. Accept a query (goal) as a positive unit clause, e.g., P(a, b). Put this goal on the subgoal list. Repeatedly try to satisfy the next clause on the subgoal list as follows: Find a rule in the database whose head unifies with the subgoal. Apply the same unifier to the literals in the body of that rule and replace the subgoal by these new literals. If the subgoal list is empty, stop. The combined set of unifiers includes the solution. CSE 341 -- S. Tanimoto Horn Clauses and Unification