Commercial Intelligence Rotating Header Image

Rules Engines

Is business logic too much for classical logic?

Business logic is not limited to mathematical logic, as in first-order predicate calculus.

Business logic commonly requires “aggregation” over sets of things, like summing the value of claims against a property to subtract it from the value of that property in order to determine the equity of the owner of that property.

  • The equity of the owner of a property in the property is the excess of the value of the property over the value of claims against it.

There are various ways of describing such extended forms of classical logic.  The most relevant to most enterprises is the relational algebra perspective, which is the base for relational databases and SQL.  Another is the notion of generalized quantifiers.

In either case, it is a practical matter to be able to capture such logic in a rigorous manner.  The example below shows how that can be accomplished using English, producing the following axiom in extended logic:

  • ∀(?x15)(property(?x15)→∀(?x10)(owner(of)(?x10,?x15)→∃(?x31)(value(of(?x15))(?x31)∧∑(?x44)(∀(?x49)(claim(against(?x15))(?x49)→value(of(?x49))(?x44))→∃(?x26)(excess(of(?x31))(over(?x44))(?x26)∧equity(in(?x15))(of(?x10))(?x26))))))

This logic can be realized in various ways, depending on the deployment platform, such as: (more…)

Confessions of a production rule vendor (part 2)

Going on 5 years ago, I wrote part 1.  Now, finally, it’s time for the rest of the story.


Simply Logical English

This is not all that simple of an article, but it walks you through, from start to finish, how we get from English to logic. In particular, it shows how English sentences can be directly translated into formal logic for use with in automated reasoning with theorem provers, logic programs as simple as Prolog, and even into production rule systems.

There is a section in the middle that is a bit technical about the relationship between full logic and more limited systems (e.g., Prolog or production rule systems). You don’t have to appreciate the details, but we include them to avoid the impression of hand-waving

The examples here are trivial. You can find many and more complex examples throughout Automata’s web site.

Consider the sentence, “A cell has a nucleus.”:


Requirements for Logical Reasoning

Here is a graphic on how various reasoning technologies fit the practical requirements for reasoning discussed below:

This proved surprisingly controversial during correspondence with colleagues from the Vulcan work on SILK and its evolution at

The requirements that motivated this were the following: (more…)

Confessions of a production rule vendor (part 1)

If you are using one of the more popular rules engines, chances are you can blame me.  I popularized the technology of forward-chaining production rules based on the Rete Algorithm.  Others have certainly contributed; my path is the one that led to open-source implementations and many commercial products, including those of IBM, Oracle, SAP, TIBCO, Red Hat, and too many others to mention (e.g., see this).

Today, I want to make clear that the future prospects for production rule technology are diminishing.  My objective here is to explain why most rule-based technologies are no good and why some are much better.  Although production rule technology is much better than most rule-based technologies, I hope to also make clear that in the age of IBM’s Watson, Google’s Brain, and the semantic web, production rule technology is inadequate.

They are not created equal.

Rules have become so pervasive in the software business that vendors of all types of software say they have them.  Consider, for example, that even Microsoft Outlook has rules!


Answers to Common Questions About AI

Well this is a blast from the past… I was working on “the next post” about how Watson, Google, and the semantic web threaten the major BRMS systems when I found myself rewriting that what matters about Rete Algorithm-based production rule systems is that the order of the rules does not matter.  It occurred to me that I must have written that a dozen times or more in my career so I did a Google and found this old paper has been on-line at the Free Library On-Line since 2006!  I recall writing this in the early nineties and the owner of an AI magazine telling me he carried it with him for the better part of a year  (and printing it in his magazine, I think).   Some of you may enjoy reading it again!



An expert system is a program that includes expertise.


Expertise is knowledge that enables an individual, group or program to perform an intellectual task better than that task can be performed without the expertise.


Expertise, being knowledge, falls into a few general categories.

Some knowledge is declarative knowledge which doesn’t do anything but which represents truth or state. Such knowledge can be stored in a standard database.

Some knowledge is algorithmic and can therefore be flow charted. Such knowledge can be expressed as a routine in any procedural programming language. Not everything a person or organization knows can be easily translated into data structures and flow charts, however.


Yes, if the flow chart is actually produced, if it is not extraordinarily complex, and if there is no reason to believe that the flow chart is incorrect or incomplete. After all, procedural languages and flow charts are isomorphic, anything that can be expressed in one can be expressed using the other. However, if it is hard to produce a flow chart, it will be even more difficult to produce a working program using a procedural language.


