Forward Backward

download Forward Backward

of 2

Transcript of Forward Backward

  • 8/18/2019 Forward Backward

    1/2

    Backward Chaining is a reasoning technique employed by expert systems to take, what we call in technical terms, a goal, and prove that this goal was founded legitimately according to the rule base it possesses. It is a form of reverse engineering, which is very applicable in situations where there are so many rules that could be applied to a single problem, the system could be there all day sifting through rules before it gets anywhere. With backward chaining, the expert system is provided a goal, and sifts through the knowledge base to find the rules that would end on that note, and works from there to the very first rule that started it all. If no such rule is found, then the goal is ill-founded and untrue.

    Forward Chaining is a problem solving technique used by Expert Systems when they are faced with a scenario and have to give a solution or conclusion to this scenario. The system will work its way through the rules, finding which ones fit and which leads to which using Deductive Reasoning.

    Both techniques have their applications and relevance to problem solving with Expert Systems. Backward Chaining is more appropriate when the conclusion is already known. It will seems to run more efficiently than its counterpart, but can only be used in that context. Similarly, Forward Chaining is used when a conclusio

    n is not known before hand and it has to reason its way through to one. The waythey are chosen to be used, is usually relative to the context and how an actual expert would work to solve a problem in the system s stead.

    Forward chaining starts with the known facts and asserts new facts. Repeated application of rule Modus Ponens p,p-->q implies q.Forward chaining starts with the available data and uses inference rules to extract more data (from an end user, for example) until a goal is reached. An inference engine using forward chaining searches the inference rules until it finds one where the antecedent (If clause) is known to be true. When such a rule is found, the engine can conclude, or infer, the consequent (Then clause), resulting in the addition of new information to its data.[1]

    Inference engines will iterate through this process until a goal is reached.

    For example, suppose that the goal is to conclude the color of a pet named Fritz, given that he croaks and eats flies, and that the rule base contains the following four rules:

    If X croaks and X eats flies - Then X is a frogIf X chirps and X sings - Then X is a canaryIf X is a frog - Then X is greenIf X is a canary - Then X is yellow

    Backward chaining starts with goals, and works backward to determine what factsmust be asserted so that the goals can be achieved.

    The exploration of knowledge has different mechanisms in forward and backward chaining.

    1) Backward chaining is more focused and tries to avoid exploring unnecessary paths of reasoning. Forward chaining, on the other hand is like an exhaustive search [3].

    2) Backward chaining systems are good for diagnostic and classification tasks, b

    ut they are not good for planning, design, process monitoring,and quite a few other tasks. Forward chaining systems can handle all these tasks.

  • 8/18/2019 Forward Backward

    2/2

    3) Forward chaining system, includes writing rules to manage sub goals. Whereas, backward chaining systems automatically manage sub goals [7].

    4) Lots of output Hypothesis + Lots of data up front => Use Forward ChainingFewer output Hypothesis + Must query for data=>Use Backward Chaining

    5) Backward chaining engines query for new facts, whereas forward chaining relies on the application asserting facts to the rule engine.

    6) In backward chaining, the search is goal directed, so rules can be applied that are necessary to achieve the goal. But in forward chaining the whole processis not directed towards goal, so when to stop the rules in not known [5].

    7) If the facts that has to be established lead to a large number of conclusion, but the number of ways to reach that particular conclusion is small, then there is more information out rather than information in, then backward chaining should be used. On the other hand, if the number of ways to reach a particular conclusion is large, but the number of conclusions likely to be reach using the facts is small, then forward chaining is preferred.