<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Forward versus Backward Chaining</title>
	<atom:link href="http://pathfindersoftware.com/2006/04/forward_versus_/feed/" rel="self" type="application/rss+xml" />
	<link>http://pathfindersoftware.com/2006/04/forward_versus_/</link>
	<description>The Fastest Way to Launch Successful Software</description>
	<lastBuildDate>Thu, 19 Jan 2012 16:36:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: John Tangney</title>
		<link>http://pathfindersoftware.com/2006/04/forward_versus_/#comment-5119</link>
		<dc:creator>John Tangney</dc:creator>
		<pubDate>Sun, 29 Aug 2010 04:31:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/2006/04/forward_versus_/#comment-5119</guid>
		<description>Thanks for the explanation! I have always been fascinated with rule-based inference engines, but have not yet used one in a real project. It comes up every few years: a client wonders if perhaps the right solution might be to capture business rules outside the logic of their application code. But it&#039;s never the right fit.

Now and then I go looking around, just to see what&#039;s new. I came across this article and just wanted to say thanks!
--johnt</description>
		<content:encoded><![CDATA[<p>Thanks for the explanation! I have always been fascinated with rule-based inference engines, but have not yet used one in a real project. It comes up every few years: a client wonders if perhaps the right solution might be to capture business rules outside the logic of their application code. But it&#8217;s never the right fit.</p>
<p>Now and then I go looking around, just to see what&#8217;s new. I came across this article and just wanted to say thanks!<br />
&#8211;johnt</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; On Chaining Karl Reinsch&#8217;s Blog</title>
		<link>http://pathfindersoftware.com/2006/04/forward_versus_/#comment-5118</link>
		<dc:creator>&#187; On Chaining Karl Reinsch&#8217;s Blog</dc:creator>
		<pubDate>Thu, 07 Jan 2010 23:25:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/2006/04/forward_versus_/#comment-5118</guid>
		<description>[...] of the forward vs. backward articles is by Dietrich Kappe. In his posting, he includes a quote from Charles Forgy, including the following:  Backward [...]</description>
		<content:encoded><![CDATA[<p>[...] of the forward vs. backward articles is by Dietrich Kappe. In his posting, he includes a quote from Charles Forgy, including the following:  Backward [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Lin</title>
		<link>http://pathfindersoftware.com/2006/04/forward_versus_/#comment-5117</link>
		<dc:creator>Peter Lin</dc:creator>
		<pubDate>Thu, 27 Apr 2006 01:05:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/2006/04/forward_versus_/#comment-5117</guid>
		<description>&lt;p&gt;Speaking from a low level technical perspective, the wikipedia explanation of forward and backward chaining is wrong.&lt;/p&gt;

&lt;p&gt;Going by Miranker&#039;s LEAPS paper and Batory&#039;s P2 LEAPS paper, the primary difference with backward chaining is it delays evaluating joins for all rules. Instead, it sequentially evalutes the rules by querying the facts. I like Dr. Forgy&#039;s interpretation of the differences between forward vs backward. In plain english, a subgoal is a join between 2 facts. A backward chaining engine manages the subgoals in that it takes the first rule off the stack and checks to see if it needs to evaluate the join. If no facts satisfied the literal conditions (aka alphaNodes), it doesn&#039;t need to perform a join evaluation.&lt;/p&gt;

&lt;p&gt;Forward chaining in contrast pushes the facts through the network and filters it. If a fact satisfies the conditions a node, it propogates the fact down the network. Basically, it pushes it down.&lt;/p&gt;

&lt;p&gt;The real downside of backward chaining is that it is not good for scenarios where one wants to perform cross product matching. The best example I can think of is an OMS (order management system) application for large mutual fund companies. The goal is to match multiple transactions against each other to determine the optimal combination. Since leaps trade performance for thoroughness, it&#039;s not appropriate for scenarios that need cross product matching.&lt;/p&gt;

&lt;p&gt;I&#039;ve heard of companies using backward chaining for OMS and pre-trade compliance, but I generally think they haven&#039;t got a clue.&lt;/p&gt;

&lt;p&gt;peter&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Speaking from a low level technical perspective, the wikipedia explanation of forward and backward chaining is wrong.</p>
<p>Going by Miranker&#8217;s LEAPS paper and Batory&#8217;s P2 LEAPS paper, the primary difference with backward chaining is it delays evaluating joins for all rules. Instead, it sequentially evalutes the rules by querying the facts. I like Dr. Forgy&#8217;s interpretation of the differences between forward vs backward. In plain english, a subgoal is a join between 2 facts. A backward chaining engine manages the subgoals in that it takes the first rule off the stack and checks to see if it needs to evaluate the join. If no facts satisfied the literal conditions (aka alphaNodes), it doesn&#8217;t need to perform a join evaluation.</p>
<p>Forward chaining in contrast pushes the facts through the network and filters it. If a fact satisfies the conditions a node, it propogates the fact down the network. Basically, it pushes it down.</p>
<p>The real downside of backward chaining is that it is not good for scenarios where one wants to perform cross product matching. The best example I can think of is an OMS (order management system) application for large mutual fund companies. The goal is to match multiple transactions against each other to determine the optimal combination. Since leaps trade performance for thoroughness, it&#8217;s not appropriate for scenarios that need cross product matching.</p>
<p>I&#8217;ve heard of companies using backward chaining for OMS and pre-trade compliance, but I generally think they haven&#8217;t got a clue.</p>
<p>peter</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (User agent is rejected)
Page Caching using memcached (User agent is rejected)

Served from: pathfindersoftware.com @ 2012-02-09 21:02:07 -->
