Abstract 1 Introduction 2 Preliminaries 3 Impossibility results 4 Self-stabilizing perpetual gathering algorithm with 𝑵, 𝑲, 𝑭 and 𝚲𝒈 5 Discussion 6 Conclusion References

Self-Stabilizing Weakly Byzantine Perpetual Gathering of Mobile Agents

Jion Hirose ORCID Department of Electronics and Information Engineering, National Institute of Technology, Ishikawa College, Ishikawa, Japan Ryota Eguchi ORCID Graduate School of Science and Technology, Nara Institute of Science and Technology, Nara, Japan Yuichi Sudo ORCID Faculty of Computer and Information Sciences, Hosei University, Tokyo, Japan
Abstract

We study the Byzantine gathering problem involving k mobile agents with unique identifiers (IDs), f of which are Byzantine. These agents start the execution of a common algorithm from (possibly different) nodes in an n-node network, potentially starting at different times. Once started, the agents operate in synchronous rounds. We focus on weakly Byzantine environments, where Byzantine agents can behave arbitrarily but cannot falsify their IDs. The goal is for all non-Byzantine agents to eventually terminate at a single node simultaneously.

In this paper, we first prove two impossibility results: (1) for any number of non-Byzantine agents, no algorithm can solve this problem without global knowledge of the network size or the number of agents, and (2) no self-stabilizing algorithm exists if k2f even with n, k, f, and the length Λg of the largest ID among IDs of non-Byzantine agents, where the self-stabilizing algorithm enables agents to gather starting from arbitrary (inconsistent) initial states. Next, based on these results, we introduce a perpetual gathering problem and propose a self-stabilizing algorithm for this problem. This problem requires that all non-Byzantine agents always be co-located from a certain time onwards. If the agents know Λg and upper bounds N, K, F on n, k, f, the proposed algorithm works in O(KFΛgX(N)) rounds, where X(n) is the time required to visit all nodes in a n-nodes network. Our results indicate that while no algorithm can solve the original self-stabilizing gathering problem for any k and f even with exact global knowledge of the network size and the number of agents, the self-stabilizing perpetual gathering problem can always be solved with just upper bounds on this knowledge.

Keywords and phrases:
Distributed algorithms, Byzantine environments, Gathering
Funding:
Jion Hirose: JSPS KAKENHI Grant Number JP25K03101.
Ryota Eguchi: JSPS KAKENHI Grant Number JP22H03569.
Yuichi Sudo: JST FOREST Program JPMJFR226U and JSPS KAKENHI Grant Numbers JP20KK0232, JP25K03078, and JP25K03079.
Copyright and License:
[Uncaptioned image] © Jion Hirose, Ryota Eguchi, and Yuichi Sudo; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Distributed algorithms
Related Version:
Full Version: https://arxiv.org/abs/2504.08271 [10]
Editors:
Kitty Meeks and Christian Scheideler

1 Introduction

1.1 Background

Mobile agents, or simply agents, are software programs that can autonomously traverse a network, modeled as an undirected graph. We focus on the gathering problem which requires multiple agents, initially scattered throughout the network, to eventually terminate at a single node simultaneously. This problem is crucial for information exchange and enabling more complex behavior, and has been studied extensively [20].

In the literature, transient and Byzantine faults are considered in the gathering problem. The transient fault model involves temporary memory corruption, erroneous initialization, or other similar issues in faulty agents. To overcome transient faults, Ooshita, Datta, and Masuzawa [18] proposed a self-stabilizing algorithm that enables agents to gather from arbitrary (inconsistent) initial states, specifically addressing the gathering problem for two agents (k=2), known as the rendezvous problem. They also claim that the algorithm can be extended to a self-stabilizing algorithm for cases where k2, if k is given to agents as global knowledge. In the Byzantine fault model, some agents incur Byzantine faults, which are called Byzantine agents, and they can behave arbitrarily against their algorithms; thus, this fault model includes other agent faults. In this paper, we assume that Byzantine agents cannot falsify their identifiers (IDs), which is a common assumption in many existing works. Byzantine agents under this restriction are sometimes referred to as weakly Byzantine agents in the literature, but we simply refer to them as Byzantine agents throughout this paper for simplicity. To tolerate Byzantine faults, many gathering algorithms [8, 11, 12] have been proposed. These algorithms require that agents initially know the number n of nodes or a given upper bound N on n. In particular, Dieudonné, Pelc, and Peleg [8] proposed an algorithm for the Byzantine environment if agents know n.

Both algorithms in [8] and [18] share a common characteristic: they require global knowledge of the network size or the number of agents to solve the problem. The authors in [18] show that without k, no self-stabilizing algorithm can solve the gathering problem. In the Byzantine fault model, it is unclear if the problem is solvable without n or F. Additionally, although these faults have received much attention so far, to the best of our knowledge, no studies consider both fault models simultaneously for agent systems.

Table 1: A summary of synchronous Byzantine or self-stabilizing gathering algorithms, assuming that agents have unique IDs. Here, n is the number of nodes, k is the total number of agents, K is a given upper bound of k, f is the number of Byzantine agents, F is a given upper bound of f, and Λg is the length of the largest ID among IDs of non-Byzantine agents. Symbols REN, GAT, PGAT, and GK represent rendezvous, gathering, perpetual gathering, and global knowledge, respectively.

1.2 Our Contribution

In this paper, we investigate the following questions: (1) is the gathering problem solvable in Byzantine environments without global knowledge of the network size or the number of (Byzantine) agents? (2) is there a self-stabilizing algorithm for the gathering problem? (3) if not, is there a relaxed variant of the gathering problem that allows the existence of the self-stabilizing algorithm?

For the first two questions, we demonstrate the following impossibility results for the gathering problem in Byzantine environments: (i) for any number of non-Byzantine agents, no algorithm can solve this problem without any global knowledge of the network size or the number of agents, and (ii) when k2f, no self-stabilizing algorithm exists for this problem, even if agents know the number n of nodes, the number k of agents, the number f of Byzantine agents, and the length Λg of the largest ID among IDs of non-Byzantine agents. Note that the impossibility proof for (i) is based on the scenario where only one non-Byzantine agent exists in the network, the agent should claim the termination of the algorithm. This assumption is common in fault-tolerant gathering problems (e.g., [8, 19]).

Based on these impossibilities, we propose a relaxed variant of the gathering problem, called perpetual gathering problem, in Byzantine environments. This problem requires that all non-Byzantine agents always be co-located from a certain time t onwards. Unlike the original gathering problem, this does not require the agents to stay at a single node permanently from some time; they may move but must do so together along the same edge after time t. The term “perpetual gathering” is inspired by the famous “perpetual exploration” problem, where an agent repeatedly visits all nodes in the graph (cf. [6]).

For the perpetual gathering problem, if the agents know Λg and upper bounds N,K,F on n,k,f, we propose a self-stabilizing algorithm for any k and f with time complexity of O(KFΛgX(N)), where X(n) represents the time required to visit all nodes in a n-nodes network. For example, X(n)=O(n) [13] for a cycle, a clique, and a tree. For an arbitrary graph, X(n)=n5logn [21]. When each node is equipped with a local memory (i.e., a whiteboard), X(n)=O(m+nD), where m is the number of edges and D is the diameter of the graph [22].

