Department and Course Number

CS 409

Course Coordinator Michael T. Cox
Course Title

Principles of Artificial Intelligence

Total Credits 4

Catalog Description

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 experience.
Text Books
  1. 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
  2. Norvig, P. Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp, Morgan Kaufman, 1992. ISBN 1-55860-191-0. (Advanced AI programming techniques.)
  3. 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.

Course Goals

  1. to provide a basic survey of AI
  2. to develop a conceptual understanding of the basic issues and major topics in AI
  3. to develop design skills for building simple AI systems.
  4. to understand empirical methods in AI

Prerequisites by Topic

  1. Data structures: Stacks, binary and n-ary Trees, and Graphs
  2. Algorithms:  Tree traversals, Searching
  3. 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; 
   9       Midterm
  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                    
  19       TBA
  20       Review  
  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

Core Advanced Core Advanced
Data Structures  1.0 Concepts of PL  1.0
Algorithms  1.0 Comp Organization + Architecture  0
Software Design  1.0 Other  0

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 cleanly.

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.

Theoretical Content

Formal logic, first-order predicate calculus, statistics.

Problem Analysis

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 agent.

Solution Design

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.