Presentation is loading. Please wait.

Presentation is loading. Please wait.

Expert System Development Tools Sean Lydon Daniel Nelson Emily Schwarz.

Similar presentations


Presentation on theme: "Expert System Development Tools Sean Lydon Daniel Nelson Emily Schwarz."— Presentation transcript:

1 Expert System Development Tools Sean Lydon Daniel Nelson Emily Schwarz

2 Overview Motivation Motivation Deliverables Deliverables Methodology Methodology Results Results SOAR SOAR Prolog Prolog Demo Demo Final Conclusions Final Conclusions Questions Questions

3 Motivation JESS and CLIPS unsupported JESS and CLIPS unsupported Cool idea to present new material Cool idea to present new material General interest General interest

4 Deliverables Big Document Big Document Presentations Presentations Example Assignment (tutorial)‏ Example Assignment (tutorial)‏

5 Methodology Massive search Massive search Evaluate with basic criteria Evaluate with basic criteria Pick better and evaluate more Pick better and evaluate more Pick best and try assignments Pick best and try assignments Generate materials Generate materials

6 Methodology Initial criteria Initial criteria –Availability, Cost, Install Docs, Tutorials, Community Secondary criteria Secondary criteria –Usability, Installation Process, Applicability

7 Results Tons of initial results (32)! Tons of initial results (32)! Narrowed down to 10 Narrowed down to 10 Finial testing of SOAR and Prolog Finial testing of SOAR and Prolog

8 Results

9 Soar

10 Motivation Soar is a unified architecture for developing intelligent systems Soar is a unified architecture for developing intelligent systems Soar’s purpose is to be an architecture that supports all the capabilities required of a general intelligent agent Soar’s purpose is to be an architecture that supports all the capabilities required of a general intelligent agent First developed in 1987 at Carnegie Mellon First developed in 1987 at Carnegie Mellon –Now on version 9.0

11 Functionality Represents knowledge as objects (structures with multiple attributes)‏ Represents knowledge as objects (structures with multiple attributes)‏ Goal oriented Goal oriented Production rules can be stated explicitly, but are most often broken down into propose rules and operator rules Production rules can be stated explicitly, but are most often broken down into propose rules and operator rules –Propose rules state when an operator should be used –Operator rules perform actions (like modifying working memory)‏ –Operations can be proposed by multiple rules –Eliminates duplication of the RHS of rules. Comes with an editor and a debugger Comes with an editor and a debugger –Both are well fleshed out with a lot of functionality Represents the working memory in a hierarchical manner (as a tree structure)‏ Represents the working memory in a hierarchical manner (as a tree structure)‏ Multiple mechanisms for learning Multiple mechanisms for learning

12

13 Example of a production rule General Format General Format sp {rule*name (condition-1)‏(condition-2)‏…(condition-n)‏-->(action-1)‏(action-2)‏…(action-n)}

14 Example of the corresponding propose and operator rules

15 Strengths and Weaknesses Strengths Strengths –Can be used for production systems and has learning functionality built in –Mature application Constant development Constant development Committed users Committed users Weaknesses Weaknesses –Lacks a simple way to interact with the user. No “(read)” function –Lack of documentation on how to build expert systems with it

16 Evaluation for use in CSC/CPE 481 While there is quite a bit of documentation, it mostly covers more complex topics like learning While there is quite a bit of documentation, it mostly covers more complex topics like learning –Might be suitable for a high level general ai class –No resources online from other institutions that have tried teaching Soar Lacks simple console based i/o and would therefore be unsuitable for most of our homework assignments Lacks simple console based i/o and would therefore be unsuitable for most of our homework assignments Steep learning curve, compounded by the lack of simple examples Steep learning curve, compounded by the lack of simple examples While Soar is extremely powerful, it is not suitable for the purpose of teaching knowledge based systems While Soar is extremely powerful, it is not suitable for the purpose of teaching knowledge based systems