Our results indicate that while no algorithm can solve the original self-stabilizing gathering problem for any k and f, even with exact global knowledge of the network size and the number of agents, the self-stabilizing perpetual gathering problem can always be solved with just upper bounds on this knowledge. Note that the (non-self-stabilizing) perpetual gathering problem without global knowledge in Byzantine environments can be solved using an algorithm proposed by Dieudonné et al. [8]. If the termination detection mechanism is removed from this algorithm, global knowledge becomes unnecessary. In this case, agents continue to move, but after a certain time, all non-Byzantine agents meet at the same node. This can be interpreted as solving the perpetual gathering problem without global knowledge. We summarize our contribution and existing results in Table 1.

1.3 Related Work

Many researchers considered rendezvous and gathering problems in various scenarios, such as synchrony, anonymity, network topology, randomness, and so on, and clarified the solvability. They also proposed various solutions to reduce various costs (e.g., time complexity, the number of moves, memory capacity, etc.). In this paper, we focus on deterministic solutions for rendezvous and gathering problems in the scenario where agents have unique IDs and move synchronously; Pelc [20] extensively surveyed these solutions, including those for anonymous agents and asynchronous environments. A comprehensive survey of the randomized solutions can also be found in the book by Alpern and Gal [1].

In such a scenario, the majority of the results are for fault-free settings. These results exploited agent IDs to break the symmetry. Several studies [7, 14, 23] proposed algorithms to solve rendezvous problems for arbitrary graphs if agents do not know the number of nodes n and start with a delay of at most τ rounds. Dessmark et al. [7] presented the first deterministic algorithm, with polynomial time in n, τ, and λ, where λ is the length of the smallest ID among agent IDs. Kowalski and Malinowski [14] proposed an algorithm whose time complexity is independent of τ and is polynomial in n and λ. Ta-Shma and Zwick [23] provided an algorithm with lower time complexity that is polynomial in n and λ. Miller and Pelc [15] investigated tradeoffs between the number of rounds and the total number of edge traversals until the meeting.

Elouasbi and Pelc [9] introduced a new problem (called gathering with detection), which requires agents to declare the termination simultaneously when the meeting is perceived only through communication. They proposed an algorithm for this problem on arbitrary graphs in polynomial time in n and λ if agents use beeps as their communication method and do not know n. Bouchard et al. [4] considered a weaker model where each agent only detects the number of agents located at the same node in a round. They provided two types of algorithms to achieve the gathering with detection on arbitrary graphs in this model: one in polynomial time in N and λ when agents know the upper bound N of n, and the other in exponential time in n when agents do not know n. Molla et al. [17] proposed a faster algorithm to solve the gathering with detection on arbitrary graphs. Their algorithm is faster than the existing algorithms for even just gathering if agents do not know n and start simultaneously, with polynomial time in n.

Recently, the gathering under various types of agent faults has been studied, particularly the gathering problem in the presence of Byzantine agents. This problem assumes that the network topology is arbitrary, there are k agents, and f of them are Byzantine. Studies addressing these problems considered two types of Byzantine agents: strongly and weakly Byzantine. Strongly Byzantine agents can ignore the algorithm and behave arbitrarily, while weakly Byzantine agents can do the same except falsify their own IDs. Dieudonné et al. [8] designed the first gathering algorithms to tolerate Byzantine agents. They proposed algorithms to solve the gathering for weakly Byzantine agents in polynomial time in n and Λg, where Λg is the length of the largest ID among IDs of non-faulty agents, both if agents know n and kf+1 holds, and if agents know the upper bound F of f and k2F+2 holds. These algorithms match the lower bounds on the number of non-faulty agents required. They also provided algorithms to solve the gathering for strongly Byzantine agents in exponential time in n and Λg, both if agents know n and F and k3F+1 holds, and if agents know F and k5F+2 holds. However, the lower bounds in these cases are F+1 and F+2, respectively, which means that the required numbers of non-faulty agents required by these algorithms do not match these lower bounds. Bouchard et al. [2] improved the upper bounds to k2F+1 if agents know n and F, and to k2F+2 if agents know F. Bouchard et al. [3] provided an algorithm that achieves the gathering in the presence of strongly Byzantine agents in polynomial time in N and λ if agents have global knowledge of O(logloglogN) and k5f2+7f+2 holds. Hirose et al. [11] shown a gathering algorithm that tolerates weakly Byzantine agents if agents know N and k4f2+9f+4 holds, with time complexity smaller than [8] and polynomial in N, f, and Λa, where Λa is the length of the largest ID among agent IDs. Additionally, Hirose et al. [12] proposed a similar algorithm if agents know N and k9f+8 holds, with time complexity greater than [11] but smaller than [8]. Tsuchida et al. [24] reduced the time complexity of the gathering algorithm to tolerate weakly Byzantine agents by assuming authenticated whiteboards, where each node has dedicated memory for each agent to leave information if agents know F and kF holds. Their algorithm works in polynomial time in F and m, where m is the number of edges. Tsuchida et al. [25] showed an algorithm to solve the gathering problem in asynchronous environments with weakly Byzantine agents by using authenticated whiteboards. Miller and Saha [16] considered the case where agents can obtain information in the subgraph induced by nodes within a radius of the network from their current node. Their proposed algorithm solves the gathering problem in the presence of strongly Byzantine agents in polynomial time in k and n if k2f+1 holds.

Several studies looked at other types of agent faults. Chalopin et al. [5] studied delay faults, where faulty agents remain at the current node for a finite number of rounds regardless of their plans to move. Pelc [19] considered the gathering problem with crash faults, where some agents suddenly become immobile at the node in some round, for systems where each agent moves at constant speed but their speeds differ. Ooshita et al. [18] proposed a self-stabilizing algorithm to achieve the rendezvous when agents start with arbitrary states of their memory. This self-stabilizing algorithm guarantees that agents eventually meet at a single node even if their memory experiences any kind of corruption, i.e., it counteracts transient faults in agent memory.

2 Preliminaries

2.1 Model

The system is represented as a simple, connected, and undirected graph G=(V,E) with n=|V| nodes. Nodes have no ID. Each node vV assigns unique port numbers in {1,,d(v)} to its edges, where d(v) is the degree of v. Port numbers are local, meaning edges (v,u) and (u,v) for nodes v and u may have different numbers.

There are k agents in the system, denoted by set A. Each agent aA has a unique ID a.id but knows only its own ID. We denote “an agent with an ID in an ID set Sid” as “an agent in Sid” for brevity. Agents have unbounded memory but cannot leave any information on nodes or edges. Among the k agents, exactly f are Byzantine, which means they can act arbitrarily but cannot falsify their IDs; thus, when a Byzantine agent b communicates with another agent a, a can correctly identify b’s ID. These agents are commonly referred to as weakly Byzantine agents and have been studied in the literature, including [8, 11, 12]. We call all the non-Byzantine agents good agents. We denote the length of the largest ID in IDs of good agents as Λg.

