If the content you are seeing is presented as unstyled HTML your browser is an older version that cannot support cascading style sheets. If you wish to upgrade your browser you may download Mozilla or Internet Explorer for Windows.

COMP 456 Course Web site

Computer Science (COMP) 456
Artificial Intelligence and Expert Systems Through Prolog (Revision 2)

Revision 2 is closed for registrations, replaced by current version

Delivery mode: Individualized study online.

Credits: 3 - Science.

Prerequisite: MATH 215, COMP 272, and COMP 361.

Note: Students who are concerned about not meeting the prerequisites for this course are encouraged to contact the course coordinator before registering.

Centre: School of Computing and Information Systems

SCIS Orientation

COMP 456 has a Challenge for Credit option.

COMP 456 sample

Course Web site

CCIS Software and Hardware Requirements

Overview

The course deals with two broad topics: Prolog programming language and artificial intelligence (with special attention to expert systems). The course starts by introducing Prolog, how it works, how programs are developed, techniques to handle complex data structures, built-in procedures, techniques of good programming, and techniques used in artificial intelligence.

Then the course delves into some central areas of artificial intelligence such as problem solving, expert systems, natural language processing, and machine learning. Throughout the course, the student will frequently be required to work with examples.

Objectives

After completing the course, the student should be able to:

  • Explain the basic concepts of knowledge representation (facts, rules, etc.).
  • Explain the relation between Prolog and formal logic.
  • Introduce the concept of backtracking.
  • Build intermediate-level programs in Prolog using simple and structured objects.
  • Discuss the representation and processing of list structures.
  • Construct Prolog programs using different data structures and databases.
  • Control the backtracking, using the cut, and negation as failure.
  • Built-in predicates for processing terms and characters, and composing/decomposing atoms.
  • Write complex Prolog programs using advanced built-in procedures.
  • Develop good Prolog programs using good programming styles.
  • Debugging and improving efficiency of Prolog programs.
  • Use of tail recursion and accumulators.
  • Improving efficiency by asserting derived facts.
  • Discuss different algorithms of sorting lists.
  • Representing sets as binary trees and binary dictionaries.
  • Representing and processing graphs.
  • Solving problems using a graph-based model and path search techniques.
  • Discuss, define, explain and use the two pivotal search strategies: depth-first and breadth-first.
  • Use the A* algorithm for solving some problems and Introduce some advanced versions of A*; IDA*, RBFS.
  • Represent a problem using an AND/OR graph.
  • Represent a problem using constraint logic programming.
  • Explain the fundamentals of expert systems and knowledge representation with uncertainty.
  • Implementing an expert systems shell.
  • Natural language processing with DCG.
  • Describe some techniques of machine learning.

Outline

COMP 456 consists of the following nine units.

Unit 1 presents the syntax and the control structures of the Prolog language.

Unit 2 discusses operations on lists, operator notation and arithmetic, and data abstraction.

Unit 3 presents the “cut” facility used for preventing backtracking and introduces the concept of “negation as failure”.

Unit 4 presents more built-in procedures and control facilities.

Unit 5 presents algorithms for operations in lists, trees and graphs.

Unit 6 presents different techniques for problem solving and for representing decomposable problems.

Unit 7 presents the fundamental concepts of knowledge representation and expert systems.

Unit 8 introduces the concepts related to processing natural language using grammar rules.

Unit 9 introduces the concept of machine learning.

Evaluation

There are three tutor-marked exercises (TMEs), a software project, and a final examination in this course. The first TME, to be completed after Unit 3, will assess the student's abilities in Prolog programming in general. The second, which falls after Unit 6, gauges the student's abilities in some artificial intelligence and problem solving fundamentals and how the student may bring them to life through Prolog. The third TME is to be completed after Unit 8, and evaluates the student's understanding and perception of some advanced artificial intelligence areas such as natural language processing.

To receive credit for COMP 456, you must achieve a course composite grade of at least “D” (50 percent) (a grade of at least 50 percent on the invigilated final examination and an average grade of at least 50 percent on the assignments and a grade of at least 50 percent on the project). The weighting of the composite grade is as follows:

TME 1 TME 2 TME 3 Project Final Exam Total
10% 15% 15% 20% 40% 100%

To learn more about assignments and examinations, please refer to Athabasca University's online Calendar.

Course Materials

Textbook

Ivan Bratko. 2001 PROLOG Programming For Artificial Intelligence (3rd ed. Printed 2001). England. Addison Wesley - ISBN 0-201-40375-7.

Supplementary Readings

George F. Luger, 2005. Artificial Intelligence: Structures and Strategies for Complex Problem Solving (5th Edition). Addison-Wesley, ISBN-10: 0321263189.

Michael Negnevitsky, 2005. Artificial Intelligence: A Guide to Intelligent Systems (2nd Edition). Addison-Wesley, ISBN-10: 0321204662.

Other material

The remainder of the learning materials for COMP 456 are distributed in electronic format. At this time, the material includes:

  • COMP 456 Study Guide
  • detailed description of the requirements for the individual tutor-marked exercises
  • a course evaluation form
  • links to a variety of resources on the World Wide Web.

Additional supporting materials of interest to students of COMP 456 may occasionally be made available electronically.

Special Course Features

COMP 456 is offered by computer mediated communications mode, and can be completed at the student's workplace or home. Students are required to buy their own version of a Prolog compiler (the exact version will be determined by the course tutor).