AIfall10

Home Assignments Lecture Blog Resources Project Discussion Group

91.420/91.543 Artificial Intelligence, Fall 2010
Prof. Fred Martin, ⚠ (:html:)<a href="http://mailhide.recaptcha.net/d?k=01COSqrfJ-58cc94fQb2pI1A==&c=iZBP8kCznrjdnfw8QFFKADFtsIimnLdVHk581djoISQ=" onclick="window.open('http://mailhide.recaptcha.net/d?k=01COSqrfJ-58cc94fQb2pI1A==&c=iZBP8kCznrjdnfw8QFFKADFtsIimnLdVHk581djoISQ=', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0, menubar=0,resizable=0,width=500,height=300'); return false;" title="Reveal this e-mail address">click for fred's email</a>(:htmlend:)
TA: Jian (Jeff) Lu,
Mon/Wed/Fri, 12n–12:50 pm, OS401

We will be using the following books:

Artificial Intelligence: A Modern Approach (3rd edition – 2009)
Stuart Russell and Peter Norvig
The Society of Mind (1987)
Marvin Minsky
By far the best AI text.“The mind is what the brain does.”—Steven Pinker

What is AI?

There are few areas in computer science as broad as artificial intelligence. AI encompasses algorithm design, agents and robots, natural language understanding, expert systems, music and sound, as well as philosophical questions about the nature of consciousness!

In this class, we will focus on the practical. The goal will be to illustrate all ideas with code that runs. Examples in class will be worked out in Python and Lisp (probably leaning more towards the Python). Sample code for many of the algorithms discussed in the text is provided in a variety of languages (Python and Lisp, plus Java, C++, and C#). You will be allowed to complete assignments using the language of your choice, and you will be welcome to use the reference code as a basis for your own experiments and extensions,

The textbook, as noted above, is Artificial Intelligence: A Modern Approach, by Russell and Norvig. The book is comprehensive, is well-written in the most exemplary manner, and has detailed bibliographies for each chapter. It is by far the most popular book used to teach AI, but it is also the best.

The authors just published the third edition of “AIMA.” I do recommend this new edition, and new copies should be available at the UML bookstore. It would be acceptable to get a used second edition; these are typically available for $25 to $35 plus shipping (alibris; amazon; bookfinder). Please do not use the first edition.

We will also have readings and discussions based on Marvin Minsky's seminal The Society of Mind. Minsky is often considered the “father of AI,” and this work lays the foundation for “strong AI”—the idea that AI could ultimately produce truly intelligent synthetic brains, not merely systems that appear to act in intelligent ways. Minsky's book is not ordered at the UML bookstore, so please purchase a used copy (alibris; amazon).

The bulk of our work will focus on more mundane matters, and the content in AIMA could easily fill two semesters and still be considered an introduction. As such, we will not attempt to cover every topic, but rather to learn a good subset of topics well. The agenda for the semester will include:

  • search
  • game-playing, including adversarial and stochastic search
  • reinforcement learning, including value iteration and q-learning
  • probabilistic reasoning, including hidden Markov models

(The list above is subject to revision; also, please let me know if there is a topic you want included which presently is not.)

Grading

There are three major categories of work that will be assessed. These are:

  • Weekly (or semi-weekly) assignments, 25%. It is my opinion that the primary way to really learn new material is by working through assignments. Assignments will be accepted up to one week late with a 25% reduction in that assignment's value. If you fall behind on your homework, it is much better to cut your losses and work on the current assignment, instead of running behind trying to catch up.
  • Daily reading reports and brief presentations, 10%. We will be reading the Minsky book at the rate of approx. 7 sections chapters per class meeting. (Each section is exactly one page in length.) Each of you will prepare 140-character synopses of each section, assigned at each class and due on the next one. Each day, I will randomly call on a person to lead a short discussion the assigned material. Please have your synopses at hand for each class meeting; you may start the discussion by reading them. You can expect to lead about twice over the course of the semester. Please be prepared.
  • Quizzes and a final exam, 30%. There will be two in-class quizzes during the semester. There will be a cumulative final, worth 20% of your overall grade.
  • Term project, 30%. A significant part of the class will be an independent implementation project, which you will specify and carry out, primarily over the last month of the semester. We'll start conceptual work on the project earlier than that. I will expect the project to represent a significant work effort, and I will assist you in organizing your time so that this happens.
In the final project, you will apply the ideas developed in the class in an original software implementation. You may thus connect the ideas of the class with your own interests—music, robotics, art, databases, the web, networking, gaming, etc. The learning goal of the project is to have you find some real-world relevance of the ideas in the class.

Classroom participation is worth 5% of your overall grade. In practice, if your other grades put you on a marking boundary, this will push it one way or the other.

To summarize:

25% Weekly homeworks
10% Minsky reports
10% Two quizzes
20% Final
30% Project
5% Classroom participation

Discussion Group / E-Mail List

We will use Google Groups for class conversation and announcements. Please join this group. I'd advise setting your preferences to immediate, individual delivery of messages—click the “Edit my membership” tab.

⚠ (:html:) <table style="border:1px solid #aa0033; font-size:small" align=center> <tr> <td rowspan=3> <img src="http://groups.google.com/groups/img/groups_medium.gif" height=58 width=150 alt="Google Groups"> </td> <td colspan=2 align=center><b>Subscribe to 91420-f10</b></td> </tr> <form action="http://groups.google.com/group/91420-f10/boxsubscribe"> <tr> <td>Email: <input type=text name=email></td> <td> <table style="background-color:#ffcc33;padding:2px;border:2px outset #ffcc33;"> <tr> <td> <input type=submit name="sub" value="Request"> </td> </tr> </table> </td> </tr> </form> <tr><td colspan=2 align=center> <a href="http://groups.google.com/group/91420-f10" target="new">Browse Archives</a> </td></tr> </table> (:htmlend:)

The group address is 91420-f10@googlegroups.com. You have to be a member to send to the list.

Project Sequence

For undergraduates, 91.420 Artificial Intelligence can be grouped with 91.450 Robotics I to form a course pair.

Collaboration Policy

You are welcome to discuss ideas in the class with your peers. However, pair programming or other side-by-side work that involves sharing of code is not allowed. By turning in an assignment, you attest that you have written the new code that it includes. Please be familiar with the university's academic integrity policy.

Honors Section

Students who are registered for the honors section of the class are expected to have exemplary work, including classroom participation, written work, and the course project. Additional and more difficult problems will be assigned in most of the weekly problem sets.

Graduate Section

The graduate section is 91.543.201. In addition to being treated as honors students, students who are registered in the graduate section will locate, read, and report on current and/or historical research papers associated with each of the topics in the class. Also, you will prepare a paper of your own, based on your implementation project.

Please email me for a permission number if you are interested in taking the graduate version of the class.