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 distinct nodes. Agents can communicate only when they are at the same node, and no other means of communication such as whiteboards are available. We assume that the agents operate synchronously. We consider two scenarios: when all agents are initially located at any single node (rooted setting) and when they are initially distributed over any 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]. Here, $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 the fastest in the literature, as no algorithm with $o(m_k)$ time has been discovered even for the rooted setting. In this paper, we present faster algorithms for both the rooted and 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 \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.
翻译:考虑一个简单连通无向图 $G=(V,E)$,包含 $n$ 个节点和 $m$ 条边,其中有 $k\le n$ 个代理。分散问题的目标是使这 $k$ 个代理移动到不同的节点上。代理仅在同一节点时才能通信,且无法使用白板等其他通信方式。假设代理同步运行。我们考虑两种场景:所有代理初始位于同一节点(根化设置)以及代理初始分布于一个或多个节点(一般设置)。Kshemkalyani 和 Sharma 针对一般设置提出了一种分散算法,该算法使用 $O(m_k)$ 时间和每代理 $\log(k+\delta)$ 比特内存 [OPODIS 2021]。其中 $m_k$ 是 $G$ 中任意 $k$ 节点诱导子图的最大边数,$\delta$ 是 $G$ 的最大度数。该算法是文献中最快的方法,因为即使在根化设置下也未发现时间复杂度为 $o(m_k)$ 的算法。本文针对根化设置和一般设置分别提出更快的算法。首先,我们提出一种根化设置下的算法,在 $O(k\log \min(k,\delta))=O(k\log k)$ 时间内实现分散,每代理使用 $O(\log \delta)$ 比特内存。其次,我们提出一种一般设置下的算法,在 $O(k (\log k)\cdot (\log \min(k,\delta))=O(k \log^2 k)$ 时间内实现分散,每代理使用 $O(\log (k+\delta))$ 比特内存。