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