0% found this document useful (0 votes)
2 views25 pages

UNIT IV First Order Logic

The document discusses First-Order Logic (FOL) as an extension of propositional logic used for knowledge representation in artificial intelligence. It explains the components of FOL, including syntax, predicates, quantifiers, and the process of knowledge engineering. The document also outlines how to construct a knowledge base and encode general knowledge about specific domains, such as digital circuits.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views25 pages

UNIT IV First Order Logic

The document discusses First-Order Logic (FOL) as an extension of propositional logic used for knowledge representation in artificial intelligence. It explains the components of FOL, including syntax, predicates, quantifiers, and the process of knowledge engineering. The document also outlines how to construct a knowledge base and encode general knowledge about specific domains, such as digital circuits.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

information about the objects in a more easy way and can also express the

First-Order Logic in Artificial


relationship between those objects.
Intelligence  First-order logic (like natural language) does not only assume that the
world contains facts like propositional logic but also assumes the following
The propositional logic is to represent statements using propositional logic. things in the world:
But unfortunately, in propositional logic, we can only represent the facts,  Objects: A, B, people, numbers, colors, wars, theories, squares, pits,
which are either true or false. PL is not sufficient to represent the complex wumpus, ......
sentences or natural language statements. The propositional logic has very  Relations: It can be unary relation such as: red, round, is
limited expressive power. Consider the following sentence, which we cannot adjacent, or n-any relation such as: the sister of, brother of, has color,
represent using PL logic. comes between
 Function: Father of, best friend, third inning of, end of, ......
o "Some humans are intelligent", or
 As a natural language, first-order logic also has two main parts:
o "Sachin likes cricket."

a. Syntax
To represent the above statements, PL logic is not sufficient, so we required
b. Semantics
some more powerful logic, such as first-order logic.

Syntax of First-Order logic:


First-Order logic:
The syntax of FOL determines which collection of symbols is a logical
 First-order logic is another way of knowledge representation in
expression in first-order logic. The basic syntactic elements of first-order
artificial intelligence. It is an extension to propositional logic.
logic are symbols. We write statements in short-hand notation in FOL.
 FOL is sufficiently expressive to represent the natural language
statements in a concise way. Basic Elements of First-order logic:
 First-order logic is also known as Predicate logic or First-order
predicate logic. First-order logic is a powerful language that develops Following are the basic elements of FOL syntax:

1|Page First-Order Logic in Artificial intelligence


o Complex sentences are made by combining atomic sentences using
Constant 1, 2, A, John, Mumbai, cat,....
connectives.
Variables x, y, z, a, b,....
First-order logic statements can be divided into two parts:
Predicates Brother, Father, >,....
o Subject: Subject is the main part of the statement.
Function sqrt, LeftLegOf, .... o Predicate: A predicate can be defined as a relation, which binds two
atoms together in a statement.
Connectives ∧, ∨, ¬, ⇒, ⇔

Consider the statement: "x is an integer.", it consists of two parts, the first
Equality ==
part x is the subject of the statement and second part "is an integer," is
Quantifier ∀, ∃ known as a predicate.

Atomic sentences:

o Atomic sentences are the most basic sentences of first-order logic.


These sentences are formed from a predicate symbol followed by a
parenthesis with a sequence of terms.
o We can represent atomic sentences as Predicate (term1, term2, ......,
term n).

Example: Ravi and Ajay are brothers: => Brothers(Ravi, Ajay).


Quantifiers in First-order logic:
Chinky is a cat: => cat (Chinky).
o A quantifier is a language element which generates quantification,

Complex Sentences: and quantification specifies the quantity of specimen in the universe of
discourse.

2|Page First-Order Logic in Artificial intelligence


o These are the symbols that permit to determine or identify the range Let a variable x which refers to a cat so all x can be represented in UOD as
and scope of the variable in the logical expression. There are two types of below:
quantifier:
a. Universal Quantifier, (for all, everyone, everything)
b. Existential quantifier, (for some, at least one).

Universal Quantifier:

Universal quantifier is a symbol of logical representation, which specifies that


the statement within its range is true for everything or every instance of a
particular thing.

The Universal quantifier is represented by a symbol ∀, which resembles an


inverted A.

Note: In universal quantifier we use implication "→".

If x is a variable, then ∀x is read as: ∀x man(x) → drink (x, coffee).

o For all x It will be read as: There are all x where x is a man who drink coffee.

o For each x
o For every x.
Existential Quantifier:

Example: Existential quantifiers are the type of quantifiers, which express that the
statement within its scope is true for at least one instance of something.
All man drink coffee.

3|Page First-Order Logic in Artificial intelligence


It is denoted by the logical operator ∃, which resembles as inverted E. When It will be read as: There are some x where x is a boy who is intelligent.
it is used with a predicate variable then it is called as an existential quantifier.
Points to remember:
Note: In Existential quantifier we always use AND or Conjunction symbol (∧).

o The main connective for universal quantifier ∀ is implication →.


If x is a variable, then existential quantifier will be ∃x or ∃(x). And it will be
o The main connective for existential quantifier ∃ is and ∧.
read as:

