Warning
This page is located in archive.

Assignment #1 – Multiagent system

Final results are in BRUTE. Also, check out the competition results

below

Assignment

A group of four miners is facing an uneasy task. It is deployed to a gold mine and the miners have to collect all gold stones scattered around the mine and bring them all to one of the company depots. The company is saving money wherever it can and the stones they have to carry are becoming more and more heavy. At this point, these stones have become that heavy that no single one of them can lift them alone. Every time a miner wants to lift a stone, he must call some friend to help him. Will you help them to collect all the gold stones in time?

Scenario 1: On day one, they were quite lucky. They have arrived in a tidy gold mine and they may go wherever they want. The only problem here is that the work is still in progress and new gold stones appear from time to time. Whenever a gold stone appears somewhere in the mine, miners must be able to find it and bring it to a depot. If the miners do succeed, they will be awarded 2 points. (see task0.txt)

Scenarios 2-8: The conditions in the mine get more and more challenging on the subsequent days. Debris is scattered around the mine and the miners are still asked to perform what they are paid for – collecting the gold! Make your agent navigate through these mines obstructed by heavy machinery and other obstacles and make them succeed! Miners get 1 point for scenarios 2–5, and 2 points for scenarios 6–8 if they complete them successfully. (see task1.txt-task7.txt - we will evaluate the performance of your mining team on slightly modified versions of these scenarios)

Competition: The group of the miners was proven to be highly competent and thus the managers have decided to send them to a mining competition. 25% fastest groups of miners will be awarded another 1 point.

Mining research The conditions in the mining industry are getting worse every day. If you think your group of miners can overcome even greater difficulties, they may be awarded some extra points (after prior discussion with the tutor).

Rules:

  • Miners see objects only in the 8-neighborhood of their position (i.e. you have to find the objects on the map).
  • The pick action fails if there is no colleague in the 4-neighborhood of the miner's position.
  • A miner can carry at most one goldstone at a time.
  • Positions of depots are not known in advance and must be discovered.
  • The percepts are issued to the agent only after each external action – consider using sense() if you are waiting for a certain percept.
  • sense() action takes nearly no time regardless the action duration setting
  • Miners can communicate information only via messages.

Download and implementation

Java project

You should implement your solution inside the student.Agent class (and possibly other classes of your need within the student package). You can test your solution by launching mas.agents.SimulationCore [map file] where [map file] is the name of scenario you want to test (e.g., /maps/task0.txt). If you want to be sure that your agents do not share any knowledge, you can use mas.agents.SimulationCore [map file] ~ (this setting may complicate debugging).

Assessment

  • DEADLINE: 02.11.2020 4:00 CET
  • Maximum number of points for this assignment: 14 pts
    • max 2 pts if the team succeeds in collecting all gold stones in Scenario 1 (i.e. dynamically changing mine with no obstacles)
    • max 10 pts if the team succeeds in collecting all gold stones in Scenarios 2-8 within the time limit. (1pt for scenarios 2-5, 2pts for scenarios 6-8)
    • 1 point if you place amongst 25% of fastest mining teams (in terms of execution time, 50ms per step) on Scenarios 3-5 (time will be taken as the average from runtimes on each of the scenarios).
    • 1 point for a short report describing problems you have encountered and the ways you used to overcome them, e.g.
      • How have you found the gold stones and depots?
      • How have you solved synchronization problems?
  • Except for the Scenario 1, teams should not be much slower than our reference solution (using 50ms duration of each action). Do not submit agents relying just on their luck, please ;-)
    • If your team fails to collect gold stones in time, but your team does reasonable things (i.e. does not wander randomly around the mine) you might still be awarded all the points. Do not forget to mention it in the report!
  • For each scenario, several runs on varying mines will be executed. The points you will get will be proportional to the number of successfully solved instances.
  • Your team must be able to work reliably with any setting of delay after the execution of each step

Submitting your solution

Create a zip archive containing the content of the student package and your report in PDF format and submit it to the upload system.

Competition Results

I want to congratulate the winner Štěpán Müler and all other students who were able to finish all competition scenarios (those whose time is six-digit). Unfortunately, I can award with points only the first 25% of competitors (which was 10, from 38 submissions).

Student Rank Time [ms] Award
Štěpán Műller 1 128 083 *
Vojtěch Outrata 2 164 043 *
Jan Petrov 3 177 036 *
Jan Jirman 4 189 631 *
David Kunz 5 190 388 *
Petr Michalík 6 211 591 *
Michal Hloušek 7 214 781 *
Ondřej Kubíček 8 215 460 *
Josef Grus 9 217 151 *
Jan Dočekal 10 232 683 *
Kristýna Kučerová 11 274 066
Ondřej Bouček 12 280 630
Dmytrii Lekhovitskyi 13 281 807
Jan Blaha 14 300 278
Václav Vávra 15 322 304
David Procházka 16 343 335
Afzal Ahmad 17 396 845
Václav Hlaváč 18 439 184
Filip Kubiš 19 459 489
Lukáš Halaška 20 497 374
Michal Mareš 21 526 017
Miroslav Purkrábek 22 1 000 131 318
Tadeáš Kyral 23 1 000 163 281
Michal Werner 24 1 000 172 321
Filip Rýzner 25 1 000 351 317
Lucas Dellisola 26 2 000 072 907
Pavlína Koutecká 27 2 000 086 480
Adam Kovář 28 2 000 160 373
Jan Mayer 29 2 000 194 781
Andrii Yermakov 30 2 000 196 419
Karolína Machová 31 2 999 999 997
Lukáš Kunt 31 2 999 999 997
Vojtěch Poříz 31 2 999 999 997
Georgii Korostii 31 2 999 999 997
Eliška Sirůčková 31 2 999 999 997
Yurii Stasinchuk 31 2 999 999 997
Herbert Ullrich 31 2 999 999 997
Martin Vybíralík 31 2 999 999 997
Tadeáš Binder - -
Nathan Boulanger - -
Jaroslav Erben - -
Jan Fajfer - -
Lukáš Fanta - -
Zdeněk Havelka - -
Pavel Heller - -
Marat Ilyassov - -
Pavel Jahoda - -
Mark Lukek - -
Alexander Mensák - -
Dmitriy Tamarkov - -
David Tampier - -
Jiří Ulrich - -
Jenifer Za Nzambi - -
Ondřej Závodný - -
courses/be4m36mas/assignment1-miners.txt · Last modified: 2020/12/06 11:00 by fiedlda1