Extending Jess to Handle Uncertainty

Computer scientists are often faced with the challenge of having to model the world and its associated uncertainties. One area in particular where modelling uncertainty is important are Expert Systems (also referred to as Knowledge Based Systems and Intelligent Systems), where procedural / classification knowledge is often captured as facts and rules. One of the earliest Expert Systems to incorporate uncertainty was MYCIN. The developers realized that uncertainty had to be associated with both the properties of the objects they were modelling and with the knowledge (the rules themselves). A popular engine for building Knowledge Based Systems currently is Jess, which has been extended to handle uncertain knowledge by using fuzzy logic. However, systems written using this extension are generally composed of two interrelated components – namely a Java program and a Jess knowledge base. Further, this technique has several other disadvantages which are also discussed. We have developed a system, Uncertainty Jess, which provides Jess with the same powerful, yet easy to use, uncertainty handling as MYCIN. Uncertainty Jess allows the user to assign certainty factors / scores to both the properties of their data and to the rules, which it then makes use of to determine the certainty of rule conclusions for single and multiple identical conclusions.