o There exists a 'x.' Properties of Quantifiers:


o For some 'x.'
o In universal quantifier, ∀x∀y is similar to ∀y∀x.
o For at least one 'x.'
o In Existential quantifier, ∃x∃y is similar to ∃y∃x.

Example: o ∃x∀y is not similar to ∀y∃x.

Some boys are intelligent. Some Examples of FOL using quantifier:

1. All birds fly.


In this question the predicate is "fly(bird)."
And since there are all birds who fly so it will be represented as follows.
∀x bird(x) →fly(x).

2. Every man respects his parent.


In this question, the predicate is "respect(x, y)," where x=man, and y=
parent.
Since there is every man so will use ∀, and it will be represented as follows:
∀x man(x) → respects (x, parent).
∃x: boys(x) ∧ intelligent(x)

4|Page First-Order Logic in Artificial intelligence


3. Some boys play cricket. Free Variable: A variable is said to be a free variable in a formula if it occurs
In this question, the predicate is "play(x, y)," where x= boys, and y= game. outside the scope of the quantifier.
Since there are some boys so we will use ∃, and it will be represented as:
Example: ∀x ∃(y)[P (x, y, z)], where z is a free variable.
∃x boys(x) → play(x, cricket).

Bound Variable: A variable is said to be a bound variable in a formula if it


4. Not all students like both Mathematics and Science.
occurs within the scope of the quantifier.
In this question, the predicate is "like(x, y)," where x= student, and y=
subject.
Example: ∀x [A (x) B( y)], here x and y are the bound variables.
Since there are not all students, so we will use ∀ with negation, so following
representation for this:
¬∀ (x) [ student(x) → like(x, Mathematics) ∧ like(x, Science)].

5. Only one student failed in Mathematics.


