Consider that there are $k\le n$ agents in a simple, connected, and undirected graph $G=(V,E)$ with $n$ nodes and $m$ edges. The goal of the dispersion problem is to move these $k$ agents to mutually distinct nodes. Agents can communicate only when they are at the same node, and no other communication means, such as whiteboards, are available. We assume that the agents operate synchronously. We consider two scenarios: when all agents are initially located at a single node (rooted setting) and when they are initially distributed over one or more nodes (general setting). Kshemkalyani and Sharma presented a dispersion algorithm for the general setting, which uses $O(m_k)$ time and $\log(k + \Delta)$ bits of memory per agent [OPODIS 2021], where $m_k$ is the maximum number of edges in any induced subgraph of $G$ with $k$ nodes, and $\Delta$ is the maximum degree of $G$. This algorithm is currently the fastest in the literature, as no $o(m_k)$-time algorithm has been discovered, even for the rooted setting. In this paper, we present significantly faster algorithms for both the rooted and the general settings. First, we present an algorithm for the rooted setting that solves the dispersion problem in $O(k\log \min(k,\Delta))=O(k\log k)$ time using $O(\log (k+\Delta))$ bits of memory per agent. Next, we propose an algorithm for the general setting that achieves dispersion in $O(k \log k \cdot \log \min(k,\Delta))=O(k \log^2 k)$ time using $O(\log (k+\Delta))$ bits. Finally, for the rooted setting, we give a time-optimal (i.e.,~$O(k)$-time) algorithm with $O(\Delta+\log k)$ bits of space per agent. All algorithms presented in this paper work only in the synchronous setting, while several algorithms in the literature, including the one given by Kshemkalyani and Sharma at OPODIS 2021, work in the asynchronous setting.
翻译:考虑在一个具有 $n$ 个节点和 $m$ 条边的简单、连通、无向图 $G=(V,E)$ 中,存在 $k\le n$ 个智能体。散布问题的目标是将这些智能体移动到互不相同的节点上。智能体仅当位于同一节点时才能通信,且无法使用其他通信手段(如白板)。我们假设智能体以同步方式运作。我们考虑两种场景:所有智能体初始位于单一节点(根植场景)以及智能体初始分布在一个或多个节点上(通用场景)。Kshemkalyani 和 Sharma 提出了一种适用于通用场景的散布算法,该算法使用 $O(m_k)$ 时间和每个智能体 $\log(k + \Delta)$ 比特的内存 [OPODIS 2021],其中 $m_k$ 是 $G$ 中任意包含 $k$ 个节点的诱导子图的最大边数,$\Delta$ 是 $G$ 的最大度数。该算法是目前文献中最快的,因为即使在根植场景下,也尚未发现 $o(m_k)$ 时间复杂度的算法。在本文中,我们针对根植场景和通用场景提出了显著更快的算法。首先,我们提出一种适用于根植场景的算法,该算法使用每个智能体 $O(\log (k+\Delta))$ 比特的内存,在 $O(k\log \min(k,\Delta))=O(k\log k)$ 时间内解决散布问题。接着,我们提出一种适用于通用场景的算法,该算法使用每个智能体 $O(\log (k+\Delta))$ 比特的内存,在 $O(k \log k \cdot \log \min(k,\Delta))=O(k \log^2 k)$ 时间内实现散布。最后,针对根植场景,我们给出了一种时间最优(即 $O(k)$ 时间)算法,其每个智能体空间复杂度为 $O(\Delta+\log k)$ 比特。本文提出的所有算法仅在同步设置下有效,而文献中的若干算法(包括 Kshemkalyani 和 Sharma 在 OPODIS 2021 提出的算法)可在异步设置下工作。