EECE (COMP) 4/6730: Expert Systems

Spring Semester 2003

2001-2003 Catalog Data: 4/6730. Expert Systems. (3). (Same as Comp 4/6730). Fundamentals of programming in PROLOG, central ideas of expert system development, including knowledge representation, control structures, tools, knowledge acquisition, and knowledge engineering. PREREQUISITE: EECE 3221 or (COMP 4030 and MATH 2701) or Permission of Instructor.

ABET Syllabus

Textbooks:

    1. Expert Systems Principles and Programming, J. Giarratano and G. Riley, 3rd Edition, PWS Publishing, 1998.

    2. Programming in Prolog, W.F. Clocksin, C.S. Mellish, Springer-Verlag, 1994.

References:

1.     Free SWI-PROLOG software for education and research is available from http://www.swi-prolog.org and the user manual is here.

2.     Free online Prolog book:  Online Prolog Book.

3.    Additional notes and papers from journals and conference proceedings will be provided throughout the course.

Instructor:

    Dr. David J. Russomanno, Associate Professor of Electrical and Computer Engineering

    Office: EN 212

    Phone: 678-3253

    Email: d-russomanno@memphis.edu

Goals: This course is designed to introduce advanced undergraduate and graduate students in Electrical Engineering, Computer Engineering, and Computer Science to the theory and practice of the engineering of knowledge-based systems using PROLOG as an implementation language.

Prerequisites by Topic:

  1. Previous and recent programming experience in at least one high-level computer language.
  2. Familiarity with elementary data structures, algorithms, and mathematical logic.

Topics: (T1 - denotes Text 1 and T2 - denotes Text 2: followed by textbook chapter section)

  1. Introduction to Expert Systems (T1: 1.1, 1.2, 1.3)
  2. Foundations of Mathematical Logic and Automated Reasoning (T1: 2.11-2.17, 3.6-3.11, 3.13)
  3. Syntax and Semantics of PROLOG Programs (T2: 1, 2)
  4. Object Representation with Trees and Lists in PROLOG (T2: 3, 4)
  5. Backtracking and Cut (T2: 5)
  6. PROLOG Built-In Predicates and Input/Output (T2: 6-7, selectively)
  7. PROLOG Applications: Representing sets, searching graphs, symbolic reasoning, etc. (T2: 8-10, selectively)
  8. Classical Expert Systems (T1: 1.4-1.12, 1.15)
  9. Rule-Based Reasoning: Forward and Backward Chaining (T1: 3.14)
  10. Knowledge Representation: Semantic Networks, Frames, and the Object-Oriented Paradigm (T1: 2.1-2.10, 3.4)
  11. Uncertainty Management: Bayesian Updating, Certainty Factors, Dempster-Shafer Calculus, and Fuzzy Logic (T1: 4, 5)
  12. Knowledge-Based System Lifecycle, Feasibility Analysis, Requirements Specification, and Design (T1: 6)
  13. Second-Generation Expert System Architecture (Handouts)

Grading:

   1.  Two In-Class Exams 40 %

   2.  Final Exam 20 %

   3.  Homework and Term Project 30 %

   4.  Pop Quizzes 10%

Note: the student is guaranteed the following 10-point grading scale:

    A    90-100

    B     80 - 89.99

    C    70 - 79.99

    D    60 - 69.99

    F    < 60

However, the instructor reserves the privilege to use another scale (including the +/- system) provided the student would receive the same or a better grade under the new scale.