Live Exploration with Mobile Robots in a Dynamic Ring, Revisited

01/13/2020 ∙ by Subhrangsu Mandal, et al. ∙ IIT Kharagpur 0

The graph exploration problem requires a group of mobile robots, initially placed arbitrarily on the nodes of a graph, to work collaboratively to explore the graph such that each node is eventually visited by at least one robot. One important requirement of exploration is the termination condition, i.e., the robots must know that exploration is completed. The problem of live exploration of a dynamic ring using mobile robots was recently introduced in [Di Luna et al., ICDCS 2016]. In it, they proposed multiple algorithms to solve exploration in fully synchronous and semi-synchronous settings with various guarantees when 2 robots were involved. They also provided guarantees that with certain assumptions, exploration of the ring using two robots was impossible. An important question left open was how the presence of 3 robots would affect the results. In this paper, we try to settle this question in a fully synchronous setting and also show how to extend our results to a semi-synchronous setting. In particular, we present algorithms for exploration with explicit termination using 3 robots in conjunction with either (i) unique IDs of the robots and edge crossing detection capability (i.e., two robots moving in opposite directions through an edge in the same round can detect each other), or (ii) access to randomness. The time complexity of our deterministic algorithm is asymptotically optimal. We also provide complementary impossibility results showing that there does not exist any explicit termination algorithm for 2 robots. The theoretical analysis and comprehensive simulations of our algorithm show the effectiveness and efficiency of the algorithm in dynamic rings. We also present an algorithm to achieve exploration with partial termination using 3 robots in the semi-synchronous setting.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

The research area of autonomous mobile robots in a graph setting has been well studied over the years. Many fundamental problems have been studied in this area, such as the problem of exploration of a graph using multiple robots. In this problem, multiple robots are placed in nodes in the graph and the goal is to design an algorithm, run by each robot, such that all robots collectively visit each node at least once as quickly as possible. As this fundamental problem has been solved to a large degree in most vanilla settings [2, 5, 9, 12, 21], its study has been extended to more exotic, but realistic, settings.

One such setting is a dynamic network. In the real world, dynamism is seen fairly regularly in networks. As with most things in real life, the dynamism that appears in the real world is quite complex. In order to work towards a deeper understanding of this complexity, we first start with a simpler model of dynamism, which is a restricted version of 1-interval connectivity applied to a ring in the synchronous setting. We now describe this version of dynamism. Consider vertices, , with an undirected edge between every node and , . In each round, the adversary can choose to remove at most one edge of the ring.

In this setting, Di Luna et al. [7] were the first to study the problem of graph exploration when robots do not know what the adversary will do next (live or online dynamism). This is contrasted with another scenario, called post-mortem dynamism, where robots have complete knowledge of how the adversary will control dynamism in every round. In [7], Di Luna et al. studied both fully synchronous systems and semi-synchronous systems where nodes are anonymous, i.e. do not have unique IDs. In the fully synchronous setting, they show that by using just robots without unique IDs, subject to some assumptions, deterministic exploration of a ring in the presence of 1-interval connectivity is possible with termination detection. These assumptions include a mix of the following ideas: (i) robots have knowledge of the value of , (ii) there exists a landmark (a unique node that can be identified by robots as being unique), (iii) robots have common chirality (a common sense of clockwise/counterclockwise). They differentiate between explicit termination detection where all robots can detect the completion of exploration and subsequently terminate, and partial termination detection where at least one of the robots (but not necessarily all of them) detects completion and terminates. They show that deterministic ring exploration with explicit termination is possible with robots with the aforementioned assumptions. They also provide matching impossibility results that deterministic exploration with partial termination is impossible with robots when is unknown and no landmark is available, even in the presence of robots with unique IDs and common chirality. They also show that if is unknown, no landmark is available and the robots are anonymous, then regardless of the number of robots initially deployed on the ring, deterministic exploration with partial termination is impossible. This impossibility holds even if those robots have common chirality. An important question left unanswered was if exploration with robots is possible when no knowledge of is known and no landmark is available but robots may have IDs. In this paper, we further extended the exploration problem in the dynamic ring and try to settle this question in the fully synchronous setting and provide partial results in the semi-synchronous setting.

I-a Our Contributions

In this paper, we look into exploration of a dynamic ring with robots and show various positive results when certain assumptions are made.

We show that deterministic exploration of a dynamic ring of size with explicit termination detection is indeed possible with robots when is unknown and no landmark is present. In fact, not only is exploration possible, but the running time of our algorithm (which is linear on the size of the ring) is asymptotically optimal. We require robots to have unique IDs and have the capability of edge crossing detection, i.e. two robots passing through the same edge in a given round in opposite directions can detect that they passed each other in that round. We also implement our algorithm and show that it outperforms the theoretical time bound for different parameter ranges.

We subsequently remove the need for the edge crossing detection assumption with the help of randomness. We also show how to use randomness to remove the need for robots to have unique IDs. Note that this result when we achieve explicit termination with anonymous robots, no landmark, no knowledge of , but access to randomness is in sharp contrast to the impossibility result of [7] where even partial termination with any number of robots is impossible without under the same setting but without access to randomness. We also show how to modify our algorithm to achieve partial termination with better runtime. Our positive results are summarized in Table II.

One may wonder if either the use of edge crossing detection or the use of randomness is sufficient for robots to bypass the impossibility result from [7]. We show that when robots only have access to edge crossing detection, exploration with partial termination of two robots is impossible. We further show that when the use of randomness is also allowed, exploration with explicit termination of two robots is impossible. Thus, we see that only with the use of robots do either of these capabilities provide sufficient power to overcome the impossibility of exploration with explicit termination. Our impossibility results are summarized in Table I along with a comparison to the impossibility result from [7].

Finally, we show how to use the ideas we built up throughout the paper in order achieve partial termination in the semi-synchronous setting when robots do not know an upper bound on the value of or a have access to a landmark. The algorithm uses robots with unique IDs, access to randomness, and access to the edge crossing detection capability.

Paper # of Robots Assumptions Even with Assumptions Result
[7] 2 No knowledge of , No landmark Non-anonymous robots, Chirality Partial termination impossible
[7] Any No knowledge of , No landmark, Chirality Partial termination impossible
Anonymous robots
Current paper 2 No knowledge of , No landmark Non-anonymous robots, Chirality, Partial termination impossible
Edge crossing detection
Current paper 2 No knowledge of , No landmark Non-anonymous robots, Chirality, Explicit termination impossible
Edge crossing detection, Access to randomness
TABLE I: Fully synchronous setting, impossibility results.
Assumptions Running time
Non-anonymous robots, Edge crossing detection Explicit termination in rounds
Non-anonymous robots, Access to randomness

