|Department and Course Number
||Michael T. Cox
Principles of Artificial Intelligence
Problem-solving methods in artificial intelligence (AI) with emphasis on
heuristic approaches. Topics include methods of representation, search,
intelligent agents, planning, learning, natural language processing, logic,
inference, robotics, and case-based reasoning. 3 hours lecture, 2 hours
lab. Prerequisite: CS 400 and CS 340 (LISP) or LISP programming
- Text Books
- S. Russell & P. Norvig, Artificial Intelligence: A modern
approach. Prentice Hall, 1995. ISBN 0-13-103805-2. http://HTTP.CS.Berkeley.EDU/~russell/aima.html
- Norvig, P. Paradigms of Artificial Intelligence Programming: Case
Studies in Common Lisp, Morgan Kaufman, 1992. ISBN 1-55860-191-0.
(Advanced AI programming techniques.) http://www.norvig.com/paip.html
- Cohen, P. R., Empirical Methods for Artificial Intelligence. MIT Press,
1995. ISBN 0-262-03225-2 (HC). Suggested text, not required.
- Home Page
- News Group
- wright.cs.cs409-cs609 Post
all your questions, helpful comments, criticisms, and suggestions regarding
this course (lectures, projects, home work, exams) to our news group. I am
hoping for a lively discussion leading to good answers and clarifications.
Keep an eye on this newsgroup.
- to provide a basic survey of AI
- to develop a conceptual understanding of the basic issues and major topics
- to develop design skills for building simple AI systems.
- to understand empirical methods in AI
Prerequisites by Topic
- Data structures: Stacks, binary and n-ary Trees, and Graphs
- Algorithms: Tree traversals, Searching
- LISP programming experience.
Major Topics Covered in the Course
(C) = Cohen text
DAY TOPIC READINGS (L) = LISP text
--- ----- -------- -------------------
1 Introduction to AI Chapter 1, Sections 1.1-1.5,
and Symbolic Computation Schank article
Preface(L) pp. vii-x
2 Intelligent Agents Chapter 2, Sections 2.1-2.5;
Chapt.1(L) Sections 1.1-1.10
3 Problem-Solving Agents and Chapter 3, Sections 3.1-3.3
Representation Chapt.2(L) Sections 2.1-2.6
4 Problem Spaces and Search Chapter 3, Sections 3.4-3.5, 3.8
Chapter 4, Section 4.1(pp.92-97)
Chapt.3(L) Sections 3.1-3.3
5 Knowledge, Reasoning and Chapter 6, Sections 6.1, 6.3,
Knowledge-Based Agents 6.4, 6.6
Chapt.3(L) Sections 3.4-3.14
6 Logic Representation and Chapter 7, Sections 7.1; 7.3-
Inference 7.6; 7.9;
Chapt.4(L) Sections 4.1-4.3
7 Knowledge Bases and Memory Chapter 8, Sections 8.1-8.3
Organization Chapt.4(L) Sections 4.4-4.10
8 Case-Based Reasoning Kolodner Article
Chapt.4(L) Sections 4.11;
10 Planning and Chapter 11, Sections 11.1-11.4
Planning Agents Chapt.4(L) Sections 4.14-4.19
11 Case-Based Planning and Veloso article
PRODIGY Planning Demonstration
12 Intro to Empirical AI Chapt.1(C)
13 Exploratory Data Analysis Chapt.2(C) pp. 11-27.
14 Performance Assessment Chapt.6(C) pp. 185-199.
15 Learning and Chapter 18, Sections 18.1-18.3;
Learning Agents 18.7
16 Learning I Chapter 19, Sections 19.1-19.3;
17 Learning II Chapter 21 Sections 21.1-21.2,
18 Communication Agents and Chapter 22, Sections 22.1-22.2;
Natural Language Processing
21 Final Exam
The Intelligent Agent Term Project
Twenty percent of the grade will be based upon a class project that you will
design and implement individually. The project will consist of selecting an
intelligent task and creating an intelligent agent that can perform that task.
Estimate CSAB Category Content
||Concepts of PL
||Comp Organization + Architecture
Oral and Written Communications
The student will write a report explaining the design and representation choices
in the term project, as well as the lessons learned from the exercise. The
student will include a section that reports the experimental data given various
environmental conditions, knowledge bases, or representations. The code will
also be judged on software engineering terms, including modularity and
understandability. This requires that the code be documented well and written
Social and Ethical Issues
The course contains a brief discussion of human/artificial-agent societies and
also the discussion of responsibility of programmer versus program in actions of
autonomous learning agents.
Formal logic, first-order predicate calculus, statistics.
The term project will consist of selecting an intelligent task and creating an
intelligent agent that can perform that task. To do this, you will have to
choose an agent type, percepts, actions, goals, knowledge, and environment for
The student will then select a set of knowledge structures to represent these
dimensions. Using the code for a basic agent framework provided in class, the
student will then extend and evaluate the agent implementation based upon a
performance criterion of the student's choice. The student will design and
execute an experiment to provide a quantitative measure of the agent's
performance according to the chosen criterion.