In this question, the predicate is "failed(x, y)," where x= student, and y=
subject.
Since there is only one student who failed in Mathematics, so we will use
following representation for this:
∃(x) [ student(x) → failed (x, Mathematics) ∧∀ (y) [¬(x==y) ∧
student(y) → ¬failed (x, Mathematics)].

Free and Bound Variables:

The quantifiers interact with variables which appear in a suitable way. There
are two types of variables in First-order logic which are given below:

5|Page First-Order Logic in Artificial intelligence


Knowledge Engineering in First-order
logic

What is knowledge-engineering?

The process of constructing a knowledge-base in first-order logic is called as


knowledge- engineering. In knowledge-engineering, someone who
investigates a particular domain, learns important concept of that domain,
and generates a formal representation of the objects, is known 1. Identify the task:
as knowledge engineer.
The first step of the process is to identify the task, and for the digital circuit,
In this topic, we will understand the Knowledge engineering process in an there are various reasoning tasks.
electronic circuit domain, which is already familiar. This approach is mainly
At the first level or highest level, we will examine the functionality of the
suitable for creating special-purpose knowledge base.
circuit:

The knowledge-engineering process:


o Does the circuit add properly?
o What will be the output of gate A2, if all the inputs are high?
Following are some main steps of the knowledge-engineering process. Using
these steps, we will develop a knowledge base which will allow us to reason At the second level, we will examine the circuit structure details such as:
about digital circuit (One-bit full adder) which is given below
o Which gate is connected to the first input terminal?
o Does the circuit have feedback loops?

2. Assemble the relevant knowledge:

6|Page First-Order Logic in Artificial intelligence


In the second step, we will assemble the relevant knowledge which is The function Arity(c, i, j) is used to denote that circuit c has i input, j output.
required for digital circuits. So for digital circuits, we have the following
The connectivity between gates can be represented by
required knowledge:
predicate Connect(Out(1, X1), In(1, X1)).
o Logic circuits are made up of wires and gates.
We use a unary predicate On (t), which is true if the signal at a terminal is on.
o Signal flows through wires to the input terminal of the gate, and each
gate produces the corresponding output which flows further.
4. Encode general knowledge about the domain:
o In this logic circuit, there are four types of gates used: AND, OR,
XOR, and NOT. To encode the general knowledge about the logic circuit, we need some
o All these gates have one output terminal and two input terminals following rules:
(except NOT gate, it has one input terminal).
o If two terminals are connected then they have the same input signal,

3. Decide on vocabulary: it can be represented as:

The next step of the process is to select functions, predicate, and constants 1. ∀ t1, t2 Terminal (t1) ∧ Terminal (t2) ∧ Connect (t1, t2) → Signal (t1) =

to represent the circuits, terminals, signals, and gates. Firstly we will Signal (2).

distinguish the gates from each other and from other objects. Each gate is
o Signal at every terminal will have either value 0 or 1, it will be
represented as an object which is named by a constant, such as, Gate(X1).
represented as:
The functionality of each gate is determined by its type, which is taken as
constants such as AND, OR, XOR, or NOT. Circuits will be identified by a 1. ∀ t Terminal (t) →Signal (t) = 1 ∨Signal (t) = 0.
predicate: Circuit (C1).
o Connect predicates are commutative:
For the terminal, we will use predicate: Terminal(x).
1. ∀ t1, t2 Connect(t1, t2) → Connect (t2, t1).
For gate input, we will use the function In(1, X1) for denoting the first input
terminal of the gate, and for output terminal we will use Out (1, X1). o Representation of types of gates:

7|Page First-Order Logic in Artificial intelligence


1. ∀ g Gate(g) ∧ r = Type(g) → r = OR ∨r = AND ∨r = XOR ∨r = NOT. o All gates are logic circuits:

o Output of AND gate will be zero if and only if any of its input is zero. 1. ∀ g Gate(g) → Circuit (g).

1. ∀ g Gate(g) ∧ Type(g) = AND →Signal (Out(1, g))= 0 ⇔ ∃n Signal (In( 5. Encode a description of the problem instance:
n, g))= 0.
Now we encode problem of circuit C1, firstly we categorize the circuit and its
o Output of OR gate is 1 if and only if any of its input is 1: gate components. This step is easy if ontology about the problem is already
thought. This step involves the writing simple atomics sentences of instances
1. ∀ g Gate(g) ∧ Type(g) = OR → Signal (Out(1, g))= 1 ⇔ ∃n Signal (In(
of concepts, which is known as ontology.
n, g))= 1

For the given circuit C1, we can encode the problem instance in atomic
o Output of XOR gate is 1 if and only if its inputs are different:
sentences as below:

1. ∀ g Gate(g) ∧ Type(g) = XOR → Signal (Out(1, g)) = 1 ⇔ Signal (In(1,


Since in the circuit there are two XOR, two AND, and one OR gate so atomic
g)) ≠ Signal (In(2, g)).
sentences for these gates will be:

o Output of NOT gate is invert of its input:


1. For XOR gate: Type(x1)= XOR, Type(X2) = XOR

1. ∀ g Gate(g) ∧ Type(g) = NOT → Signal (In(1, g)) ≠ Signal (Out(1, g)). 2. For AND gate: Type(A1) = AND, Type(A2)= AND
3. For OR gate: Type (O1) = OR.

o All the gates in the above circuit have two inputs and one output And then represent the connections between all the gates.

(except NOT gate).


Note: Ontology defines a particular theory of the nature of existence.

1. ∀ g Gate(g) ∧ Type(g) = NOT → Arity(g, 1, 1)


6. Pose queries to the inference procedure and get
2. ∀ g Gate(g) ∧ r =Type(g) ∧ (r= AND ∨r= OR ∨r= XOR) → Arity (g, 2,
answers:
1).

8|Page First-Order Logic in Artificial intelligence


In this step, we will find all the possible set of values of all the terminal for Substitution is a fundamental operation performed on terms and formulas. It
the adder circuit. The first query will be: occurs in all inference systems in first-order logic. The substitution is complex
in the presence of quantifiers in FOL. If we write F[a/x], so it refers to
What should be the combination of input which would generate the first
substitute a constant "a" in place of variable "x".
output of circuit C1, as 0 and a second output to be 1?
Note: First-order logic is capable of expressing facts about some or all
1. ∃ i1, i2, i3 Signal (In(1, C1))=i1 ∧ Signal (In(2, C1))=i2 ∧ Signal (In(3, objects in the universe.
C1))= i3
Equality:
2. ∧ Signal (Out(1, C1)) =0 ∧ Signal (Out(2, C1))=1

First-Order logic does not only use predicate and terms for making atomic
7. Debug the knowledge base:
sentences but also uses another way, which is equality in FOL. For this, we
Now we will debug the knowledge base, and this is the last step of the can use equality symbols which specify that the two terms refer to the same

complete process. In this step, we will try to debug the issues of knowledge object.

base.
Example: Brother (John) = Smith.

In the knowledge base, we may have omitted assertions like 1 ≠ 0.


As in the above example, the object referred by the Brother (John) is similar
to the object referred by Smith. The equality symbol can also be used with
Inference in First-Order Logic
negation to represent that two terms are not the same objects.

Inference in First-Order Logic is used to deduce new facts or sentences from


Example: ¬(x=y) which is equivalent to x ≠y.
existing sentences. Before understanding the FOL inference rule, let's
understand some basic terminologies used in FOL. FOL inference rules for quantifier:
Substitution:
As propositional logic we also have inference rules in first-order logic, so
following are some basic inference rules in FOL:

9|Page First-Order Logic in Artificial intelligence


o Universal Generalization o The UI rule state that we can infer any sentence P(c) by substituting a
o Universal Instantiation ground term c (a constant within domain x) from ∀ x P(x) for any object in
o Existential Instantiation the universe of discourse.
o Existential introduction
o It can be represented as: .
1. Universal Generalization:
Example:1.
o Universal generalization is a valid inference rule which states that if
premise P(c) is true for any arbitrary element c in the universe of discourse, IF "Every person like ice-cream"=> ∀x P(x) so we can infer that

then we can have a conclusion as ∀ x P(x). "John likes ice-cream" => P(c)

Example: 2.
o It can be represented as: .
o This rule can be used if we want to show that every element has a
Let's take a famous example,
similar property.
o In this rule, x must not appear as a free variable. "All kings who are greedy are Evil." So let our knowledge base contains this
detail as in the form of FOL:
Example: Let's represent, P(c): "A byte contains 8 bits", so for ∀ x P(x) "All
bytes contain 8 bits.", it will also be true. ∀x king(x) ∧ greedy (x) → Evil (x),

2. Universal Instantiation: So from this information, we can infer any of the following statements using
Universal Instantiation:
o Universal instantiation is also called as universal elimination or UI is a
valid inference rule. It can be applied multiple times to add new sentences. o King(John) ∧ Greedy (John) → Evil (John),

o The new KB is logically equivalent to the previous KB. o King(Richard) ∧ Greedy (Richard) → Evil (Richard),

o As per UI, we can infer any sentence obtained by substituting a o King(Father(John)) ∧ Greedy (Father(John)) → Evil (Father(John)),

ground term for the variable.

10 | P a g e First-Order Logic in Artificial intelligence


3. Existential Instantiation: 4. Existential introduction

o Existential instantiation is also called as Existential Elimination, which o An existential introduction is also known as an existential
is a valid inference rule in first-order logic. generalization, which is a valid inference rule in first-order logic.
o It can be applied only once to replace the existential sentence. o This rule states that if there is some element c in the universe of
o The new KB is not logically equivalent to old KB, but it will be discourse which has a property P, then we can infer that there exists
satisfiable if old KB was satisfiable. something in the universe which has the property P.
o This rule states that one can infer P(c) from the formula given in the
form of ∃x P(x) for a new constant symbol c. o It can be represented as:

o The restriction with this rule is that c used in the rule must be a new o Example: Let's say that,

term for which P(c ) is true. "Priyanka got good marks in English."
"Therefore, someone got good marks in English."
o It can be represented as:
Generalized Modus Ponens Rule:
Example:

For the inference process in FOL, we have a single inference rule which is
From the given sentence: ∃x Crown(x) ∧ OnHead(x, John),
called Generalized Modus Ponens. It is lifted version of Modus ponens.

So we can infer: Crown(K) ∧ OnHead( K, John), as long as K does not


Generalized Modus Ponens can be summarized as, " P implies Q and P is
appear in the knowledge base.
asserted to be true, therefore Q must be True."

o The above used K is a constant symbol, which is called Skolem


According to Modus Ponens, for atomic sentences pi, pi', q. Where there is a
constant.
substitution θ such that SUBST (θ, pi',) = SUBST(θ, pi), it can be
o The Existential instantiation is a special case of Skolemization
represented as:
process.

11 | P a g e First-Order Logic in Artificial intelligence


Let Ψ1 = King(x), Ψ2 = King(John),

Substitution θ = {John/x} is a unifier for these atoms and applying this

Example: substitution, and both expressions will be identical.

We will use this rule for Kings are evil, so we will find some x such that x o The UNIFY algorithm is used for unification, which takes two atomic

is king, and x is greedy so we can infer that x is evil. sentences and returns a unifier for those sentences (If any exist).
o Unification is a key component of all first-order inference algorithms.
1. Here let say, p1' is king(John) p1 is king(x) o It returns fail if the expressions do not match with each other.
2. p2' is Greedy(y) p2 is Greedy(x) o The substitution variables are called Most General Unifier or MGU.
3. θ is {x/John, y/John} q is evil(x)
4. SUBST(θ,q). E.g. Let's say there are two different expressions, P(x, y), and P(a, f(z)).

In this example, we need to make both above statements identical to each


other. For this, we will perform the substitution.

What is Unification?
P(x, y)......... (i)
P(a, f(z))......... (ii)
o Unification is a process of making two different logical atomic
expressions identical by finding a substitution. Unification depends on the o Substitute x with a, and y with f(z) in the first expression, and it will be
substitution process. represented as a/x and f(z)/y.
o It takes two literals as input and makes them identical using o With both the substitutions, the first expression will be identical to
substitution. the second expression and the substitution set will be: [a/x, f(z)/y].
o Let Ψ1 and Ψ2 be two atomic sentences and 𝜎 be a unifier such
that, Ψ1𝜎 = Ψ2𝜎, then it can be expressed as UNIFY(Ψ1, Ψ2). Conditions for Unification:
o Example: Find the MGU for Unify{King(x), King(John)}

12 | P a g e First-Order Logic in Artificial intelligence


Following are some basic conditions for unification: Step. 3: IF Ψ1 and Ψ2 have a different number of arguments, then
return FAILURE.

o Predicate symbol must be same, atoms or expression with different Step. 4: Set Substitution set(SUBST) to NIL.
predicate symbol can never be unified.
Step. 5: For i=1 to the number of elements in Ψ1.
o Number of Arguments in both expressions must be identical.
o Unification will fail if there are two similar variables present in the a) Call Unify function with the ith element of Ψ1 and ith
element of Ψ2, and put the result into S.
same expression.
b) If S = failure then returns Failure

