I'll second that advice. There's other resources on TMS. I've used this page in the past, which provides a high level explanation of different types of TMS http://www.cis.temple.edu/~ingargio/cis587/readings/tms.html. Read as much as you can on TMS if that's critical to your research. ACMQueue also has lots of papers on TMS.
choosing the right TMS to solve your problem isn't easy and will likely take lots of effort, trial and error. There's no short cut and using TMS correctly in a real application is quite challenging. Most of the business rules applications I've worked on and projects friends have worked on generally don't use logical TMS. Usually I see people use it in a simple proof of concept, but as the project grows in complexity, they remove it. Trying to wrap one's head around a rulebase with hundreds or thousands rules with logical TMS quickly becomes daunting even for an experience rule developer. Without some kind of visual tool or analysis tool to examine the logical dependencies, following the relationship in a 2K rule ruleset gets rather confusing. On Sat, Jun 11, 2011 at 2:23 PM, John Everett <[email protected]> wrote: > If truth maintenance is a central part of your architecture, I recommend > Building Problem Solvers, by Kenneth Forbus and Johan de Kleer. Â It's on > Amazon: > > http://www.amazon.com/Building-Problem-Solvers-Artificial-Intelligence/dp/02 > 62061570/ref=sr_1_1?ie=UTF8&qid=1307815663&sr=8-1 > > and you can find the source code for the truth maintenance systems described > in the book here: > > http://www.qrg.northwestern.edu/BPS/readme.html > > As part of my PhD work, I developed a reasoning system based on the LTRE, a > forward-chaining rule engine on top of a logic-based TMS that is described > in Building Problem Solvers. Coming from this background, I continually find > Jess to be a Swiss Army knife of capabilities. However, if the logical > conditional in Jess is not sufficient for your architecture, you'll probably > need to implement a separate TMS layer. The logic-based TMS, which does fast > (but incomplete) Boolean constraint propagation, provides a good balance > between expressivity and efficiency. > > The problem solver architectures presented in Building Problem Solvers use > the rule engine's rules to construct a problem-specific dependency network, > through which the TMS propagates truth values. Â For example, the CyclePad > system > > http://www.qrg.northwestern.edu/projects/NSF/Cyclepad/aboutcp.html > > enables the user to assemble and analyze thermodynamic cycles from a palette > of devices (turbines, pumps, heaters, throttles, coolers, etc). Once the > user has completed the cycle design, CyclePad runs its knowledge base of > rules to generate a dependency network that captures the relationships among > the thermodynamic properties at the inlet and outlet of each device. The > user can choose the working fluid for the system, and this imposes further > logical dependencies. For example, water will condense at certain > combinations of pressure and temperature. The user analyzes the system by > making assumptions about thermodynamic properties that the system then > propagates through the dependency network. > > > > -John > > > > -----Original Message----- > From: Ernest Friedman-Hill [mailto:[email protected]] > Sent: Saturday, June 11, 2011 8:20 AM > To: [email protected] > Subject: Re: JESS: On the Performance of Logical Retractions > > > On Jun 11, 2011, at 6:11 AM, Oliya wrote: > >> >> But still I have a question: what type of truth maintenance is >> supported in Jess? Can you provide links to more information please. > > > The "logical" conditional element is the only form of truth > maintenance in Jess. I thought you said you were already using it? > > >> -------------------------------------------------------- > > Ernest Friedman-Hill > Informatics & Decision Sciences, Sandia National Laboratories > PO Box 969, MS 9012, Livermore, CA 94550 > http://www.jessrules.com > > > > > > > > -------------------------------------------------------------------- > To unsubscribe, send the words 'unsubscribe jess-users [email protected]' > in the BODY of a message to [email protected], NOT to the list > (use your own address!) List problems? Notify [email protected]. > -------------------------------------------------------------------- > > > > > -------------------------------------------------------------------- > To unsubscribe, send the words 'unsubscribe jess-users [email protected]' > in the BODY of a message to [email protected], NOT to the list > (use your own address!) List problems? Notify [email protected]. > -------------------------------------------------------------------- > > -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [email protected]' in the BODY of a message to [email protected], NOT to the list (use your own address!) List problems? Notify [email protected]. --------------------------------------------------------------------
