On Chaining

January 7, 2010

One of the recurring topics in the rules world is forward chaining vs. backward chaining – how they compare, when to use one or the other, and which implementations even offer back chaining. I suspect that a lot of the confusion around backward chaining is simply due to the fact that most folks haven’t implemented production-quality systems that make use of it.

One of the forward vs. backward articles is by Dietrich Kappe. In his posting, he includes a quote from Charles Forgy, including the following:

Backward chaining systems are more limited than forward chaining systems.

Dietrich points out that the article was located on the old Rulespower site and disappeared with the purchase by Fair Isaac.

I’m posting here simply to point out that the Wayback Machine has them.

Charles Forgy on Forward and Backward Chaining

I have linked directly to the latest archived version of each article segment. You can find all the RulesPower content that they have here.

For further reading on the topic, the discussions at the following links are interesting (in no particular order):


Who Said It? “any backward chaining engine must eventually…”

January 7, 2010

I found a quote that James Owen used on the JESS mailing list and I’m interested in learning where it comes from. More specifically, is it in a paper or article somewhere and I’m just overlooking it? My suspicion is that James is quoting Dr. Charles Forgy and that it isn’t published in any articles.

I’ll email James to check the source – but I wanted to highlight the quote here since it was only used on the JESS list and could use a little more exposure.

“Any forward chaining engine can be made to do backward chaining and any backward chaining engine must eventually forward chain to deliver results.”

Updated on January 13, 2010:
James has confirmed (via email) that he was paraphrasing Dr. Charles Forgy here. The comment apparently was made during OPSJ training classes.


Rules Research Archaeology

January 7, 2010

Most readers should be familiar with George Santayana‘s quote about remembering the past (also called Santayana’s Law of Repetitive Consequences).

The rise of the BRMS over the last few years has brought lots of enthusiastic new members to our little rules world. These people are eager to contribute to the field and make their own mark. It is the job of the “old guard” to make sure the newcomers are properly aware of the prior research in our field. (Having only participated in the space since 1995, I consider myself to still be a newcomer.) For example, the rise of the multi-core processor means that tons of older research in parallel rule engines is of interest and relevant. For another example, the classic work on conflict resolution strategies doesn’t appear to be online and is in a long out-of-print 30-year-old book. (And at least the prices for “Pattern-Directed Inference Systems” are somewhat affordable – as of this writing, “Human Problem Solving” starts at $190 and goes up to $800 on Amazon.) A third example is that the Wikipedia article on the Rete algorithm only has references to papers that are not online for one reason or another. (I personally haven’t even seen the “A network match routine for production systems.” working paper.)

Thus, I would like to highlight a few useful resources:

We need to work together as a group to improve the online availability of our history.


Another .NET Rete Implementation – NRuler

January 7, 2010

I just spotted another .NET implementation of Rete – NRuler. The site shows only 10 downloads, but it seems to have been live less than a month so far. Any of the 10 downloaders care to share their impressions? How does it compare with NxBRE or SRE?

(As an aside, I spotted NRuler because it is linked in the “See also” section of the Wikipedia article on Rete. At best, the link to NRuler should be an “External link” rather than a “See also” – and probably not even that. As an industry, we need to stop spamming this article with promotional product-specific links. Yes, I know that NRuler isn’t a commercial product, but I don’t see any reason for it to be linked there over any other piece of software.)


Another Dormant .NET Rule Engine Project: Simple Rule Engine

January 6, 2010

I recently stumbled across another rule engine for .NET that I hadn’t seen before: Simple Rule Engine (SRE).

Looks dormant, or possibly dead altogether. If any readers have tried it out, I welcome comments about your experiences with it.


NxBRE Project Seems To Have Gone Dormant

September 1, 2009

Not sure why I didn’t spot this before, but it appears that the NxBRE project (a .NET rule engine) has recently gone dormant. Cheers to David for all the work he put in over the years.


BizTalk Server 2009 Released

May 3, 2009

If you were watching for it, some recent press confirms that BizTalk Server 2009 is now available.

Read the rest of this entry »


Windows Defender Potential Interaction with BizTalk BRE

March 28, 2009

If you are running both BizTalk BRE and Windows Defender, you may want to note that the BizTalk 2006 R2 documentation at MSDN has been updated recently to take into account a recent interaction with Windows Defender. The issue with Windows Defender was corrected immediately, and the fix for affected machines is simply adding localhost back to the hosts file.

This is the 2006 R2 documentation, but I believe the issue could also affect 2004, 2006, and 2009 Beta.


Multicore Video Cards (Again)

February 16, 2009

I’ve previously posted on the topics of CUDA and Larrabee. I continue to be intrigued by the possibilities that open up as multi-core GPU programming becomes available. For applications that need many threads this should present interesting opportunities. Why bother struggling to run your parallel application in the meager 4 or 8 cores of your CPU when you can offload the work to 32 cores?

Read the rest of this entry »


Small World

December 7, 2008

Gary Riley’s comment here on November 6 alerted me to a book that I didn’t have: The Engineering of Knowledge-Based Systems: Theory and Practice by Avelino J. Gonzalez and Douglas D. Dankel. So, I went to Amazon to track it down. The book is out of print, so I purchased a used copy.

When my copy arrived a little while ago, I quickly noticed that the owner’s name written inside the cover was that of John Durkin, the noted author of Expert Systems: Design and Development. I spotted it quickly since at a previous employer this book (along with Gary Riley’s book) was used in both internal and external training.

Read the rest of this entry »