Foundations of Artificial Intelligence

CS4700  - Fall 2009 - Hod Lipson
Department of Computer Science, Cornell University

This course uses a clicker. If you do not already have one, please get one and register it.

This course uses CMS. If you are registered for the course but do not have an account, please contact the head TA to be added.

Time and Place

Hollister B14,  Monday, Wednesday, Friday, 11:15am - 12:05pm

First lecture: Friday, August 28, 2009
Last lecture: Friday, December 4, 2009

Midterm (in-class): Friday, October 9, 2009. Open books and notes, no phones, laptops, or any electronic devices. Topics: Informed and uninformed search, local and adversarial search, CSP, Markov models, kNN and Decision trees.
Final Exam: Mon Dec 14, 2-4:30pm, location TBD. Open books and notes, no phones, laptops, or any electronic devices.

Course Staff and office hours

Instructor: Hod Lipson
Head TA: Fang Liu

Name email Office hours & location
Hod Lipson Hod.lipson@cornell.edu  Friday, 1-2pm, Upson 216
Fang Liu fl95@cornell.edu     Friday, 2-3pm, Upson 328
Ruben Sipos rs727@cornell.edu  Wednesdays 4:30-5:30, Upson 328
Jesse Simons jms263@cornell.edu  Mon 2:30-3:30pm, Upson 328
Chris Parsons csp33@cornell.edu     Tuesday 3-4pm, Upson 328
Jonathan Hui jyh27@cornell.edu     Thursday 3-4pm, Upson 328
Daniel Perelman dap56@cornell.edu     Thursday 4-5pm, Upson 328
Blair Davis bad29@cornell.edu     Tuesday 1:30-2:30pm, Upson 328
Liheng Frank Chen flc23@cornell.edu     Wednesdays 3:30-4:30pm, Upson 328
Tze Jian Chear tc262@cornell.edu     Monday 3:30-4:30pm, Upson 328

Mailing List

For questions email cs4700ta-l "at" lists.cs.cornell.edu. (Note: Remove the extra spaces).  The list is set to mail all the TA's and Prof. Lipson -- you will get the best response time by using this facility, and all the TA's will know the question you asked and the answers you receive.

Reference Material

The main textbook for the class is:
Artificial Intelligence: A Modern Approach, Russell and Norvig, Prentice-Hall, Inc., second edition.  I’ll refer to the book as “R&N”.

Lab accounts

Accounts at the Computer Science Undergraduate Lab (CSUG) should already be set up for all pre-enrolled students over the summer, and for newly registered students by the end of the add-drop period. If you do not have an account but need one sooner, please submit a request. You must authenticate your account before you can start using it. This will also grant you card access to the lab and to the MSDNAA software library for downloading software.

Accounts on CMS should also be set up for all pre-enrolled students. If you do not have an account, please contact the head TA and ask to be added.

Prerequisites

This course has no prerequisites other than familiarity with basic data structures and programming (e.g., CS211) and the basic mathematical skills obtained in CS280. An understanding of inference in prepositional logic and basic blind search techniques (i.e., breadth-first and depth-first search) is also assumed, but background readings in these topics can be provided for those with a deficiency in this area.

If you have not taken prerequisites but want to take this course anyway, please be aware that there is a significant programming component. Get a copy of Introduction to Algorithms (Cormen et al.) and read and understand the chapters on Elementary Data Structures, Hash tables, Binary Search trees, and Elementary Graph algorithms. Do a few of the exercises to test you knowledge You must be comfortable programming in some high level language.

Syllabus

This course introduces the theoretical and computational techniques that serve as a foundation for the study of artificial intelligence (AI). Topics to be covered include the following:

Note: some of the topics listed above may be covered only briefly, depending on time. Detailed reading information will be provided in the lectures notes and homework assignments.

Grading This is a 3-credit course. Grades will be determined based on a midterm, a final exam, homework assignments, and class participation.

The midterm is an in-class examination (Friday, Oct 9) and the final will be given on the day and time slot scheduled by the university. All assignments are due at the beginning of class on the due date. Assignments turned in late will drop 5 points for each period of 24 hours for which the assignment is late. In addition, no assignments will be accepted after the solutions have been made available.

Re-grading: Although you are encouraged to talk with any TA about the questions, only the head TAs may award back points (or detract points if they  find new things wrong) if you want a re-grade.

Q-Exam grad students: If you are a graduate student needing a Qualifier Exam, you need to take only the final. However, you can the midterm too if you want to "spread the risk".

Tentative Schedule

Date Topic Reading
8/28 About the course  
8/28 Introduction R&N Ch. 1,2
9/2 Agents and Problem-Solving as Search R&N Ch. 3
9/7 Informed Search R&N 4.1-4.2
9/14 Intro to NLP  
9/16 Local Search R&N 4.3. and p. 120
9/18 Constraint Satisfaction R&N Ch. 5
9/21 Adversarial Search and Games R&N Ch. 6
9/25 Markov Decision Processes and Reinforcement Learning R&N 17.1-3, 21.1-4, 
10/7 Instance Based Learning R&N 18.1-2, 20.4
10/14 Decision Trees R&N 18.3
10/19 Overfitting and Cross-Validation
10/21 Statistical Learning Theory R&N 18.5
10/26 Perceptron and Optimal Hyperplanes R&N 20.5 (single layer and multi layer)
10/30 Neural Nets Schoelkopf & Smola 7.1-7.3, 7.5 (online)
11/3 Support Vector Machines and Kernels R&N 20.6-20.7, Schoelkopf & Smola 7.4 (online)
10/11 Knowledge-Based Systems R&N 7.1-7.6
11/16 First-Order Logic and Resolution R&N Chapter 8, R&N 9.1-9.3, 9.5
11/16 Planning R&N 10.3 (up to page 334), R&N 11.1-3
11/23 Unsupervised Learning, K-means R&N 20.3

Homework  

Homework # 1 (Due sep 14)

Homework # 2 (Due sep 30) See hw2_sat05.txt hw2_sat10.txt hw2_sat20.txt hw2_sat40.txt

Homework # 3 (Due Oct 16)

Homework # 4 (Due Oct 26)

Homework # 5 (Due Nov 9)

Homework # 6 (Due Nov 30) see hw6_amily.pr

Academic Integrity

This course follows the Cornell University Code of Academic Integrity. Each student in this course is expected to abide by the Cornell University Code of Academic Integrity. Any work submitted by a student in this course for academic credit is expected to be the student's own work. Collaboration is allowed as prescribed above, but you cannot copy all or part of another student's homework or program --- regardless of whether that copy is on paper or on-line. Violations of the rules (e.g. cheating, copying, non-approved collaborations) will not be tolerated.

Homework Assignments

Homework assignments are available on the CMS. Assignments are due in hardcopy. Graded homework assignments and the midterm can be picked-up in Upson 360.