Some years ago, Bob Orchard created the FuzzyJ toolkit featuring FuzzyJess, which added fuzzy logic capabilities to Jess proper. Fuzzy logic allows one to reason with imprecise quantities where boundaries between TRUE and FALSE are blurred and variables can have "membership" in more than one set at a time. Real-world applications include substitutions for traditional feedback-control systems (heavy equipment stability, camera and video autofocus, video "jiggle" correction) and numerous process control examples. An example of a forward-chaining, fuzzy logic control applications can be found in Part 5, Chapter 14 of Ernest Friedman-Hill's

*Jess In Action*(Manning, 2003).

Of the Top Ten Uses for rule-based expert systems commonly mentioned in the literature (interpretation, prediction, diagnosis, design, planning, monitoring, debugging, repair, and instruction, it is the last -- control -- which indeed seems to favor fuzzy, forward chaining applications.

Now, I have coded a good number of crisp, forward chaining systems, and I have experimented with fuzzy forward-chaining systems. I have also coded crisp, backward-chaining apps. However, I have yet to see

*any*example of a

*fuzzy*,

*backward-chaining*expert system.

In fact, in my quick lit search, I was only able to find two papers in the last twelve years:

[1] Amould, Thierry , Tano, Shun'ichi; "Definition and Formulation of Backward-reasoning with Fuzzy If... Then... Rules", Fuzzy Systems, IEEE World Congress on Computational Intelligence, Proceedings of the Third IEEE Conference on, 864-869 vol.2, June 1994.

[2] Kashiwagi, D., Moor, W.; APPLICATION OF BACKWARD CHAINING, "FUZZY LOGIC," AND THE MANAGEMENT OF INFORMATION TO PROCUREMENT OF FACILITY SYSTEMS/SERVICES, Proceedings of the 17th International Conference on Computers and Industrial Engineering, pp. 399 - 403, 1995.

I have already identified where backward chaining would be useful in my research, and I suspect that fuzzy rules might perform better than crisp ones for my intended application. I was wondering if anyone out there has significant experience in coding fuzzy, backward-chaining expert systems; and, if so, would you please recommend some current literature?

Any thoughts or anecdotes about the topic are welcome!

Cheers,

-JM