EE671

Expert Systems and Software Architectures
for
Symbolic Reasoning

Instructor: Avi Kak


Expert Systems have become ubiquitous in industry and in research and development. Problems that require reasoning at a high level are now often solved by the use of expert systems. Such problems arise in the automatic or computer-assisted interpretation of images and signals; in advanced manufacturing; in the control of industrial processes; in VLSI circuit design; in the emerging computer aids for physicians and other professionals; in the new tools for financial planning; etc. etc.

This course consists of two major parts. The first part, lasting roughly six weeks, is designed to give students hands-on training in high-level languages for rule-based programming and inferencing. The second part of the course then delves into the different methods for uncertainty reasoning and how such reasoning can be embedded in expert systems.

The next time this course will be offered will be in the fall of 1998.



OUTLINE

((.)) denotes the number of 50-minute periods devoted to each major topic

(P) after Homework means that programming is involved


PART 1: (Programming Issues)


  1. Introduction To Symbolic Reasoning ((1))

  2. Architecture of a Production System ((1))

  3. Rules: Syntax, Constraints, Saliency, etc. ((3))
    {Handout: CLIPS Rules Manual}
    [Homework (P): Problems at the end of each chapter of CLIPS Rules manual. Students to turn in script files of their work.]

  4. Object-Oriented Augmentation of a Production System ((2))
    {Handout: CLIPS Objects Manual}
    [Homework (P): Problems at the end of each chapter of CLIPS Objects manual]

  5. CLIPS Utilities (CRSV) and Interfacing With C ((1))
    {Handout: CLIPS Utilities and Interfacing Manuals}
    [Homework (P): Students to apply the CRSV utility to one of their preview homework programs and turn in the script files.]

  6. Rete Pattern Matchers ((2))
    {Handout: Forgy's paper}

  7. Blackboard Architectures ((2))
    {Handout: IJIS tutorial paper by Kersten and Kak}

  8. Object-Oriented Programming for Blackboards ((2))
    [Homework (P): Use CLIPS Objects to create the levels of a goal-driven blackboard; to create classes for the objects that would correspond to the different BB levels; and to endow some of the object classes with simple behaviors.]

  9. Incorporating Symbolic Learning in Expert Systems via Rules of Generalization ((2))
    {Handout: AAAI Paper by Cromwell and Kak}
    
    
    

    PART 2: (Dealing with Uncertainty)
    
    

  10. Uncertainty in Diagnostic Reasoning Systems (Prospector, Mycin, etc. models) ((2))

  11. Fuzzy Logic ((2))
    {Handout: Pan and Kak paper}

  12. Shortcomings of Diagnostic Expert Systems ((2))

  13. Recap of Bayesian Calculus ((1))

  14. Representing Probabilistic Dependencies by Graphs ((4))

  15. Bayesian Belief Networks ((7))

    [Homework (P): Students to program, all in object oriented style, first the chain propagation formulas, then the tree propagation formulas, and, finally, the polytree propagation formulas. The polytree implementation to be carried out for propositional variables and for the case when each node has a maximum of two parents.] [If a student is unable to carry out the polytree implementation, ask him/her to solve theoretically the three and-gate problem at the beginning of Chap 5 using the polytree propagation formulas.]

  16. Belief Propagation for the Construction of Composite Explanations ((3))

  17. Belief Calculations Under the Assumption of a Single Hypothesis ((2))

  18. Belief Propagation for Continuous Variables ((2))



Back to Avi Kak's home page
Back to Purdue Robot Vision Lab