CSCE 782: Problem Set 2

Due: Wednesday, 17 September 2003 @4pm

Upload Problem Set

A Practical Reasoning Tile-Laying Agent

In this problem set we will study single agent architecture design. Specifically, you will implement an agent that can lay tiles (as per PS1) while strictly following the BDI paradigm. Your implementation must follow the following guidelines:

  1. There will be one agent. Tiles and holes will appear randomly, as before. There will also be a set of "walls" which the agent cannot step over. The walls will be generated randomly and do not move or disappear.
  2. Your agent's main loop must exactly follow the algorithm from Figure 4.3 of the textbook (reproduced here). By this I mean that every line on your code must correspond to a line in the algorithm, all variables should have the same name, all functions should have the same name. Some of the functions (e.g., brf) might not actually do anything, but you still need to include them.
  3. Notice that the algorithm uses functions that it does not define. You must define these functions in order to make your agent work.
  4. The agent should show its current intentions. These should be updated automatically.
  5. The final agent should be able to lay some tiles. However, it does not need to behave optimally.

The main goal of this problem set is for you to clearly determine what your agent's beliefs, desires, and intentions are and how they relate to each other.

Submission Instructions

This problem set is to be done individually. You cannot ask or receive help from anyone. As will all the problem sets, you will hand them in using our department's dropbox. For the netlogo problem sets you will hand in only one file, your .nlogo file. You will use the information tab of the program for writing your detailed explanation of the techniques you used, how the program works, how to set the controls to obtain the different behaviors you want to show, etc. The information tab needs to start with:


I understand that it is the responsibility of every member of the Carolina community to uphold an maintain the academic standards and integrity of the University of South Carolina. Any member of the University community, who has reasonable grounds to believe that an infraction of the Code of Student Academic Responsibility has occurred, has an obligation to report the alleged violation.

I certify that I have neither given nor received unauthorized aid on this problem set.

José M. Vidal
Last modified: Wed Sep 3 15:18:51 EDT 2003