CMSC 421: INTRODUCTION TO ARTIFICIAL INTELLIGENCE
Catalog Description
Areas and issues in artificial intelligence,
including search, inference, knowledge representation,
learning, vision, natural languages, expert systems, robotics.
Implementation and application of programming languages
(e.g., Lisp, Prolog, Smalltalk), programming techniques (e.g.,
pattern matching, discrimination networks), and control structures
(e.g., agendas, data dependencies).
Objective
This course is intended as an introduction to artificial
intelligence. It has two emphases: (i) to give an overview of
the discipline of AI as a whole and (ii) to develop aquaintance
with some of the basic programming techniques employed in the field.
Prerequisites
(CMSC 330 and CMSC 251) or CMSC 420.
Topics
- Introduction and overview (0.5 weeks)
- Lisp programming methods (3.5 weeks)
- Basic and intermediate Lisp programming
lexical closures, macros, other advanced features
- Pattern matching, associative databases
- Problem Solving (5 weeks)
- Heuristic search, A* algorithm, game trees
- First-order predicate calculus (FOPC), clause form, resolution
- Introduction to prolog and relation to FOPC
- Knowledge representation: frames, semantic nets, etc.
- Applied AI: expert systems, natural language processing.
- Machine Learning (3 weeks)\\
Symbolic methods, neural networks, and genetic algorithms.
- Material chosen by instructor (2 weeks)
Course Text
- Luger and Stubblefield, Artificial Intelligence, 1993.
- Noyes, AI with Common Lisp, 1992.
- Tanimoto, Elements of AI, 1994.
- Supplemental Lisp texts.
Typical Grading and Workload
- Large term project using Lisp
- Examinations