Spring, 2000

Project 1
Due: Thursday, February 10, 2000
in Lecture

For this project you will use the code in
as you did for Homework 1. In fact this project builds on Homework 1.
  1. Design at least 3 successively more sophisticated agents for the vacuum world. You may assume that the rooms the agents are to vacuum are rectangles, with walls at all edges, with dirt in some of the squares, and with no furniture or other obstacles. You may also assume that the agent starts in location (1 1) facing right. These agents may have memory. That is, they may store information at some steps that they use at later steps. However, they must not "cheat" by perceiving anything other than their official percepts, nor by performing any actions other than their official ones. Show the code that defines these agents, and discuss and demonstrate their particular features.

  2. Test your agents, along with random-vacuum-agent and reactive-vacuum-agent in a series of the random rectangular worlds that you designed for Homework 1, Exercise 2, except give each square a 10% chance of containing dirt. Discuss the relative success of these agents, and what accounts for them. You can run this test by evaluating an appropriately modified version of this form:
     'make-vacuum-world				; world-creator
     '(reactive-vacuum-agent random-vacuum-agent)	; list of agents
     :n 20						; number of worlds
    						; in which to test each agent
  3. Now test these same agents in random rooms with furniture, which you designed for Homework 1, Exercise 3. Discuss and demonstrate the problems caused these agents by the presence of furniture.
You are to submit the code that you've written by 2:00 PM, Thursday, February 10, 2000, and then turn in your paper at the start of lecture on that same day, Thursday, February 10, 2000.
Back to CSE4/572 Syllabus.

Stuart C. Shapiro <shapiro@cse.buffalo.edu>