Explicit termination with probability

in rounds on expectation
Access to randomness Explicit termination with probability in rounds on expectation
Here, is an input parameter to the algorithm.
TABLE II: Fully synchronous setting, possibility with 3 robots. Results: exploration with explicit termination.

I-B Related Work

Exploration of static anonymous graphs using mobile robots has been studied for a very long time. A good survey on the topic is presented in [4, 6]. Exploration on anonymous graphs with 1-interval connected dynamism is relatively new and the first paper to study it in the current model is [7]. In the paper, they look at exploration problem in a ring under 1-interval connected dynamism and provide various deterministic algorithms to solve the problem using robots for various assumptions. It should be noted that the way 1-interval connectivity is defined in their paper and also in the current paper is different from the original definition proposed in [17, 20]. Specifically, the original definition of 1-interval connectivity allows for permutations of the nodes of the graph, whereas in [7], the nodes remain stationary and the adversary can only choose whether to remove at most one of a fixed set of edges.

A randomized approach to graph exploration was presented in [3] via random walk, however the model of dynamism they look at is slightly different. Their approach is that of a lazy random walk, but when the rate of change of the graph is very fast, i.e. every round the adversary changes the graph, then things become complicated. Essentially their approach may take time to explore a dynamic ring of size , however, it cannot guarantee any termination.

There are other works in literature which have addressed the problem of exploration on dynamic graphs. Exploration problem on dynamic ring for T-interval connected case is addressed in [16]. They have addressed the problem in two scenarios. In one scenario the robot knows about all changes in the dynamic ring. In another case the robot has no knowledge about the changes but the edges are -recurrent. They have extended their work in [14] and addressed the exploration problem on cactus graph when change in the graph topology is known to the robot. There are other works like [10, 19] which address the exploration problem for general graphs in centralized environment when the change in the graph topology is already known. There are works [11, 15] which address the live or online version of the exploration problem in distributed environment for periodically varying graphs. In this case there are finite number of carriers in the graph and an edge between two nodes exist only when a carrier moves from one node to the other. They have assumed that the movement of each carrier is periodic. A very recent work [13], studies exploration in time-varying graphs (including -interval connectivity) of arbitrary topology, investigates the number of robots necessary and sufficient to explore such graphs. There have been other papers that look at different problems such as gathering [8] and dispersion [1] on dynamic graphs under 1-interval connectivity.

I-C Organization of Paper

In Section II, we elaborate on the exact model of the system. In Section III, we present our impossibility results for termination with just 2 robots. In Section IV, we develop our algorithm to achieve exploration with explicit termination using 3 robots, including simulations of the algorithm. In Section V, we show how to remove the requirement of edge crossing detection and unique IDs for robots in our algorithm through the creative application of access to randomness. In Section VI, we extend our deterministic algorithm to achieve exploration with partial termination using 3 robots in semi-synchronous model. Finally, we conclude with future research directions in Section VII.

Ii Network Model and Assumptions

We consider a -interval connected synchronous dynamic ring of size as considered in [6, 7]. As is a ring, each node in has two neighbours connected via two ports. The ring is anonymous, i.e., nodes are indistinguishable. We assume that the nodes are fixed, but the edges of may change over time. More precisely, at any round one of the edges might be missing from . An adversary decides which edge to be deleted in a round. This dynamic ring is called as a -interval connected ring [18, 7]. The adversary controls the edge deletion (and addition) with the knowledge of the algorithm and current states and positions of the robots.

There are three robots which explore . Each robot is equipped with a finite memory, say bits and computational capabilities. Each robot has a unique identifier (ID) and initially a robot only knows its own ID. Furthermore, we assume that the IDs are -bit strings such that the length is . It is sufficient to represent distinct IDs with constant number of bits. ID of a robot is represented as . We assume that the length of each ID is same. Initially robots do not know the size of the ring (not even any bound of it). The robots do not share any common chirality, i.e., the clockwise or anti-clockwise direction for all the robots may differ. During movement, at any node a robot can differentiate between the port through which it enters the node and the other port. All the robots execute the same protocol. Multiple robots can reside at a single node at the same time. The robots can move from one node to a neighboring node in some round if the corresponding edge is available in that round. A robot can successfully move towards a fixed direction if the corresponding adjacent edge is available in the dynamic ring; otherwise, if the edge is missing, the robot waits until the edge is available. We assume the edge crossing detection, i.e. two robots moving in opposite directions on the same edge in the same round, can detect that they passed each other in that round and exchange information.

We consider here a synchronous system which progresses in time steps, called as rounds. In a single round, the sequence of operations executed as follows: (i) the robots perform local computation and decide whether to move from the current node and the direction of the movement, (ii) the adversary removes at most one edge from the ring for this round, (iii) the robots execute their movements, if any, so long as the edge they wish to move over is present.

Note that we also consider a semi-synchronous system in Section VI. As most of the paper relates to a fully synchronous system as previously described, we postpone the description of the semi-synchronous system to Section VI.

Iii Impossibility of Exploration with 2 Robots

In this section, we extend the impossibility results from [7] to the scenario where robots also have the edge crossing detection capability and access to randomness. First, we make a similar observation to Observation 2 from [7].

Observation 1.

The adversary can prevent two robots starting at different locations from meeting each other even if they have unlimited memory, common chirality, distinct known IDs, the edge crossing detection capability, and access to randomness.

This observation is clear to see by considering the following strategy of an adversary. The adversary does nothing unless the following condition arises. If the two robots are on adjacent nodes, then the adversary removes the edge between those two nodes. Now, using this observation, we are able to prove the following impossibility result, which is a more general version of that seen in [7]. We note the nature of the proof is similar to that of Theorem 1 in [7].

Theorem III.1.

There does not exist any exploration algorithm with partial termination of anonymous rings of unknown size by two robots, even when robots have distinct IDs, common chirality, the edge crossing detection capability, and when the scheduler is fully synchronous.

Proof.

Let there exist an algorithm that achieves exploration with partial termination with two robots, say and . Run this algorithm on a ring of size and consider any adversary strategy that prevents and from ever meeting. From Observation 1, we know such a strategy is possible. Let us assume that, without loss of generality, terminates first after rounds. We now construct a ring and adversary strategy such that will fail, i.e. never achieve exploration.