An algorithm 𝒜 for an agent a is defined as 𝒜(a.id,n,k,f,Λg)=(S,δ,sini,Ster), where S is a set of states, δ is a function for transitioning its state, siniS is the special state, and Ster is a set of terminal states. Algorithm 𝒜 takes five arguments, which are assigned integer values. The last four arguments correspond to n,k,f, and Λg, and each value is assumed to be assigned if required by the algorithm. We refer to the arguments n,k,f and Λg as global knowledge, and we assume that each of these arguments takes the same value for all agents in the system. In the above tuple, only the function δ depends on a.id, which means that the states of all agents are identical. States are represented by a tuple of variables of a; if its variables contain associative arrays, we refer to these simply as arrays. State sini represents one where all variables of a are initialized. A subset Ster will be defined later.

A configuration in the system is defined as a combination of the locations, the states, and the IDs of all agents in A. We define Call as the set of all possible configurations in which at least one good agent is not in a dormant state. An agent in a dormant state, or simply a dormant agent, transitions into sini when (a) the adversary wakes up the dormant agent, or (b) a non-dormant agent visits the node with the dormant agent. Non-dormant agents execute a common algorithm in synchronous and discrete time steps, called rounds. We let Cini be a set of configurations in Call where each agent is either dormant or in sini.

In each round r, each non-dormant agent ai at v performs the following operations sequentially:

  1. (1)

    It acquires d(v), the port number pin through which it arrived at v in r1 (if it stayed in r1, pin=), and states of agents (including ai) at v. We define 𝑀𝐺i as the set of ai and agents that ai observes at v in r.

  2. (2)

    It updates its next state s using δ with d(v), pin, the states of all agents in 𝑀𝐺i, and the arguments of 𝒜, deciding whether to stay or leave, and determining the outgoing port pout. If it decides to stay, pout=.

  3. (3)

    It either stays at v or moves to the destination node via pout by r+1.

Note that in Operation (1), every agent in 𝑀𝐺i has to share its states with others before any agent in 𝑀𝐺i computes δ, but Byzantine agents in 𝑀𝐺i can falsify the values of their variables to others. We assume that all agents in 𝑀𝐺i observe the same state from any Byzantine agent in 𝑀𝐺i, i.e., Byzantine agents share the same (possibly falsified) states with all co-located agents. This assumption is known as shouting and has been adopted in previous studies on Byzantine gathering (e.g., [2, 3, 8, 11, 12]). Without this assumption, a Byzantine agent could send different states to different co-located agents. This makes it significantly harder for co-located good agents to detect inconsistencies or coordinate their actions. Note also that in Operation (3), if two agents pass the same edge in opposite directions simultaneously, they do not notice this fact. If an agent enters a state in Ster at node v in round r, δ outputs pout= and sSter in every round from r onwards. Since the terminal states depend on the global knowledge, we sometimes denote Ster by Ster(n,k,f,Λg) if needed. An execution starting from c0Call is a sequence c0,c1,c2,, such that each configuration at round r is determined (deterministically) by applying the procedures described above to all the good agents and determining the behavior of the Byzantine agents by the adversary.

2.2 Problems

Gathering problem

This problem requires all good agents to eventually enter a state in Ster at a single node simultaneously.

Definition 1.

For a graph G=(V,E) and CCall, an algorithm 𝒜g solves the gathering problem in G from C if all good agents, executing 𝒜g in G, eventually enter terminal states at the same node simultaneously, starting from any initial configuration of C. We say an algorithm 𝒜g solves a gathering problem (GAT) if for any G=(V,E) and Cini, it solves the problem in G from any of Cini. Similarly, we say an algorithm 𝒜ssg solves a self-stabilizing gathering problem (SS-GAT) if for any G=(V,E) and Call, it solves the problem in G from any of Call.

Perpetual gathering problem

This problem requires all good agents to always be co-located from a certain round r onwards. Unlike the gathering problem, this problem does not require that these agents stay at a single node permanently; they may move but must do so together along the same edge after round r.

Definition 2.

For a graph G=(V,E) and CCall, an algorithm 𝒜𝑝𝑔 solves the perpetual gathering problem (PGAT) in G from C if all good agents, executing 𝒜𝑝𝑔 in G, always stay at a single node from a certain round onwards, starting from any initial configuration of C. We say an algorithm 𝒜sspg solves a self-stabilizing gathering problem (SS-PGAT) if for any G=(V,E) and Call, the algorithm solves the perpetual gathering problem in G from any of Call.

Global knowledge and rounds
Definition 3.

For a problem P {GAT, PGAT, SS-GAT, SS-PGAT}, we say an algorithm 𝒜 solves P with global knowledge n,k,f and Λg if 𝒜(id,n,k,f,Λg) solves P with the assumption (n,k,f,Λg)=(n,k,f,Λg). Similarly, we say 𝒜 solves P with global knowledge N,K,F and Λg if 𝒜(id,n,k,f,Λg) solves P with the assumption (n,k,f,Λg)=(N,K,F,Λg) for all N,K,F such that nN,kK,fF. Additionally, we say an algorithm 𝒜 solves P without the global knowledge, if 𝒜(id,n,k,f,Λg) solves P for any values of (n,k,f,Λg).

We evaluate the time complexity of each algorithm by the number of rounds required for any execution to reach the target configuration from the first configuration in which at least one good agent is not dormant.

2.3 Existing Algorithm

In the proposed algorithm, we incorporate a rendezvous algorithm as a subroutine to ensure that an agent meets other agents. This algorithm, due to Ta-Shma and Zwick [23], enables two agents to meet in any undirected and connected graph of n nodes, starting from different nodes. We refer to this algorithm as 𝖱𝖤𝖭(𝑙𝑎𝑏𝑒𝑙), where 𝑙𝑎𝑏𝑒𝑙 is a positive integer given as input. When an agent ai starts 𝖱𝖤𝖭(𝑙𝑎𝑏𝑒𝑙i) for some positive integer 𝑙𝑎𝑏𝑒𝑙i, it alternates between exploring and waiting periods based on 𝑙𝑎𝑏𝑒𝑙i. The agent executes an exploring algorithm using a universal exploration sequence, due to Reingold[21], during the exploring period and waits at the node for the duration required by the exploring algorithm during the waiting period. The scheduling of these periods ensures that two agents with different positive integers meet, typically when one agent waits while the other explores. When two agents with distinct positive integers 𝑙𝑎𝑏𝑒𝑙i and 𝑙𝑎𝑏𝑒𝑙j execute this procedure, this time complexity of 𝖱𝖤𝖭(𝑙𝑎𝑏𝑒𝑙), denoted by tREN(𝑙𝑎𝑏𝑒𝑙), is O~(n5λ), where λ is the length of min(𝑙𝑎𝑏𝑒𝑙i,𝑙𝑎𝑏𝑒𝑙j), and O~ hides a poly-logarithimic factor of n. We have the following theorem for this algorithm.

Theorem 4.

