<?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: Goals and backward chaining using the Rete Algorithm</title>
	<atom:link href="http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/feed/" rel="self" type="application/rss+xml" />
	<link>http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/</link>
	<description>systems that know and understand and think and learn</description>
	<lastBuildDate>Fri, 20 Jan 2012 02:37:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: paul@haleyAI.com</title>
		<link>http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/comment-page-1/#comment-255</link>
		<dc:creator>paul@haleyAI.com</dc:creator>
		<pubDate>Sun, 17 Jul 2011 14:08:58 +0000</pubDate>
		<guid isPermaLink="false">http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/#comment-255</guid>
		<description>This sounds interesting and helpful, Mark.  You may be interested in considering the use of tabling in prolog (called SLG resolution) which can be used to achieve Rete like benefits, too.  It&#039;s good that you have unification (apparently when answers are received by Rete).  It sounds like you have a simple recursive prolog under the hood, but in my experience they are very easy to &quot;blow up&quot;/loose control of when used to any significant degree by less than experienced logic programmers.   Recent changes to XSB, which has SLG resolution, too, address quite a few of these practical issues.   I&#039;d be interested in your experience as this rolls out.  Good luck with the rest of &quot;opportunistic&quot;!</description>
		<content:encoded><![CDATA[<p>This sounds interesting and helpful, Mark.  You may be interested in considering the use of tabling in prolog (called SLG resolution) which can be used to achieve Rete like benefits, too.  It&#8217;s good that you have unification (apparently when answers are received by Rete).  It sounds like you have a simple recursive prolog under the hood, but in my experience they are very easy to &#8220;blow up&#8221;/loose control of when used to any significant degree by less than experienced logic programmers.   Recent changes to XSB, which has SLG resolution, too, address quite a few of these practical issues.   I&#8217;d be interested in your experience as this rolls out.  Good luck with the rest of &#8220;opportunistic&#8221;!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Proctor</title>
		<link>http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/comment-page-1/#comment-254</link>
		<dc:creator>Mark Proctor</dc:creator>
		<pubDate>Sun, 17 Jul 2011 06:45:34 +0000</pubDate>
		<guid isPermaLink="false">http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/#comment-254</guid>
		<description>The other subtle different is that all query results are local to the caller. So a rule or a query calling another query does not insert any results into the working memory, so it&#039;s very &quot;prolog like&quot;. We&#039;ll be looking to OBC to be able to have BC insert or update WM instances.</description>
		<content:encoded><![CDATA[<p>The other subtle different is that all query results are local to the caller. So a rule or a query calling another query does not insert any results into the working memory, so it&#8217;s very &#8220;prolog like&#8221;. We&#8217;ll be looking to OBC to be able to have BC insert or update WM instances.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Proctor</title>
		<link>http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/comment-page-1/#comment-253</link>
		<dc:creator>Mark Proctor</dc:creator>
		<pubDate>Sun, 17 Jul 2011 05:50:27 +0000</pubDate>
		<guid isPermaLink="false">http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/#comment-253</guid>
		<description>We finally got backward chaining (BC) working in Drools, although opportunistic BC is still to do. The route we&#039;ve taken is to introduce a &quot;hybrid&quot; syntax for prolog like terms and OO slots, based on RuleML POSL. The implementation is like prolog derivation queries and supports full variable unification at the point of invocation. It&#039;s stack based, so does not have a problem with recursion and blowing te java method stack up. Unlike prolog as you advocate in your article our query can be left &quot;open&quot; so you can receive reactive updates to the query view when the underlying data changes.

http://blog.athico.com/2011/04/backward-chaining-emerges-in-drools.html
http://blog.athico.com/2011/06/truth-maintenance-over-directed-graphs.html

Still plenty more to do, but it&#039;s a good start :)</description>
		<content:encoded><![CDATA[<p>We finally got backward chaining (BC) working in Drools, although opportunistic BC is still to do. The route we&#8217;ve taken is to introduce a &#8220;hybrid&#8221; syntax for prolog like terms and OO slots, based on RuleML POSL. The implementation is like prolog derivation queries and supports full variable unification at the point of invocation. It&#8217;s stack based, so does not have a problem with recursion and blowing te java method stack up. Unlike prolog as you advocate in your article our query can be left &#8220;open&#8221; so you can receive reactive updates to the query view when the underlying data changes.</p>
<p><a href="http://blog.athico.com/2011/04/backward-chaining-emerges-in-drools.html" rel="nofollow">http://blog.athico.com/2011/04/backward-chaining-emerges-in-drools.html</a><br />
<a href="http://blog.athico.com/2011/06/truth-maintenance-over-directed-graphs.html" rel="nofollow">http://blog.athico.com/2011/06/truth-maintenance-over-directed-graphs.html</a></p>
<p>Still plenty more to do, but it&#8217;s a good start <img src='http://haleyai.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; On Chaining Karl Reinsch&#8217;s Blog</title>
		<link>http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/comment-page-1/#comment-74</link>
		<dc:creator>&#187; On Chaining Karl Reinsch&#8217;s Blog</dc:creator>
		<pubDate>Thu, 07 Jan 2010 23:24:55 +0000</pubDate>
		<guid isPermaLink="false">http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/#comment-74</guid>
		<description>[...] Paul Haley on backward chaining using rete [...]</description>
		<content:encoded><![CDATA[<p>[...] Paul Haley on backward chaining using rete [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Backward Chaining on a Rete Network &#171; Nothing Fancy</title>
		<link>http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/comment-page-1/#comment-12</link>
		<dc:creator>Backward Chaining on a Rete Network &#171; Nothing Fancy</dc:creator>
		<pubDate>Thu, 01 May 2008 19:06:33 +0000</pubDate>
		<guid isPermaLink="false">http://haleyai.com/wordpress/2008/03/11/goals-and-backward-chaining-using-the-rete-algorithm/#comment-12</guid>
		<description>[...] Goals and backward chaining using the Rete Algorithm (by Paul Haley) [...]</description>
		<content:encoded><![CDATA[<p>[...] Goals and backward chaining using the Rete Algorithm (by Paul Haley) [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

