"Knowledge-Based Systems"

Course information for COM3411

Professor Futrelle, Spring 1998

(not all links operational on first posting, 4/5/98; Most recent Norvig sources added 4/7/98.)

(Link to Dalton's Brief Guide to CLOS added 4/25/98.)


This course has four areas of emphasis:

To do all this efficiently in one quarter, we'll start the Lisp work immediately and we'll start our readings immediately. The course will further require that you do a fair amount of reading, so do not get behind in your reading assignments. Artificial Intelligence is not a collection of mathematical and programming techniques. Unlike most other computer science subfields, it ranges far and wide across many complex topics from logic to language to vision and movement. What's more, AI cannot be properly appreciated without studying its application to at least a few different domains. That is why our two texts total about 1,800 pages and that is why you should be prepared to do a lot of reading.

This course is designed to complement AI 1, and will repeat only the small amounts of material from that course that are absolutely necessary for our work.

The Project: Every student is required to do one project, which will involve programming, but will not be exclusively programming. The project will have three due dates.

Programming and Writing: Each programming assignment you hand in, preferably by emailing your sources, must include a preface, written in English, that explains your goal for the assignment, how you went about it, what problems and successes you had, what results you obtained and how you interpreted the results. This preface should be between 300 and 600 words long. In other words, don't just hand in or email me a bunch of code and output. For code you write yourself, there should be comments included, of course. Some modest portion of the comments at the beginning of the code may duplicate that in your preface, that's OK. In addition, it is important for you to hand in all or samples of the output from your program, possibly including a copy of interactive sessions with the program. This material can be on a separate sheet or pasted into your sources in a large #| ....|# comment block.


Instructor: Professor Robert P. Futrelle

Office/Lab: 115/149 Cullinane. Mailbox: 161 Cullinane

Telephone: Office 373-4239 (includes voice mail), Lab 373-2076, Fax 373-5121.

E-Mail: Email me at futrelle@ccs.neu.edu. I check my mail often, including weekends, from 7am to 11pm.


Authors' resources: The web pages for this course will emphasize material specifically for the course, plus some pointers to general resources. But the authors of our textbooks have done such an excellent job of setting up sites with many pointers to AI and Lisp resources, that it is often simpler to use their sites: http://www.cs.berkeley.edu/~russell/aima.html for the Russell/Norvig text and http://www.norvig.com/paip.html for the Norvig text.

Help: If you need help at any time, find me in my office or lab, call or send email, or ask in class to set up an appointment.

Classes: Wednesdays from 6pm to 9pm, with a break from 7:30 to 7:40, room 245CN.

Grades: There will be a hour-and-a-half Midterm Exam and a two-hour Final Exam. The focus of the exams will be primarily on the concepts, with modest Lisp programming. The reviews before the exams will clarify the details.

Here are the weights of the grades for the various parts of the course:

Using Allegro Common Lisp (ACL): On the CCS Unix system. Enter acl for a simple command-line version of ACL and xacl for an X windows version. Most importantly, the entire users guide for ACL, more than 700 pages, is available in Acrobat format in ~futrelle/acl-docs/aclug.pdf.

Using Macintosh Common Lisp (MCL) on CCS Macs: The College has a site license for Macintosh Common Lisp, available on the Macs in 229CN and 201CN. It is an excellent and full implementation of Common Lisp, including CLOS, its object-oriented component, with the added ability to easily construct interactive systems (windows, menus, mouse). I use MCL for virtually all my AI research, and have for some time. A cheap student version of MCL is available, the full implementation. The CCS Macs also have the on-line MCL manuals in Acrobat format.

Common Lisp for Windows: Franz makes a product for the PC virtually identical to its Unix ACL system. There is a free downloadable version of it, with certain restricted capabilities.

Source code for PAIP. Here is a mirror of Norvig's Lisp sources, local to this CCS course site. After bringing up the code in your browser you can save it as text and "grab" the file in this way. The code directory is also linked to ~futrelle/com3411/paip/ on Unix. Copy the files you need from their to your chosen local directory. The sources were grabbed from the Norvig site 4/6798.

SYLLABUS/LECTURES. Details here (under construction).

ASSIGNMENTS (under construction):

Assignment 1: Readings on Uncertainty (AIMA) and on Lisp and Eliza (PAIP).

Assignment 2: Further readings and AIMA exercise and Eliza Lisp exercises.

Assignment 3: Stochastic simulation of belief networks.

Assignment 4: Efficient parsing using memoization.

The course project.


Assignment 0, Experimenting with Lisp, due April 8:

This is for your benefit, to broaden your understanding of Lisp. Pick about six advanced topics out of the first three chapters of Norvig, focusing on topics that you don't know well or don't know at all. Try running his examples and writing your own variations of them. Email me any source file you create for your definitions, as well as some of the interactions that produced results. For this, a major writeup at the beginning (300 to 600 words) is not appropriate. It would be better to have a brief explanation preceding each of the six or so topics you explore, both what you did and what the results told you. This is not a substantial assignment, but it should help you get started.

Assignment 1, due April 8:

The first one or two lectures will cover two topics:

PART 1 will begin the discussion of Uncertain Knowledge and Reasoning using AIMA (Russell & Norvig)

For this, read the introductory chapter #14. This is mainly a review of probability that you should know. Then, in chapter 15, read up to, but not including, "An algorithm for answering queries" on page 447.

PART 2 of the lecture will discuss a simple dialog, system, Eliza. Read chapter 5 of PAIP (Norvig) through Sec. 5.3.

You should continue to review the first three chapters of PAIP to get your Lisp up to speed (see the "Experimenting with Lisp" assignment above).

Assignment 2, due Friday, April 10 and Tuesday April 14:

Part 1: In AIMA (R&N) finish reading Chap. 15 and do a first light read of Chap. 16 on decision-making.

Do exercise 15.2. This is due by email on Friday, April 10. If you find it helpful to draw various diagrams, then you might want to leave a hardcopy in my mailbox in 161CN, or fax your work to me at 373-5121.


Part 2: In PAIP (Norvig), finish reading Chap. 5 and read Chap. 6, sections 6.1 through 6.3. You should experiment with the Eliza sources.

As soon as you have the sources, do exercises 5.2, 5.3, 5.4, and 5.7. Get your preliminary results to me by Friday, April 10, with all due by Tuesday, April 14, by email.




LISP implementations:

Created in Adobe PageMill 2.0 (A WYSIWYG HTML editor) on a PowerMac.

Back to top.

Return to Prof. Futrelle's home page