(Theorems 2.3 and 3.2 of Ta-Shma and Zwick [23]) Let ai and aj be two agents, and 𝑙𝑎𝑏𝑒𝑙i and 𝑙𝑎𝑏𝑒𝑙j be positive integers such that 𝑙𝑎𝑏𝑒𝑙i𝑙𝑎𝑏𝑒𝑙j holds. If ai and aj start 𝖱𝖤𝖭(𝑙𝑎𝑏𝑒𝑙i) and 𝖱𝖤𝖭(𝑙𝑎𝑏𝑒𝑙j) in rounds ri and rj, respectively, they meet at a single node by round max(ri,rj)+tREN(min(𝑙𝑎𝑏𝑒𝑙i,𝑙𝑎𝑏𝑒𝑙j)).

We denote the t-th round of 𝖱𝖤𝖭(id) by 𝖱𝖤𝖭(id,t) for integer t0.

3 Impossibility results

In this section, we present the following impossibility results for the solvabilities of the GAT and the SS-GAT: there is no gathering algorithm without global knowledge, and there is no self-stabilizing gathering algorithm with n, k, f, and Λg.

3.1 No gathering algorithm without global knowledge

In this section, we show that no algorithm solves the GAT without global knowledge. To establish this result, we prove that without global knowledge, an agent cannot visit all nodes of a ring and declare the termination. While this proof is well-known, we provide a rigorous proof for the result since it is critical for demonstrating the impossibility of solving the GAT.

Lemma 5.

There is no algorithm without global knowledge for a single agent to visit all nodes of a ring and declare the termination after visiting all nodes.

Proof.

We prove this lemma by contradiction. Suppose such an algorithm 𝒜e exists. Let R3 be a ring composed of 3 nodes, with each edge labeled with port numbers in the clockwise direction. When an agent ai starts 𝒜e from a node of R3, it visits all nodes of R3 and declares the termination within T rounds for some integer T. Consider a ring R composed of >T nodes, where each edge is labeled with port numbers in the clockwise direction, similar to R3. If ai starts 𝒜e from a node of R, ai declares the termination after T rounds, despite not having visited all nodes in R, because ai cannot distinguish R3 and R. This contradiction proves the lemma.

Next, we use the above lemma to prove that no algorithm can solve the GAT without global knowledge.

Theorem 6.

For any number g1 of good agents, no algorithm solves the GAT without any global knowledge.

Proof.

To derive a contradiction, we assume that such an algorithm exists 𝒜g(id,n,k,f,Λg). Since the algorithm works without any global knowledge, we denote it simply as 𝒜g(id) in the following discussion. We analyze two cases on the number g of good agents.

Case 1 (𝒈=𝟏).

Suppose that there is only one good agent in the network. Then, by the definition of the GAT, this agent eventually transitions into a terminal state at some node, regardless of whether it meets Byzantine agents. Assume that there exists an ID id such that, for any graph G=(V,E) and any initial position vV, when the good agent with ID id executes 𝒜g(id), it always visits all nodes in V before terminating. Note that this must hold even if the Byzantine agent does not interact with the good agent. This implies that there could exist an exploring algorithm with a single agent by simulating 𝒜g with id for G and v. This contradicts Lemma 5.

Case 2 (𝒈𝟐).

Suppose that there are at least two good agents in the network. Assume that no ID is guaranteed to visit all nodes in the network before terminating. That is, for every ID id, there exists a graph G=(V,E) such that when a good agent starts 𝒜g, the good agent enters a terminal state before visiting all nodes in V. We first consider the case g=2. Let ai and aj be good agents with different IDs. By the assumption above, there exists a graph Gi=(Vi,Ei) and a starting node viVi such that ai, starting from vi, terminates without visiting some node uiVi. Similarly, there exists a graph Gj=(Vj,Ej) and node vjVj such that aj, starting from vj, terminates without visiting some node ujVj. Consider a graph Gij=(Vij,Eij) where Vij=ViVj and Eij=EiEj{(ui,uj)}. In Gij, when ai and aj start 𝒜g(ai.id) and 𝒜g(aj.id) from vi and vj respectively, ai never visits ui and aj never visits uj. Since ui and uj are the only connection between Vi and Vj, two agents terminate at different nodes without ever meeting, which is a contradiction. For the case g3, the same contradiction can be derived by applying the same construction used in the case g=2 to any pair of agents.

Hence, no such algorithm 𝒜g can exist for g.

Note that some algorithms, e.g., considered in [8, 19], have the basic property that they terminate even if there is only a good agent.

3.2 No self-stabilizing gathering algorithm with 𝒏, 𝒌, 𝒇 and 𝚲𝒈

In this section, we prove that no algorithm can solve SS-GAT with n, k, f, and Λg.

Theorem 7.

Let n be the number of nodes, k be the number of agents, f be the number of Byzantine agents, and Λg be the length of the largest ID among IDs of good agents. When k2f, no algorithm solves the SS-GAT even with the global knowledge n, k, f, and Λg.

Proof.

To derive the contradiction, we assume that there exists an algorithm 𝒜ssg(id,n,k,f,Λg) with (n,k,f,Λg)=(n,k,f,Λg) that solves the problem. We suppose that n and f are even and k2f holds. Let Iα and Iβ be disjoint sets of agent IDs such that |Iα|=|Iβ|f holds and each length of IDs in IαIβ is Λg. Such Iα and Iβ should exist when Λglog(2f)+1.

Consider a graph G1=(V1,E1) with n nodes where the degree of each node is at most n/21. Suppose that all agents in Iα are good and all agents in Iβ are Byzantine in G1. When good agents execute 𝒜ssg(id,n,k,f,Λg) starting from cCall, |Iα| good agents in Iα eventually meet and enter terminal states in Ster(n,k,f,Λg) at a node v1. Note that these executions include the situation that each good agent does not meet any Byzantine agent; therefore, we can assume that there are only |Iα|f good agents in v1 after these agents enter terminal states. Let such good agents in Iα be a01,a11,,a|Iα|11.

Similarly, consider another graph G2=(V2,E2) with n nodes where the degree of each node in G2 is at most n/21. Suppose that all agents in Iα are Byzantine, and all agents in Iβ are good in G2. When good agents execute 𝒜ssg(id,n,k,f,Λg) starting from cCall, |Iβ| good agents in Iβ eventually meet and enter terminal states in Ster(n,k,f,Λg) at a node v2. As with G1, we assume that there are only |Iβ| good agents in v2 after these agents enter terminal states. Let such good agents in Iβ be a02,a12,,a|Iβ|12.

