Crash-Tolerant Perpetual Exploration with Myopic Luminous Robots on Rings
Abstract
We investigate crash-tolerant perpetual exploration algorithms by myopic luminous robots on ring networks. Myopic robots mean that they can observe nodes only within a certain fixed distance , and luminous robots mean that they have light devices that can emit a color from a set of colors. The goal of perpetual exploration is to ensure that robots, starting from specific initial positions and colors, move in such a way that every node is visited by at least one robot infinitely often. As a main contribution, we clarify the tight necessary and sufficient number of robots to realize perpetual exploration when at most robots crash. In the fully synchronous model, we prove that robots are necessary and sufficient for any . In the semi-synchronous and asynchronous models, we prove that (resp., ) robots are necessary and sufficient if (resp., ).
Keywords and phrases:
mobile robots, crash faults, LCM model, explorationFunding:
Fukuhito Ooshita: JSPS KAKENHI 22K11903Copyright and License:
![[Uncaptioned image]](x1.png)
2012 ACM Subject Classification:
Theory of computation Distributed algorithmsEditors:
Silvia Bonomi, Letterio Galletta, Etienne Rivière, and Valerio SchiavoniSeries and Publisher:

1 Introduction
1.1 Background and Motivation
In the field of distributed computing, theoretical researches on autonomous mobile robots have attracted a lot of attention. The goal of the researches is to clarify the minimum capabilities of robots to achieve a given task. For this reason, many researches consider robots with very weak capabilities, that is, they are identical (i.e., robots execute the same algorithm), oblivious (i.e., robots have no memory to record past history), and silent (i.e., robots do not send messages explicitly). As a model of weak robots, the Look-Compute-Move (LCM) model [23] is commonly used. In the LCM model, each robot repeats a cycle of Look, Compute, and Move phases: the robot takes a snapshot in the Look phase, computes its behavior based on the snapshot in the Compute phase, and moves to a new position (if necessary) in the Move phase. By using the LCM model, solvability is clarified on various environments, various capabilities of robots, and various tasks. For example, some works focus on continuous environments (aka two- or three-dimensional Euclidean space) [13, 23, 24] or discrete environments (aka graph networks) [7, 11, 16]. Most traditional works assume oblivious robots with unlimited visibility, but recently some works consider light devices [9, 14] or limited visibility [13, 17]. As benchmark tasks, gathering [7, 23], exploration [8, 19], and pattern formation [15, 24] are mainly studied. State-of-the-art surveys are given in [12].
In this paper, we focus on myopic luminous robots in discrete environments. Recently many papers focus on myopic luminous robots because of the reasonable assumptions on the observation, communication, and memory capability [2, 3, 6, 8, 18, 19]. Myopic robots mean that they can observe nodes only within a certain fixed distance. This implies that myopic robots are less powerful than traditional robots with unlimited visibility. Luminous robots mean that they have light devices that can emit a color from a set of colors. The light color is visible to other robots and not reset at the end of each cycle, and hence the light device models a communication and memory device. This assumption is reasonable because real weak robots (such as Kilobots [22]) also have weak communication devices and small memories.
Since robots are weak, it is likely that robots crash during the execution, in particular when they work in dangerous environments. Once robots have crashed, they continue to reside in the system without moving or changing their colors, however they cannot be distinguished from correct robots with the same color. For robots with unlimited visibility in Euclidean plane, some works study crash-tolerant algorithms, for example, for gathering [1, 10], flocking [25], and complete visibility [20]. For robots with unlimited visibility in graph environments, some works study crash-tolerant algorithms for gathering [4, 5, 21]. On the other hand, for myopic luminous robots in graph environments, to the best of our knowledge, only one work [3] considers crash-tolerant algorithms. This work considers crash-tolerant gathering algorithms on line networks. Hence it is not clear what tasks can be achieved by myopic luminous robots when some robots may crash.
We focus on crash-tolerant perpetual exploration. The goal of perpetual exploration is to ensure that robots, starting from specific initial positions and colors, move in such a way that every node is visited by at least one robot infinitely often. The perpetual exploration is a benchmark task of mobile robots, and it is useful for patrolling, cleaning, disinfecting, searching, and so on. Thus, the perpetual exploration has been studied extensively. When no crash occurs, on ring networks the case of visibility one is studied in [19] and the case of visibility more than one is studied in [18]. On grid networks, many algorithms for various assumptions are proposed in [2, 6].
1.2 Our Contributions
We investigate crash-tolerant perpetual exploration with myopic luminous robots on ring networks. We assume that each robot observes robots on nodes within distance and has a light device with colors. In this paper, we clarify the minimum number of robots to achieve perpetual exploration when at most robots crash. Table 1 summarizes our contributions.
#robots | |||||
ref. | synchrony | visbility | #crashed | necessary | sufficient |
[18, 19] | FSYNC | 1 | 0 | 2 | 2 (2 colors) |
[19] | SSYNC, ASYNC | 1 | 0 | 3 | 3 (2 colors) |
[18] | SSYNC, ASYNC | 2 | 0 | 2 | 2 (2 colors) |
This | FSYNC | 1 | ( colors) | ||
This | SSYNC, ASYNC | 1 | ( colors) | ||
This | SSYNC, ASYNC | 2 | ( colors) |
First, we consider the fully synchronous (FSYNC) model. In previous works [18, 19], it is proven that, when robots do not crash, two robots are necessary for any and , and two robots are sufficient for and . From this fact, when at most robots crash, we can easily obtain that robots are necessary for any and , and that robots are sufficient for and . For the sufficiency, let us construct groups such that each group contains two robots, and make each group execute crash-free perpetual exploration independently by assigning different colors to groups (i.e., ). This algorithm achieves perpetual exploration because at least one group can continue the algorithm. On the other hand, robots are necessary for any because at least two robots must remain after robots crash. As the first main contribution, we close the gap between the necessary number and the sufficient number by proposing a crash-tolerant algorithm with robots. The algorithm uses colors, that is, it uses asymptotically the same number of colors as the trivial algorithm mentioned above.
Next, we consider the semi-synchronous (SSYNC) and asynchronous (ASYNC) models. In previous works [18, 19], it is proven that, when robots do not crash, if (resp., ), three (resp., two) robots are necessary for any , and three (resp., two) robots are sufficient for . Similarly to the FSYNC model, when at most robots crash, we can obtain that, if (resp., ), (resp., ) robots are sufficient for . As the second main contribution of this paper, we prove that, different from the FSYNC model, these sufficient numbers are also necessary numbers for any . That is, the trivial algorithms are optimal in terms of the number of robots even if we can use any number of colors. To prove this, we show that, if robots are necessary when no robot crashes, robots are necessary when at most robots crash. Intuitively, this is because robots cannot distinguish crashed robots and slow robots. When some robot seems crashed, other robots must leave and continue exploration. However, if robots leave alone and is just slow, this means that robots abandon one correct robot. To avoid this situation, robots leave a group of robots so that the group does not get stuck. This implies that, if robots crash dispersedly, groups of robots can be created. For this reason robots are necessary.
2 Preliminaries
In this section, we describe the system model and terminologies used in this paper. Most definitions are the same as [18, 19] except for those of crash faults.
2.1 System model
The system consists of robots and an environment which is modeled by an -node undirected ring , where and . For simplicity we consider mathematical operations on node indices as operations modulo . We say and are neighbors. We use for notation purposes only and no robot has access to indices of nodes. The ring is unoriented, that is, robots cannot recognize the direction of the ring. Robots do not know , the size of the ring. When a robot is on a node , we say occupies . The distance between two nodes is the number of links in a shortest path between the nodes. The distance between two robots is the distance between the two nodes occupied by them. Two robots are neighbors if the nodes occupied by them are neighbors.
Robots are luminous, that is, each robot has a light (or state) that is visible to itself and other robots. A robot can choose the color of its light from a set . The number of available colors is denoted by . Robots have no other persistent memory. Each robot can communicate by observing positions and colors of other robots (for collecting information), and by changing its color and moving (for sending information). Robots are myopic, that is, each robot can observe positions and colors of robots within a fixed distance () from its current position. We assume that robots share the same . Robots execute the same deterministic algorithm and their behaviors depend on only their observations including their own colors.
Each robot executes an algorithm by repeating a cycle of Look, Compute, and Move phases. At the beginning of the Look phase, the robot takes a snapshot of positions and colors of robots within distance . During the Compute phase, the robot computes its next color and movement according to the snapshot in the Look phase. The robot may change its color at the end of the Compute phase. If the robot decides to move, it moves to a neighboring node during the Move phase. Similarly to most works for graph environments, we assume that moves are instantaneous, that is, all robots exist on nodes in a snapshot. To model asynchrony of executions, we introduce the notion of scheduler that decides when each robot executes phases. When the scheduler makes robot execute some phase, we say the scheduler activates the phase of or simply activates . We consider three types of synchronicity: the FSYNC (fully synchronous) model, the SSYNC (semi-synchronous) model, and the ASYNC (asynchronous) model. In all models, time is represented by an infinite sequence of instants . No robot has access to this global time. In the FSYNC model, the scheduler activates all robots at every instant , and all robots execute a full cycle of Look, Compute, and Move phases synchronously and concurrently between and . In the SSYNC model, the scheduler activates a non-empty subset of robots at every instant , and all the activated robots execute a full cycle of Look, Compute, and Move phases synchronously and concurrently between and . In the ASYNC model, the scheduler activates a non-empty subset of robots at every instant , and every activated robot executes one of Look, Compute, and Move phases. If robot executes a Look phase and another robot executes a Compute or Move phase at instant , obtains a snapshot before changes its color or its position. Note that, in the ASYNC model, the amount of time between two successive phases of a robot is finite but unbounded: For example, after some robot executes a Look phase, some other robot can execute an unbounded number of Look, Compute, and Move phases before executes its next Compute phase. This implies that, in the ASYNC model, a robot can move based on an outdated view obtained during the Look phase in the past configuration. Throughout the paper we assume that the scheduler is fair, that is, each robot is activated infinitely often.
During execution of an algorithm, at most robots crash. A robot can crash between two consecutive phases in all of the FSYNC, SSYNC, and ASYNC models. If a robot crashes, the robot neither changes its color nor its position after it crashes. Even after robot crashes, other robots still observe and the color of , however they cannot distinguish from a correct robot with the same color as .
In the sequel, denotes the multiset of colors of robots located in node at an instant . If is not occupied by any robot at , then holds. Let be the set of crashed robots at an instant . A configuration of the system at an instant is defined as . If is clear from the context, we simply write .
When a robot takes a snapshot of its environment, it gets a view up to distance . Consider a robot on node ; then, obtains two views: the forward view and the backward view. The forward and backward views of are defined as and , respectively, where denotes ’s color. Since robots cannot recognize the direction, they cannot recognize which of the two views is forward and which is backward. If the forward view and the backward view of are identical, then ’s view is symmetric. In this case, cannot distinguish between the two directions when it moves, and the scheduler decides which direction moves to. Note that the scheduler can independently decide the direction regardless of any other movements. If observes no other robot in its view, is isolated.
2.2 Execution, problem, and exploration problem
In the FSYNC and SSYNC models, we say that an infinite sequence of configurations is an execution from initial configuration if, for any , is obtained from after every non-crashed robot activated in instant executes a cycle. In the ASYNC model, we say that an infinite sequence of configurations is an execution from initial configuration if (i) for any , is obtained from after every non-crashed robot activated in instant executes a Look, Compute, or Move phase, and (ii) every robot repeats Look, Compute, and Move phases in this order.
A problem is defined as a set of executions: An execution solves if holds. An algorithm solves problem from initial configuration if any execution from solves . An algorithm solves problem if there exists a configuration such that solves from .
In this paper, we consider the perpetual exploration problem.
Definition 1 (Perpetual exploration problem).
Perpetual exploration is defined as a set of executions such that every node is visited by at least one robot infinitely often in .
Since robots do not know , they should explore a ring with any number of nodes in principle. However some algorithms for large rings cannot work on small rings, and consequently many works assume the minimum size of rings to propose algorithms. In this paper, we also assume the minimum size of rings to propose algorithms. On the other hand, for the impossibility, we prove that no algorithm exists for large rings.
3 The FSYNC model
In this section, we consider crash-tolerant perpetual exploration in the FSYNC model.
3.1 Impossibility
First, we show the necessary number of robots to achieve crash-tolerant perpetual exploration.
Theorem 2.
If the number of robots is smaller than , the robots cannot achieve perpetual exploration regardless of the number of colors when at most robots crash.
Proof.
Consider a sufficiently large ring. Assume that there exists an algorithm that solves perpetual exploration with robots. Assume that initially robots crash. Then only one correct robot moves, and let be the correct robot. Since we consider a sufficiently large ring, there exist consecutive nodes where no crashed robots exist. To achieve perpetual exploration, should eventually visit . At that time, is isolated and consequently its view is symmetric. Hence, if moves, the scheduler can decide the direction and makes move to . Similarly, since is isolated on , the scheduler makes move to if moves. This implies that can visit only and after that. This is a contradiction.
3.2 Possibility
In this subsection, we propose an algorithm with robots in case of visibility . From Theorem 2, this algorithm is optimal in terms of the number of robots.
3.2.1 An algorithm
The algorithm uses robots with colors, and achieves perpetual exploration on rings when . The set of colors is divided into forward colors, backward colors, and spare colors. Forward colors are represented by (), backward colors are represented by (), and spare colors are represented by (). We refer a robot with a forward, backward, and spare color as a forward, backward, and spare robot, respectively. For simplicity, we refer a robot with color as robot . We give the details of the algorithm in Algorithm 1. We also draw the behavior in Fig. 1.
Initially we deploy robots as follows. Put robot and robots on a single node, and on its neighboring node put robot . That is, a forward robot and a backward robot occupy two neighboring nodes, and other robots are spare robots and stay with a forward robot (see the case of in Fig. 2a). In this algorithm, all robots move based on the forward and backward robots. In normal configurations the forward robot and spare robots move away from the backward robot (Rules F1 and S1), and the backward robot moves toward the forward robot (Rule B1). Unless either the forward or backward robot crashes, robots can maintain the same formation and continue exploration.
If the forward or backward robot crashes, robots create a new forward or backward robot. Note that robots can detect the crashes because the formation becomes different from the correct one. When robots create new forward and backward robots, we use indices of forward and backward colors to recognize new ones. Recall that initially the forward robot is and the backward robot is . If at least one of them crashes, we make a new forward robot and a new backward robot . Similarly, if forward robot or backward robot crashes, we make a new forward robot and a new backward robot . This means that forward and backward robots with smaller indices have crashed, and consequently correct robots can ignore such robots.
In principle, robots create new forward and backward robots as follows. If only forward robot crashes (see Fig. 2b), backward robot becomes (Rule B2) and spare robot becomes (Rule S3). If only backward robot crashes (see Fig. 2c), forward robot becomes and changes its position (Rule F2) and spare robot becomes (Rule S3). If both forward robot and backward robot crash (see Fig. 2d), spare robot becomes (Rule S3). In the last case, the resultant configuration is similar to the configuration where robot crashes when the forward and backward robots are and , and consequently robots create and similarly to the first case. Note that, during these movements, some robot such as can additionally crash. To treat this situation, when robots execute the above actions, every spare robot becomes at the same time (Rules S2 and S3). This maintains that all correct spare robots have different indices. Since at most spare robots can crash (when a forward or backward robot crashes), eventually exactly one correct spare robot becomes and then becomes . We treat all possible situations in the algorithm.
3.2.2 Correctness
In the following, we prove the correctness of Algorithm 1. Let be the maximum index of forward or backward colors that exist in configuration . For configuration , let be the number of crashed robots, and let be the number of crashed robots other than and . As we will show, we always have and consequently the maximum index of forward and backward colors is sufficient. Next we define legitimate configurations, which specify necessary conditions of configurations reachable from the initial configuration.
Definition 3.
Configuration is legitimate iff all the following conditions hold in :
-
1.
,
-
2.
all correct robots stay on a single node or two neighboring nodes,
-
3.
each correct robot has a color in ,
-
4.
all correct spare robots have different colors and stay on a single node,
-
5.
at most one robot has color ,
-
6.
at most one robot has color ,
-
7.
if both correct robot and a correct spare robot exist, then they stay on the same node, and
-
8.
if both correct robot and a correct spare robot exist, they stay on different but neighboring nodes.
In the following, we define four types of legitimate configurations , , , and . Intuitively includes configurations such that robots can continue exploration based on robots and . This configuration changes one in , , and if , , and both of them crash, respectively. Note that, since , correct spare robots and correct forward robot do not observe crashed backward robot . The configurations are illustrated in Fig. 2.
Definition 4.
We define configurations , , , and as follows.
-
Configuration is in iff 1) is legitimate, 2) holds, 3) forward robot and correct spare robots stay on the same node, and 4) backward robot stays on a neighboring node of .
-
Configuration is in iff 1) is legitimate, 2) holds, 3) forward robot has crashed and stays on the same node as , and 4) backward robot stays on a neighboring node of correct spare robots.
-
Configuration is in iff 1) is legitimate, 2) holds, 3) forward robot stays on the same node as correct spare robots, 4) if backward robot exists, it has crashed and does not stay on the neighboring nodes of , and 5) if backward robot does not exist, holds.
-
Configuration is in iff 1) is legitimate, 2) holds, 3) forward robot has crashed and stays on a node neighboring to correct spare robots, and 4) backward robot has crashed and does not stay on the neighboring nodes of correct spare robots.
An initial configuration is in . In Lemma 5, we prove that, if a configuration is in for some , robots can keep a configuration in and continue exploration unless forward robot or backward robot crashes. If forward robot , backward robot , or both of them crash in , the configuration becomes one in , , or , respectively. In Lemmas 7, 8, and 9, we prove that, from these configurations, robots reach a configuration in for some . Since at most robots crash, after some configuration no new crash occurs forever, which implies robots achieve perpetual exploration.
Lemma 5.
Consider for some and let be a next configuration of . If neither nor crashes between and , is in and each correct robot moves in the direction from to between and .
Proof.
In , spare robots can execute Rule S1, forward robot can execute Rule F1, and backward robot can execute Rule B1. Since neither nor crashes, all correct robots move in the direction from to and the resultant configuration is clearly in .
Lemma 5 implies that, if robots reach a configuration in , , or , at least one of and has crashed. This implies that, in these configurations, at least one spare robot never crashes because the initial number of spare robots is and at most robots crash. Hence the following corollary holds.
Corollary 6.
Consider for some . After , at least one spare robot never crashes.
Lemma 7.
Consider for some . After , robots eventually reach a configuration in for some .
Proof.
From the definition of legitimate configurations, holds. Recall that, from the definition of , either exists (and has crashed) in or holds. In , spare robots can execute Rule S3 and forward robot can execute Rule F2. Note that from Corollary 6 at least one spare robot never crashes. Let be a next configuration of . We consider three cases depending on the behavior of between and . The configurations are illustrated in Fig. 3. For all cases, we prove that robots reach a configuration in or .
-
Case 1: does not crash between and . In this case, changes its color to and moves to its neighboring node by Rule F2.
-
–
Case 1-1: Some spare robot becomes at the same time. In this case holds. If exists and has crashed in , we have (because is not counted in but counted in ) and hence holds. Otherwise, holds. Since holds and we can easily check other conditions, holds.
-
–
Case 1-2: No spare robot becomes . In this case, cannot execute any rule and spare robots can execute rule S2 in . Hence eventually some spare robot becomes in some configuration . Similarly to the above case, holds.
-
–
-
Case 2: crashes before it changes its color.
-
–
Case 2-1: Some spare robot becomes in . In this case, holds. If exists and has crashed in , since also crashes, we have and hence . Otherwise, holds, and, since crashes between and , we have . Hence holds, and, since we can easily check other conditions, holds.
-
–
Case 2-2: No spare robot becomes . In this case, spare robots can execute rule S3 in . Hence eventually some spare robot becomes in some configuration . Similarly to the above case, holds.
-
–
-
Case 3: crashes after it changes its color to before it moves.
-
–
Case 3-1: Some spare robot becomes at the same time. In this case, holds. If exists and has crashed in , (because is not counted in but counted in ) and hence holds. Otherwise, holds. Hence holds, and, since has crashed and we can easily check other conditions, holds.
-
–
Case 3-2: No spare robot becomes . In this case, spare robots can execute rule S3. Hence eventually some spare robot becomes in some configuration . Similarly to the above case, holds.
-
–
For all cases, we have proved that robots reach a configuration in or . If they reach a configuration in , by the same discussion they reach a configuration in or . We can repeat this discussion, however robots change the configuration from one in for some to one in only if crashes. Since the number of crashes is at most , eventually robots reach a configuration in for some .
Lemma 8.
Consider for some . After , robots eventually reach a configuration in for some .
Proof.
From the definition of legitimate configurations, holds. In , spare robots can execute Rule S3 and backward robot can execute Rule B2. Note that from Corollary 6 at least one spare robot never crashes. Let be a next configuration of . We consider two cases depending on the behavior of between and . The configurations are illustrated in Fig. 4. For all cases, we prove that robots reach a configuration in or . This derives the lemma because from a configuration in robots reach a configuration in for some by Lemma 7.
-
Case 1: does not crash between and . In this case, changes its color to .
-
–
Case 1-1: Some spare robot becomes at the same time. In this case holds. Since has crashed in , we have because is not counted in but counted in . Hence holds, and, since we can easily check other conditions, holds.
-
–
Case 1-2: No spare robot becomes . In this case, cannot execute any rule and spare robots can execute rule S2. Hence eventually some spare robot becomes in some configuration . Similarly to the above case, holds.
-
–
-
Case 2: crashes before it changes its color.
-
–
Case 2-1: Some spare robot becomes in . In this case, holds. Since and have crashed in , we have because and are not counted in but counted in . Hence holds, and, since we can easily check other conditions, holds.
-
–
Case 2-2: No spare robot becomes . In this case, spare robots can execute rule S3. Hence eventually some spare robot becomes in some configuration . Similarly to the above case, holds.
-
–
Lemma 9.
Consider for some . After , robots eventually reach a configuration in for some .
Proof.
From the definition of legitimate configurations, holds. In , spare robots can execute Rule S3. Note that from Corollary 6 at least one spare robot never crashes. Hence eventually some spare robot becomes in . Now holds. Since and have crashed in , we have because and are not counted in but counted in . Hence holds, and, since we can easily check other conditions, holds. This derives the lemma because from a configuration in robots reach one in for some by Lemma 7.
Theorem 10.
Algorithm 1 solves perpetual exploration on rings with in the FSYNC model even if at most robots crash. It uses robots and colors.
Proof.
The initial configuration is in . If or crashes in a configuration in for some , robots reach a configuration in , , or . However, by Lemmas 7, 8, and 9, they eventually reach a configuration in for some . Since at most robots crash, eventually they keep configurations in for some forever. Hence, by Lemma 5, robots achieve perpetual exploration. From the definition, the algorithm uses robots and colors.
4 The SSYNC and ASYNC models
In this section, we consider crash-tolerant perpetual exploration in the SSYNC and ASYNC models.
4.1 Possibility
As described in Section 1.2, we can design simple crash-tolerant algorithms by having teams of robots independently execute crash-free algorithms. Note that the team size depends on . When , a team of two robots (e.g., red and blue robots) can achieve perpetual exploration as follows: if the two robots are neighbors, the red robot moves away from the blue robot; otherwise, the blue robot moves toward the red robot [18]. This behavior is not feasible when , however by adding an additional robot, they can achieve perpetual exploration as demonstrated in [19]. We formalize these facts in the following theorem.
Theorem 11.
In the SSYNC and ASYNC models, when at most robots crash, (resp., ) robots with colors can achieve perpetual exploration on rings with (resp., ) if (resp., ).
Proof.
In case of , there exists an algorithm such that three robots with two colors can achieve perpetual exploration on rings with when no robot crashes [19]. Let be the set of colors used in . Assume that, in the initial configuration of , three robots , , and have colors , , and and occupy nodes , , and , respectively. In the following, we convert algorithm to algorithm that works when at most robots crash. The set of colors used in is defined as (this implies ). Algorithm divides robots into groups and makes each group execute algorithm . That is, for and , makes robot have color and occupy node in the initial configuration. After that, for each , three robots with colors () make the same behavior as by changing the second elements of their colors. When at most robots crash, all robots in at least one group execute algorithm correctly. Hence achieves perpetual exploration.
In case of , there exists an algorithm such that two robots with two colors can achieve perpetual exploration on rings with when no robot crashes [18]. Similarly to the above case, we can construct a crash-tolerant algorithm.
4.2 Impossibility
In the previous subsection, we proved that, when at most robots crash, (resp., ) robots can achieve perpetual exploration if (resp., ). In this subsection, we prove that these numbers of robots are necessary. To prove this fact, we use the following lemmas for the case of no crashed robots.
Lemma 12 ([19]).
If the number of robots is one, the robot cannot visit more than two nodes regardless of the number of colors in the FSYNC, SSYNC, and ASYNC models.
Lemma 13 ([19]).
If the number of robots is two and holds, the robots cannot visit more than five nodes regardless of the number of colors in the SSYNC and ASYNC models.
Since these lemmas are almost trivial, we give brief proofs of them. If the number of robots is one, the view of the robot is always symmetric and hence the scheduler decides the direction of the movement. This makes the robot continue to move backward and forward on two neighboring nodes. If the number of robots is two and holds, the scheduler can make two robots separated. This is because, when two robots move in the same directions, the scheduler can activate only the head robot. Once two robots get separated, the views of the two robots are symmetric, and hence they continue to move backward and forward on neighboring nodes.
In the rest of this section, we prove the main impossibility. To prove the impossibility, we consider the behaviors of robots on an infinite line. This is because, if robots can achieve perpetual exploration in any ring, they should visit infinite nodes on an infinite line. Indeed, if robots can visit at most nodes on an infinite line, they can also visit at most nodes on a ring with more than nodes and hence they cannot achieve perpetual exploration. On an infinite line, we define a hole as a set of successive non-occupied nodes such that each end node is a neighbor of an occupied node. The size of a hole is defined as the number of nodes in the hole.
Theorem 14.
Fix the SSYNC or ASYNC model. Fix visibility . In this setting, assume that, if the number of robots is smaller than , the robots cannot visit more than nodes regardless of the number of colors when no robots crash. In the same setting, there exists an integer such that, if the number of robots is smaller than , the robots cannot visit more than nodes regardless of the number of colors when at most robots crash.
Proof.
We prove the following proposition by induction.
Proposition A: For any integer , there exists an integer such that, if the number of robots is smaller than , the robots cannot visit more than nodes regardless of the number of colors when at most robots crash.
From the assumption of the theorem, Proposition A holds for . In the following, we assume that, for some , the proposition holds for the case of . To prove the case of , we prove the following proposition by induction.
Proposition B: For any integer (), there exists an integer such that, if the number of robots is , the robots cannot visit more than nodes regardless of the number of colors when at most robots crash.
Recall that we assume Proposition A for . This implies that, if the number of robots is smaller than , the robots cannot visit more than nodes when at most robots crash. Hence Proposition B holds for by assigning . In the following claim, we consider the inductive case.
Claim 15.
Assume that, for some (), Proposition B holds for . In this case, Proposition B holds for .
Proof.
For contradiction, assume that robots can visit any number of nodes when at most robots crash. Let .
Let be some robot. Starting from an initial configuration, the scheduler activates all robots except for . Note that such an activation is possible during an arbitrarily long period in the SSYNC and ASYNC model. Since robots can visit any number of nodes even when has crashed, eventually a hole with size is created. Let be the first such configuration. We divide a set of all robots into two sets and so that a hole with size exists between and in . Without loss of generality, we assume . We consider two cases.
-
Case 1: Consider the case that holds. Consequently holds for . In this case, after configuration , we assume that no robots in crash and that at most robots in crash. Since , robots in cannot visit more than nodes unless they meet some robot in . From the assumption of Claim 15 and for , robots in cannot visit more than nodes unless they meet some robot in . From the definition of , robots in and cannot meet, and hence the number of nodes they can visit is finite. That is, this case derives a contradiction.
-
Case 2: Consider the case that holds. Let and are integers such that , , and . Note that holds. Consequently holds, and we have from . We further consider three sub-cases depending on and .
-
–
Case 2-1: Consider the case of . From , we have and consequently . This implies that . Hence, from the inductive assumption of Proposition A, robots in (resp. ) cannot visit more than nodes unless they meet some robot in (resp. ). From the definition of , robots in and cannot meet, and hence the number of nodes they can visit is finite. That is, this sub-case derives a contradiction.
-
–
Case 2-2: Consider the case of and . In this case, after configuration , we assume that at most robots in crash and at most robots in crash. From , we have because and are integers. Hence, from the inductive assumption of Proposition A and , robots in cannot visit more than nodes unless they meet some robot in . Similarly, from and , robots in cannot visit more than nodes unless they meet some robot in . From the definition of , robots in and cannot meet, and hence the number of nodes they can visit is finite. That is, this sub-case derives a contradiction.
-
–
Case 2-3: Consider the case of and . This implies . In this case, after configuration , we assume that at most robots in crash and at most robots in crash. Since holds, from the inductive assumption of Proposition A and , robots in cannot visit more than nodes unless they meet some robot in . Similarly, from and , robots in cannot visit more than nodes unless they meet some robot in . From the definition of , robots in and cannot meet, and hence the number of nodes they can visit is finite. That is, this sub-case derives a contradiction.
-
–
Since all cases derive a contradiction, we have proved the claim.
Since both the base case and the inductive case (Claim 15) hold, Proposition B holds for any (). This implies that Proposition A holds for . Hence, the theorem holds.
Corollary 16.
In the SSYNC and ASYNC models, if the number of robots is smaller than , the robots cannot achieve perpetual exploration regardless of the number of colors when at most robots crash.
Corollary 17.
In the SSYNC and ASYNC models, if the number of robots is smaller than and holds, the robots cannot achieve perpetual exploration regardless of the number of colors when at most robots crash.
5 Conclusions
We investigate crash-tolerant perpetual exploration algorithms by myopic luminous robots on ring networks. As a main contribution, we clarify the tight necessary and sufficient number of robots to realize perpetual exploration when at most robots crash. In the fully synchronous model, we prove that robots are necessary and sufficient for any . In the semi-synchronous and asynchronous models, we prove that (resp., ) robots are necessary and sufficient if (resp., ).
This paper leaves many interesting open issues.
-
What is the minimum number of colors to achieve perpetual exploration with optimal number of robots?
-
What is the minimum number of robots and colors to achieve terminating exploration? It is easy to observe that one additional robot with one additional color is sufficient to realize terminating exploration. The special robot just stops as a landmark, and other robots execute perpetual exploration from the landmark. Then, when the robots come back to the landmark from the opposite direction, they stop moving. The question is whether such an additional robot and/or an additional color is necessary for any ?
-
Is it possible to weaken the assumptions about initial positions and colors? The proposed algorithms, like those in related works, assume specific initial positions and colors. Some assumptions of initial positions are essential, as exploration is impossible if no robot observes another initially. The question is whether the problem is solvable given certain initial positions and arbitrary colors.
-
It is also interesting to study other tasks such as pattern formation and complete visibility.
References
- [1] Noa Agmon and David Peleg. Fault-tolerant gathering algorithms for autonomous mobile robots. SIAM Journal on Computing, 36(1):56–82, 2006. doi:10.1137/050645221.
- [2] Quentin Bramas, Stéphane Devismes, and Pascal Lafourcade. Infinite grid exploration by disoriented robots. In The 8th International Conference on Networked Systems, pages 129–145, 2020. doi:10.1007/978-3-030-67087-0_9.
- [3] Quentin Bramas, Hirotsugu Kakugawa, Sayaka Kamei, Anissa Lamani, Fukuhito Ooshita, Masahiro Shibata, and Sébastien Tixeuil. Stand-up indulgent gathering on lines for myopic luminous robots. In The 38th International Conference on Advanced Information Networking and Applications, pages 110–121, 2024. doi:10.1007/978-3-031-57853-3_10.
- [4] Quentin Bramas, Sayaka Kamei, Anissa Lamani, and Sébastien Tixeuil. Stand-up indulgent gathering on lines. In International Symposium on Stabilization, Safety, and Security of Distributed Systems, pages 451–465, 2023. doi:10.1007/978-3-031-44274-2_34.
- [5] Quentin Bramas, Sayaka Kamei, Anissa Lamani, and Sébastien Tixeuil. Stand-up indulgent gathering on rings. In 31st International Colloquium on Structural Information and Communication Complexity, pages 119–137, 2024. doi:10.1007/978-3-031-60603-8_7.
- [6] Quentin Bramas, Pascal Lafourcade, and Stéphane Devismes. Optimal exclusive perpetual grid exploration by luminous myopic opaque robots with common chirality. Theoretical Computer Science, 977:114162, 2023. doi:10.1016/J.TCS.2023.114162.
- [7] Gianlorenzo D’Angelo, Alfredo Navarra, and Nicolas Nisse. A unified approach for gathering and exclusive searching on rings under weak assumptions. Distributed Computing, 30(1):17–48, 2017. doi:10.1007/S00446-016-0274-Y.
- [8] Omar Darwich, Ahmet-Sefa Ulucan, Quentin Bramas, Anissa Lamani, Anaïs Durand, and Pascal Lafourcade. Perpetual torus exploration by myopic luminous robots. Theoretical Computer Science, 976:114143, 2023. doi:10.1016/J.TCS.2023.114143.
- [9] Shantanu Das, Paola Flocchini, Giuseppe Prencipe, Nicola Santoro, and Masafumi Yamashita. Autonomous mobile robots with lights. Theoretical Computer Science, 609:171–184, 2016. doi:10.1016/J.TCS.2015.09.018.
- [10] Xavier Défago, Maria Potop-Butucaru, and Philippe Raipin Parvédy. Self-stabilizing gathering of mobile robots under crash or byzantine faults. Distributed Computing, 33(5):393–421, 2020. doi:10.1007/S00446-019-00359-X.
- [11] Paola Flocchini, David Ilcinkas, Andrzej Pelc, and Nicola Santoro. Computing without communicating: Ring exploration by asynchronous oblivious robots. Algorithmica, 65(3):562–583, 2013. doi:10.1007/S00453-011-9611-5.
- [12] Paola Flocchini, Giuseppe Prencipe, and Nicola Santoro, editors. Distributed Computing by Mobile Entities, Current Research in Moving and Computing, volume 11340 of LNCS. Springer, 2019. doi:10.1007/978-3-030-11072-7.
- [13] Paola Flocchini, Giuseppe Prencipe, Nicola Santoro, and Peter Widmayer. Gathering of asynchronous robots with limited visibility. Theoretical Computer Science, 337(1-3):147–168, 2005. doi:10.1016/J.TCS.2005.01.001.
- [14] Paola Flocchini, Nicola Santoro, Yuichi Sudo, and Koichi Wada. On asynchrony, memory, and communication: Separations and landscapes. In 27th International Conference on Principles of Distributed Systems, 2023. doi:10.4230/LIPICS.OPODIS.2023.28.
- [15] Nao Fujinaga, Yukiko Yamauchi, Hirotaka Ono, Shuji Kijima, and Masafumi Yamashita. Pattern formation by oblivious asynchronous mobile robots. SIAM Journal on Computing, 44(3):740–785, 2015. doi:10.1137/140958682.
- [16] Ralf Klasing, Adrian Kosowski, and Alfredo Navarra. Taking advantage of symmetries: Gathering of many asynchronous oblivious robots on a ring. Theoretical Computer Science, 411(34-36):3235–3246, 2010. doi:10.1016/J.TCS.2010.05.020.
- [17] Giuseppe Antonio Di Luna, Paola Flocchini, Nicola Santoro, and Giovanni Viglietta. Turingmobile: a turing machine of oblivious mobile robots with limited visibility and its applications. Distributed Computing, 35(2):105–122, 2022. doi:10.1007/S00446-021-00406-6.
- [18] Shota Nagahama, Fukuhito Ooshita, and Michiko Inoue. Ring exploration of myopic luminous robots with visibility more than one. Information and Computation, 2023. doi:10.1016/J.IC.2023.105036.
- [19] Fukuhito Ooshita and Sébastien Tixeuil. Ring exploration with myopic luminous robots. Information and Computation, 2022. doi:10.1016/J.IC.2021.104702.
- [20] Pavan Poudel, Aisha Aljohani, and Gokarna Sharma. Fault-tolerant complete visibility for asynchronous robots with lights under one-axis agreement. Theoretical Computer Science, 850:116–134, 2021. doi:10.1016/J.TCS.2020.10.033.
- [21] Sergio Rajsbaum, Armando Castañeda, David Flores Peñaloza, and Manuel Alcántara. Fault-tolerant robot gathering problems on graphs with arbitrary appearing times. In 2017 IEEE International Parallel and Distributed Processing Symposium, pages 493–502, 2017. doi:10.1109/IPDPS.2017.70.
- [22] Michael Rubenstein, Christian Ahler, Nick Hoff, Adrian Cabrera, and Radhika Nagpal. Kilobot: A low cost robot with scalable operations designed for collective behaviors. Robotics and Autonomous Systems, 62(7):966–975, 2014. doi:10.1016/J.ROBOT.2013.08.006.
- [23] Ichiro Suzuki and Masafumi Yamashita. Distributed anonymous mobile robots: Formation of geometric patterns. SIAM Journal on Computing, 28(4):1347–1363, 1999. doi:10.1137/S009753979628292X.
- [24] Yukiko Yamauchi, Taichi Uehara, Shuji Kijima, and Masafumi Yamashita. Plane formation by synchronous mobile robots in the three-dimensional euclidean space. Journal of the ACM, 64(3):16:1–16:43, 2017. doi:10.1145/3060272.
- [25] Yan Yang, Samia Souissi, Xavier Défago, and Makoto Takizawa. Fault-tolerant flocking for a group of autonomous mobile robots. Journal of Systems and Softwares, 84(1):29–36, 2011. doi:10.1016/J.JSS.2010.08.026.