Programming Assignment 3 for Autonomous Multiagent Systems (G22.3033-012)


This assignments assumes the knowledge gained from assignment 1 and assignment 2.

Your goal is to use communication to help an agent keep track of the ball.

  • Create an agent whose sole goal is to face the ball as much as possible. When you drop the ball in a new location, it should find the ball again as quickly as possible. Once the player is placed on the field (e.g. with the move command), it need no longer change location.
  • Note that your player from assignment 2 can already do this. But now, you may use up to 3 other agents placed on the field to watch and communicate (with the "say" command).
  • As in the previous assignment, you are encouraged to base this code off of one of the sample agents -- you still don't need to parse the entire see messages.
  • The communication protocol among the agents is for you to design.

  • Some details:
  • Put the player that's trying to see the ball in "narrow" view mode (45 degree view cone), by sending the command "(change_view narrow high)". That will make the difference between the comm/nocomm conditions more visible.
  • The helping players can be in either narrow or normal mode, but don't put them in wide mode -- that is, among the 3 of them, there will be a blind spot unless they do some scanning themselves.
  • In the end, there should be a visible improvement in the speed with which the player can find the ball.
  • Remember that there is a limit to the range of communication. Plan the positions of the players accordingly.
  • What to turn in:
  • 2 logfiles with player 1 (make sure it's player 1 so I know which one to look at) trying to face the ball: one without communication, called nocomm.log, and one with communication, called comm.log. In both cases, drop the ball around the field in a wide variety of locations to exhibit the robustness (or lack thereof) of your agents to different ball positions.
  • Relevant parts of your source code.
  • To turn in your log files and source code, copy them to the directory /home/agents/handin/prog3/username where username is your username.
  • When the assignment is there, send me an email to that effect, with a brief description of your communication protocol and an answer to the following question: Could an opponent agent disrupt your communication method? How?

  • [Back to Department Homepage]

    Page maintained by Peter Stone
    Questions? Send me mail