Let S1=(V1S,E1S) (resp. S2=(V2S,E2S)) be a star whose internal node, denoted by v1 (resp. v2), has the same degree as d(v1) (resp. d(v2)), and L1=(V1L,E1L) (resp. L2=(V2L,E2L)) be a line composed of n/2d(v1)1 nodes (resp. n/2d(v2)1 nodes). We consider a tree T3=(V1SV1LV2SV2L,E1SE1LE2SE2L{(u1S,u2S),(u1S,u1L),(u2S,u2L)}), where u1S is a leaf in S1, u2S is a leaf in S2, u1L is a node in L1, and u2L is a node in L2. We also consider a configuration c where v1 hosts |Iα|/2 good agents and |Iα|/2 Byzantine agents and v2 hosts |Iβ|/2 good agents and |Iβ|/2 Byzantine agents. Specifically, at v1, every agent ai1 matches ai1 in both ID (ai1.id=ai1.id) and state (si1=si1). Similarly, at v2, each agent ai2 has an ID and state identical to its counterpart ai2 (ai2.id=ai2.id and si2=si2). Since T3, G1, and G2 share the same values n, k, f, and Λg, we can observe that Ster(n,k,f,Λg) of each agent is identical. Therefore, when good agents execute 𝒜ssg(id,n,k,f,Λg) starting from c, they thereafter remain stationary because their pout and s are and a state in Ster(n,k,f,Λg) after the start, respectively. This implies that the good agents cannot meet at a single node, which is a contradiction.

4 Self-stabilizing perpetual gathering algorithm with 𝑵, 𝑲, 𝑭 and 𝚲𝒈

In this section, we provide an overview of our proposed algorithm for solving the SS-PGAT with N, K, F, and Λg. We then detail the behaviors of the proposed algorithm. Throughout the explanation and proof for the proposed algorithm, we assume that all good agents start an algorithm from c0Call simultaneously. We discuss how to remove this assumption in Section 5.

4.1 Overview

We present the underlying idea of the proposed algorithm. We first show two solutions for the PGAT: one in non-Byzantine environments, where no Byzantine agents exist, and another in Byzantine environments. The latter solution is based on an idea by Dieudonné et al. [8]. We then extend the latter solution to solve the SS-PGAT. We assume that agents start from any of Cini when explaining the solutions for the PGAT.

To solve the PGAT in non-Byzantine environments, agents behave as follows: if an agent ai is alone at the current node, it starts 𝖱𝖤𝖭(𝑠𝑒𝑒𝑑), using ai.id as the input 𝑠𝑒𝑒𝑑 for the rendezvous algorithm. Whenever ai meets other agents, ai stops the execution of the current rendezvous algorithm and starts it using the smallest ID among IDs in 𝑀𝐺i as 𝑠𝑒𝑒𝑑. According to Theorem 4, the number of agents traveling together grows, eventually ensuring that all good agents stay at the same node. However, this approach fails in a Byzantine environment. Consider a Byzantine agent b with an ID smaller than the smallest ID among the good agent IDs. Agent b repeatedly meets some good agents and leaves them. As a result, those good agents restart the rendezvous algorithm each time this action of b occurs. Those good agents cannot meet the remaining good agents because this repeated restarting prevents uninterrupted execution for a sufficiently long period. Moreover, it is also ineffective for agents to record the IDs of previously left agents and then exclude those recorded IDs when selecting 𝑠𝑒𝑒𝑑. Agent b could leave some good agents and then travel with the remaining good agents. This causes the good agents to divide into two groups.

This problem can be resolved using the idea of Dieudonné et al. [8]. This idea extends the approach in non-Byzantine environments by modifying the determination of 𝑠𝑒𝑒𝑑, as follows, to mitigate the influence of Byzantine agents. In this idea, a group is defined as a set of agents at a single node executing the rendezvous algorithm using the same 𝑠𝑒𝑒𝑑. To ignore Byzantine agents, when the group members change, the agents in the group compute the largest subset Sb of agents at the current node such that every agent outside of Sb has observed each member of Sb leaving the group at some point in the past. Then, if the group meets agents neither in the group nor in Sb, or agents not in Sb leave the group, the group stops the execution of the current rendezvous algorithm and starts it using the smallest ID among IDs in 𝑀𝐺i and not in Sb as 𝑠𝑒𝑒𝑑.

In this paper, for future extensions, we represent this idea using a labeled graph GCG=(VCG,ECG), called confidence graph, where for an agent ai, |VCG|=|𝑀𝐺i|, each node label corresponds one-to-one with the ID of an agent in 𝑀𝐺i, and each edge (u,w)ECG indicates that the two agents with the labels of nodes u and w trust each other. The detailed behaviors using this graph in each round are as follows: Agent ai first checks whether each agent aj at the current node is trustworthy. If ai detects fraud by aj, ai does not trust aj; otherwise, ai trusts aj. Agent ai then simulates how aj would evaluate trust relationships. Once ai completes the above simulation for all agents in 𝑀𝐺i, it derives the trust relationships among those agents in 𝑀𝐺i. Next, ai maps the trust relationships onto a confidence graph and calculates the IDs reachable from the node with ai.id in the graph to determine the group members. If the group members change from the previous round, ai updates 𝑠𝑒𝑒𝑑; otherwise, it continues using the same 𝑠𝑒𝑒𝑑. This behavior ensures that good agents at the same node make the same confidence graph, as they base it on the states of agents at the same node at the beginning of the current round. Thus, good agents at the same node always select the same ID as 𝑠𝑒𝑒𝑑. Consequently, after meeting, good agents travel together, and eventually, all good agents stay at the same node from a certain round.

While this approach solves the PGAT without global knowledge, it cannot be directly applied to the SS-PGAT, as agents start from a configuration of Call, that is, each agent may start with a different state. In cases where some good agents already have a memory of traveling together with other good agents in the initial configuration, they may never trust those agents. As a result, the good agents remain divided into several groups.

To address this issue, the proposed algorithm restricts the length τ of the period that an agent suspects the other agents. In the proposed algorithm, each agent derives τ from global knowledge. All good agents stop suspecting the other good agents after the first τ rounds. By appropriately setting τ, we will prove that a good agent meets another good agent within τ rounds, i.e., before a Byzantine agent suspected by the good agent can regain the trust of the good agent. Thus, the proposed algorithm ensures that all good agents stay at the same node within 2τ rounds.

4.2 Details

Algorithm 1 𝒜sspg(id,n,k,f,Λg).
Table 2: Variables of agent ai.
Table 3: Functions used in 𝒜sspg(id,n,k,f,Λg).

Algorithm 1 outlines the behavior for each round of Algorithm 𝒜sspg(id,n,k,f,Λg) and uses Algorithms 2 and 4 as sub-routines. Tables 2 and 3 summarize the variables used by an agent ai in 𝒜sspg(id,n,k,f,Λg) and functions for arrays in 𝒜sspg(id,n,k,f,Λg), respectively. In 𝒜sspg(id,n,k,f,Λg), iS1 for an index i and an array S1, and jS2 for an index j and a two-dimensional array S2, indicates that i is included in the indices of S1 and j is included in the indices of first dimension of S2, respectively. Additionally, when an agent assigns a value c to S[i] for an array S and a non-existent index i, we simply describe S[i]c. Each agent calculates τ=(6KF+1)tREN(2Λg+1) based on global knowledge N, K, F, and Λg.

We focus on the process of each round by an agent ai. First, ai increments the value of ai.𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑 by one. If the value assigned to ai.𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑 exceeds tREN(2Λg+1), ai stores the value modulo tREN(2Λg+1) in ai.𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑. Next, using Algorithm 2, ai calculates the trust relationship of all agents in 𝑀𝐺i. Then, using Algorithm 4, ai selects an ID idseed as the input of the rendezvous algorithm and reaches a consensus on 𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑 among agents in 𝑀𝐺i with the same idseed. This prevents them from staying at different nodes in the next round. Finally, using ai.𝑠𝑒𝑒𝑑 and ai.𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑, ai executes a rendezvous algorithm to meet other good agents.

