CSCI 470
HOMEWORK ASSIGNMENT #2
Assigned Date: Monday, September 20, 2004
Items 1, 2, 3 Due: Monday, September 27, 2004 (via email)
Everything Due: Friday, October 1, 2004 (via floppy)

Due Time: 3pm

In-Class Presentations: Monday, October 4, 2004

 

Updated: Wednesday, September 22, 2004, 4:20 PM.

 

Purpose:

This assignment focuses on various types of task environment and agent architectures.  It will also get you comfortable with Pyro and the Player/Stage simulator. 

 

Documentation:

See previous assignment.

 

Assignment: 

  1. Write a Stage world that simulates a puck-picker world (based on the vacuum-cleaner world presented in Ch. 2 of AIMA).  The world should consist of two connected rooms each having three pucks placed randomly on the floor.  There should be two Pioneer robots, each starting in a different room.  The first should listen to port 6665 and the other to port 6666.
  2. In file TaskEnvironment.txt, describe the task environment’s properties (see Ch. 2.3 in AIMA)
  3. In file AgentDesign.txt, describe how, in the puck-picker task environment, you would approach the design of a
    1. simple reflex agent
    2. model-based reflex agent
    3. goal-based agent
    4. utility-based agent
    5. learning agent
  4. Write robot brains (Python classes) that implements the following agents:
    1. SimpleReflexAgent
    2. ModelBasedReflexAgent
    3. GoalBasedAgent
  5. In file Readme.txt describe the contents of your submitted files, explain how to load/run your simulation, and include special notes to the user/grader (if any).

 

Notes:

  1. You may refine your Stage world file(s), TaskEnvironment.txt, AgentDesign.txt after their first submission, if necessary.
  2. Assignment grade will be based on documentation, design, “correctness” of result, and presentation.  This assignment includes a presentation grade.
  3. Follow the naming specs carefully.
  4. You may work in groups of two students.
  5. To save your work from a Knoppix/Pyro session, you may use sftp or scp to your Stono account.
  6. You may use only up to one late day for the robot brains part of the assignment.  No late days may be used for the presentation.
  7. Good solutions may be contributed to the Pyro wiki (for extra credit).

 

Submission: 

You should submit your source file on a floppy disk, as per syllabus instructions. 

Source filenames to be submitted:  A directory named <firstName_lastName_fourLastDigitsofSSN>_hmwk2 (for example, Bill_Manaris_2308_hmwk1).  This directory should contain the following files:

·        TaskEnvironment.txt, AgentDesign.txt, SimpleReflexAgent.py, and ModelBasedReflexAgent.py

·        Stage world files (i.e., PuckPicker.world, sparco.inc, etc.)

·        Robot files (i.e., Pioneer6665.py, Pioneer6666.py)

·        Readme.txt