a.k.a. - Pass the Turing Test.

First interesting assignment.

Here is a codebase for you to work with in Common Lisp:

In this Assignment you will build your own version of Eliza. Since we are giving you the pattern matcher, the programming part is pretty easy. BUT YOU DO HAVE TO PROGRAM. If you read the handout, Eliza: Dialog With the Machine, you'll have a better understanding of what is going on. We also gave you a sample rule file, to guide you. The harder, and the more fun part is to write rules that make Eliza seem human, at least for a minute or two. To do this convincingly you have to:

  1. Pick a domain carefully. Interactions that work best are the heavily scripted ones.
    You cannot model a therapist or a paranoid schizophrenic. That has already been done.
  2. Write the rules carefully. In my experience, it is quality and not quantity that counts.
  3. To make this more fun, you can work in pairs on the rules part. Please indicate who is your partner.
  4. Hand in:
    1. The code that you wrote, NOT the code that we gave you.
      (Sorry, this happens more often than one would think)
    2. Your rules.
    3. Three different transcripts of your Eliza running, with annotations if necessary.
    4. A paragraph on what you think you did well in the design of the rules. What was interesting?
    5. A paragraph on how Eliza should be extended.

Extra Credit: Implement some extensions on Eliza.

You will be graded mostly on rule design, but the program has to work, and don't forget the two paragraphs. Even if you work with a partner, you have to hand in your own copy of the assignment.

If you are not having fun designing Eliza rules, you are doing something wrong.

P.S. For those of you who have been scarred by the experience in Intro to AI, this code runs. Period.

P.S.S. If there is someone who is lost, please help them. This is not plagiarism, plagiarism is doing the work for them. If you indicate who you helped on your assignment, I'll give you a few points if you need them. Of course, the main reward will be the pleasure of helping someone.