CSCE 580: Artificial Intelligence

Prerequisites: CSCE 350 (Data Structures and Algorithms).

Instructor: Marco Valtorta
Office: Swaeringen 3A55, 777-4641
Office Hours: TTh 1030-1200


Grading and Program Submission Policy

Reference materials:

  • Russell, Stuart, and Peter Norvig. Artificial Intelligence: A Modern Approach (Second Edition). Prentice-Hall, 2003 (required text, referred to as [R] or [AIMA]). Supplementary materials from the authors are available.
  • By special arrangement, we will also use drafts of chapters of the forthcoming second edition of: David Poole, Alan Mackworth, and Randy Goebel. Computational Intelligence: A Logical Approach. Oxford University Press, 1998 (referred to as [P]).
  • Here are the
  • current departmental syllabus for CSCE 580, an older
  • departmental syllabus for CSCE 580, and an even older
  • departmental syllabus for CSCI 580, which is provided for historical information.
  • Note that syllabus flexibility is indicated as high, and our course is somewhat different from the model ones.
    Specific objectives of this course are:
  • Analyze and categorize software intelligent agents and the environments in which they operate
  • Formalize computational problems in the state-space search approach and apply search algorithms (especially A*) to solve them
  • Represent knowledge in first-order logic
  • Do inference using resolution refutation theorem proving
  • Implement key algorithms for state-space search and theorem proving
  • Represent knowledge in Horn clause form and use Prolog for reasoning
  • Student Presentations

    Grades per assignment
    Homework 1: definition of AI, state of the art
    Homework 2: agents and environments
    Homework 3: uninformed (blind) search
    Homework 4: heuristic search
    Format of submission for PR1
    Homework 5: constraint satisfaction problems
    Homework 6: constraint satisfaction problems and games
    Homework 7: logical agents (propositional calculus)
    Homework 8: First-Order Logic
    Homework 9: Inference in First-Order Logic

    Lecture Log

    Most lecture use notes from the authors of the texbook. (See link under "reference materials," above.)
    Overhead transparencies for [P] are linked to the main page for [P]; the specific link is here. The slides for Ch. 4 ("Features and Constraints" are especially useful).
    Some lectures notes are in the lecture log.
    Some programs used in the lectures are linked above.
    Introductory lectures
    Intelligent agents
    Artificial intelligence and agents: based on Chapter 1 in [P]
    Solving Problems by Searching
    Agent Architectures and Hierarchical Control: based on Chapter 2 in [P]
    Dijkstra's Algorithm and its Properties
    Heuristic Search
    Search Algorithms in Java (presented by Jingsong Wang)
    Format of submission for PR1
    Constraint Satisfaction Problems
    Non-Serial Dynamic Programming
    Adversarial Search (Games)
    Introduction to Prolog
    Prolog family relations program
    Logical Agents
    First-Order Logic
    Inference in First-Order Logic
    Learning from Observations
    Examples from review session of 2008-12-04

    Quizzes (In-Class Exercises)
    Quiz 1 of 08-08-22 (with answer)
    Quiz 2 of 08-08-25 (with answer)
    Quiz 3 of 08-09-03 (with answer)

    The USC Blackboard will soon have a site for this course.

    Prolog Information

    Some useful links:
    In this class, we write dates according to ISO Standard 8601. (Also see this).
    The Alan Turing Home Page, maintained by Andrew Hodges.
    Alan Turing's ``Computing Machinery and Intelligence,'' Mind, 49 (1950), pp.433-460 , in HTML format.
    Norman Matloff's Introduction to the vi Text editor
    Norman Matloff's Unix Tutorial Center