Consider the ring of size and place and on nodes that are at distance from each other, i.e. at opposite ”ends” of the ring. Have each robot run and let the adversary act such that ’s local view at each time step is similar to its view when ran on the ring of size . Thus, after time steps (rounds), will terminate and by Observation 1, never came into contact with . Subsequently, in each future round the adversary will remove any edge that may want to traverse and thus ensure that does not explore any more nodes. After rounds, and would have collectively explored at most nodes and thus fails to achieve exploration, which is a contradiction. ∎

We now provide a similar impossibility result when robots have access to randomness. Note that for this result, we are showing the impossibility of explicit termination and not partial termination. Also note that the proof is similar to that of the previous theorem with a few subtle but significant changes.

Theorem III.2.

There does not exist any exploration algorithm with explicit termination of anonymous rings of unknown size by two robots, even when robots have distinct IDs, common chirality, the edge crossing detection capability, access to randomness, and when the scheduler is fully synchronous.

Proof.

Let there exist an algorithm that achieves exploration with explicit termination with two robots, say and . Run this algorithm on a ring of size . Define to be the maximum running time for both robots to terminate, over all choices of randomness and all adversarial strategies that prevented and from meeting. By Observation 1, we know that such strategies exist. Define an execution of

as a vector of all the random choices, information communicated, local computation, and movements performed by both robots until termination. Define

as the vector of local views of for all rounds up to round for some execution of . Define as the vector of local views of for all rounds up to termination for some execution of . Define as the set of all across all executions of for all possible choices of randomness and all possible adversarial strategies subject to the condition that and never meet. We now construct a ring and adversary strategy such that will fail, i.e. never achieve exploration.

Consider the ring of size and place and on nodes that are at distance from each other. Now, the adversary focuses on and acts so that the local view of at round , will always belong to for the current execution of . This is possible because and never meet in any of the executions we considered and so the local view of in a given round is influenced only by which edge has been removed in that round. Furthermore, since and are located at distance away from each other, will never meet within rounds, so we can safely ignore how behaves. Now, after rounds, will terminate.

We subsequently have the adversary focus on and trap the robot within a strip of two nodes. Consider two adjacent nodes and and let be present on one of them. The adversary always removes the edge from the node that is not the edge between and . Thus, will either terminate or indefinitely move between these two nodes.

In the course of the execution, could explore at most nodes before it terminates and could similarly explore at most those many nodes before being trapped. Thus, no more than nodes could ever be explored, resulting in failing. This is a contradiction and thus we see that no such can exist. ∎

The reason the above impossibility result works for explicit termination but not for partial termination is that when we allow robots to use randomness to make choices, it no longer becomes clear which robot terminates first. This is not an issue for explicit termination because we leverage the fact that both robots eventually terminate and consider that running time. However, for partial termination, when utilizing the adversary to mimic the local view of one of the robots, it is unclear which robot we should focus on initially. And since we cannot focus on both simultaneously, if we pick the incorrect robot initially, we cannot guarantee that it will eventually terminate, and thus cannot move on to focus on the other robot.

We note that, the above proof strategy and observation can be extended to multiple robots when the adversary is made more powerful. Define a t-adversary as one which can remove at most edges in the graph in the given round. Note that, Observation 1 holds for robots starting at unique positions on a ring of size at least . Thus, we can use a similar proof strategy to prove the following theorems.111We briefly recap the strategy. First run a supposed exploration algorithm on a ring of size that terminates in rounds. Subsequently, construct a ring of size and place the robots equidistant from each other. Now, for partial termination (explicit termination), run on this larger ring and simulate the execution on the smaller ring for robot ( robots) until it settles down and subsequently trap the remaining robots ( robot) on already explored nodes. The total explored number of nodes will fall short the total size of the ring and hence is incorrect.

Theorem III.3.

There does not exist any exploration algorithm with partial termination of anonymous rings of unknown size at least by robots in the presence of a -adversary, even when robots have distinct IDs, common chirality, the edge crossing detection capability, and when the scheduler is fully synchronous.

Theorem III.4.

There does not exist any exploration algorithm with explicit termination of anonymous rings of unknown size at least by robots in the presence of a -adversary, even when robots have distinct IDs, common chirality, the edge crossing detection capability, access to randomness, and when the scheduler is fully synchronous.

Iv Deterministic Exploration with 3 Robots

In Section III, we showed that it is impossible to explore an anonymous and unknown size dynamic ring with two robots and achieve explicit termination. In this section, we present a deterministic solution for this exploration problem using three robots. We assume that each robot has a unique ID which is not known to the other robots unless they meet. We further assume that when two robots cross an edge (from opposite directions) in the same round, they sense each other and the meeting happened.222Here by ‘sense’ we mean the two robots can detect the edge crossing and can exchange information including IDs. Note that this edge crossing detection assumption does not help two robots (with unique IDs) to solve the exploration problem (see Section III). The outline of the algorithm is discussed below. The pseudocode is given in Algorithm 1.

The algorithm works in four stages: (Stage 1) first meeting of two robots, (Stage 2) second meeting of two robots, (Stage 3) exploration detection, and (Stage 4) termination.

Stage 1 ensures the first meeting of any two robots at some node or via edge crossing in the ring. For this, we need to make sure that at least two of them move in the opposite direction; otherwise if all the three robots move in the same direction at the same speed, they may never meet even if the adversary never deletes any edge. Thus we have to break this symmetry deterministically. For this, each robot moves based on the bit string of its ID. Each robot moves in phases and each phase consists of several rounds. More precisely, the number of rounds in the -th phase is . Without loss of generality, say that a robot moves in what it considers the clockwise (left) direction in phase when . When , the robot moves in the other (right) direction. The first stage ends when at least two robots meet. Let us mark or name the two robots and , where the larger ID one is and the other is . Note that, the third robot may not know about this meeting and hence is unaware of the end of the first stage. Let us call the third robot as .333The third robot gets named only after it meets either or at the end of Stage 2. If these three robots meet at the same time (at some node) then the smallest ID robot gets named . Notice that if two or three robots are positioned at the same node initially then the algorithm starts from Stage 2.

Then Stage 2 starts (which is known to at least and ). The robots and start moving in opposite directions from the meeting point (node) from Stage 1 and never change their directions until they terminate the algorithm. and each maintain a counter which counts the number of steps the robot successfully moves. Furthermore, each robot stores the ID of the other. Note that a robot cannot move in a particular direction in a round if the corresponding edge is missing (i.e., deleted by the adversary). Each of the robots continues to move until one of them meets the third robot. The second stage ends when either of and meets the third robot, which subsequently gets named . Without loss of generality, assume that and meet. Then shares the following stored information with : ID of , the direction of ’s movement and the number of steps has successfully moved after Stage 1.444Note that even if and do not have shared chirality, the direction of can be conveyed as follows. Depending on how and meet, will immediately know the direction moves in or can take a round or two to understand this based on how and both move in their “clockwise” direction and see if they moved to the same node or not. Once determines the naming mechanism uses for directions, can understand exactly which direction is moving in. stores all this information. and also store each other’s IDs.

