LiS 612
Expert Systems in Information Resources
Fall, 1995
Prof. Martin Fricke


The study of expert systems is a sub-discipline of artificial intelligence, and the latter is the attempt to use computers and computer programs to do tasks which require intelligence. Expert systems are programs that reason; but what distinguishes them from general purpose reasoners or theorem provers is that they use domain specific knowledge-- that is, they have an expertise in a certain area or subject matter. A particular expert system may have some expertise concerning medical diagnosis-- this does not mean that it is also expert on other matters, for example, on determining where to locate a drilling rig when searching for oil.

Expert systems have had a chequered history. They failed to live up to exaggerated promises that were made on their behalf when they first appeared. Yet they have had occasional successes. And they seem to be making a bit of a come back. There is much talk these days of TagentsU-- self-contained computer programs that will go off on their own down networks and return with, for example, your information needs. Such agents will contain expert systems.

In studying expert systems, you would really want to know what has been done, how it has been done, how to do it, and how to improve on it. You should then be able to judge whether expert systems have anything to offer to the field of information resources.

The prototypes of most expert systems have been written in one of the two artificial intelligence languages, LISP or Prolog. A student should learn to read one or both of these. Either of these languages would be suitable for writing expert systems. But also the core algorithms of expert systems lend themselves to being described either by a pattern matching rewrite language (like the programming language of Mathematica) or by a pure object oriented language like Smalltalk. A student should be able to write basic expert systems using one of these four environments.

As a default in this course, students will be taught to read and write Prolog to the level necessary for dealing with expert systems. (Students are free to use any of the other languages mentioned, and I am happy to give instruction and guidance on this outside the formal lectures.) Then we will look at standard techniques including production rule systems, pattern matching, forward and backward chaining and reasoning under conditions of uncertainty. In the second half of the course, students will be encouraged to work in teams, to seek out problems in information resources that would benefit from expert system approaches, and to write suitable expert systems.

The course as a whole will make extensive use of computers and will have substantial academic content. It is assumed that a student in this course has NO previous background in computing.

Requirements

The course requirements are a) a coursework requirement and b) a final examination. The coursework requirement will be two individual papers, and one team presentation in class. The individual papers will be due about 4 weeks and about 8 weeks into the course, at times to be announced in class. The team presentation will occur about 10 weeks into the course. The final examination will be a choice of either a take-home exam of three hours duration or a specified project to be done either individually or in groups. The final examination will be handed out on Thursday December 7th and has to be returned to my mailbox at latest by Friday December 15th at 4.00pm.

Grading

I use the following scales:
Internal        Internal     Graduate College
90-100 A+ A
85-89 A A
80-84 A- A
75-79 B+ B
70-74 B B
65-69 B- B
below 64 C C

Thus, for example, a mark of Internal: 82 A- External: A on a piece of work would be seen by outsiders as an A; however, the A- will convey to you that the work can be improved.

The coursework will count for 60% of the final grade, and the final exam for 40% of the grade.

Academic Code of Integrity

Students are expected to abide by The University of Arizona Code of Academic Integrity. The guiding principle of academic integrity is that a student's submitted work must be the student's own. If you have any questions regarding what is acceptable practice under this Code, please ask an instructor.

Contacting me

Please raise queries in class, or by email to Fricke@ccit.arizona.edu or in Room 16 during Office Hours (M,W,F 1-3).