CS734 - Expert Systems - Spring 97
Instructor Dr P Juell
Office 262C IACC
Phone 231-8196
Office hours 2:30 M W 11:30 F
Books [Jackson 90] Introduction to Expert Systems (second edition)
[Friederich & Gargano 89] Expert Systems Design and Development
Using VP-EXPERT
Spring 1997
week S M Tu W Th F S
1 Jan 8 9 10 11
2 12 13 14 15 16 17 18
3 19 H 21 22 23 24 25 Holiday
4 26 27 28 29 30 31 1
5 Feb 2 3 4 5 6 7 8
6 9 10 11 12 13 14 15
7 16 H 18 19 20 21 22 Holiday
8 23 24 25 26 27 28 1
9 Mar 2 3 4 5 6 7 8
Spring Break
10 16 17 18 19 20 21 22
11 23 24 25 26 27 H Holiday
12 H 1 2 3 4 5
13 Apr 6 7 8 9 10 11 12
14 13 14 15 16 17 18 19
15 20 21 22 23 24 25 26
16 27 28 29 30 1 2 3
May 4 5 6 7 8 9 10 Finals
weeks READINGS/LECTURE
1 Part I - Background in Artificial Intelligence
decision tables, vp-expert, taxonomy trees/decision trees
2-3 Part II - Theoretical foundations
4-6 Part III - Knowledge representation
7-9 Part IV - Practical Problem solving
10-11 Part V - Software tools and architectures
12-13 Part VI - Advanced topics in expert systems
14-16 case based reasoning
DAY WEEK Points
W (2) 25 program 1 - vp-expert program (simple)
W (4) 25 program 2 - vp-expert large (fancy)
W (6) 25 program 3 - OPS5 program
M (6) 100 TEST I
M (8) 25 program 4 - GRID/FRL program
W (9) 25 program 5 - Knowledge Engineering,
Problem statement & proposed solution
M (11) 100 TEST II
W (11) 10 program 6 - prototype
(Initial working system, evaluation, report)
W (14) 50 program 7 - Final System
M (15) 100 TEST III
W (15) 10 program 8 - 'Turn over' report
- (11) 200 Final
Programming Assignments
Program 1
vp-expert program (simple)
Convert the "SEAT BELT INTERLOCK SYSTEMS CHART 1" into a correctly
working vp-expert program. DO NOT code the sequential nature of the
diagram directly into the code. Convert each box into one or more rules.
Then try the program and find the problems.
This first version probably will not ask questions in a reasonable order.
Add control to order the questions, first by using hierarchies
of identification of problems. (i.e. car does not start,
starter does not turn, starter does not work).
Program 2
vp-expert program (fancy)
Convert the skin problem table into a vp-expert program. Note that
several of the items can be interpreted as ranked descriptions. Also
some items will be hard to exactly evaluate. Try to include this
as best as possible in your model.
This program is to use certainty factors (CF). It is also to use the
form, and gauge features of vp-expert.
In short, in addition to a well working expert system, it is to have
a "user friendly" interface.
Simply converting the table directly into rules without reformulation
will not produce a reasonable or acceptable system.
Program 3
OPS5 program
You are to write a program in OPS5 of reasonable complexity including
Certainty Factors (CF). The program is to have at least 3 conceptual levels.
It should have at least 10-15 rules. There must be some interaction between
the rules. The program is NOT to be simply a case statement or primarily
straight line execution.
The CF are to exhibit a range of values, and the CF values are to effect
the outcome of the program.
An example of three conceptual levels is the levels of the taxonomy of
animals (e.g. the top three of: kingdom, phylum, class).
Pick one of the following problems:
(1)
Evaluate instructor's performance. Use a variety of criterion and then
come up with a single value to indicate how good the instructor is.
(2)
You are somewhat familiar with several programming languages.
Write a program which requests information about a user's application
and then suggests which among at least three programming languages
would be most suitable for that application.
Your program should consider at least four characteristics of the
application (you get this information from the user as answers to
your questions), five characteristics of the languages (builtin
to the knowledge base of the program) and three characteristics of
the language implementations available here (builtin to your
knowledge base also).
(3)
You soon will be considering job offers from several companies
and/or schools.
Write an expert system to assist in selecting among those offers.
The system will request information about each job offer including
salary, location, fringe benefits, opportunities for advancement,
working conditions, presence of other NDSU graduates, company size,
type of work, etc.
The system will evaluate the various offers based on weighting factors
and other considerations which you have builtin and give you a ranked
list of the offers.
Your program must contain at least 10 rules and be able to handle at
least 8 job offers.
Program ????
PROLOG program
Write a program to schedule faculty to classes for a year. Each faculty
has a total yearly course load, areas of expertise, general time preferences
and preferred classes.
Classes have number of hours, days meet, meeting hour (assume all class periods
are one hour long, and start on even hours) and required expertise. Make sure
all classes are covered (if possible) and give the faculty their time and
course preferences when possible.
Keep the overall program and data both simple and small.
Program 4
GRID/FRL program
Build a knowledge base using the GRID program. Test the knowledge base.
When it is as good as the GRID system will permit, get it to create a
FRL program. First check that this program works. Then fix the program
so the overall system works better and limitations from the original
GRID version are overcome.
The problem to be handled is to
identify animals. Build a tree representing the taxonomy
of the animals to be identified. Include at least 9 animals.
Be sure to turn in the original decision tree, the formatted GRID table and
the final FRL program.
OPTIONAL: You might find it interesting to be able to build this structure
under the program's control.
Program 5
KNOWLEDGE ENGINEERING and PROPOSED SOLUTION
You are to have met with your expert and have worked out a general understanding
of the problem. You are to turn in a report which describes:
-The problem and
how you would expect to attack the problem. It may turn out that you do not
find an appropriate problem. It may be too simple, too complex or not
appropriate for Expert System methodologies. If the problem is inappropriate,
you should explain the types of problems that keep this problem from
being a reasonable problem.
In some cases, you may want to
detail some solutions for problems that you will not be able to solve.
You can receive full credit even if the problem is inappropriate.
However, you will then need to find another problem to work on.
-The report includes the proposed solution.
-It is also to include the list of
resources that can be used.
These will include the expert, other experts, reading materials etc.
-You are also to include an example of sample dialog for the proposed system.
-Be sure that you have access to sample solved problems.
At least three examples should be included.
Program 6
INITIAL SYSTEM and REPORT
This is to be working prototype of the overall desired system. It is to
include a report which details current problem and anticipated solutions.
Program 7
FINAL SYSTEM
The final program is to be at least 3 times more complex than the previous
assignments. The program is to be turned in with:
-Problem description
-Program documentation for maintenance including a glossary of all token and
their meaning (in English)
-How to run the program
-Example program runs
The following formula gives an estimate of program complexity for
rule based programs.
terms used
--------------------
n number of rules
rr(i) number of rules that can be reached after rule number i
use a value of 1 for terminal rules (rules that stop or
for which no further rules can run after
arr average reachable rules arr =(rr(1) + rr(2) + ... rr(n))/n
pc program complexity pc = n * arr/n or pc = arr
Program 8
TURN OVER REPORT
This is a report developed by you and approved by the expert
with which you have been working.
This report is to indicate the scope of the problem solved
including a clear problem statement.
There is to be an evaluation of the resultant program relative to whether
it could be used by the expert for the desired purpose. It is also to
include an evaluation of what, if anything, should be done to the program
to make it fully functional. This report is to signed by both the programmer
and the expert to indicate concurrence of the evaluation.
YOU CAN RECEIVE FULL CREDIT EVEN IF THE PROGRAM IS NOT PERCEIVED AS A SUCCESS.