A.Hornof -- 5/20/04
CIS 410/510, Spring 2004

Project #4
Create Some Interesting New Agents

Purpose

The purpose of this assignment is for you to tie together the concepts and systems that you have learned this term and to create an agent with new and interesting behavior. Ideally, this will be a multi-agent system, and two or more agents will interact in an interesting new way. You should first specify and implement a "basic" behavior that extends the agents already available to you from previous assignments, and from Scott Douglass' project materials. You should then specify and implement an "advanced" behavior that does the same. Both of your agents should use subsumption as part of introducing a new behavior. One or both of your agents should take advantage of a new Lisp function that you write.

Due Dates

Wednesday, May 26, 10 PM - Email a zip file containing your files that demonstrate a new and interesting "basic" behavior. I will try to get it running on my machine so everyone can see it the next day in class. If possible, please bring your own laptop and get the agent running on it at the start of class.

Sunday, June 6, 10 PM - Email a zip file containing your files that demonstrate a new and interesting "advanced" behavior. Also include the basic behavior you already submitted. I will try to get the new agent running on my machine so everyone can see it when we meet for the final exam. If possible, please bring your own laptop and get the agent running on it at the start of the final exam period.

Email to hornof@cs.uoregon.edu with a subject "CIS410 HW4".
Due to grading and presentation deadlines, late submissions will not be accepted for either deadline.

Turn In

Email a zip file containing your Rose .mdl files, Lisp files, any other required files, your 5-page report (PDF is best, .doc is okay), and a README.txt.

Submit a 5-page report that addresses the following:

  1. What are the interesting new "basic" behaviors that you introduced? Why is it interesting? How did you do it? How does it use subsumption?
  2. What new Lisp functions did you write to enhance your agent's behavior? There should be at least one new function.
  3. What are the interesting new "advanced" behaviors that you introduced? Why is it interesting? How did you do it? How does it use subsumption?
  4. Who contributed what to the project. This should include everyone who contributed, including anyone in the class from whom you got ideas.
    (The report should be single-spaced. Any code or diagrams do not count towards the five pages.)

The README.txt should explain what are the files being submitted, who are the authors, the class name and assignment, what each file is for, and a clear step-by-step description of how to see each of the new behaviors. Assume that the reader knows how to set up the PLASTIC environment as we've been doing all term. But be clear about which files are for which behavior, and how to best see the behavior. For example: "Load three 'leader' agents and three 'follow' agents, wait a minute for them to pair up, and then watch the dancing from a distance so no one will pair up with you."

I might forward some of the zip files to Scott Douglass to show him what we came up with using his system.