Course ECSE 6710
Fuzzy Sets and Expert Systems
in Computer Engineering

Tentative Course Outline
This course covers two important aspects of Artificial Intelligence:
the theory of Fuzzy Sets and Fuzzy Logics, and the area of Expert
Systems (Knowledge Based Systems). We will conclude the course with
advanced topics such as the representation of uncertainty in reasoning
tasks, and Soft Computing. The course will be subdivided into seven
parts:
- Fuzzy Set Theory and Fuzzy Logics.
The basic concepts of fuzzy set theory (membership, cardinality,
entropy) and set operations (union, intersection, complementation) are
described. Fuzzy sets are interpreted in the frame of possibility
theory. The difference with probability theory is pointed out. A
brief review of boolean logic and multivalued logic is given. Fuzzy
logic operations (and, or, not, implication), fuzzy relations and
compositions are then described. Triangular T-norms, conorms, and
generalized aggregation operators are also covered.
- Fuzzy Sets Applications.
We describe the use of F.S. in Decision Making, Failure Diagnosis, and
AI. First we define the Linguistic Approach, based on the concept of
linguistic variables, and the linguistic approximation. Then we
illustrate its applications to modeling, simulation and analysis of
complex, ill-defined systems. This approach, in combination with
fuzzy logics, has been extensively applied to decision analysis
(one/multi stage single/multi criteria decision making), failure
diagnosis (medical diagnosis, troubleshooting, maintenance) and
Artificial Intelligence (pattern recognition, cluster analysis, and
approximate reasoning). In our course we cover Decision Analysis and
Pattern Recognition/Cluster Analysis.
- Fuzzy Controllers (FC).
This is the core of the course. First, we will focus on Fuzzy
Controllers technology development. We will emphasize the use of
F.C. in Process Control (linguistic controllers, linguistic models).
We compare FLCs with with conventional controllers. We present them
as higher level language for the synthesis of Non-Linear Controllers.
We describe FC Development, Compilation, and Run-time, and its
supporting machinery (interpreter, compiler, and run-time engine.) We
discuss FL application to hierarchical control (supervisory mode) and
show examples of industrial applications. Finally we cover tuning
techniques and the symbiotic relationship between FL controllers and
Neural Networks.
- Expert System Theory and Architecture.
Three basic types of knowledge representation techniques are
illustrated: productions rules, frames (semantic networks) and
algebraic representation (predicate calculus). Production rule based
systems are extensively covered: control structure (backward-chaining
vs forward chaining interpreters, conflict resolution strategies,
metarules), explanation systems, design considerations, etc.
- First Generation Expert Systems Applications.
A few successful first generation expert systems are analyzed and
discussed: MYCIN/EMYCIN (bacteria infection treatment adviser),
PROSPECTOR (geological analysis adviser), DELTA/CATS1 (locomotive
troubleshooting), OPS5 (general purpose forward chaining interpreter),
R1 (VAX configuration planner).
- Second Generation Expert Systems Applications. We analyze the
requirements of Dynamic Classification Problems (DCP). Examples of
DCP (Pilot's Associate, Submarine Commander Associate, etc.)
- Advanced Topics.
- Representation of Uncertainty in Expert Systems and Soft Computing
We will discuss topics common to fuzzy sets and expert systems:
Modified Bayesian, Certainty Factors, Bayesian Belief Networks, Theory
of belief and plausibility (Dempster-Shafer), Fuzzy necessity and
possibility. Representation of incompleteness in Expert Systems
(Default Reasoning) and other reasoning modalities such as Case Based
Reasoning will also be discussed.
- Soft Computing
We will discuss the new field of Soft Computing (SC), a new discipline
that combines emerging problem-solving technologies such as Fuzzy
Logic (FL), Probabilistic Reasoning (PR), Neural Networks (NNs), and
Genetic Algorithms (GAs). Within this broader context, we will
analyze and illustrate some of the most useful combinations of SC
components, such as the use of FL to control GAs and NNs parameters;
the application of GAs to evolve NNs (topologies or weights) or to
tune FL controllers; and the implementation of FL controllers as NNs
tuned by backpropagation-type algorithms.