Expert Systems

Course Description

Project oriented course. Fundamentals of automated reasoning and deductive systems. Application of automated reasoning in mathematics, digital systems design (verification of hardware and software) and problem solving. Rule-based expert systems augmented with rule weighting, certainty factors, and fuzzy logic. Applications in technical systems synthesis, diagnostics, and process control. Probabilistic reasoning based on Bayesian belief networks. Applications of Bayesian networks in diagnostics and prediction. Project work involves hands-on experience with prevalent expert system shells (e.g. Prover9/Mace4, CLIPS, FuzzyCLIPS, Matlab, HuginLite).

General Competencies

The course gives students knowledge and skills for solving medium to hard problems from diverse expert systems application domains.

Learning Outcomes

  1. define and describe expert system and its main constituents.
  2. distinguish class of problems suitable for solving with expert systems.
  3. breakdown the problem and select crucial parts.
  4. assemble various parts of knowledge and skills in order to devise the approach to solution.
  5. design and create expert system suitable for solving particular problem.
  6. appraise the quality of solution and justify the employed techniques.

Forms of Teaching


The course is organized in two cycles. The first cycle consists of 7 weeks of lectures and a week of midterm exam. The second cycle consists of 3 weeks of lectures and 3 weeks of students' projects presentations and discussions.


Grading is based on midterm exam and the success of implemented project.

Other Forms of Group and Self Study

Students must conceptualize, design and realize expert system either individually or in pairs.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Seminar/Project 50 % 40 % 50 % 40 %
Mid Term Exam: Written 0 % 30 % 0 %
Final Exam: Oral 30 %
Exam: Written 50 % 30 %
Exam: Oral 30 %

Oral exam consists of projects exposition and justification.

Week by Week Schedule

  1. Course organization and administration. Introduction to expert systems. Brief outline of previous projects.
  2. Symbol manipulatin with LISP programming language.
  3. Logic and fundamentals of automated reasoning. Structure of deductive systems.
  4. Rule-based automated reasoning systems. Introduction to imperfect knowledge reprezentation.
  5. Representation and processing of imperfect knowledge. Introduction to probablilistic reasoning.
  6. Probabilistic networks - 2.
  7. Probabilistic networks - 3.
  8. Midterm exam
  9. Ontologies and modern knowledge based systems
  10. Analysis of typical tools: Prover9/Mace4, FuzzyClips, HuginLite, Protégé - 1
  11. Analysis of typical tools: Prover9/Mace4, FuzzyClips, HuginLite, Protégé - 2
  12. Student projects presentations and discussion.
  13. Student projects presentations and discussion.
  14. Student projects presentations and discussion.
  15. Justifiable midterm exam make up.

Study Programmes

University graduate
Computer Engineering (profile)
Recommended elective courses (3. semester)
Computer Science (profile)
Recommended elective courses (3. semester)
Control Engineering and Automation (profile)
Specialization Course (3. semester)
Information Processing (profile)
Recommended elective courses (3. semester)
Software Engineering and Information Systems (profile)
Recommended elective courses (3. semester)


Peter Jackson (1999.), Introduction to expert systems, 3rd Ed., Addison Wesley
Wos, L., Overbeek, R., Lusk, E., Boyle (1992.), Automated reasoning: Introduction and Applications, McGraw-Hill
Finn B. Jensen (2010.), Bayesian Networks and Decision Graphs, 2nd. Ed., Springer Verlag


ID 34371
  Winter semester
L1 English Level
L1 e-Learning
30 Lectures
0 Exercises
0 Laboratory exercises
0 Project laboratory

Grading System

90 Excellent
75 Very Good
60 Good
50 Acceptable