Intelligent systems Lecture 11 Tools for development of Expert Systems
JESS Syntax is similar to CLIPS Is implemented in Java It is possible to extend capabilities by including new java code
Jess> (deftemplate being (slot name)) Jess> (deftemplate mortal extends being) Jess> (deftemplate immortal extends being) Jess> (deftemplate monster extends mortal) Jess> (deftemplate human extends mortal) Jess> (deftemplate god extends immortal) Jess> (defrule list-all-humanoids ;; fire for all beings, gods, monsters, and humans (being (name ?n)) => (printout t ?n " is a being " crlf)) Jess> (defrule list-all-mortals ;; fires only for mortal things (mortal (name ?n)) => (printout t ?n " is mortal " crlf)) Jess> (deffacts beings (human (name Bob)) (monster (name Gollum)) (god (name Zeus))) Jess> (reset) Jess> (run) Zeus is a being Gollum is a being Gollum is mortal Bob is mortal Bob is a being 5 Example of working with Jess as with Prolog
Example of working with Jess as with Prolog (2) Jess> (deftemplate thing (slot type) (slot name)) Jess> (deffacts things (thing (type human) (name Socrates)) (thing (type mineral) (name Slate)) (thing (type vegetable) (name Carrot)) (thing (type dog) (name Rover)) (thing (type human) (name Bob))) Jess> (deffacts mortality (mortal human) (mortal dog)) Jess> (defrule list-all-mortals ;; fires for dogs and humans (mortal ?type) (thing (type ?type) (name ?n)) => (printout t ?n " is mortal." crlf)) Jess> (reset) Jess> (run) Rover is mortal. Bob is mortal. Socrates is mortal. 3
Exsys CORVID Rules Forward chaining Backward chaining Working with uncertainty The detail description of user interface is implemented Expert System may be implemented both for desktop and client-server platform
EZ-Xpert EZ Development : EZ-Xpert is easy to learn and offers a menu-driven, fill-in-the-blank interface with extensive Wizard support. It also offers a Debugger that analyses the state of the system and presents an ordered list of tasks that need attention, leading the user through the building of the system. EZ-Xpert does the hard work – extensive internal testing, simplification, conflict resolution, and code generation - algorithmically.. The Integrated Development Environment automates much of the development process, allowing typical users to create a complete, running 500 rule system in a day without assistance from IT or a Knowledge Engineer. The user does not write any code, as EZ-Xpert generates complete, ready to compile applications in C++ for Windows and Visual Basic