4.2.1 Calculate a trust relationship

Algorithm 2 𝖴𝗉𝖽𝖺𝗍𝖾𝖳𝗋𝗎𝗌𝗍𝖱𝖾𝗅𝖺𝗍𝗂𝗈𝗇𝗌𝗁𝗂𝗉.
Algorithm 3 𝖴𝗉𝖽𝖺𝗍𝖾𝖵𝖺𝗅𝗎𝖾(aj.id).

Algorithm 2 is the pseudo-code of Algorithm 𝖴𝗉𝖽𝖺𝗍𝖾𝖳𝗋𝗎𝗌𝗍𝖱𝖾𝗅𝖺𝗍𝗂𝗈𝗇𝗌𝗁𝗂𝗉. This algorithm aims to allow an agent ai to calculate the trust relationship of all agents in 𝑀𝐺i. To do this, ai uses a two-dimensional array ai.Twit. The indices in each dimension of ai.Twit are comprised of agent IDs, and for two agents aj and a, the value of ai.Twit[aj.id][a.id] indicates the trust level as perceived by ai. Specifically, if this value is between 1 and τ1, it implies that ai thinks aj does not trust a; otherwise (i.e., if this value is τ), it represents that ai thinks aj trusts a. (Recall that the value is in the range 1,,τ.) To update ai.Twit, the algorithm employs a temporary variable 𝑇𝑚𝑝𝑇wit to store the updated values. This ensures that ai.Twit is not referenced before all elements are updated. Agent ai finally replaces ai.Twit with 𝑇𝑚𝑝𝑇wit using OVERWRITE().

To calculate the trust relationship of all agents in 𝑀𝐺i, this algorithm first updates the trust relationship for ai itself and then for the other agents. More specifically, ai first fixes the first-dimension of ai.Twit to ai and executes 𝖴𝗉𝖽𝖺𝗍𝖾𝖵𝖺𝗅𝗎𝖾(ai.id) to update elements of ai.Twit[ai.id]. Algorithm 𝖴𝗉𝖽𝖺𝗍𝖾𝖵𝖺𝗅𝗎𝖾(aj.id) returns an array with the updated values for the elements of ai.Twit[aj.id]. Following this, ai updates the elements of ai.Twit[aj.id] for an agent aj in 𝑀𝐺i{ai} using 𝖴𝗉𝖽𝖺𝗍𝖾𝖵𝖺𝗅𝗎𝖾(aj.id). Finally, ai removes IDs of all agents not present at the current node from the first dimension of ai.Twit using REMOVE().

Next, we explain the details of 𝖴𝗉𝖽𝖺𝗍𝖾𝖵𝖺𝗅𝗎𝖾(aj.id) to update all elements in ai.Twit[aj.id]. In this algorithm, ai decides the updated value for an element ai.Twit[aj.id][a.id] for an agent a as follows.

UV-Case (1)

Assume that a belongs to the same group as aj at the end of the previous round. If aj detects an anomaly for a, the updated value is 1. Here, aj detects an nomaly for a if any of the following conditions hold: a does not belong to 𝑀𝐺i; or aj and a have different values for any of the variables R, 𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑, 𝑠𝑒𝑒𝑑, or Twit. These discrepancies indicate that a may not have followed the expected protocol behavior in the previous round. If aj does not detect an anomaly for a and aj does not trust a, the updated value is aj.Twit[aj.id][a.id]+1.

UV-Case (2)

If aj meets a for the first time, the updated value is τ.

UV-Case (3)

If aj has previously met a, a does not belong to the same group as aj in the previous round, and aj does not trust a, then the updated value is ai.Twit[aj.id][a.id]+1.

To verify the condition in UV-Case (1), ai uses the results of detectAnomaly(aj,a). In UV-Case (2), where the indices of ai.Twit[ai.id] do not include aj.id, ai implicitly adds aj.id to the indices of 𝑇𝑚𝑝𝑇wit[ai.id].

In summary, indices in the first-dimension of ai.Twit only include IDs of agents in 𝑀𝐺i. The updated value of each element ai.Twit[aj.id][a.id] depends on the locations and states of aj and a at the beginning of the round. This gives us the following observation.

Observation 8.

Every pair of good agents at the same node has the same Twit.

4.2.2 Select a seed

Algorithm 4 𝖲𝖾𝗅𝖾𝖼𝗍𝖲𝖾𝖾𝖽.

Algorithm 4 is the pseudo-code of Algorithm 𝖲𝖾𝗅𝖾𝖼𝗍𝖲𝖾𝖾𝖽. This algorithm serves two following objectives: (1) an agent ai selects an ID idseed for use in the current round of the rendezvous algorithm, and (2) agent ai reaches a consensus on 𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑 with other agents in 𝑀𝐺i who share the same idseed.

To achieve Objective (1), ai first creates a confidence graph. Formally, a confidence graph is defined as follows.

Definition 9.

Let 𝐂𝐆(𝑀𝐺i,Twit) be the undirected graph whose node set is the set of agents in 𝑀𝐺i, and there is an edge between two nodes id1 and id2 if and only if Twit[id1][id2]=Twit[id2][id1]=τ. We call this graph the confidence graph.

After creating the confidence graph, ai identifies the IDs that are reachable from the node with ai.id in 𝐂𝐆(𝑀𝐺i,ai.Twit) and selects these agents as group members. Agent ai stores the IDs of these group members in a temporary variable 𝑇𝑚𝑝𝑅 to detect any changes in group membership since the end of the previous round. Finally, ai selects the smallest ID among IDs of the group members and stores it in ai.𝑠𝑒𝑒𝑑.

To achieve Objective (2), ai compares the current group members with the agents in aj.R for each group member aj. If there are discrepancies, ai initializes ai.𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑. Here, agents in aj.R means group members of aj in the previous round. This comparison checks if each group member belongs to a different group than in the previous round. Thus, when agents in aj.R are different from them by incoherence, ai can detect changes in members of the group with aj. Therefore, this comparison ensures that all group members have a consistent 𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑 by the end of a round.

4.3 Correctness and Complexity

In this subsection, we prove the correctness and complexity of the algorithm proposed in Section 4. To do this, we first prove that two good agents at the same node make the same confidence graph. For simplicity of discussion, we define the time at c0Call as round 1.

Owing to space limitations, several proofs have been omitted. The complete proofs are available in the full version of this paper [10].

Lemma 10.

For r1, in any round r, if two good agents exist at the same node, they create the same confidence graph in r.

Proof.

Let ai and aj be such agents. Given that both agents are the same node, it follows that 𝑀𝐺i=𝑀𝐺j; therefore, VCG of ai and aj are identical.

Without loss of generality, each edge in ECG of ai is determined by ai.Twit and 𝑀𝐺i. According to Observation 8, ai.Twit=aj.Twit. Consequently, ECG of ai and aj are also identical.

