General Info

CPSC 567: Foundations of Multi-Agent Systems - Assignments

In this course, we will have two somewhat connected assignments, and one of them will have three subassignments that will be given in the labs:

  • Each group has to implement a multi-agent system rescueing survivors in an urban disaster situation.
    To help you with this, there will be three small subassignments that will be given to you in the labs.
  • Each group member has to write a report about the implemented system.

How the two assignments are weighted within the course grade is explained on the assessment page.

Implementing a Rescue Team

Consider the following scenario:
A disaster has struck a city (unfortunately, we now know that such disasters are not only caused by nature), houses have fallen down burying their occupants, and fires and/or floods make parts of the city not directly accessible. If this happened to a small city, the only hope of the survivors of the disaster that are alive under the rubble that was their houses is a team of seven all-purpose robots that have to work together to rescue as many survivors as possible in the time span that humans can survive under these critical conditions. In a big city, there will be several such teams.

It is the task of the student teams to write the control programs of these seven robots that will be put into the ARES simulator system. ARES provides a very simplified simulation of the scenario described above. The world consists of grids that each are a "stack" of rubble with mixed-in survivors. For each piece of rubble in such a stack a certain number of robots is needed to remove it (and so to dig into the stack in order to rescue survivors). In the setting of ARES we will be using, whenever survivors are on top of the stack and picked up by a robot they immediately are transported to safety and therefore do not bother the robot. The whole rescueing task is made more difficult by incomplete start information for the robots, their inability to know with total certainty the content of a stack, survivors getting weaker and dying, and the need of the robots to re-energize themselves from time to time. In addition to the small city scenario, where the seven robots are the only rescue personel, we will also test the student teams in scenarios where the teams of several student groups work at the same time in the same scenario.

ARES has a clearly defined interface allowing the agents to tell it about the actions they want to perform and it provides the information about the world that is available due to the particular actions. Time in ARES is organized in discrete steps, but an agent has only a certain amount of computing time before ARES moves the world one step forward, so that efficiency of your agents is rather important. ARES also allows the robots (agents) to give it messages for other agents. More details are available on the ARES website . You will develop a cooperation concept for your 7 robots that should result in rescuing as many survivors as possible. The number of rescued survivors is the score that each team achieves and we will let each robot team tackle several simulations of ARES and add up the scores. Note that survival of the robots is not a necessity!

The team with the highest combined score will automatically achieve an A for the assignment. But also all other teams can reach an A by having good ideas for cooperation of the robots or how to explore the simulations to locate survivors. The set of simulations will be determined by the instructor and there will be simulations that your teams have never seen before (but within the given limits).

In addition to getting to know the simulator and your team mates, the main problems the student teams will have to face are deciding on a cooperation concept for their agents, developing exploration algorithms and interleaving them with the need to get robots together for rescueing survivors, and in general dealing with the incomplete information the agents have about the world. This will include determining what information to give to other agents and making decisions. Additionally, dealing with potential other rescue teams adds some issues, like cooperating with them or trying to take advantage of them.

Deadline: April 2, 2004
Your multi-agent system should be finished this early, so that we have time to run our simulations and so that we can talk about the results in class. Each student group will have to install the system in such a way on an account that we can access it and can easily run it (together with ARES).

Report on your system

The report should be an article on the system you and your team have built. It should contain a description of your agents, their decision making and their underlying ideas (in your own words; I will check all reports from one team for indications of copy-paste usage). Each student should also indicate what his/her contributions to the final system were. You can (and should) also comment on your experience with ARES. You should also indicate what you think are the strengths of your system and what are (potential) weaknesses.

Deadline: April 16, 2004

Submission procedure
I want each student to email me the report as pdf-file.

to the timetable for the course.

Last Change: 9/1/2004