Course Materials

Announcements

12/9/2000: The final is on Thursday, Dec 14, 12:00-2:30, in Ives 305.

12/8/2000: Homework 5 solutions have been posted.

12/7/2000: 473 projects: Final projects are due Monday, December 11. You can give the report to Claire or to any of the TA's or to Cindy Robinson (4146 Upson). Code should be e-mailed to Claire. If the report is not finished until after 5:00p.m., send it electronically to cardie@cs.cornell.edu and turn in the hardcopy the morning of the 12th. Project demos are entirely optional. They will be held on Monday, December 11th. Those interested in demoing their system should sign up for a (20-minute) slot on the sign-up sheet on Claire's door or via e-mail to cardie@cs.cornell.edu. We'll keep the current schedule available on-line here.

12/7/2000: A brief exam info sheet and last year's final exam (no solutions) are available in the handouts section of this web site. The exam is closed-book, closed-notes.

12/5/2000: For office hours during study week and the week of exams, please check the personnel portion of this web site.

11/20/2000: Office hours (Eric Strong) on Tuesday 11/21 postponed to Sunday 11/26 8:00 - 9:00pm  instead 

11/16/2000: The CTF follow-up tournament has been run. View the rankings. Now that the tournament is over, you can view the secret map jpg, or access secret.txt directly.

11/14/2000: Homework 4 Solutions have been posted.

11/12/2000: The CTF tournament of teams that submitted working agent code has been run. View the rankings. A follow-up tournament will be run later this week for teams that submitted non-working agent code the first time around. Congradulations go out to jrh26Agent, which won the tournament with a nice (though slow!) search for optimal paths.

11/10/2000: The CS473 code review due on Monday, November 13, is now OPTIONAL in the sense that your grade for the first code review can count as the grade for the second code review if you wish.

11/7/2000: Jason Rohrer will be holding a last-minute CTF question and answer session on Wednesday, November 8 from 4:30-5:30pm in Upson 328. You should attend if you're *still* having trouble getting CTF running or if you have any remaining questions.

10/30/2000: There has been an extension on (just) the programming portion for Homework 4. It is now due Friday, November 10.

10/19/2000: Jason Rohrer will be holding extra office hours today from 3:00-4:00pm in Upson 328.

10/04/2000: Homework 3 has been posted. The solutions to the midterm have also been posted (in the handouts section).

10/01/2000: Some students have been having trouble understanding resolution proofs and how to get sentences into normal form. So, I've written up a ROUGH resolution proof of the sentence that appears on the sample midterm.[.ps .pdf] Reading pages 277-283 in the book should also help you to understand this somewhat difficult concept. -Jason Rohrer

9/29/2000: Late assignments can be given to any of the TA's or to Claire or to her administrative assistant, Cindy Robinson (4146 Upson). You can also slide the assignment under Claire's office door (5161 Upson). Note that public access to the 4th and 5th floors of Upson is not available after 5:00 p.m. weekdays and on weekends.

9/27/2000: A sample midterm is in the handouts section below.

9/26/2000: The alpha-beta pruning example from class is available from the "lecture notes" section below.

9/18/2000: CS472 Homework 1 has been graded. Max, min, and mean scores are posted below along with the solutions. The cs472 re-grade policy is also described in the homework section below.

9/14/2000: CS472 Homework 2 is now available.

9/2/2000: The in-class midterm will be on Monday, October 2.

Note: All materials are presented as both PostScript (".ps" and ".eps") and Adobe Acrobat files (".pdf"). No browser we know of can display them directly, so you either have to specify a helper application (like GhostView and Acrobat Reader respectively) to display them for you, or you can download the file and do something with it locally (for example, in unix you could "lpr" PostScript files to a laser printers which understand PostScript). Netscape Navigator in the PC lab, at least on some machines, is already configured to use GhostView. If this is not the case, you can download free versions of GhostView and Adobe Acrobat. Newer versions of GhostView are capable to operate both PostScript and PDF Files.

Handouts

  • Final exam info sheet [.ps .pdf]
  • CS472 final exam from 1999 [.ps .pdf]. Note that the "Q exam" questions were NOT for undergraduates or MEng students in CS472 --- they were for the Ph.D. students who were taking the final in lieu of their qualifying exam in AI. Also, unlike last year, this year's exam is closed-book, closed-notes.
  • Midterm Solution [.ps .pdf] Min: 35; Max: 80/80; Mean: 60.9
  • Sample midterm [.ps .pdf]
  • Partial solutions to the sample midterm [.ps .pdf]
  • Rough resolution proof of the sentence that appears on the sample midterm [.ps .pdf]
  • General course information [.ps .pdf]

Homeworks

Homework 5 solution [.ps .pdf]

  • Updated 12/8 1:00p.m.: We just modified the neural net question with the appropriate grading codes.

