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)
- Introduction To Symbolic Reasoning ((1))
- Architecture of a Production System ((1))
- 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.]
- 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]
- 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.]
- Rete Pattern Matchers ((2))
{Handout: Forgy's paper}
- Blackboard Architectures ((2))
{Handout: IJIS tutorial paper by Kersten and Kak}
- 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.]
- Incorporating Symbolic Learning in Expert Systems via Rules of
Generalization ((2))
{Handout: AAAI Paper by Cromwell and Kak}
PART 2: (Dealing with Uncertainty)
- Uncertainty in Diagnostic Reasoning Systems (Prospector, Mycin, etc. models) ((2))
- Fuzzy Logic ((2))
{Handout: Pan and Kak paper}
- Shortcomings of Diagnostic Expert Systems ((2))
- Deduction vs. Abduction
- Problems with Bidirectional Inference
- Lack of Non-monotonicity, etc.
- Recap of Bayesian Calculus ((1))
- Representing Probabilistic Dependencies by Graphs ((4))
- Dependency and Independency Maps
- Markov Networks (topology)
- Markov Networks (link weights)
- Seperation and D-Separation
- Bayesian Belief Networks ((7))
- Chains
- Virtual Nodes
- Trees
- Polytrees
- Loops
[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.]
- Belief Propagation for the Construction of Composite Explanations ((3))
- Belief Calculations Under the Assumption of a Single Hypothesis ((2))
- Belief Propagation for Continuous Variables ((2))
Back to Avi Kak's home page
Back to Purdue Robot Vision Lab