This elective module was taught three times between 1997 and 2000 to final-year undergraduates on the main B.Sc. computing degrees in UCC's Computer Science Department.
- Lectures: 24 * 1 hr lectures
- Problem classes: 11 * 1 hr tutorials in the Spring term
- Private study: 52 hrs (including revision)
There are no formal prerequisite courses but students need to be comfortable with an amount of theoretical Computer Science: propositional logic, the rudiments of first-order logic, and algorithm and problem complexity.
- 1½ hour written exam (worth 80% of the marks) in the Summer term;
- A research paper (worth 20% of the marks) to be written during the Spring term.
We look at the techniques that are used for building knowledge-based systems, including state space search, the use of various logics for state representation, the use of automated logical inference of various kinds (primarily for 'within-state' reasoning), domain-independent A.I. planning methods (for 'between-state' reasoning), and simple machine learning.
In 1997-98, we then looked at how to build knowledge-based system for tasks that require expertise when done by humans, concentrating on analysis tasks of the diagnosis or fault-finding variety. We saw how the techniques learnt in the first part of the course are applied.
In 1998-99, we looked instead at machine learning. We considered different types of machine learning and saw three case studies. We did this again in 1999-2000.
- Students should learn a raft of techniques that can be deployed when building a knowledge-based system.
- Students should gain some understanding of the issues that are raised when applying these techniques.
- (L1) What is a KBS?
- (L2-5) State space search.
- (L6-16) Logical representation and reasoning.
- (L16-17) Semantic nets and frames as logics.
- (L17-21) AI planning.
- (L22-24) Machine learning.
- Teaching materials
- Copies of overheads (gzipped postscript) by topic are available below:
- The assignment, 1999-2000
- Copies of exams (gzipped postscript):
- Recommended books
The Boole library has many AI/KBS books, and I shall be asking for more. Of the books in its collection, the following may be of use:
- Shapiro, S.C. and Eckroth, D. (eds.): Encyclopedia of artificial intelligence, Wiley
- Ginsberg, M.L.: Essentials of artificial intelligence Morgan Kaufmann Publishers, 1993
- Genesereth, M.R. and Nilsson,N.J.: Logical foundations of artificial intelligence Morgan Kaufmann, 1988
- Gabbay, D.M. et al.: Handbook of logic in artificial intelligence and logic programming, vols.1-4, Clarendon Press, 1993-95
- Rich, E.: Artificial intelligence, McGraw-Hill, 1983
- Winston, P.H.: Artificial intelligence (2nd edn.), Addison-Wesley, 1984
- Jackson, P.: Introduction to expert systems (2nd edn), Addison-Wesley, 1990
- Stefik, M.: Introduction to knowledge systems, Morgan Kaufmann Publishers, 1995
The following are top-class modern books:
- Russell, S.J. and Norvig, P.:
Artificial Intelligence: a Modern Approach,
Associated web pages
A second edition is scheduled for November.
- Nilsson, N.J.: Artificial Intelligence: A New Synthesis, Morgan Kaufmann, 1998