Department of Computer Science
CS 681 Designing Expert Systems
Meeting time: Wednesday 3:10pm
Meeting location: IN 330
Instructor: Dr. Gheorghe Tecuci, Professor of Computer Science
Office hours: By
Office: Research I Building, Room 436
Phone: 703 993 1722
E-mail: tecuci at gmu dot edu
Dr. Mihai Boicu, Research Assistant Professor
Marcel Barbulescu, Cristina Boicu,
Prerequisite: CS 580 Introduction to Artificial Intelligence
An expert system is a software system that incorporates a large amount of human problem solving expertise in a specific (scientific, engineering, medical, military, etc.) specialty, allowing it to perform a task that would otherwise be performed by a human expert. An expert system may support a human expert to perform a task, may perform an expert task for a non-expert user, or may teach a user how to perform a task.
The objective of this course is to present the principles and major methods for designing and constructing expert systems, and to involve the students in expert systems research. Major topics include: modeling expert’s reasoning; ontology design, development, import and export; knowledge acquisition and machine learning; agent teaching and multistrategy learning; mixed-initiative problem-solving; knowledge base refinement; knowledge base verification, validation and integration; tutoring expert problem solving knowledge; overview of several expert systems; and discussion of frontier research problems.
The students will learn about all the phases of building an expert system and will experience them first-hand by using the Disciple development environment. Disciple has been developed in the Learning Agents Center of George Mason University and has been successfully used to build expert systems for a variety of domains, including intelligence analysis; military center of gravity determination; course of action critiquing; emergency response planning; planning the repair of damaged bridges and roads; teaching of higher-order thinking skills in history and statistics; and PhD advisor selection.
The classes will consist of a theoretical part and a practical part. In the theoretical part, the instructor will present and discuss the various phases and methods of building an expert system. In the practical part the students will apply this knowledge to specify, design and develop an actual system. The students are encouraged to bring a laptop with them.
Exam – 50%
Expert System Development – 50%
Tecuci G., Lecture Notes on Designing Expert Systems, Fall 2006, available online (required).
Tecuci G., Building Intelligent Agents: An Apprenticeship Multistrategy Learning Theory, Methodology, Tool and Case Studies, Academic Press, 1998 (recommended).
Additional papers recommended by the instructor.
Lecture Notes on Designing Expert Systems
Introduction to Expert Systems
Design Principles for Expert Systems and Overview of the Disciple Approach
Modeling Expert’s Reasoning
Ontology Design and Development
Tutoring Expert Problem Solving Knowledge
Machine Learning and Knowledge Acquisition
Agent Teaching and Multistrategy Rule Learning
Mixed-Initiative Problem Solving and Knowledge Base Refinement
Knowledge Bases Verification, Validation and Integration
Overview of Several Expert Systems
Discussion of Frontier Research Problems