CSE (c) S. Tanimoto, 2002 Unification

Slides:



Advertisements
Similar presentations
Artificial Intelligence 8. The Resolution Method
Advertisements

Biointelligence Lab School of Computer Sci. & Eng.
10 October 2006 Foundations of Logic and Constraint Programming 1 Unification ­An overview Need for Unification Ranked alfabeths and terms. Substitutions.
Standard Logical Equivalences
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.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
CSE (c) S. Tanimoto, 2008 Propositional Logic
Logic seminar 5 The resolution principle Slobodan Petrović.
Inference and Resolution for Problem Solving
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,
CSC411Artificial intelligence 1 Chapter 2 The Predicate Calculus Contents The Propositional Calculus The Predicate Calculus Using Inference Rules to Produce.
Introduction to Logic for Artificial Intelligence Lecture 2 Erik Sandewall 2010.
Inference in First-Order logic Department of Computer Science & Engineering Indian Institute of Technology Kharagpur.
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
CSE S. Tanimoto Horn Clauses and Unification 1 Horn Clauses and Unification Propositional Logic Clauses Resolution Predicate Logic Horn Clauses.
Unification Algorithm Input: a finite set Σ of simple expressions Output: a mgu for Σ (if Σ is unifiable) 1. Set k = 0 and  0 = . 2. If Σ  k is a singleton,
Unification We can represent any substitution by a set of ordered pairs: s = { t 1 /v 1, t 2 /v 2, …, t n /v n } where: t i /v i means that the term i.
Automated Reasoning Early AI explored how to automated several reasoning tasks – these were solved by what we might call weak problem solving methods as.
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.
CSE (c) S. Tanimoto, 2008 Predicate Calculus II 1 Predicate Calculus 2 Outline: Unification: definitions, algorithm Formal interpretations and satisfiability.
1 Section 8.3 Higher-Order Logic A logic is higher-order if it allows predicate names or function names to be quantified or to be arguments of a predicate.
CPSC 433 Artificial Intelligence Unification & Resolution Examples Andrew Kuipers Please include [CPSC433] in the subject line.
1 Hojjat Ghaderi, University of Toronto, Fall 2006 CSC384: Intro to Artificial Intelligence Knowledge Representation III ● Required Readings: 9.1, 9.2,
1 Section 7.1 First-Order Predicate Calculus Predicate calculus studies the internal structure of sentences where subjects are applied to predicates existentially.
CSE (c) S. Tanimoto, 2001 Logic Programming
3. The Logic of Quantified Statements Summary
Introduction to Logic for Artificial Intelligence Lecture 2
Factoring, The Fun Never Ends
Chapter 3 The Logic of Quantified Statements
CSE 341, S. Tanimoto Logic Programming -
The function of knowledge representation scheme is
Proposition & Predicates
CSE 311: Foundations of Computing
Probability The term probability refers to indicate the likelihood that some event will happen. For example, ‘there is high probability that it will rain.
Factorization by Cross-method
Horn Clauses and Unification
Today’s Topics Universes of Discourse
CS201: Data Structures and Discrete Mathematics I
CSE 311 Foundations of Computing I
Prolog syntax + Unification
CSE 311: Foundations of Computing
Soundness of SLD-Resolution
First Order Logic Rosen Lecture 3: Sept 11, 12.
Horn Clauses and Unification
Mathematical Background 1
FUNCTION NOTATION AND EVALUATING FUNCTIONS
Horn Clauses and Unification
CSE (c) S. Tanimoto, 2004 Unification
CSE S. Tanimoto Unification
Mathematical Background 1
Horn Clauses and Unification
Reasoning with the Propositional Calculus
Reasoning with the Propositional Calculus
CSE (c) S. Tanimoto, 2004 Logic Programming
CSE (c) S. Tanimoto, 2002 Logic Programming
Horn Clauses and Unification
Encoding Knowledge with First Order Predicate Logic
Reasoning with the Propositional Calculus
Reasoning with the Propositional Calculus
Encoding Knowledge with First Order Predicate Logic
CPSC 121: Models of Computation
CS201: Data Structures and Discrete Mathematics I
RESOLUTION.
Chapter 4: Prolog (Substitution, Unification and Resolution)
Encoding Knowledge with First Order Predicate Logic
Resolution Proof System for First Order Logic
Presentation transcript:

CSE 415 -- (c) S. Tanimoto, 2002 Unification Predicate calculus rules are sometimes so general that we need to create specializations of them in order to perform resolution. Suppose we have the rule If x is a working automobile, then x has an engine. P(x) -> Q(x) and we have the fact Tim’s Chevy is a working automobile P(a) These cannot immediately be resolved because P(x) and P(a) don’t quite match. They must be “unified.” CSE 415 -- (c) S. Tanimoto, 2002 Unification

CSE 415 -- (c) S. Tanimoto, 2002 Unification Modus Ponens P -> Q P --------- Q Modus ponens is a special case of resolution: ~P v Q CSE 415 -- (c) S. Tanimoto, 2002 Unification