Then Stage 3 starts, which ensures the completion of the ring exploration by at least two robots. This can happen in two ways. (I) if and meet (again) then it is guaranteed that exploration of the ring is complete. This scenario is depicted in Fig. 1. (II) The adversary can prevent the meeting of and by removing an edge between them. Recall that and are moving in opposite directions. Eventually these two robots will reach two adjacent nodes and may wait for the (missing) edge to move. In this scenario, exploration is completed but and do not know this as is unknown. If the adversary does not remove the edge in one round, then and will meet. Therefore, the adversary will need to remove the edge indefinitely. In this situation, robot is used to determine the completion of exploration. From the meeting point of and in Stage 2, robot starts moving towards the opposite direction of (i.e., in the same direction of ) and continues moving in its fixed direction. Robot does not know that and met in Stage 2, and continues to move in its fixed direction. Robot moves towards until it catches . Subsequently, changes its direction and move towards until it catches . then repeats this process and moves back to . Essentially, performs a zig-zag movement between and and checks if the distance (i.e., the hop distance) from to and to are the same. For this, the robot maintains two variables and . stores the number of successful steps (moves) towards , starting from until it meets , and stores a similar number.When these two distances are equal, i.e., , the algorithm determines that exploration is complete, as this condition implies that and lie on adjacent nodes whose edge has been removed by the adversary and thus has explored the entire graph. This scenario is depicted in Fig. 2. Therefore, either and meet and detect that exploration is completed, or deduces the completion from the hop-distance counts. In the latter case, would be co-located in a node with either or and can thus inform that robot of the completion of exploration. Thus, at least two robots detect the exploration completion but the third robot may be unaware of this. Then we begin Stage 4 to ensure that all robots are made aware of exploration completion and can thus terminate.

Fig. 1: Here continuous, dashed and dotted lines shows the movement of robot , and respectively. (a) Shows the scenario when two unmarked robot meet and get marked as and , i.e. Stage 1 ends and Stage 2 starts. (b) Shows the scenario when and the unmarked robot meet and the unmarked robot gets marked as , i.e. Stage 2 ends Stage 3 starts, (c) Shows the scenario when and meets, i.e. Stage 3 ends.
Fig. 2: Here continuous, dashed and dotted lines shows the movement of robot , and respectively. (a) Shows the scenario when two robots meet for the first time and get marked as and , i.e. Stage 1 ends and Stage 2 starts. (b) Shows the scenario when and the 3rd unmarked robot meet and the unmarked robot gets marked as , i.e. Stage 2 ends Stage 3 starts, (c) Shows the scenario when meets and finds , (d) Shows the scenario when again meets at node and finds (e) Shows the scenario when again meets at node and finds (f) Shows the scenario when again meets at node and finds and Stage 3 ends. and are two consecutive nodes in . As nodes in are not identifiable, the name of nodes are used for the ease of understanding.

In Stage 4, the two robots which detected the completion of exploration move in order to inform the third robot about the completion, and all robots terminate (to guarantee the explicit termination). Recall that the robots and maintained a counter of their successful moves starting from their meeting in Stage 2. If and meet at the same node again, then the sum of their counters is exactly . If they meet by crossing each other, then the sum of their counters is exactly . If they do not meet but the scenario from Stage 3 plays out, then and one of the two robots knows the value of . In any case, there are two robots which know that exploration is completed and know the value of at some node. Then these two robots start moving in opposite directions to each other for at most rounds. When one of them meets the third robot, it informs the third robot about the completion of exploration and they both terminate. The other robot also terminates after rounds (if it does not meet the third robot). We show that after rounds, at least one of the robots (which detects the completion of exploration) meets the third robot and informs it about the completion of exploration.

The formal pseudocode of the algorithm is given in Algorithm 1. The pseudocode is written for the situation where at most two robots start on the same node or meet at the same node, to aid readability. However, it is easy to modify the code to handle the case of 3 robots meeting at the same node or initially located at the same node. The pseudocode requires us to define some parameters. Each robot maintains the following variables:

  • size: size of the ring (initialized to ).

  • step: stores the number of successful steps or moves of a robot.

  • mark: takes value in . Initialized to for all the robots.

Different events are defined below, which may occur when two or more robots meet during the execution of the algorithm.

  • meetSmall: when a robot meets with a smaller ID robot and mark = for both the robots.

  • meetLarge: when a robot meets with a larger ID robot and mark = for both the robots.

  • meetMark: when a robot, whose , meets another robot whose .

  • meetX: when a robot, whose , meets another robot whose for .

  • meetTer: when a robot meets another robot which is executing startTermination procedure.

Notice that when meetSmall event occurs for one robot, then meetLarge occurs for the other robot at the same time. In the pseudocode some functions are used. Small description of those functions are given below.

  • Move(): By executing this function a robot moves one step towards the direction specified in . Here value of can be or .

  • getMark(): When two robots meet, this function returns the value stored at variable on the other robot.

  • getSteps(): When two robots meet, this function returns the value stored at on the other robot.

  • askTerminate(): When two robots meet, this function signals to start termination to the other robot for which .

  • recTerminate(): When two robots meet, this function detects whether a robot has received a signal to start termination or not. This function returns if signal to start termination is received.

In a ring there are two directions to move at each node. A robot chooses a direction arbitrarily and calls that direction as left and the other direction as right. Since the robots do not share any common chirality, the left and right directions of a robot may differ from the other robots (initially). When two or more robots meet, they can decide upon the directions and share a common chirality. The following algorithm (Algorithm 1) is executed by all the robots in parallel.

Iv-a Correctness and Time Analysis

We first discuss the correctness of the algorithm in the following lemma.

Lemma IV.1.

Algorithm 1 correctly explores the dynamic ring and guarantees explicit termination.

Proof.

We show that by the end of Stage 3, the ring is explored (by at least two robots). Stage 3 ends when one of the following two cases occurs: (I) robots and meet (II) robot meets and finds (after zig-zag movement) or meets and finds .

