SRMT: Shared Memory for Multi-agent Lifelong Pathfinding

Alsu Sagirova, Yuri Kuratov, Mikhail Burtsev
1/22/2025
cs.LGcs.AIcs.MA

Official code: Aloriosa/srmt (39 stars, MIT, last commit 2025-07-11).

Abstract

Multi-agent reinforcement learning (MARL) demonstrates significant progress in solving cooperative and competitive multi-agent problems in various environments. One of the principal challenges in MARL is the need for explicit prediction of the agents' behavior to achieve cooperation. To resolve this issue, we propose the Shared Recurrent Memory Transformer (SRMT) which extends memory transformers to multi-agent settings by pooling and globally broadcasting individual working memories, enabling agents to exchange information implicitly and coordinate their actions. We evaluate SRMT on the Partially Observable Multi-Agent Pathfinding problem in a toy Bottleneck navigation task that requires agents to pass through a narrow corridor and on a POGEMA benchmark set of tasks. In the Bottleneck task, SRMT consistently outperforms a variety of reinforcement learning baselines, especially under sparse rewards, and generalizes effectively to longer corridors than those seen during training. On POGEMA maps, including Mazes, Random, and MovingAI, SRMT is competitive with recent MARL, hybrid, and planning-based algorithms. These results suggest that incorporating shared recurrent memory into the transformer-based architectures can enhance coordination in decentralized multi-agent systems. The source code for training and evaluation is available on GitHub: https://github.com/Aloriosa/srmt.

View on arXivView PDF

Code Implementations(1)

Aloriosa/srmtOfficial100%
MIT

The original Shared Recurrent Memory Transformer implementation

395C++, PythonSep 28, 20241 years agoMIT

Similar Papers

Cite this paper

@article{sagirova2025srmt,
  title  = {SRMT: Shared Memory for Multi-agent Lifelong Pathfinding},
  author = {Alsu Sagirova and Yuri Kuratov and Mikhail Burtsev},
  year   = {2025},
  eprint = {2501.13200},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2501.13200v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2501.13200.svg)](https://codeofpaper.com/paper/2501.13200)

Discussion