Financial industry to define standards using defeasible logic and semantic web technologies

Last week, I attended the FIBO (Financial Business Industry Ontology) Technology Summit along with 60 others.

The effort is building an ontology of fundamental concepts in the financial services. As part of the effort, there is surprisingly clear understanding that for the resulting representation to be useful, there is a need for logical and rule-based functionality that does not fit within OWL (the web ontology language standard) or SWRL (a simple semantic web rule language). In discussing how to meet the reasoning and information processing needs of consumers of FIBO, there was surprisingly rapid agreement that the functionality of Flora-2 was most promising for use in defining and exemplifying the use of the emerging standard. Endorsers including Benjamin Grosof and myself, along with a team from SRI International. Others had a number of excellent questions, such as concerning open- vs. closed-world semantics, which are addressed by support for the well-founded semantics in Flora-2 and XSB.

Thanks go to Vulcan for making the improvements to Flora and XSB that have been developed in Project Halo available to all!

Background for our Semantic Technology 2013 presentation

In the spring of 2012, Vulcan engaged Automata for a knowledge acquisition (KA) experiment.  This article provides background on the context of that experiment and what the results portend for artificial intelligence applications, especially in the areas of education.  Vulcan presented some of the award-winning work referenced here at an AI conference, including a demonstration of the electronic textbook discussed below.  There is a video of that presentation here.  The introductory remarks are interesting but not pertinent to this article.

Background on Vulcan’s Project Halo

Background on Vulcan's Project Halo

From 2002 to 2004, Vulcan developed a Halo Pilot that could correctly answer between 30% and 50% of the questions on advanced placement (AP) tests in chemistry.  The approaches relied on sophisticated approaches to formal knowledge representation and expert knowledge engineering.  Of three teams, Cycorp fared the worst and SRI fared the best in this competition.  SRI’s system performed at the level of scoring a 3 on the AP, which corresponds to earning course credit at many universities.  The consensus view at that time was that achieving a score of 4 on the AP was feasible with limited additional effort.  However, the cost per page for this level of performance was roughly $10,000, which needed to be reduced significantly before Vulcan’s objective of a Digital Aristotle could be considered viable.


Recruiting: IBM Ilog vs. JBoss Drools

I received notice of a Victorian government position offering $106k, as follows, today:

BRMS Developer (WebSphere ILOG JRules)

You will have proven experience as a BRMS Developer within a Java/JEE environment using IBM‘s WebSphere ILOG JRules platform. You will have implementation experience using integration technologies (e.g. Web Services, JMS) and have the ability to liaise with and engage key stakeholders.  Ideally you will also have knowledge and/or exposure to IBM‘s WebSphere integration suite (including the MQ Series).

This got a reaction out of me since we’re looking for people (although emphasizing logic, semantics, and English rather than any particular engine).  At first, I thought it must be a Java job, but stakeholder engagement indicates this is a full-fledged knowledge engineering position.

$100k for anyone with strong, specific experience seems low.  For someone that can understand objectives and translate requirements into operational business logic, it seems lower.

I’m surprised there isn’t more of an Ilog premium, too.  JBoss Drools consultants can make more than this.

IBM Ilog JRules for business modeling and rule authoring

If you are considering the use of any of the following business rules management systems (BRMS):

  • IBM Ilog JRules
  • Red Hat JBoss Rules
  • Fair Isaac Blaze Advisor
  • Oracle Policy Automation (i.e., Haley in Siebel, PeopleSoft, etc.)
  • Oracle Business Rules (i.e., a derivative of JESS in Fusion)

you can learn a lot by carefully examining this video on decisions using scoring in Ilog.  (The video is also worth considering with respect to Corticon since it authors and renders conditions, actions, and if-then rules within a table format.)

This article is a detailed walk through that stands completely independently of the video (I recommend skipping the first 50 seconds and watching for 3 minutes or so).  You will find detailed commentary and insights here, sometimes fairly critical but in places complimentary.  JRules is a mature and successful product.  (This is not to say to a CIO that it is an appropriate or low risk alternative, however. I would hold on that assessment pending an understanding of strategy.)

The video starts by creating a decision table using this dialog:

Note that the decision reached by the resulting table is labeled but not defined, nor is the information needed to consult the table specified.  As it turns out, this table will take an action rather than make a decision.  As we will see it will “set the score of result to a number”. As we will also see, it references an application.  Given an application, it follows references to related concepts, such as borrowers (which it errantly considers synonomous with applicants), concerning which it further pursues employment information.