Next, we prove that if two good agents belong to the same group at the end of a round, they do not detect an anomaly in each other in the next round.

Lemma 11.

Consider any round r such that r2. If two different good agents ai and aj belong to the same group at the end of r, detectAnomaly(ai,aj)=detectAnomaly(aj,ai)=𝐹𝑎𝑙𝑠𝑒 holds in r+1.

Next, we prove that a good agent does not detect an anomaly in another good agent on or after round 2.

Lemma 12.

Let ai and aj be two good agents. Agent ai does not execute ai.Twit[ai.id][aj.id]1 in any round on or after round 2.

Proof.

We prove this lemma by contradiction. Assume that ai executes ai.Twit[ai.id][aj.id]1 in a certain round after round 2. Let r be such a round. It holds that at the beginning of r, (1) ajai.R and (2) detectAnomaly(ai,aj)=𝑇𝑟𝑢𝑒.

From (1), ai and aj exist at the same node in r1. From Observation 8, ai.Twit=aj.Twit holds. In addition, from (1), the node with label aj.id is reachable from the node with label ai.id in 𝐂𝐆(𝑀𝐺i,ai.Twit) in r1. This also holds true for aj.id since 𝐂𝐆(𝑀𝐺i,ai.Twit)=𝐂𝐆(𝑀𝐺j,aj.Twit) holds in r1 from Lemma 10. Thus, ai and aj belong to the same group at the end of r1.

From Lemma 11, detectAnomaly(ai,aj)=𝐹𝑎𝑙𝑠𝑒 holds in r, which is inconsistent with (2). This contradiction proves the lemma.

From Lemma 12, we have the following corollary.

Corollary 13.

Let ai be a good agent, and aj be another good agent such that ajai.Twit[ai.id] holds. Let rinij1 be the first round where ajai.Twit[ai.id] holds. By rinij+τ, ai.Twit[ai.id][aj.id]=τ holds.

Next, we prove the number of times a good agent is interrupted while executing a rendezvous algorithm during τ rounds.

Lemma 14.

Let ai be a good agent. For any round r on or after round 2, ai changes ai.𝑠𝑒𝑒𝑑 and initializes ai.𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑 at most 3kf times between r and r+τ.

Next, we prove that two good agents meet within τ rounds.

Lemma 15.

For any round r on or after round 1, any pair of good agents meet between r and r+τ.

Finally, we prove the correctness and complexity of 𝒜sspg(id,n,k,f,Λg).

Theorem 16.

Let N be the upper bound on the number of nodes, K be the upper bound on the total number of agents, F be the upper bound on the number of Byzantine agents, and Λg be the length of the largest ID among IDs of good agents. If N, K, F, and Λg are given to agents, Algorithm 1 solves the SS-PGAT with global knowledge in O(KFtREN(2Λg)) rounds.

Proof.

First, we prove that ai.Twit[ai.id][aj.id]=τ and aj.Twit[aj.id][ai.id]=τ hold from τ+2 onwards for any pair ai,aj of good agents. From Lemma 15, ai and aj meet between rounds 2 and τ+1. Therefore, aiaj.Twit[aj.id] and ajai.Twit[ai.id] hold at the beginning of τ+2. If ai (resp. aj) meets aj (resp. ai) for the first time, ai.Twit[ai.id][aj.id]=τ holds (resp. aj.Twit[aj.id][ai.id]=τ holds). Otherwise, aiaj.Twit[aj.id] (resp. ajai.Twit[ai.id]) has already held at the beginning of τ+2, and ai.Twit[ai.id][aj.id]=τ holds (resp. aj.Twit[aj.id][ai.id]=τ holds) by τ+2 from Corollary 13. From Lemma 12, after ai.Twit[ai.id][aj.id]=τ holds (resp. aj.Twit[aj.id][ai.id]=τ holds), ai (resp. aj) does not execute ai.Twit[ai.id][aj.id]1 (resp. aj.Twit[aj.id][ai.id]1). Hence, ai.Twit[ai.id][aj.id]=τ and aj.Twit[aj.id][ai.id]=τ hold from τ+2 onwards.

From Lemma 15 and the above discussion, ai and aj meet by 2τ+1 and belong to the same group in this round. From Lemma 11, ai and aj stay at a single node from 2τ+1 onwards. Given that τ is (6KF+1)tREN(2Λg+1), this theorem holds.

5 Discussion

In Section 4, we present an algorithm to solve the SS-PGAT without global knowledge. Here, we discuss (1) removing the assumption of the simultaneous startup, and (2) the memory space required for each agent in this section.

Removing the assumption of simultaneous startup

For the execution without simultaneous startup, let the first round, denoted as round 1, be the round in which the first agent a is selected by the adversary and starts the algorithm. A similar discussion as Lemma 15 ensures that within at most τ+1 rounds, the other good agents meet a and start the algorithm. This fact holds since dormant agents stay at the node where they are located, and in the first τ rounds, there are at least tREN(a.𝑠𝑒𝑒𝑑) rounds during which a does not change a.𝑠𝑒𝑒𝑑 and does not initialize a.𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑. This observation ensures that the good agents start the algorithm within at most τ+1 rounds. After all good agents start the algorithm, the self-stabilizing property of the algorithm guarantees that the good agents successfully meet at a node and subsequently stay at a node within 2τ+1 rounds. Therefore, without the assumption of the simultaneous startup, the algorithm solves the SS-PGAT within 3τ+1 rounds, which is asymptotically the same as the algorithm with simultaneous startup.

Memory Space