Case I: Robots and meet again after their first meeting in Stage 1. Since they move in opposite directions and never change directions after their first meeting, it is obvious that when they meet again, exploration is completed. The robots can also calculate the value of when they meet again.

Case II: Robot meets either of and , and learns that . This implies that robot has traversed same number of steps in two consecutive zig-zag movements. This scenario is only possible if both and are trying to traverse the same edge from adjacent nodes, since the adversary can remove only one edge at a time. Thus when robot determines that after two consecutive zig-zag movements, it is guaranteed that has explored all nodes in the ring and the size of the ring is or . Fig. 2 depicts this scenario.

Thus, in both cases, at least two robots detect that exploration is completed. Moreover, the robots which detect this also know the size of the ring at the end of Stage 3. Thus in the termination stage, these two robots, which detected the completion of exploration, start moving in two opposite directions for at most rounds and terminate. It follows from the proof of Lemma IV.2 (below) that after rounds, at least one of them meets the 3rd robot. So the 3rd robot also gets the information of the completion of exploration and terminates. Thus, explicit termination is guaranteed at the end of Stage 4. ∎

Let us now analyze the time complexity of the exploration algorithm. We calculate the time taken in each stage of the algorithm.

Lemma IV.2.

If two among the three robots move in opposite directions in a dynamic ring of size , then at least two of them meet in at most rounds.

Proof.

If any two among these three robots are initially located at the same node in the ring, then this lemma holds trivially.

We assume that the three robots are initially located on three different nodes in the ring. In this scenario, we prove this lemma by induction on the size of the ring. Recall that a robot always tries to move in some specified direction so long as the corresponding edge is available, i.e. it does not voluntarily remain stationary.

Base case: Consider the ring of size with each robot initially located on a different node. As the adversary can remove only one edge and at least two robots are moving in opposite directions, at least two of the robots will be on the same node after step (either the two moving in opposite directions meet or if the edge between them is not available then the third one catch one of them). Thus, the base case is true.

Inductive step: Assume that the claim holds on rings up to size . We show that the claim also holds for rings of size . In a ring of size , when all three robots are located at different nodes, the maximum min-distance between two robots is at most .555Here, min-distance refers to the shortest path distance between two robots on the ring. As none of the robots are changing their direction and the adversary can remove only one edge in a round, at least one robot can successfully move one step in one round. Hence, after one round the situation on the ring of size maps to a situation on the ring of size (or at least two of them meet). As this lemma holds for a ring of size or less, at least two robots meet at some node after at most rounds. Therefore, it takes at most , i.e., rounds, in a ring of size . Hence the lemma holds. ∎

Lemma IV.3.

In Stage 1 of the algorithm, there exists a phase when at least one robot moves in the direction opposite to the direction followed by other two robots, where is the length of the ID bit-string of the robots.

Proof.

Recall that in the phase a robot moves in some direction for rounds. It then changes its direction of movement in the next phase iff the next bit in its ID is different. Consider the scenario where all robots move in the same direction starting from the first phase (otherwise the lemma is trivially true). There are two scenarios to consider. Either all robots share the same chirality or they do not.

Consider the scenario where all robots share the same chirality. Since the IDs of the robots are different, at least one bit in the ID of each pair of the robots are different. Hence there will be at least two phases in between to when one of the robots moves in a direction opposite to the direction followed by the other two robots.

Consider the scenario where robots do not share the same chirality. Since chiralities can be different, two robots with different chiralities can have IDs that are complementary (e.g., 000 and 111) and thus move in the same direction in all phases. However, since all IDs are different, the third robots ID will be such that there will exist at least one phase where one of the robots moves in a different direction from the other two. ∎

Lemma IV.4.

Stage 1 of Algorithm 1 finishes in at most rounds, where is the length of the ID bit-string of the robots.

Proof.

We show that there exists a phase when at least two robots meet in Stage 1, where is the length of the IDs of the robots and is some positive integer. It follows from Lemma IV.3 that there exists a phase when at least two robots move in the opposite directions to each other. The number of rounds in that phase is . If then it follows from Lemma IV.2 that any two robots meet. However, it might be the case that for that in . Then according to our algorithm (see Stage 1), these two robots (again) move in the opposite directions in each of the phases for , and hence Stage 1 finishes when and for some positive integer . Thus, Stage 1 takes at most rounds. The sum is bounded above by ), since . Therefore, Stage 1 of Algorithm 1 finishes in at most rounds, since . ∎

