Question

In: Computer Science

In the Forward Chaining algorithm, after the algorithm stops, prove that for those atoms that are...

In the Forward Chaining algorithm, after the algorithm stops, prove that for those atoms that are not assigned to true during the inference process, there exists a model in the KB in which the atom is true and there exists a model in the KB in which the atom is false.

Solutions

Expert Solution

Forward chaining is also known as a forward deduction or forward reasoning method when using an inference engine. Forward chaining is a form of reasoning which start with atomic sentences in the knowledge base and applies inference rules (Modus Ponens) in the forward direction to extract more data until a goal is reached.

The Forward-chaining algorithm starts from known facts, triggers all rules whose premises are satisfied, and add their conclusion to the known facts. This process repeats until the problem is solved.

Properties of Forward-Chaining:

  • It is a down-up approach, as it moves from bottom to top.
  • It is a process of making a conclusion based on known facts or data, by starting from the initial state and reaches the goal state.
  • Forward-chaining approach is also called as data-driven as we reach to the goal using available data.
  • Forward -chaining approach is commonly used in the expert system, such as CLIPS, business, and production rule systems.

Consider the following famous example :

Example:

"As per the law, it is a crime for an American to sell weapons to hostile nations. Country A, an enemy of America, has some missiles, and all the missiles were sold to it by Robert, who is an American citizen."

Prove that "Robert is criminal."

To solve the above problem, first, we will convert all the above facts into first-order definite clauses, and then we will use a forward-chaining algorithm to reach the goal.

Facts Conversion into FOL:

  • It is a crime for an American to sell weapons to hostile nations. (Let's say p, q, and r are variables)
    American (p) ∧ weapon(q) ∧ sells (p, q, r) ∧ hostile(r) → Criminal(p) ...(1)
  • Country A has some missiles. ?p Owns(A, p) ∧ Missile(p). It can be written in two definite clauses by using Existential Instantiation, introducing new Constant T1.
    Owns(A, T1) ......(2)
    Missile(T1) .......(3)
  • All of the missiles were sold to country A by Robert.
    ?p Missiles(p) ∧ Owns (A, p) → Sells (Robert, p, A) ......(4)
  • Missiles are weapons.
    Missile(p) → Weapons (p) .......(5)
  • Enemy of America is known as hostile.
    Enemy(p, America) →Hostile(p) ........(6)
  • Country A is an enemy of America.
    Enemy (A, America) .........(7)
  • 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 which do not have implications, such as: American(Robert), Enemy(A, America), Owns(A, T1), and Missile(T1). All these facts will be represented as below.

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.

Rule-(4) satisfy with the substitution {p/T1}, so Sells (Robert, T1, A) is added, which infers from the conjunction of Rule (2) and (3).

Rule-(6) is satisfied with the substitution(p/A), so Hostile(A) is added and which infers from Rule-(7).

Step-3:

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 facts. And hence we reached our goal statement.

Hence it is proved that Robert is Criminal using forward chaining approach.

Note: Plzzz don' t give dislike.....Plzzz comment if u have any problem i will try to resolve it.......


Related Solutions

Identify proper use cases in Systems Engineering for forward and backward chaining. Describe the application and...
Identify proper use cases in Systems Engineering for forward and backward chaining. Describe the application and anticipated professional impact.
Consider the following sentences. Use BACKWARD CHAINING and draw the proof tree to prove that “Charlie...
Consider the following sentences. Use BACKWARD CHAINING and draw the proof tree to prove that “Charlie is a horse.” Horses, cows, and pigs are mammals. An offspring of a horse is a horse. Bluebeard is a horse. Bluebeard is Charlie's parent. Offspring and parent are inverse relations. Every mammal has a parent.
Why does the loop dont stop after Player1 wins. It stops after player2 wins but not...
Why does the loop dont stop after Player1 wins. It stops after player2 wins but not player1. After player1 wins it asks player2 to play again. Can someone pls help? import java.util.Scanner; public class Project2 { public static void main(String [] args) { Scanner input= new Scanner(System.in); int total = 15, max_stones = 5, num_stones_removed; int pile = total; //all stones are in the pile to start int count = total; boolean won= false; boolean player2=false; boolean player1=false;    while...
Prove that Kruskal’s algorithm finds a minimum weight spanning tree.
Prove that Kruskal’s algorithm finds a minimum weight spanning tree.
Is quicksort a stable sorting algorithm? If yes, prove it, if not, give an example
Is quicksort a stable sorting algorithm? If yes, prove it, if not, give an example
Prove that the algorithm for computing the coefficients in the Newton form of the interpolating polynomial...
Prove that the algorithm for computing the coefficients in the Newton form of the interpolating polynomial involves n^2 long operations (multiplication and division).
Prove Longest common subsequence algorithm class finds the optimal solution
Prove Longest common subsequence algorithm class finds the optimal solution
Prove the claim at the end of the section about the Euclidean Algorithm and Fibonacci numbers....
Prove the claim at the end of the section about the Euclidean Algorithm and Fibonacci numbers. Specifically, prove that if positive naturals a and b are each at most F(n), then the Euclidean Algorithm performs at most n − 2 divisions. (You may assume that n > 2.)
For a perceptron algorithm with a fixed learning rate(r), prove or disprove that if the classes...
For a perceptron algorithm with a fixed learning rate(r), prove or disprove that if the classes are not linearly separable, it may not converge. Can you modify the learning rate(r) so that the iterations converge in expectation? Explain.
In this exercise, we will prove the Division Algorithm for polynomials. Let R[x] be the ring...
In this exercise, we will prove the Division Algorithm for polynomials. Let R[x] be the ring of polynomials with real coefficients. For the purposes of this exercise, extend the definition of degree by deg(0) = −1. The statement to be proved is: Let f(x),g(x) ∈ R[x][x] be polynomials with g(x) ? 0. Then there exist unique polynomials q(x) and r(x) such that f (x) = g(x)q(x) + r(x) and deg(r(x)) < deg(g(x)). Fix general f (x) and g(x). (a) Let...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT