Spring, 2000

Project 2
Due: Thursday, March 2, 2000
in Lecture

For this project you will use the code in
and in

I have defined a vacuum-world agent named agent-with-scout that operates in the environment I have also defined, named rectangular-vacuum-world-with-furniture. These definitions, along with other useful functions are in the file /projects/shapiro/AIclass/Projects/project2.

agent-with-scout makes use of a "scout" that provides the agent with an agenda of actions. agent-with-scout just follows the agenda, and shuts off when the agenda is empty.

You are to write the function scout. An example is given in /projects/shapiro/AIclass/Projects/project2, but you will replace that definition with your own by loading your file, which you should name proj2.cl, after loading my projects file.

The function scout is called with two arguments:

  1. environment: the environment the agent will operate in
  2. max-steps: the maximum number of steps the agent will be allowed.
scout must return an agenda, a list of actions for the agent to perform, in order. The agenda need not end with shut-off, since the agent will do that when the agenda is exhausted.

After loading project2 and your proj2, you can run agent-with-scout by calling the function run-agent-with-scout which is also defined in project2

You may assume the following:

  1. the environment is a rectangular room;
  2. there is a lot of furniture randomly scattered about;
  3. there are exactly 3 pieces of dirt;
  4. no piece of dirt is in the same location as any furniture;
  5. there may be more than one piece of dirt in one location;
  6. the agent starts in location (1 1), facing to the right;
  7. it may be that not all, or even any, of the dirt is reachable from (1 1);
  8. the agent is awarded 1000 points for each piece of dirt it sucks, 1000 points for being back in (1 1) when it shuts off, and -1 point for each action performed.

The scout may examine the environment in order to construct the agenda, but it must not change the environment, nor the agent's location. The functions room-contents and contains are provided in project2 to help you examine the environment.

The scout should try to provide the agent with an agenda that maximizes the agent's score.

The scout should make use of one or more search routines of the kind we studied in Chapters 3 and 4. You might want to use just one search routine, or one search routine to plan a path to the 3 pieces of dirt and another to get from there back home, or even more.

The paper should discuss your solution, and the reasons you had for your design, discuss the characteristics of the search routine(s) you use, illustrate the performance of your scout by showing the agent-with-scout in action in some carefully selected environments, and satisfy all the course requirements for a project paper.

You are to submit your file proj2.cl by 1:30 PM, Thursday, March 2, 2000, and then turn in your paper at the start of lecture on that same day, Thursday, March 2, 2000.

Back to CSE4/572 Syllabus.

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