Homework 5: due Monday, November 27. [.ps .pdf]

  • Update 11/21: Given the data set provided by us for the perceptron programming problem (#5), you will find that the net converges in only a couple of epochs (possibly regardless of the learning rate). If this is the case, then, for part iii of the problem, just show the weights after each epoch...we know that there may be fewer than the requested THREE intermediate epochs.
  • Update 11/24: Here are some hints for getting started on problem 2a. A decision list is an ordered series of tests, each which may contain up to k attributes in a conjunction. Given some example that you want to classify, you see if it satisfies the first test. If it does, then you stop, and that example is classified as "Yes" or "No" (see example in text). Otherwise, you go on to the next test. You can think of it sort of like a "switch" or "case" statement in a programming language -- as soon as your example matches a test, you immediately get an answer, otherwise you keep going. If your example doesn't satisfy any of the tests, you have some default answer at the bottom. Using a k-cnf formula to represent a decision function is sort of the same. Except now you just have one big test, a cnf formula with exactly k literals in each clause. You just apply the whole formula to the example, and if it returns "true", the answer is "yes", otherwise the answer is "no". You can view k-cnf as a decision list with only one big test -- a k-cnf formula -- or as a series of tests. As a series of tests, you apply each clause in the k-cnf formula to your example, and as soon as a test/clause returns "false", you immediately answer "no". If all the tests/clauses are satisfied, you return "yes". Clearly the ordering of the "tests" no longer matters, because you have to satisfy all of them to get a "yes" answer. From here, the analysis of PAC learnability is analagous to showing PAC learnability for decision lists, only it's easier because: a) you have exactly k literals for each clause/test, and b) you don't have to worry about ordering of tests.

Homework 4: due Monday, November 6. [.ps .pdf]
Programming Part: Extension...***now due Friday, November 10***. [here]

Homework 4 Solution [.ps .pdf]

Problem set portion...Max: 101; Min: 62; Mean: 89.5.

Programming portion...Max: 98; Min: 60; Mean: 83.3.

Homework 3: due Monday, October 23. [.ps .pdf]

  • ****Note: There is a mistake in the Unify pseudocode on p. 303. The last line should say 'add{var/x}' rather than 'add{x/var}'. To see a walk-through of the (fixed) Unify algorithm from Russell and Norvig on a fairly complex example, check here.

Homework 3 Solution. [.ps .pdf]

Max: 112; Min: 61; Mean: 97.

Homework 2: due Wednesday, September 27. [.ps .pdf]

Last updated Thursday, 21 September, 15:40pm. Chages made from original version:

  • Only the minor change from least-constraining-variable to least-constraining-value. Thank you Kevin.

Updated Monday, 18 September, 19:30pm. Chages made from original version:

  • Caption of Figure 1 changed (for the sake of clarity) to: "A board configuration from a typical game of checkers. Here none of the pieces are crowned (i.e. there are no kings), white started from the top, while black started from the bottom and it's black's turn now."

Homework 2 Solution. [.ps .pdf]

Max: 82; Min: 52; Mean: 72.6.

Homework 1: due Monday, September 11. [.ps .pdf]

