CMPU-365: Introduction to Artificial Intelligence

CMPU-365: Introduction to Artificial Intelligence

Fall 2014

Lectures Tuesdays and Thursdays, 1:30 - 2:45 p.m., in SP 309
Instructor Prof. Luke Hunsberger
Email ____hunsberg@cs.vassar.edu____ (without underscores)
Office SP 104.3
Office Hours Check my web site
Course Web Page http://www.cs.vassar.edu/~cs365


Contents

Description

This course will introduce fundamental concepts and tools from the field of artificial intelligence including search, constraint satisfaction, knowledge representation, reasoning and game playing. Additional topics will be drawn from planning, temporal reasoning and neural networks, as time permits. Some programming assignments will require implementing concepts and tools from scratch; others will involve using existing planning and reasoning systems.

The following topics will be covered:

  • Programming in Lisp
  • Search Algorithms
  • Constraint Satisfaction
  • Game Playing
  • First-order Logic and Automated Inference
  • Planning Formalisms and Algorithms*
  • Temporal Networks*
  • Neural Networks*
The topics with an asterisk will be chosen according to student interest and time remaining in the semester.

Books

Required Text 1: Artificial Intelligence: A Modern Approach, by Russell and Norvig (3rd edition): Can be purchased at the Vassar Bookstore or online (e.g., at amazon.com).
Required Text 2: ANSI Common Lisp, by Paul Graham: I will leave a copy in the slot outside my office door. Please SHARE!!!

Grading

There will be three types of graded material in this course: programming assignments, in-class exams, and a final project.

Programming
Assignments
45% There will be 6-8 programming assignments assigned at regular intervals during the semester. (Some assignments may count less than others.) Each assignment will be due at 11:59 p.m. Each assignment must be submitted both electronically and physically (i.e., paper printout). The code you turn in must run on the version of Lisp installed on the department machines.
Late assignments will be penalized 20% per day late. The timestamp on your electronic submission will determine its lateness. An assignment turned in X hours late will be penalized (X/24)*20 percent (i.e., partial-day lateness is not counted as a full day). However, assignments will not be accepted more than two days late.
Midterm Exams 30% There will be two in-class exams. The first in-class exam will be shortly before fall break.
Final Project 25% The final project will be an implementation based on algorithms or ideas covered in class, or an investigation into algorithms or ideas that we may have mentioned in class but did not address in depth. In either case, there must be a programming part and a written part describing what you have done. To ensure that you get off to a good start, 20% of the grade for your final project (i.e., 5% of your total grade) will be based on your initial project proposal. An additional 20% of the project grade will be based on a short, in-class presentation of your project. The in-class presentations will be given prior to the due date for the project so that you can receive feedback on your approach, progress, etc. The final project will be due at 5 p.m. on the last day of the study period.

There will NOT be a final exam for this course.

Useful Links

Calendar

TuesdayThursday
Sept. 2
Introduction & Course Overview; preview of Emacs and Lisp.
Read Chapter 1 of Russell & Norvig Russell & Norvig slides (Chapter 1); Become aware of Emacs and Lisp; introduce yourself to the index of the Graham text; and become aware of Chapter 3 of Basic Lisp Techniques by David Cooper, Jr. LispWorld handout; Additional Lisp/Emacs Info.
Sept. 4
More Intro to Artificial Intelligence; Differences between Lisp and Scheme.
Sample Assignment from Spring 2013
Read Chapter 2 of Russell & Norvig; Russell & Norvig slides (Chapter 2).
Asmt. 1 SOLUTIONS!!
Sept. 16
More fun with Lisp; History of AI (Chapter 1)
Sept. 18
Intelligent Agents Overview (Chapter 2)
BETTER SOLUTIONS FOR ASMT 2 (Turing Machine)
Beginning Search (Chapter 3, Sections 3.1-3.4): Depth-first search (DFS), breadth-first search (BrFS), Iterative Deepening Search (IDS).
Sept. 23
Uninformed search algorithms (Chapter 3, Sections 3.1-3.4): DFS, BrFS, IDS. Implementing search algorithms in Lisp.
Search Asmt (Asmt 3) SOLUTIONS!!
Sept. 25
Toward informed search strategies. Russell & Norvig slides (Chapter 3)
Visualizing search algorithms (Thanks to Mike A.)
Sept. 30
Informed search strategies: Greedy, A* and IDA*
Russell & Norvig slides (Section 3.5; Old Chapter 4)
Oct. 2
Depth-Limited Search, Iterative Deepening Search, A* search, and Iterative Deepening A* Search; One way of implementing the Rubik's cube domain: Rubik Code
Oct. 7
Adversarial Search; Minimax and Alpha-Beta Pruning (Chapter 5)
Asmt. 4 SOLUTIONS!!
Oct. 9
Continuing with adversarial search
Russell & Norvig slides on Minimax & Alpha-Beta Pruning (Old Chapter 6)
Check out updated Asmt. 4 files.
Oct. 14
Continuing with Minimax & Alpha-Beta Pruning
Oct. 16
Oct. 21
FALL BREAK!
Oct. 23
FALL BREAK!
Oct. 28
Constraint Satisfaction Problems (CSPs): Chapter 6
Russell & Norvig slides (Old Chapter 5)
Review for exam.
Asmt. 5 SOLUTIONS!!
Oct. 30
MIDTERM EXAM 1!
Chapters 1, 2, 3, 5 (thru 5.4)
Nov. 4
Constraint Satisfaction Problems & Sudoku.
Sudoku code from class, depth-first traversal with backtracking using recursive function calls.
Nov. 6
Neural Networks: Code from class, Back Propagation Handout.
Nov. 11
Project Proposals & Neural Networks
Nov. 13
Neural Networks & Planning
Neural Networks with Bias
Nov. 18
Projects
Nov. 20
Partial Order Planning (Sections 10.1, 10.2 and 10.4.4)
Russell & Norvig slides on Planning (Old Chapter 11)
Nov. 25
Continuing with Partial-Order Planning
Implementations of planning algorithms
Nov. 27
Thanksgiving!
Dec. 2
Planning with plan graphs! (Section 10.3)
Article by Daniel Weld
Dec. 4
Review for 2nd exam!
Dec. 9
2nd Exam
Dec. 11
Project Presentations!!