17 Prolog

18 Overview Overview Overview History History What is Prolog? What is Prolog? Language Structure Language Structure How to get started How to get started Conclusion Conclusion

19 History Research began in the late 60s/early 70s Research began in the late 60s/early 70s Created by scholars Created by scholars –Alain Colmerauer – University of Aix-Marseille –Phillipe Roussel – University of Aix-Marseille –Robert Kowalski – University of Edinburgh Both interpreted and compiled Both interpreted and compiled Very popular in Europe and Japan Very popular in Europe and Japan –Used in ICOT Fifth Generation Computer Systems Initiative

20 What is Prolog? Short for Programmable Logic Short for Programmable Logic A kind of theorem proving framework A kind of theorem proving framework –Allows functions and procedures as well –Performs deductions in a goal-oriented manner An alternative to Lisp-based languages An alternative to Lisp-based languages –Jess –CLIPS Very versatile Very versatile

21 Language Structure Composed of facts, rules, and queries Composed of facts, rules, and queries –Facts and rules are specified in an input file –Facts can take a variety of forms true. true. male('Brett'). male('Brett'). parent('Brett','Daniel'). parent('Brett','Daniel'). –Rules are similar to Jess/CLIPS rules ancestor(Anc, Child) :- parent(Anc, Child). ancestor(Anc, Child) :- parent(Anc, Child). father(Anc,Child) :- parent(Anc, Child), male(Anc). father(Anc,Child) :- parent(Anc, Child), male(Anc).

22 Language Structure Composed of facts, rules and queries Composed of facts, rules and queries –Queries are run through an interpreter –Given above rule/fact base, we can execute queries ?- father('Brett','Daniel'). //Is Brett the father of Daniel? ?- father('Brett','Daniel'). //Is Brett the father of Daniel? –Yes ?- father('Daniel','Brett'). //Is Daniel the father of Brett? ?- father('Daniel','Brett'). //Is Daniel the father of Brett? –No ?- father('Brett',X). //Of who is Brett the father? X = 'Daniel'. ?- father('Brett',X). //Of who is Brett the father? X = 'Daniel'. ?- father(X,Y). //List all the father relationships here X = 'Brett', Y = 'Daniel'. ?- father(X,Y). //List all the father relationships here X = 'Brett', Y = 'Daniel'.

23 Getting Started Many public implementations Many public implementations –SWI-Prolog (interpreted)‏ –gprolog (compiled)‏ SWI-Prolog is well supported across multiple platforms SWI-Prolog is well supported across multiple platforms –Windows and Linux versions work well Write a rule file, load it in, and start querying! Write a rule file, load it in, and start querying! –[filename] //loads a rule file –halt. //exits

24 Conclusion Prolog is a well-supported alternative to CLIPS/Jess Prolog is a well-supported alternative to CLIPS/Jess Capable of complex problem solving Capable of complex problem solving –Queries provide goal-based deduction Structure may be more familiar to those not familiar with LISP Structure may be more familiar to those not familiar with LISP Would be a great alternative for CLIPS or Jess for classroom assignments Would be a great alternative for CLIPS or Jess for classroom assignments –Family Tree, etc.

25 Demo

26 Project Conclusions There are many expert system tools available There are many expert system tools available –Very few are of high quality The most important thing for learning is a wide variety of web recourses The most important thing for learning is a wide variety of web recourses –Functionality is not as important as good support We recommend Prolog be introduced in class We recommend Prolog be introduced in class –We found that Prolog is suitable to be used for 481 assignments We hope that our documentation will be used by others that are interested in this topic We hope that our documentation will be used by others that are interested in this topic –Power point presentations could be incorporated into existing lectures –Prolog family knowledge base could be used as an example for students learning Prolog

27 Questions?


Download ppt "Expert System Development Tools Sean Lydon Daniel Nelson Emily Schwarz."

Similar presentations


Ads by Google