Unification Algorithm: c) If S ≠ NIL then do,

Algorithm: Unify(Ψ1, Ψ2) a. Apply S to the remainder of both L1 and L2.

b. SUBST= APPEND(S, SUBST).


Step. 1: If Ψ1 or Ψ2 is a variable or constant, then:

Step.6: Return SUBST.


a) If Ψ1 or Ψ2 are identical, then return NIL.

b) Else if Ψ1is a variable, Implementation of the Algorithm


a. then if Ψ1 occurs in Ψ2, then return FAILURE
Step.1: Initialize the substitution set to be empty.
b. Else return { (Ψ2/ Ψ1)}.

Step.2: Recursively unify atomic sentences:


c) Else if Ψ2 is a variable,

a. If Ψ2 occurs in Ψ1 then return FAILURE, a. Check for Identical expression match.


b. If one expression is a variable vi, and the other is a term ti which does
b. Else return {( Ψ1/ Ψ2)}.
not contain variable vi, then:
d) Else return FAILURE.
a. Substitute ti / vi in the existing substitutions
Step.2: If the initial Predicate symbol in Ψ1 and Ψ2 are not same, b. Add ti /vi to the substitution setlist.
then return FAILURE.

13 | P a g e First-Order Logic in Artificial intelligence


c. If both the expressions are functions, then function name must be S2 => { p(b, f(g(b)), f(g(b)); p(b, f(g(b)), f(g(b))} Unified Successfully.
similar, and the number of arguments must be the same in both the And Unifier = { b/Z, f(Y) /X , g(b) /Y}.
expression.
3. Find the MGU of {p (X, X), and p (Z, f(Z))}
For each pair of the following atomic sentences find the most general
Here, Ψ1 = {p (X, X), and Ψ2 = p (Z, f(Z))
unifier (If exist).
S0 => {p (X, X), p (Z, f(Z))}
1. Find the MGU of {p(f(a), g(Y)) and p(X, X)} SUBST θ= {X/Z}
S1 => {p (Z, Z), p (Z, f(Z))}
Sol: S0 => Here, Ψ1 = p(f(a), g(Y)), and Ψ2 = p(X, X)
SUBST θ= {f(Z) / Z}, Unification Failed.
SUBST θ= {f(a) / X}
S1 => Ψ1 = p(f(a), g(Y)), and Ψ2 = p(f(a), f(a)) Hence, unification is not possible for these expressions.
SUBST θ= {f(a) / g(y)}, Unification failed.
4. Find the MGU of UNIFY(prime (11), prime(y))
Unification is not possible for these expressions.
Here, Ψ1 = {prime(11) , and Ψ2 = prime(y)}
2. Find the MGU of {p(b, X, f(g(Z))) and p(Z, f(Y), f(Y))} S0 => {prime(11) , prime(y)}
SUBST θ= {11/y}
Here, Ψ1 = p(b, X, f(g(Z))) , and Ψ2 = p(Z, f(Y), f(Y))
S0 => { p(b, X, f(g(Z))); p(Z, f(Y), f(Y))} S1 => {prime(11) , prime(11)} , Successfully unified.
SUBST θ={b/Z} Unifier: {11/y}.

S1 => { p(b, X, f(g(b))); p(b, f(Y), f(Y))} 5. Find the MGU of Q(a, g(x, a), f(y)), Q(a, g(f(b), a), x)}
SUBST θ={f(Y) /X}
Here, Ψ1 = Q(a, g(x, a), f(y)), and Ψ2 = Q(a, g(f(b), a), x)
S2 => { p(b, f(Y), f(g(b))); p(b, f(Y), f(Y))} S0 => {Q(a, g(x, a), f(y)); Q(a, g(f(b), a), x)}
SUBST θ= {g(b) /Y}

14 | P a g e First-Order Logic in Artificial intelligence


SUBST θ= {f(b)/x} The inference engine is the component of the intelligent system in artificial
S1 => {Q(a, g(f(b), a), f(y)); Q(a, g(f(b), a), f(b))} intelligence, which applies logical rules to the knowledge base to infer new
information from known facts. The first inference engine was part of the expert
SUBST θ= {b/y}
system. Inference engine commonly proceeds in two modes, which are:
S1 => {Q(a, g(f(b), a), f(b)); Q(a, g(f(b), a), f(b))}, Successfully Unified.
1. Forward chaining
Unifier: [a/a, f(b)/x, b/y].
2. Backward chaining

6. UNIFY(knows(Richard, x), knows(Richard, John))


Horn Clause and Definite clause:

Here, Ψ1 = knows(Richard, x), and Ψ2 = knows(Richard, John)


Horn clause and definite clause are the forms of sentences, which enables
S0 => { knows(Richard, x); knows(Richard, John)}
knowledge base to use a more restricted and efficient inference algorithm.
SUBST θ= {John/x}
Logical inference algorithms use forward and backward chaining approaches,
S1 => { knows(Richard, John); knows(Richard, John)}, Successfully Unified.
which require KB in the form of the first-order definite clause.
Unifier: {John/x}.
Definite clause: A clause which is a disjunction of literals with exactly one
Forward Chaining and backward chaining positive literal is known as a definite clause or strict horn clause.

in AI Horn clause: A clause which is a disjunction of literals with at most one


positive literal is known as horn clause. Hence all the definite clauses are horn
In artificial intelligence, forward and backward chaining is one of the important clauses.
topics,.
Example: (¬ p V ¬ q V k). It has only one positive literal k.

Inference engine:
It is equivalent to p ∧ q → k.

A. Forward Chaining
15 | P a g e First-Order Logic in Artificial intelligence
Forward chaining is also known as a forward deduction or forward reasoning "As per the law, it is a crime for an American to sell weapons to hostile
method when using an inference engine. Forward chaining is a form of nations. Country A, an enemy of America, has some missiles, and all the
reasoning which start with atomic sentences in the knowledge base and missiles were sold to it by Robert, who is an American citizen."
applies inference rules (Modus Ponens) in the forward direction to extract
Prove that "Robert is criminal."
more data until a goal is reached.

To solve the above problem, first, we will convert all the above facts into first-
The Forward-chaining algorithm starts from known facts, triggers all rules
order definite clauses, and then we will use a forward-chaining algorithm to
whose premises are satisfied, and add their conclusion to the known facts. This
reach the goal.
process repeats until the problem is solved.

Properties of Forward-Chaining:
Facts Conversion into FOL:

o It is a crime for an American to sell weapons to hostile nations. (Let's


o It is a down-up approach, as it moves from bottom to top.
say p, q, and r are variables)
o It is a process of making a conclusion based on known facts or data,
American (p) ∧ weapon(q) ∧ sells (p, q, r) ∧ hostile(r) →
by starting from the initial state and reaches the goal state.
Criminal(p) ...(1)
o Forward-chaining approach is also called as data-driven as we reach to
o Country A has some missiles. ?p Owns(A, p) ∧ Missile(p). It can be
the goal using available data.
written in two definite clauses by using Existential Instantiation, introducing
o Forward -chaining approach is commonly used in the expert system,
new Constant T1.
such as CLIPS, business, and production rule systems.
Owns(A, T1) ......(2)
Consider the following famous example which we will use in both approaches: Missile(T1) .......(3)
o All of the missiles were sold to country A by Robert.
Example:
?p Missiles(p) ∧ Owns (A, p) → Sells (Robert, p, A) ......(4)
o Missiles are weapons.
Missile(p) → Weapons (p) .......(5)

16 | P a g e First-Order Logic in Artificial intelligence


o Enemy of America is known as hostile. Rule-(4) satisfy with the substitution {p/T1}, so Sells (Robert, T1, A) is added,
Enemy(p, America) →Hostile(p) ........(6) which infers from the conjunction of Rule (2) and (3).
o Country A is an enemy of America.
Rule-(6) is satisfied with the substitution(p/A), so Hostile(A) is added and which
Enemy (A, America) .........(7)
infers from Rule-(7).
o Robert is American
American(Robert). ..........(8)

Forward chaining proof:

Step-1:

In the first step we will start with the known facts and will choose the sentences Step-3:
which do not have implications, such as: American(Robert), Enemy(A,
America), Owns(A, T1), and Missile(T1). All these facts will be represented At step-3, as we can check Rule-(1) is satisfied with the substitution {p/Robert,
q/T1, r/A}, so we can add Criminal(Robert) which infers all the available
as below.
facts. And hence we reached our goal statement.

Step-2:

At the second step, we will see those facts which infer from available facts and
with satisfied premises.

Rule-(1) does not satisfy premises, so it will not be added in the first iteration.

Rule-(2) and (3) are already added.


17 | P a g e First-Order Logic in Artificial intelligence
Hence it is proved that Robert is Criminal using forward chaining In backward-chaining, we will use the same above example, and will rewrite all
approach. the rules.

B. Backward Chaining: o American (p) ∧ weapon(q) ∧ sells (p, q, r) ∧ hostile(r) → Criminal(p)


...(1)

Backward-chaining is also known as a backward deduction or backward Owns(A, T1) ........(2)

reasoning method when using an inference engine. A backward chaining o Missile(T1)

algorithm is a form of reasoning, which starts with the goal and works o ?p Missiles(p) ∧ Owns (A, p) → Sells (Robert, p, A) ......(4)

backward, chaining through rules to find known facts that support the goal. o Missile(p) → Weapons (p) .......(5)
o Enemy(p, America) →Hostile(p) ........(6)
Properties of backward chaining:
o Enemy (A, America) .........(7)
o American(Robert). ..........(8)
o It is known as a top-down approach.
o Backward-chaining is based on modus ponens inference rule.
Backward-Chaining proof:
o In backward chaining, the goal is broken into sub-goal or sub-goals to
prove the facts true.
In Backward chaining, we will start with our goal predicate, which
o It is called a goal-driven approach, as a list of goals decides which rules
is Criminal(Robert), and then infer further rules.
are selected and used.
o Backward -chaining algorithm is used in game theory, automated Step-1:
theorem proving tools, inference engines, proof assistants, and various AI
At the first step, we will take the goal fact. And from the goal fact, we will infer
applications.
other facts, and at last, we will prove those facts true. So our goal fact is "Robert
o The backward-chaining method mostly used a depth-first
is Criminal," so following is the predicate of it.
search strategy for proof.

Example:

18 | P a g e First-Order Logic in Artificial intelligence


Step-2:

At the second step, we will infer other facts form goal fact which satisfies the
rules. So as we can see in Rule-1, the goal predicate Criminal (Robert) is present
with substitution {Robert/P}. So we will add all the conjunctive facts below the
first level and will replace p with Robert.

Here we can see American (Robert) is a fact, so it is proved here.

Step-4:

At step-4, we can infer facts Missile(T1) and Owns(A, T1) form Sells(Robert, T1,
r) which satisfies the Rule- 4, with the substitution of A in place of r. So these
two statements are proved here.

Step-3:t At step-3, we will extract further fact Missile(q) which infer from
Weapon(q), as it satisfies Rule-(5). Weapon (q) is also true with the substitution
of a constant T1 at q.

19 | P a g e First-Order Logic in Artificial intelligence


Step-5: Difference between backward chaining
At step-5, we can infer the fact Enemy(A, America) from Hostile(A) which and forward chaining
satisfies Rule- 6. And hence all the statements are proved true using backward
Following is the difference between the forward chaining and backward
chaining.
chaining:

o Forward chaining as the name suggests, start from the known facts and
move forward by applying inference rules to extract more data, and it
continues until it reaches to the goal, whereas backward chaining starts from
the goal, move backward by using inference rules to determine the facts that
satisfy the goal.

20 | P a g e First-Order Logic in Artificial intelligence


o Forward chaining is called a data-driven inference technique, whereas
inference rule to extract more inference rules to find the required
backward chaining is called a goal-driven inference technique.
data unit it reaches to the goal. facts that support the goal.
o Forward chaining is known as the down-up approach, whereas
backward chaining is known as a top-down approach. 2. It is a bottom-up approach It is a top-down approach

o Forward chaining uses breadth-first search strategy, whereas


3. Forward chaining is known as Backward chaining is known as
backward chaining uses depth-first search strategy.
data-driven inference goal-driven technique as we start
o Forward and backward chaining both applies Modus ponens inference
technique as we reach to the from the goal and divide into sub-
rule.
goal using the available data. goal to extract the facts.
o Forward chaining can be used for tasks such as planning, design
process monitoring, diagnosis, and classification, whereas backward 4. Forward chaining reasoning Backward chaining reasoning
chaining can be used for classification and diagnosis tasks. applies a breadth-first search applies a depth-first search
o Forward chaining can be like an exhaustive search, whereas backward strategy. strategy.
chaining tries to avoid the unnecessary path of reasoning.
5. Forward chaining tests for all Backward chaining only tests for
o In forward-chaining there can be various ASK questions from the
the available rules few required rules.
knowledge base, whereas in backward chaining there can be fewer ASK
questions. 6. Forward chaining is suitable for Backward chaining is suitable for
o Forward chaining is slow as it checks for all the rules, whereas backward the planning, monitoring, diagnostic, prescription, and
chaining is fast as it checks few required rules only. control, and interpretation debugging application.
application.
S. Forward Chaining Backward Chaining
No. 7. Forward chaining can generate Backward chaining generates a
an infinite number of possible finite number of possible
1. Forward chaining starts from Backward chaining starts from the conclusions. conclusions.
known facts and applies goal and works backward through

21 | P a g e First-Order Logic in Artificial intelligence


Conjunctive Normal Form: A sentence represented as a conjunction of
8. It operates in the forward It operates in the backward
clauses is said to be conjunctive normal form or CNF.
direction. direction.

Note: To better understand this topic, firstly learns the FOL in AI.
9. Forward chaining is aimed for Backward chaining is only aimed
any conclusion. for the required data.
The resolution inference rule:

The resolution rule for first-order logic is simply a lifted version of the
propositional rule. Resolution can resolve two clauses if they contain
Resolution in FOL
complementary literals, which are assumed to be standardized apart so that
they share no variables.
Resolution

Resolution is a theorem proving technique that proceeds by building


refutation proofs, i.e., proofs by contradictions. It was invented by a
Mathematician John Alan Robinson in the year 1965. Where li and mj are complementary literals.

Resolution is used, if there are various statements are given, and we need to This rule is also called the binary resolution rule because it only resolves

prove a conclusion of those statements. Unification is a key concept in proofs exactly two literals.

by resolutions. Resolution is a single inference rule which can efficiently


Example:
operate on the conjunctive normal form or clausal form.

We can resolve two clauses which are given below:


Clause: Disjunction of literals (an atomic sentence) is called a clause. It is also
known as a unit clause.
[Animal (g(x) V Loves (f(x), x)] and [¬ Loves(a, b) V ¬Kills(a, b)]

Where two complimentary literals are: Loves (f(x), x) and ¬ Loves (a, b)

22 | P a g e First-Order Logic in Artificial intelligence


These literals can be unified with unifier θ= [a/f(x), and b/x] , and it will In the first step we will convert all the given statements into its first order logic.
generate a resolvent clause:

[Animal (g(x) V ¬ Kills(f(x), x)].

Steps for Resolution:

1. Conversion of facts into first-order logic.


2. Convert FOL statements into CNF
3. Negate the statement which needs to prove (proof by contradiction)
4. Draw resolution graph (unification).

To better understand all the above steps, we will take an example in which we Step-2: Conversion of FOL into CNF

will apply resolution.


In First order logic resolution, it is required to convert the FOL into CNF as CNF

Example: form makes easier for resolution proofs.

o Eliminate all implication (→) and rewrite


a. John likes all kind of food.
a. ∀x ¬ food(x) V likes(John, x)
b. Apple and vegetable are food
b. food(Apple) Λ food(vegetables)
c. Anything anyone eats and not killed is food.
c. ∀x ∀y ¬ [eats(x, y) Λ ¬ killed(x)] V food(y)
d. Anil eats peanuts and still alive
d. eats (Anil, Peanuts) Λ alive(Anil)
e. Harry eats everything that Anil eats.
e. ∀x ¬ eats(Anil, x) V eats(Harry, x)
Prove by resolution that:
f. ∀x¬ [¬ killed(x) ] V alive(x)
f. John likes peanuts.
g. ∀x ¬ alive(x) V ¬ killed(x)
Step-1: Conversion of Facts into FOL h. likes(John, Peanuts).

23 | P a g e First-Order Logic in Artificial intelligence


o Move negation (¬)inwards and rewrite o Drop Universal quantifiers.
. ∀x ¬ food(x) V likes(John, x) In this step we will drop all universal quantifier since all the statements are
a. food(Apple) Λ food(vegetables) not implicitly quantified so we don't need it.
b. ∀x ∀y ¬ eats(x, y) V killed(x) V food(y) . ¬ food(x) V likes(John, x)
c. eats (Anil, Peanuts) Λ alive(Anil) a. food(Apple)
d. ∀x ¬ eats(Anil, x) V eats(Harry, x) b. food(vegetables)
e. ∀x ¬killed(x) ] V alive(x) c. ¬ eats(y, z) V killed(y) V food(z)
f. ∀x ¬ alive(x) V ¬ killed(x) d. eats (Anil, Peanuts)
g. likes(John, Peanuts). e. alive(Anil)
o Rename variables or standardize variables f. ¬ eats(Anil, w) V eats(Harry, w)
. ∀x ¬ food(x) V likes(John, x) g. killed(g) V alive(g)
a. food(Apple) Λ food(vegetables) h. ¬ alive(k) V ¬ killed(k)
b. ∀y ∀z ¬ eats(y, z) V killed(y) V food(z) i. likes(John, Peanuts).
c. eats (Anil, Peanuts) Λ alive(Anil)
Note: Statements "food(Apple) Λ food(vegetables)" and "eats (Anil, Peanuts)
d. ∀w¬ eats(Anil, w) V eats(Harry, w)
Λ alive(Anil)" can be written in two separate statements.
e. ∀g ¬killed(g) ] V alive(g)
f. ∀k ¬ alive(k) V ¬ killed(k) o Distribute conjunction ∧ over disjunction ¬.
g. likes(John, Peanuts). This step will not make any change in this problem.
o Eliminate existential instantiation quantifier by elimination.
Step-3: Negate the statement to be proved
In this step, we will eliminate existential quantifier ∃, and this process is known
as Skolemization. But in this example problem since there is no existential
In this statement, we will apply negation to the conclusion statements, which
quantifier so all the statements will remain same in this step.
will be written as ¬likes(John, Peanuts)

Step-4: Draw Resolution graph:

24 | P a g e First-Order Logic in Artificial intelligence


Now in this step, we will solve the problem by resolution tree using o In the second step of the resolution graph, ¬ food(Peanuts) ,
substitution. For the above problem, it will be given as follows: and food(z) get resolved (canceled) by substitution of { Peanuts/z}, and we
are left with ¬ eats(y, Peanuts) V killed(y) .
o In the third step of the resolution graph, ¬ eats(y, Peanuts) and eats
(Anil, Peanuts) get resolved by substitution {Anil/y}, and we are left
with Killed(Anil) .
o In the fourth step of the resolution graph, Killed(Anil) and ¬
killed(k) get resolve by substitution {Anil/k}, and we are left with ¬
alive(Anil) .
o In the last step of the resolution graph ¬
alive(Anil) and alive(Anil) get resolved.

**********

Hence the negation of the conclusion has been proved as a complete


contradiction with the given set of statements.

Explanation of Resolution graph:

o In the first step of resolution graph, ¬likes(John, Peanuts) ,


and likes(John, x) get resolved(canceled) by substitution of {Peanuts/x}, and
we are left with ¬ food(Peanuts)

25 | P a g e First-Order Logic in Artificial intelligence

You might also like