To analyze the memory space, we consider the maximum size of each variable.

  • For Variable 𝑛𝑢𝑚𝑅𝑜𝑢𝑛𝑑, since it stores at most tREN(2Λg+1), its maximum size is given by log(O~(N5Λg)).

  • For Variable 𝑠𝑒𝑒𝑑, since it stores at most ID 2Λg+1, its maximum size is given by Λg+1.

  • For Variable Twit, the indices of its first dimension accommodate at most k IDs, while those of the second dimension store at most 2Λg+1 IDs. Every element stores at most (6KF+1)tREN(2Λg+1). Thus, its maximum size is O(k2Λglog(KFtREN(2Λg)).

  • For Variable R, it stores at most k IDs, thus its maximum size is O(kΛg).

In summation, the required memory space is O(k2Λglog(KFtREN(2Λg)), and this result is primarily determined the maximum size of Variable Twit.

The memory space can be reduced by additional operations. For each index i of the first dimension of Twit, an agent ensures that indices of Twit[i] comprise at most K IDs. More concretely, when an agent stores a new ID in the indices of Twit[i], it deletes the ID of the least seen agent from indices of Twit[i] if the number of indices of Twit[i] exceeds K. This operation allows agents to eliminate the IDs of non-existent agents introduced by incoherence, and thus the maximum size of Twit becomes O(kKlog(KFtREN(2Λg)), that is, becomes smaller. Thus, memory space can be lowered to O(kKlog(KFtREN(2Λg)).

6 Conclusion

In this paper, we presented two impossibility results regarding the solvability of the GAT and SS-GAT, and proposed an algorithm to solve the SS-PGAT. We thoroughly analyzed the global knowledge required to solve the GAT and SS-GAT, examining each case with and without such knowledge. Based on the impossibility results, we introduced the PGAT as a relaxed variant of the GAT and investigated the global knowledge required for this problem as well.

Our findings show that no algorithm can solve the GAT without global knowledge, and no algorithm can solve the SS-GAT for any k and f with n, k, f, and Λg. On the other hand, for the SS-PGAT, we provided an algorithm that solves the problem with N, K, F, and Λg, where these values represent the upper bounds of n, k, and f, respectively. The time complexity of our proposed algorithm is O(KFtREN(2Λg)).

Despite these results, the solvability of the SS-PGAT without global knowledge remains an open problem.

References

  • [1] Steve Alpern and Shmuel Gal. The Theory of Search Games and Rendezvous, volume 55 of International series in operations research and management science. Kluwer, first edition, 2003.
  • [2] Sébastien Bouchard, Yoann Dieudonné, and Bertrand Ducourthial. Byzantine gathering in networks. Distributed Computing, 29(6):435–457, 2016. doi:10.1007/s00446-016-0276-9.
  • [3] Sébastien Bouchard, Yoann Dieudonné, and Anissa Lamani. Byzantine gathering in polynomial time. Distributed Computing, 35(3):235–263, 2022. doi:10.1007/s00446-022-00419-9.
  • [4] Sébastien Bouchard, Yoann Dieudonné, and Andrzej Pelc. Want to gather? no need to chatter! SIAM Journal on Computing, 52(2):358–411, 2023. doi:10.1137/20m1362899.
  • [5] Jérémie Chalopin, Yoann Dieudonné, Arnaud Labourel, and Andrzej Pelc. Rendezvous in networks in spite of delay faults. Distributed Computing, 29:187–205, 2016. doi:10.1007/s00446-015-0259-2.
  • [6] Shantanu Das. Graph explorations with mobile agents. In Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro, editors, Distributed Computing by Mobile Entities: Current Research in Moving and Computing, pages 403–422. Springer International Publishing, 2019. doi:10.1007/978-3-030-11072-7_16.
  • [7] Anders Dessmark, Pierre Fraigniaud, Dariusz R Kowalski, and Andrzej Pelc. Deterministic rendezvous in graphs. Algorithmica, 46:69–96, 2006. doi:10.1007/s00453-006-0074-2.
  • [8] Yoann Dieudonné, Andrzej Pelc, and David Peleg. Gathering despite mischief. ACM Transactions on Algorithms, 11(1):1:1–1:28, 2014. doi:10.1145/2629656.
  • [9] Samir Elouasbi and Andrzej Pelc. Deterministic rendezvous with detection using beeps. International Journal of Foundations of Computer Science, 28(1):77–97, 2017. doi:10.1142/S012905411750006X.
  • [10] Jion Hirose, Ryota Eguchi, and Yuichi Sudo. Self-stabilizing weakly byzantine perpetual gathering of mobile agents. CoRR, abs/2504.08271, 2025. doi:10.48550/arXiv.2504.08271.
  • [11] Jion Hirose, Junya Nakamura, Fukuhito Ooshita, and Michiko Inoue. Weakly Byzantine gathering with a strong team. IEICE TRANSACTIONS on Information and Systems, 105(3):541–555, 2022. doi:10.1587/transinf.2021fcp0011.
  • [12] Jion Hirose, Junya Nakamura, Fukuhito Ooshita, and Michiko Inoue. Fast gathering despite a linear number of weakly byzantine agents. Concurrency and Computation: Practice and Experience (CCPE), 36(14), 2024. doi:10.1002/cpe.8055.
  • [13] Michal Koucký. Universal traversal sequences with backtracking. Journal of Computer and System Sciences, 65(4):717–726, 2002. doi:10.1016/S0022-0000(02)00023-5.
  • [14] Dariusz R Kowalski and Adam Malinowski. How to meet in anonymous network. Theoretical Computer Science, 399(1-2):141–156, 2008. doi:10.1016/j.tcs.2008.02.010.
  • [15] Avery Miller and Andrzej Pelc. Time versus cost tradeoffs for deterministic rendezvous in networks. Distributed Computing, 29:51–64, 2016. doi:10.1007/s00446-015-0253-8.
  • [16] Avery Miller and Ullash Saha. Fast Byzantine gathering with visibility in graphs. In 16th International Symposium on Algorithms and Experiments for Sensor Systems, Wireless Networks and Distributed Robotics (ALGOSENSORS 2020), pages 140–153. Springer, 2020. doi:10.1007/978-3-030-62401-9_10.
  • [17] Anisur Rahaman Molla, Kaushik Mondal, and William K. Moses Jr. Fast deterministic gathering with detection on arbitrary graphs: The power of many robots. In IEEE International Parallel and Distributed Processing Symposium, IPDPS 2023, St. Petersburg, FL, USA, May 15-19, 2023, pages 47–57. IEEE, IEEE, 2023. doi:10.1109/IPDPS54959.2023.00015.
  • [18] Fukuhito Ooshita, Ajoy K. Datta, and Toshimitsu Masuzawa. Self-stabilizing rendezvous of synchronous mobile agents in graphs. In 19th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS 2017), pages 18–32. Springer International Publishing, 2017. doi:10.1007/978-3-319-69084-1_2.
  • [19] Andrzej Pelc. Deterministic gathering with crash faults. Networks, 72(2):182–199, 2018. doi:10.1002/net.21810.
  • [20] Andrzej Pelc. Deterministic rendezvous algorithms. In Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro, editors, Distributed Computing by Mobile Entities: Current Research in Moving and Computing, pages 423–454. Springer International Publishing, 2019. doi:10.1007/978-3-030-11072-7_17.
  • [21] Omer Reingold. Undirected connectivity in log-space. Journal of the ACM (JACM), 55(4):1–24, 2008. doi:10.1145/1391289.1391291.
  • [22] Yuichi Sudo, Fukuhito Ooshita, and Sayaka Kamei. Brief announcement: Self-stabilizing graph exploration by a single agent. In 38th International Symposium on Distributed Computing, DISC 2024, pages 55:1–55:7, 2024. doi:10.4230/LIPIcs.DISC.2024.55.
  • [23] Amnon Ta-Shma and Uri Zwick. Deterministic rendezvous, treasure hunts, and strongly universal exploration sequences. ACM Transactions on Algorithms, 10(3):12:1–12:15, 2014. doi:10.1145/2601068.
  • [24] Masashi Tsuchida, Fukuhito Ooshita, and Michiko Inoue. Byzantine-tolerant gathering of mobile agents in arbitrary networks with authenticated whiteboards. IEICE TRANSACTIONS on Information and Systems, 101(3):602–610, 2018. doi:10.1587/transinf.2017FCP0008.
  • [25] Masashi Tsuchida, Fukuhito Ooshita, and Michiko Inoue. Byzantine-tolerant gathering of mobile agents in asynchronous arbitrary networks with authenticated whiteboards. IEICE TRANSACTIONS on Information and Systems, 103(7):1672–1682, 2020. doi:10.1587/transinf.2019EDP7311.