Modus Ponens in the Predicate Calculus P(a) -> Q(a) P(a) --------- Q(a) But we have P(x) -> Q(x) So we create a substitution instance of it: using the substitution { a/x } CSE 415 -- (c) S. Tanimoto, 2002 Unification

CSE 415 -- (c) S. Tanimoto, 2002 Unification Substitutions A substitution is a set of term/variable pairs. e.g., { a/x, f(a)/y, w/z } Each element of the set is an elementary substitution. A particular variable occurs at most once on the the right-hand side of any elementary subst. in a substitution. { a/x, b/x } is not an acceptable substitution. The empty set is an acceptable substitution. If E is a term or a formula of the predicate calculus, and S is a substitution, then S(E) is the result of applying S to E, i.e., replacing each variable of S that occurs in E by the corresponding term in S. CSE 415 -- (c) S. Tanimoto, 2002 Unification

CSE 415 -- (c) S. Tanimoto, 2002 Unification Unifiers Given a pair of literals L1 and L2, if S is a substitution such that S(L1) = S(L2) or S(L1) = ~ S(L2), then S is a unifier for L1 and L2. Example: L1 = ~P(x, f(a)) L2 = P(b, y) S = { b/x, f(a)/y } S(L1) = ~P(b, f(a)) = ~S(L2) Therefore S is a unifier for L1 and L2. CSE 415 -- (c) S. Tanimoto, 2002 Unification

CSE 415 -- (c) S. Tanimoto, 2002 Unification The Occurs Check A unifier may not contain an elementary substitution of the form f(x)/x and may not cause an indefinite recursion. In general the term in a term/variable pair may not include that variable. P(x) and P(f(x)) cannot be unified, since f(x)/x is illegal. P(y, f(y)) and P(f(x), y) cannot be unified, since S = { f(x)/y, f(y)/x } leads to an indefinite recursion. Testing whether a variable appears in its corresponding term is called the “occurs check”. Some automated reasoning systems do not perform the occurs check in order to save time. CSE 415 -- (c) S. Tanimoto, 2002 Unification

Generality of Unifiers Some pairs of literals may have more than one possible unifier. P(x), P(y) is unified by each of { x/y }, { y/x }, { z/x, z/y }, { a/x, a/y}, { f(a)/x, f(a)/y } etc. Suppose S1 and S2 are unifiers for L1 and 12. Then S1(P1) = S1(P2) or S1(P1) = ~S1(P2) S2(P1) = S2(P2) or S2(P1) = ~S2(P2) S2 is less general than S1 if no S3 exists such that S3(S2(P1)) = S1(P1). { a/x, a/y } is less general than { y/x }. CSE 415 -- (c) S. Tanimoto, 2002 Unification

CSE 415 -- (c) S. Tanimoto, 2002 Unification Most General Unifiers A unifier S1 for L1 and L2 is a most general unifier (MGU) for L1 and L2 provided that for any other unifier S2 of L1 and L2 there exists a substitution S3 such that S3(S1(L1)) = S2(L1). S1 = { y/x } is a most general unifier for P(x), P(y). S2 = { f(a)/x, f(a)/y } is not a MGU for P(x), P(y). S3 = { f(a)/y } S3(S1(P(x))) = P(f(a)) = S2(P(x)). CSE 415 -- (c) S. Tanimoto, 2002 Unification

Finding a Most-General Unifier 1. Given literals L1 and L2, place a cursor at the left end of each. Skip any negation sign. If the predicate symbols do not match, return NOT-UNIFIABLE. 2. Let S = { }. 3. Move the cursors right to the next term in each literal. If there are no terms left, return S as a MGU. Let t1 and t2 be the terms. CSE 415 -- (c) S. Tanimoto, 2002 Unification

CSE 415 -- (c) S. Tanimoto, 2002 Unification Finding an MGU (Cont.) 4a. If t1 = t2, go to Step 3. 4b. Otherwise, if either t1 or t2 is a variable (call it v and call the other term t), then attempt to add t/v to S (see below). 4c. Otherwise if t1 and t2 both begin with function symbols, and these symbols are the same, move the cursors to the first argument of these symbols and go to step 4a. 4d. Otherwise, return NOT-UNIFIABLE. CSE 415 -- (c) S. Tanimoto, 2002 Unification

CSE 415 -- (c) S. Tanimoto, 2002 Unification Finding an MGU (Cont.) When trying to add t/v to S, apply { t/v } to each term in S. If this results in any elementary substitution whose term includes its variable, return NOT-UNIFIABLE. Otherwise, replace each elementary substitution in S by the result of applying { t/v } and add t/v itself to S. CSE 415 -- (c) S. Tanimoto, 2002 Unification

CSE 415 -- (c) S. Tanimoto, 2002 Unification Example L1: P(a, f(x, a)) L2: P(a, f(g(y), y)) S: { } S: { g(y)/x } S: { g(a)/x, a/y } CSE 415 -- (c) S. Tanimoto, 2002 Unification

Logical Inferences Per Second LIPS are sometimes used to describe the performance of a logical reasoning system. Can mean the number of successful unification operations per second. 1 successful unification <-> 1 successful resolution step. CSE 415 -- (c) S. Tanimoto, 2002 Unification