1: :=
2:while (do
3:      if   then
4:            Explore(, i)
5:      else if   then
6:            Explore(, i)       
7:       :=
Algorithm 1 Explore-Dynamic-Ring-3-Robots
1:for  to (do
2:      if meetSmall then
3:            BeRobotAB()
4:      else if meetLarge then
5:            BeRobotAB()
6:      else if meetMark then
7:            BeRobotC()       
8:      Move()
Procedure 2 Explore(, i)
Lemma IV.5.

Stage 2 of Algorithm 1 finishes in at most rounds.

Proof.

Stage 2 finishes when any of the two robots and meets after their ( and ) first meeting in Stage 1. Note that and start moving in the opposite directions from after Stage 1. Thus it follows from the proof of Lemma IV.2 that one of them meets in at most rounds. ∎

Lemma IV.6.

Stage 3 of Algorithm 1 finishes in at most rounds.

Proof.

Stage 3 finishes when either (I) and meet again which ensures that exploration is completed, or (II) robot detects the completion of exploration from the step counts of its zig-zag movement, i.e., when . Generally, the adversary can block the movement of one robot, since it can delete at most one edge. It can block the movement of two robots only when they are on the adjacent nodes of an edge and want to move through that edge, but the adversary keeps the edge deleted. Suppose these robots and could not meet in rounds (after the end of Stage 2). Then they must be at the adjacent nodes of the deleted edge, which follows from Lemma IV.2. Subsequently, robot will eventually find one of the robots, say , in at most rounds. will then perform one iteration of the zig-zag movement and find in rounds (and set its counter to ). In the next rounds, moves back to and sets to as well. Thus, when , concludes that exploration of the ring is complete and can inform of the same. Thus Stage 3 finishes in at most rounds. ∎

Lemma IV.7.

Stage 4 of Algorithm 1 finishes in at most rounds.

Proof.

In Stage 4, two robots, which have detected the completion of exploration, move for at most rounds and terminate. Since these two robots move in opposite directions, it follows from Lemma IV.2 that at least one of them meets the 3rd robot in rounds and they both terminate. Hence Stage 4 takes rounds. ∎

1:step :=
2:if  then
3:      
4:while (do
5:      if  =  then
6:            Move()
7:      else
8:            Move()       
9:      if move successful then
10:            step := step+1       
11:      if meetB or meetA then
12:            if  =  then
13:                 recStep := getSetps()
14:                 size := step + recStep +
15:                 startTermination(, , size)
16:            else
17:                 recStep := getSetps()
18:                 size := step + recStep +
19:                 startTermination(, , size)             
20:      else if meetC and recTerminate() = 1 then
21:            size := getSteps() +
22:            if  =  then
23:                 startTermination(, , size)
24:            else if  =  then
25:                 startTermination(, , size)             
26:      else if meetTer then
27:            terminate       
Procedure 3 BeRobotAB()

Now we state the main result of this section.

Theorem IV.8.

Algorithm 1 correctly explores a 1-interval connected dynamic (anonymous) ring of size in rounds with robots such that each robot has unique ID of length bits and the robots have no knowledge of and no common chirality.

Proof.

The correctness of the algorithm follows from Lemma IV.1.

The running time of the algorithm follows from the time complexity analysis of the four stages in Lemmas IV.4IV.5IV.6 and IV.7. Thus by summing up the individual runtimes, we get the time complexity as .

Hence, Algorithm 1 explores a dynamic ring of size with three robots in rounds, where each robot has a unique ID of length bits. ∎

1: :=
2: :=
3: := getMark()
4:if  then
5:      
6:if  =  then
7:       :=
8:else if  =  then
9:       :=
10:while (do
11:      Move()
12:      if move successful then
13:            step := step+1       
14:      if meetB then
15:            AtoB := step
16:            if  then
17:                 step := 0
18:            else
19:                 size := step +
20:                 askTerminate()
21:                 startTermination(, , size)             
22:      else if meetA then
23:            BtoA := step
24:            if  then
25:                 step := 0
26:            else
27:                 size := step +
28:                 askTerminate()
29:                 startTermination(, , size)             
30:      else if meetTer then
31:            terminate       
Procedure 4 BeRobotC()
1:Ttime := size
2:while (1) do
3:      Move()
4:      Ttime := Ttime-1
5:      if Ttime =  then
6:            terminate
7:      else if (meetA or meetB or meetCthen
8:            terminate       
Procedure 5 startTermination(, , size)
Corollary IV.8.1.

There exists an algorithm which explores a 1-interval connected dynamic (anonymous) ring of size in rounds with robots having unique IDs of length bits and without the knowledge of and without common chirality.

Iv-B Simulation Results

We perform experimental evaluation and highlight the effectiveness and efficiency of our algorithm in dynamic rings for different parameter ranges. In particular, we evaluated the performance of our algorithm by computing the running time for different sizes of the dynamic ring (i.e., number of nodes in the ring) and also for different ID lengths of the robots. In the simulations, we assumed the robots are placed at random nodes in the beginning. Furthermore, each robot decides its initial direction of movement randomly, i.e. each robot decides clockwise (left) or anti-clockwise (right) direction randomly.

We assume an adversary determines the dynamic ring in each round. In particular, the following four different adversarial strategies are considered for the simulations.

  • Random Edge Deleted (RED): At each round, the adversary randomly selects an edge in the ring and deletes it. The previously deleted edge gets added to the ring.

  • Same Edge Deleted (SED): The adversary randomly selects an edge in the ring and keeps the edge deleted throughout the execution.

  • Random Robot Blocking (RRB): At each round, the adversary targets a random robot, and block the movement of the robot in that round. This is done by deleting the edge through which the robot decides to move in that particular round.

  • Same Robot Blocking (SRB): The adversary randomly selects a robot and block the movement of the robot throughout the execution by deleting appropriate edges. That is, the robot is not allowed to move from its initial position.

The robots have no knowledge about the adversarial strategies, but the adversary knows the robots’ current position including the edges through which the robots decide to move. Thus the above adversarial strategies are adaptive. In all the cases, the dynamic ring remains connected throughout the execution.

Varying the Size of the Ring (Fig. 3): In this experiment, we consider dynamic ring of five different sizes, i.e., and . The robots have ID of length ; in fact, the ID-bits are taken , and for the 3 robots. We run the algorithm for times for each values of and count the average number of rounds taken to explore the ring. We plot the results in Fig. 3, where the x-axis represents the ring size– and y-axis represents the obtained rounds to explore the ring. Observe that the time or the number of rounds to explore the ring increases when the size of the ring increases. However, in all the cases, the running time of our algorithm is bounded above by for all the different adversarial strategies. The running time is less than for the strategies RED and RRB. This shows that the simulation results outperform our theoretically proven time bound– , where is the ID length of a robot.

Fig. 3: Varying , the size of the ring.

Varying the ID Length of the Robots (Fig. 4): In this experiment, we consider a ring of size . The length of the IDs of each robot varies from to (notice that as ). Particularly, ID length of the robots are considered , , , and for the simulations. The ID-bits are generated randomly. In this case also, we run the algorithm for times on each different ID lengths and count the average number of rounds taken to explore the ring. Again we perform the simulations for the four adversarial strategies. We plot this simulation results in Fig. 4, where the x-axis represents the ID length and y-axis represents the rounds taken by the algorithm to explore the ring. Observe that in all the cases, the running time of the algorithm is bounded above by , where is the ring size. In fact, the running time is less than for the strategies RED and RRB. In this case also, the simulation results outperform our theoretically proven time bound.

Fig. 4: Varying the ID length of the robots.

V Exploration with Randomness

We can remove the need for edge crossing detection through the creative use of randomness, resulting in an algorithm that is both Las Vegas and Monte Carlo in nature. We bound the algorithm’s expected running time and success probability in the following section. Subsequently, we show how to further use randomness to remove the requirement of having unique IDs initially assigned to each robot.

V-a Removing Edge Crossing Detection

In this section, we first discuss the changes to the Algorithm 1 that are required to make it work. We then subsequently provide bounds for the running time and correctness.

Notice that edge crossing detection is used when two robots are located at adjacent nodes and must move in opposite directions along the same edge in the same round. A simple way to get the robots to meet is to force one to be stationary while the other moves. This can easily be achieved by having each robot flip a fair coin to decide if it should move or not. If the result of the coin toss is heads, then the robot performs the movement it initially planned to do. If the result is tails, then the robot does not move. Call this subroutine as Random-Movement.

Random-Movement can be run as a subroutine by every robot in every round, after deciding to move (and where to) but before the actual movement. We now describe how to further modify Explore-Dynamic-Ring-3-Robots (Algorithm 1), in addition to using the subroutine, so that we may remove the need for edge crossing detection.

In Stage 1, notice that if the algorithm required a robot to move for steps in rounds, then directly using Random-Movement in the algorithm may cause that robot to move for less than steps in rounds, even when the adversary does not block any movement of the robot. This is slightly problematic as we require that there exists a phase in which robots can move for at least steps, and we do not want to drastically increase the running time. An easy fix is to extend the number of rounds of each phase by a constant factor, say , in order to ensure that on expectation and with high probability, the number of steps a robot moves through is at least when .666The expectation is easy to see. The high probability bound can be seen by applying a simple Chernoff bound.

For Stage 2 to occur, we need two robots to come into contact with each other and be marked and . Since the probability that two robots that were supposed to move through the same edge meet instead is , on expectation, at least one such meeting occurs within phases of the first phase where . Thus, on expectation after rounds are complete, Stage 1 is over and Stage 2 begins.

Now, in Stage 2, we require either or to come into contact with the third robot. Notice that this third robot is not constrained to only move in one direction, but may move in both directions. Thus, it may only come into contact with either or as a result of crossing an edge. Again, through the use of Random-Movement, it takes such attempts on expectation at edge crossing between the third robot and either or before contact is made and the third robot gets marked as . Then the algorithm moves to Stage 3. Notice that before the third robot becomes marked, it is possible that and meet again, thus sending the algorithm directly into Stage 4 (since or may miss to meet as there is no edge crossing detection).

If the algorithm is in Stage 3, then the third robot has been marked . Now, either and meet again or the adversary blocks and at adjacent nodes and moves back and forth between them. In the latter case, it takes rounds with high probability777The high probability is a result of the use of Random-Movement. to move to Stage 4 and , and one of and will know the exact value of .888It is possible that and may have crossed each other several times before the adversary blocks them at adjacent nodes and the latter case occurs. In this case, and the robot it finally interacts with will know an upper bound on . Note that if and cross each other at least twice, then on expectation they will meet, leading to the former case. In the former case, after some rounds, where is a positive constant, and will meet on expectation. Thus, and will know an upper bound of .

In Stage 4, let us assume that without loss of generality, two of the robots and learn an upper bound on the value of , i.e., for some constant . Now, either the third robot is marked or it is not. Either way, our goal in this stage is to inform this third robot that exploration is complete. It is possible that every interaction of or with the third robot is a situation where edge crossing would normally occur. In the event of one such interaction, the probability of the third robot being informed is . After such interactions, the probability of the third robot being informed is at least . Recall that in this stage, robots and use a counter and will stop after rounds. If we change the counter to end at instead, then the third robot has opportunities with high probability to interact with either robot. Thus, with probability at least the third robot will interact with at least one of the robots and terminate, eventually resulting in explicit termination.

Construct the new algorithm Modified-Explore-Dynamic-Ring-3-Robots using the above mentioned modifications to the stages and the use of Random-Movement.

Theorem V.1.

When the robots run Modified-Explore-Dynamic-Ring-3-Robots, exploration of the ring with explicit termination occurs with probability at least in rounds on expectation.

Proof Sketch.

The running time is a result of the modifications to Stage 4 adding rounds and the use of Random-Movement changing exact running time to expected running time.

The change from explicit termination to explicit termination with high probability is a result of the modification to Stage 4. As we have two robots surely terminating after a certain number of rounds, we can only guarantee with probability at least that the third robot will terminate as well. ∎

Remark 1.

If we relax our termination condition to partial termination, we can eliminate Stage 4 of Modified-Explore-Dynamic-Ring-3-Robots entirely and simply have robots terminate instead of moving to Stage 4. Then the exploration of the ring with partial termination occurs with high probability in rounds on expectation.

V-B Assigning Unique IDs

Throughout this paper, we made the assumption that each robot was initially assigned a unique ID from the range prior to the start of the algorithm, where is the length of the ID bits. This assumption can be removed by having each robot pick an ID uniformly at random from a range of numbers , where is a parameter to the algorithm999Since the number of robots is given to the robots, they can use it to set a value for , e.g., .. It is easy to see that the probability that all robots have unique IDs is . It should be noted that although can be made arbitrarily large to improve the probability that each robot has a different ID, a larger value of possibly results in a longer runtime of the algorithm (refer to Lemma IV.4).

Theorem V.2.

When robots run Modified-Explore-Dynamic-Ring-3-Robots and choose IDs uniformly at random from the range , exploration of the ring with explicit termination occurs with probability at least in rounds on expectation.

Vi Exploration in Semi-Synchronous Setting (SSYNC)

In this section, we show how to extend our ideas to the passive transport semi-synchronous model proposed in [7] in order to achieve exploration with partial termination using 3 robots even in the absence of a landmark or the knowledge of . Recall that in the semi-synchronous setting, in every round, a subset of the robots are put to sleep by the adversary with the restriction that the number of rounds any robot remains asleep is finite. In this setting, passive transport relates to how the robot moves given the following setup. Suppose a robot is awake and wants to travel along an edge in a round and the adversary removed that edge in that round. Now, suppose the adversary subsequently puts the robot to sleep from round until some round . If is present again for the first time in some round , then the robot moves along the edge in round even though it is asleep.

In this setting, Di Luna et al. [7] showed that with 3 robots and either the knowledge of an upper bound on or the presence of a landmark, they were able to achieve exploration with partial termination. We show that it is possible for 3 robots to achieve exploration with partial termination without either of the above two requirements, so long as the robots have access to randomness and the ability of edge crossing detection. We assume that robots have unique IDs, but that requirement can be removed through the use of randomness as described in Section V-B.

We consider the four stage algorithm presented in Section IV and show how to modify it to achieve exploration with partial termination in this passive transport semi-synchronous model. We first replace Stage 1 with the following zero round protocol. Each robot flips a coin and chooses which direction to move (until Stage 2 is reached) based on the result of the coin toss. With probability , two robots will move in one direction while the third moves in the other direction. Stage 2 proceeds as described in the original algorithm. Stage 3 is modified as follows. Robot will check for an additional condition before determining that the ring has been explored. If , and and were both trying to move on an edge removed by the adversary, then determines that the ring has been explored. We explain below how can detect that and were trying to move on an edge. Note that it is not necessary that and were awake when visited, but merely that they were attempting to move.

The reasoning behind the above changes is that Stage 1 and Stage 4 require robots to rely on counting the number of rounds. While the simple trick of flipping coins to choose directions solves the Stage 1 problem, there is no immediate fix to the problems present in Stage 4. For Stage 3, we require the above change in order to protect against the adversary simply putting and to sleep while moves back and forth between them. The condition ensures that has to see them both wanting to move (but not necessarily awake) and prevented to by the adversary before deciding to terminate. Since the adversary can only keep a robot asleep for a finite number of rounds and only remove at most one edge from the graph, eventually, one of the robots will make progress on the ring until either the condition is met or and meet.

There is the following subtlety to take into account. Suppose that two robots cross the same edge in the same round (or end up co-located at the same node) and at least one of them is asleep. We need both of them to detect that such an edge crossing (or meeting) occurred and furthermore, be able to swap data with one another. This data should include information about whether one of the robots tried to move along an edge while awake but was subsequently put to sleep before the move could be completed.

With the above modifications, we get an algorithm with the following properties.

Theorem VI.1.

There exists an algorithm that correctly explores a -interval connected dynamic (anonymous) ring of size with probability in steps, where is the largest interval of time between two consecutive activations of any robot, using robots with unique IDs that neither have common chirality, nor knowledge of an upper bound on , nor access to a landmark.

Note that we measure number of steps moved and not running time. Furthermore, note that the number of steps is and not . This is due to the fact that the adversary can put and to sleep for an arbitrarily long time in Stage 3, but not an infinitely long time.

Vii Conclusions

In this paper, we looked into the problem of exploration of a dynamic ring in the presence of 1-interval connectivity. We first showed that exploration with explicit termination subject to some constraints with just two robots equipped with unique IDs even with access to edge crossing detection and randomness is impossible. Subsequently, we presented a deterministic algorithm where three uniquely identifiable robots with edge crossing detection capability explore any 1-interval connected dynamic ring in optimal time. We also showed how to remove the requirement of this capability and allow the robots to be anonymous while still achieving explicit termination with high success probability through the use of randomness. We finally extended our results to the semi-synchronous setting.

There is an interesting line of future research. Our algorithms intimately used advance knowledge of the number of robots present in the system. If that knowledge is unknown and robots are present, is there an algorithm to solve exploration with explicit termination?

References

  • [1] A. Agarwalla, J. Augustine, W. K. Moses Jr., M. Sankar K., and A. K. Sridhar, “Deterministic dispersion of mobile robots in dynamic rings,” in International Conference on Distributed Computing and Networking, ICDCN.   ACM, 2018, p. 19.
  • [2] S. Albers and M. R. Henzinger, “Exploring unknown environments,” SIAM Journal on Computing, vol. 29, no. 4, pp. 1164–1188, 2000.
  • [3] C. Avin, M. Kouckỳ, and Z. Lotker, “How to explore a fast-changing world (cover time of a simple random walk on evolving graphs),” in International Colloquium on Automata, Languages, and Programming, ICALP.   Springer, 2008, pp. 121–132.
  • [4] S. Das, “Graph explorations with mobile agents,” in Distributed Computing by Mobile Entities.   Springer, 2019, pp. 403–422.
  • [5] X. Deng and C. H. Papadimitriou, “Exploring an unknown graph,” Journal of Graph Theory, vol. 32, no. 3, pp. 265–297, 1999.
  • [6] G. A. Di Luna, “Mobile agents on dynamic graphs,” in Distributed Computing by Mobile Entities, Current Research in Moving and Computing, 2019, pp. 549–584.
  • [7] G. A. Di Luna, S. Dobrev, P. Flocchini, and N. Santoro, “Live exploration of dynamic rings,” in International Conference on Distributed Computing Systems, ICDCS.   IEEE, 2016, pp. 570–579.
  • [8] G. A. Di Luna, P. Flocchini, L. Pagli, G. Prencipe, N. Santoro, and G. Viglietta, “Gathering in dynamic rings,” Theoretical Computer Science, 2018.
  • [9] Y. Dieudonné and A. Pelc, “Deterministic network exploration by anonymous silent agents with local traffic reports,” ACM Transactions on Algorithms, vol. 11, no. 2, pp. 10:1–10:29, 2014.
  • [10] T. Erlebach, M. Hoffmann, and F. Kammer, “On temporal graph exploration,” in International Colloquium on Automata, Languages, and Programming, ICALP.   Springer, 2015, pp. 444–455.
  • [11] P. Flocchini, B. Mans, and N. Santoro, “On the exploration of time-varying networks,” Theoretical Computer Science, vol. 469, pp. 53–68, 2013.
  • [12] P. Fraigniaud, D. Ilcinkas, G. Peer, A. Pelc, and D. Peleg, “Graph exploration by a finite automaton,” Theoretical Computer Science, vol. 345, no. 2-3, pp. 331–344, 2005.
  • [13] T. Gotoh, P. Flocchini, T. Masuzawa, and N. Santoro, “Tight bounds on distributed exploration of temporal graphs,” in International Conference on Principles of Distributed Systems, OPODIS, 2019.
  • [14] D. Ilcinkas, R. Klasing, and A. M. Wade, “Exploration of constantly connected dynamic graphs based on cactuses,” in International Colloquium on Structural Information and Communication Complexity, SIROCCO.   Springer, 2014, pp. 250–262.
  • [15] D. Ilcinkas and A. M. Wade, “On the power of waiting when exploring public transportation systems,” in International Conference on Principles of Distributed Systems, OPODIS.   Springer, 2011, pp. 451–464.
  • [16] ——, “Exploration of the t-interval-connected dynamic graphs: The case of the ring,” in International Colloquium on Structural Information and Communication Complexity, SIROCCO.   Springer, 2013, pp. 13–23.
  • [17] F. Kuhn, N. Lynch, and R. Oshman, “Distributed computation in dynamic networks,” in

    ACM symposium on Theory of computing, STOC

    .   ACM, 2010, pp. 513–522.
  • [18] F. Kuhn and R. Oshman, “Dynamic networks: models and algorithms,” SIGACT News, vol. 42, no. 1, pp. 82–96, 2011.
  • [19] O. Michail and P. G. Spirakis, “Traveling salesman problems in temporal graphs,” Theoretical Computer Science, vol. 634, pp. 1–23, 2016.
  • [20] R. O’Dell and R. Wattenhofer, “Information dissemination in highly dynamic graphs,” in Joint Workshop on Foundations of Mobile Computing, DIALM-POMC.   ACM, 2005, pp. 104–110.
  • [21] P. Panaite and A. Pelc, “Exploring unknown undirected graphs,” Journal of Algorithms, vol. 33, no. 2, pp. 281–295, 1999.