2025 MAZE SOLVING COMPETITION USING INTERACTIVE AGENTS

Announcement!

📢 Webinar on 29 April: link

OVERVIEW

The 2025 Maze Solving Competition Using Interactive Agents will be open to receive participants who will try to outperform their competition in solving mazes while accounting for positive and negative interactions among other agents, i.e., other participants. The competition will assess the maze-solving tactics and the interaction strategies adopted by participants. The interactions among agents will be based on the Prisoner’s Dilemma, where each agent should consider its actions without knowing the actions of the other agent. Multi-layer mazes will be used and the total time of solving will be tracked to assess the winners. However, the interactions with other agents will have an impact on the final timer, by adding or removing precious seconds to the agent/participant time.

The competition was built with PEAK framework:



HOW TO PARTICIPATE

  1. 1.Create an agent: Use the template (player1_template.py) available to create your agent.
  2. 2.Test and validate: Run sim_runner.sh or sim_runner.ps1 files to start the simulation. You can change the details of the simulation in the player's template.
  3. 3.Submit to the competition
  4. 4.Wait to be announced as the winner!

IMPORTANT DATES

  1. • March 2025: competition announcement;
  2. • Mid-March 2025: opening for simulations;
  3. • April 2025: opening of applications;
  4. • 15 May 2025: closing of applications;
  5. • May 2025 (AAMAS'25): results and winners announcement.

AGENT TEMPLATE

Agent template: maze_competition_template.zip

Requirements: Python 3.9.6

# Download the zip file
wget https://www.gecad.isep.ipp.pt/mas-competition/maze_competition_template.zip -O maze_competition_template.zip

# Unzip the file
unzip maze_competition_template.zip -d maze_competition_template

# Enter the maze_competition_template folder
cd maze_competition_template

# Install PEAK framework, if not yet installed
pip install peak-mas
# OR (if you have more than one python): [python path]" -m pip install peak-mas

# Execute the simulation considering player1_template, for example: ./sim_runner.sh player1_template.py
./sim_runner.sh player1_template.py
# OR: ./sim_runner.sh player1_template.py player2_template.py
# OR (if peak is not recognized): ./sim_runner.sh -p "[peak script folder path]" player1_template.py

RULES

Objective

Participants must navigate their agents through a multi-layered maze, interacting with other agents using strategies based on the Prisoner's Dilemma, to reach the exit in the shortest time possible.

Competition Setup

  • Maze Structure: Multi-layered 2D maze with passages connecting the layers.
  • Starting Point: All agents start from the bottom layer, which has several entrances. Participants choose an entrance before the start.
  • Positioning: The maze uses a grid system with coordinates (i.e., layer, xx-position, yy-position).
  • Doom clock mechanism: After the first player exits the maze, the doom clock starts at 60, indicating the remaining movements until the end of the game.

Movement Behavior

  • Visibility: Agents can see in 360º up to 3 spaces in distance.
  • Behavior inputs:
    • Current layer within the maze;
    • Visible grid (i.e., 7x7) with your agent in the center, at [3][3], consistently facing north, check the guidelines for char codes;
    • Dictionary of visible agents mapping agents' identifications to their coordinates (i.e., each agent's identification with its coordinates);
    • Doom clock (i.e., None, or the number of movements allowed before the end of the game).
  • Behavior output: Left, top-left, top, top-right, right, bottom-right, bottom, bottom-left, or pause.
  • Time to reply: Less than 10 seconds.

Interaction Behavior

  • Visibility: Agents can see and identify each other when they are near the same space.
  • Interaction mechanism: Based on the Prisoner's Dilemma.
    • Both Greet ('Hi'): 2 seconds removed from both agents' final time;
    • One Greets, One Doesn't: Greeter adds 3 seconds to their final time, non-greeter removes 3 seconds;
    • Both Do Not Greet: 2 seconds added to both agents' final time.
  • Behavior input: Identifier of the adversary agent.
  • Behavior output: True (i.e., to greet), or false (i.e., not to greet).
  • Time to reply: Less than 5 seconds.

Scoring

  • Final score: Total time to complete the maze, including time adjustments from interactions.
  • Mazes: The competition takes place in 3 different mazes.
  • Evaluation: Based on time to complete all mazes and number of victories.

Download the competition guidelines.

POSSIBLE IMPLEMENTATIONS

Participants are invited to create intelligent agents using Python packages and external APIs for:

  • Reinforcement learning to learn from interactions with other agents.
  • Large language models for decision support.
  • Computer vision for movement.
  • ...

CONTACT US

Please feel free to contact us with any questions or concerns:

• Luis Gomes, GECAD, LASI, Polytechnic of Porto, lfg@isep.ipp.pt

• Bruno Ribeiro, GECAD, LASI, Polytechnic of Porto, brgri@isep.ipp.pt

• Rui Barbosa, GECAD, LASI, Polytechnic of Porto, rfpba@isep.ipp.pt

• Zita Vale, GECAD, LASI, Polytechnic of Porto, zav@isep.ipp.pt