Last updated Sunday, 3 September, 4:45pm. Changes made from original version:

  • Description of arc-consistency algorithm was made more detailed;
  • The CSP question explicitly allows (but doesn't require) the use of unary constraints;
  • The CSP question explicitly allows (but doesn't require) the use of unary constraints;
  • Specification of heuristic search problem now allows the use of cycle-checking to reduce the number of nodes expanded.

Homework 1 Solution. [.ps .pdf]

Max: 80; Min: 39; Mean: 67.6.

(Very) tentative shedule for future homeworks

  • Homework 3: due Monday, October 23
  • Homework 4: due Monday, November 6
  • Homework 5: due Wednesday, November 22

Regrades

If you believe that an error was made in grading your assignment, you should submit the assignment for a re-grade. Before doing this, please check the on-line solution. To submit a re-grade, attach a sheet to your assignment that clearly explains the problem. Submit the entire assignment, not just the pages for the parts in question. Regrades should be submitted within one week from when the assignment was handed back. You can give your regrade request to Professor Cardie or to any of the TA's for the course during any of the posted office hours (or at class). Please submit regrade requests with care --- your new grade could easily be lower after the regrade since we reserve the right to look at the entire assignment, not just the parts in question.

Electronic submission instructions

All homework assignments must be turned in on paper and electronically by the due date to receive credit. No later than 24 hours after the due date, you will receive email confirmation of your electronic submission if we've received it. If you do not receive email confirmation, it is your responsibility to contact us. If your assignment is not submitted correctly via the electronic submission process, you have no guarentees regarding the results of a lost assignment (electronic submission proves that you handed in your work in the event that the hardcopy is misplaced).

You should follow these steps when submitting electronically:

  1. ZIP or TAR.GZ all of the files that you want to hand in together into one file. Name this file "email@address_X.zip" where email@address is your complete email address and X is the homework number you are turning in. So, if Jason Rohrer were turning in homework 35, he would name his file jcr13@cornell.edu_35.zip;
  2. Direct your FTP client to playpen.cs.cornell.edu (in windows, you can do this easily by typing "ftp playpen.cs.cornell.edu" at the DOS command prompt);
  3. Log in with username "cs472" and password "deepblue";
  4. Switch your FTP client into BINARY mode (if using a command-line client, simply type "bin");
  5. Put (upload) your archive.

Notes:

  • Note that you will not be able to see your file once you upload it. Some FTP clients, especially graphical clients, try to list the file directory automatically after an upload. This will cause the FTP client to display an error message (because you're not allowed to see the directory contents) but this error message is no cause for alarm;
  • If you make a mistake during your first upload, you won't be able to upload the file again because you have write-only, no-overwrite access. So, if you want to upload your archive again, you'll need to give it a different name. Please add an additional _N to your file name, where N is the version number of the file. Thus, if Jason Rohrer flubbed his first upload of jcr13@cornell.edu_35.zip, he would upload a second file called jcr13@cornell.edu_35_1.zip;
  • We will grade the last file you upload before the deadline and ignore the other older files.

Lecture Notes

  • Defining Artificial Intelligence (Lectures 1-2; August 25, 28; Chapter 1) [.ps .pdf]
  • Uninformed search (Lectures 2-4; August 28, 30, September 1; Chapters 2-3) [.ps .pdf]
  • Heuristic search (Lectures 5-6; September 4, 6; Chapter 4.1-4.2) [.ps .pdf]
  • Local search (Lectures 7-8-9; September 8, 11, 13; Chapter 4.4-4.5, Chapter 20.8 + material from Mitchell) [.ps .pdf]
  • Game playing (Lectures 9-10-11; September 13, 15, 18; Chapter 5) [.ps .pdf]
  • Alpha-beta pruning example from class. [.bmp]
  • Knowledge-based systems (Lectures 12-19; September 20, 22, 25, 27, 29, Oct 4, 11, 13; Chapters 6-7, 9, 10.1-10.6) [.ps .pdf]
  • Planning (Lectures 19-22; Oct 13, 16, 18, 23; Chapter 11) [.ps .pdf]
  • Learning I, Introduction, IBL, Decision Trees (Lectures 22-27; Oct 23, 25, 30; Nov 1, 3, 6; Chapter 18.1-18.4, 18.6) [.ps .pdf]
  • Learning II, Neural Networks (Lectures 28-31,33-34; Nov 8, 10, 13, 15, 20, 27; Chapters 19, 20.1-20.3) [.ps .pdf]
  • Walk-through of perceptron learning example.
  • Natural Language Processing...a brief introduction (Lectures 32, 35) 28-31,33-34; Nov 17, 29. [.ps .pdf]
  • Professor Lee's NLP intro slides are slides 1-20 of her CS150 lecture.

CS473 Related Issues

Tentative Project Due Dates

  • Final projects are due Monday, December 11. You can give the report to Claire or to any of the TA's or to Cindy Robinson (4146 Upson). Code should be e-mailed to Claire. If the report is not finished until after 5:00p.m., send it electronically to cardie@cs.cornell.edu and turn in the hardcopy the morning of the 12th. Project demos are entirely optional. They will be held on Monday, December 11th. Those interested in demoing their system should sign up for a (20-minute) slot on the sign-up sheet on Claire's door or via e-mail to cardie@cs.cornell.edu. We'll keep the current schedule available on-line here.
  • Preliminary proposal: due Friday, September 15
  • Full proposal: due Friday, September 29
  • Status report 1: due Wednesday, October 25
  • Status report 2: due Monday, November 13
  • ***NOTE***: The CS473 code review due on Monday, November 13, is now OPTIONAL in the sense that your grade for the first code review can count as the grade for the second code review if you wish.

  • Final project (Code + Write-up): due Friday, December 1

Status report format [.ps .pdf]

Final project submission information [.ps .pdf]

Final project report format is here.

Project proposal format [.ps .pdf]

Some project ideas

Interesting web links

  • Decision tree that guesses which evil dictator or TV sitcom character you're thinking of. (Link submitted by Val Ebert and John Woschinko.)
  • The Temple of Alife - several nice Java applets that demonstrate some of the more "colorful" sides of artificial life. (Link submitted by Jason Rohrer)
  • "Self-taught" checkers - a New York Times article about Fogel's evolutionary neural network system that learned to play checkers by playing against itself (note that you will need to sign up for the NY Times library service to access this article, but it's free). (Link submitted by Jason Rohrer)
  • Deep Blue's Celebrity Appeal - IBM's supercomputer Deep Blue is fast becoming a cultural icon. A new survey finds the machine is as recognizable as "Baywatch" star Carmen Electra. (Link submitted by Krista Bendig)
  • Is your new AIM pal an artificial intelligence program - What do you get when you mix AOL, AppleScript, and artificial intelligence (AI)? Psychoanalysis, Internet style. (Link submitted by Stewart Munoz)
  • Tools for learning Computational Intelligence - Here are some applets that are designed as tools for learning and exploring some concepts in artificial intelligence. They are part of the online resources for Computational Intelligence. Feedback is welcome. (Link submitted by Kevin O'Neill)

[ Description ] [ Requirements ] [ Materials ] [ Grading ] [ Personnel ]