This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Deterministic Rendezvous in Infinite Trees

Subhash Bhagat 111 Département d’informatique, Université du Québec en Outaouais, Gatineau, Québec J8X 3X7, Canada.
[email protected]
   Andrzej Pelc 222 Département d’informatique, Université du Québec en Outaouais, Gatineau, Québec J8X 3X7, Canada. [email protected]. Research supported in part by NSERC Discovery Grant 2018-03899 and by the Research Chair in Distributed Computing of the Université du Québec en Outaouais.
Abstract

The rendezvous task calls for two mobile agents, starting from different nodes of a network modeled as a graph to meet at the same node. Agents have different labels which are integers from a set {1,,L}\{1,\dots,L\}. They wake up at possibly different times and move in synchronous rounds. In each round, an agent can either stay idle or move to an adjacent node. We consider deterministic rendezvous algorithms. The time of such an algorithm is the number of rounds since the wakeup of the earlier agent till the meeting. In most of the literature concerning rendezvous in graphs, the graph is finite and the time of rendezvous depends on its size. This approach is impractical for very large graphs and impossible for infinite graphs. For such graphs it is natural to design rendezvous algorithms whose time depends on the initial distance DD between the agents. In this paper we adopt this approach and consider rendezvous in infinite trees. All our algorithms work in finite trees as well. Our main goal is to study the impact of orientation of a tree on the time of rendezvous.

We first design a rendezvous algorithm working for unoriented regular trees, whose time is in O(z(D)logL)O(z(D)\log L), where z(D)z(D) is the size of the ball of radius DD, i.e, the number of nodes at distance at most DD from a given node. The algorithm works for arbitrary delay between waking times of agents and does not require any initial information about parameters LL or DD. Its disadvantage is its complexity: z(D)z(D) is exponential in DD for any degree d>2d>2 of the tree. We prove that this high complexity is inevitable: Ω(z(D))\Omega(z(D)) turns out to be a lower bound on rendezvous time in unoriented regular trees, even for simultaneous start and even when agents know LL and DD. Then we turn attention to oriented trees. While for arbitrary delay between waking times of agents the lower bound Ω(z(D))\Omega(z(D)) still holds, for simultaneous start the time of rendezvous can be dramatically shortened. We show that if agents know either a polynomial upper bound on LL or a linear upper bound on DD, then rendezvous can be accomplished in oriented trees in time O(DlogL)O(D\log L), which is optimal. If no such extra knowledge is available, a significant speedup is still possible: in this case we design an algorithm working in time O(D2+log2L)O(D^{2}+\log^{2}L).

Keywords: algorithm, tree, rendezvous, mobile agent

1 Introduction

The rendezvous task calls for two mobile agents, starting from different nodes of a network modeled as a graph to meet at the same node. This task is ubiquitous in many applications. In the social context, people may want to meet in a city whose streets form a graph. In computer networks, software agents navigating in a network have to meet to share data collected from distributed databases. In robotics, mobile robots circulating in a network of corridors in a mine or a building may have to meet to coordinate maintenance tasks.

In most of the literature concerning rendezvous in graphs, the graph is finite and the time of rendezvous depends on its size. This approach is impractical for very large graphs and impossible for infinite graphs. For such graphs it is natural to design rendezvous algorithms whose time depends on the initial distance DD between the agents. In this paper we adopt this approach and consider rendezvous in infinite trees. All our algorithms work in finite trees as well. Our main goal is to study the impact of orientation of a tree on the time of rendezvous.

1.1 The model

We consider infinite trees. They can be either unoriented or oriented. An unoriented tree does not have labels of nodes and the port labelings at each node are arbitrary. In oriented trees, one node, called the root, has label RR, all other nodes do not have labels, and at each node different from RR the port 0 is on the simple path toward RR.

Agents have different labels which are integers from a set {1,,L}\{1,\dots,L\}. They wake up at possibly different times and move in synchronous rounds. In each round, an agent can either stay idle or move to an adjacent node. An agent makes a move by choosing a port number at its current node. When entering the adjacent node corresponding to the chosen edge the agent learns the port of entry and the degree of this node. We assume that the memory of the agents is unlimited: from the computational point of view they are modeled as Turing machines. We consider deterministic rendezvous algorithms. Both agents execute the same algorithm, each agent starting in its wakeup round. Each agent knows its label which is a parameter of the algorithm but does not know the label of the other agent. The execution time of such an algorithm is the number of rounds since the wakeup of the earlier agent till the meeting. This time depends on values of the initial distance DD between the agents and of the size LL of the space of labels. These values may be known or unknown to the agents, depending on the scenario. By saying that the time of an algorithm is f(D,L)f(D,L) we mean that this is the worst case time of the execution of this algorithm, over all pairs of starting nodes of agents at distance DD, over all pairs of agents’ labels from {1,,L}\{1,\dots,L\}, and over all possible delays between waking times of agents, if the algorithm works for arbitrary delay.

1.2 Our results

We first design a rendezvous algorithm working for unoriented regular***The discussion of the assumption of regularity is deferred to the Conclusion. trees of degree d2d\geq 2. These are infinite trees all of whose nodes have degree dd. (For d=2d=2 this is the infinite line). The time of our algorithm is in O(z(D)logL)O(z(D)\log L), where z(D)z(D) is the size of the ball of radius DD, i.e, the number of nodes at distance at most DD from a given node. The algorithm works for arbitrary delay between waking times of agents and does not require any initial information about parameters LL or DD. Its disadvantage is its complexity: z(D)z(D) is exponential in DD for any degree d>2d>2. We prove that this high complexity is inevitable: Ω(z(D))\Omega(z(D)) turns out to be a lower bound on rendezvous time in unoriented regular trees, even for simultaneous start and even when agents know LL and DD. Then we turn attention to oriented trees. While for arbitrary delay between waking times of agents the lower bound Ω(z(D))\Omega(z(D)) still holds, for simultaneous start the time of rendezvous can be dramatically shortened. Our algorithms for oriented trees do not assume regularity of the tree. We show that if agents know either a polynomial upper bound on LL or a linear upper bound on DD, then rendezvous can be accomplished in oriented trees in time O(DlogL)O(D\log L), which is optimal in view of [14]. If no such extra knowledge is available, a significant speedup is still possible: in this case we design an algorithm working in time O(D2+log2L)O(D^{2}+\log^{2}L).

1.3 Related Work

The task of rendezvous has been studied in the literature both in the randomized and deterministic settings. Randomized rendezvous is surveyed in [2], cf. also [1, 5]. Deterministic rendezvous in networks is surveyed in [23, 24]. Several authors considered geometric settings (rendezvous in an interval of the real line, e.g., [5, 6], or in the plane, e.g., [3, 8, 11]). Rendezvous of more than two agents, also called gathering, was studied, e.g., in [15, 17, 22].

In the deterministic setting, feasibility and time complexity of synchronous rendezvous in networks is one of the main topics of investigation. Deterministic rendezvous of agents equipped with tokens used to mark nodes was considered, e.g., in [21]. In most of the papers concerning rendezvous in networks, nodes of the network are assumed to be unlabeled and marking nodes by agents is not allowed. In this case, anonymous agents cannot meet in many highly symmetric networks, e.g., in oriented rings. Hence symmetry is usually broken by assigning the agents distinct labels and assuming that each agent knows its own label but not the label of the other agent. Deterministic rendezvous of labeled agents in rings was investigated, e.g., in [14, 19] and in arbitrary graphs in [14, 19, 25]. Gathering many anonymous agents in unlabeled networks was studied in [15]. In this weak scenario, not all initial configurations of agents are possible to gather, and the authors of [15] characterized all such configurations and provided universal gathering algorithms for them. In [10], the authors studied rendezvous under a very strong assumption that each agent has a map of the network and knows its position in it. Using this assumption they designed optimal algorithms for several classes of networks, including the infinite line and finite trees.

Another measure of efficiency of rendezvous algorithms is the amount of memory needed to execute this task. Memory of the agents required to achieve deterministic rendezvous was studied in [18] for trees and in [12] for arbitrary graphs. Memory needed for randomized rendezvous in the ring was investigated, e.g., in [20].

A scenario significantly differing from the above was discussed by several authors. The difference is in dropping the assumption that agents navigate in synchronous rounds. Asynchronous rendezvous and approach in the plane was studied in [7, 9, 17] and asynchronous rendezvous in networks modeled as graphs was investigated in [4, 13, 16]. In the latter scenario, the agent chooses the edge to traverse, but the adversary controls the speed of the agent. Under this assumption, rendezvous at a node cannot be guaranteed even in the two-node graph. Hence the rendezvous requirement is relaxed to permit the agents to meet inside an edge. In [4], the authors designed almost optimal algorithms for asynchronous rendezvous in infinite multidimensional grids, under a strong assumption that the agent knows its position in the grid. In [16], the authors designed a polynomial-cost algorithm for asynchronous rendezvous in arbitrary finite graphs, without this assumption.

2 Unoriented regular trees

In this section we design and analyze a rendezvous algorithm for agents operating in an unoriented infinite regular tree of degree d2d\geq 2. This is an infinite tree all of whose nodes have degree dd. (For d=2d=2 this is the infinite line). Nodes do not have labels and ports at each node are arbitrarily numbered by integers 0,1,,d10,1,\dots,d-1. Note that each agent knows dd from the outset, as it sees the degree of its starting node. In any such tree, we define the ball B(v,r)B(v,r) of radius rr, centered at node vv, as the subtree induced by all nodes at distance at most rr from vv. Let z(r)z(r) be the number of nodes in any ball B(v,r)B(v,r). Let a(r)=2(z(r)1)a(r)=2(z(r)-1). Note that a(r)a(r) is the number of edge traversals of a DFS exploration of any ball B(v,r)B(v,r), starting and finishing at the same node.

Labels of agents are integers from the set {1,,L}\{1,\dots,L\}. For any label {1,,L}\ell\in\{1,\dots,L\} we define the transformation Trans()Trans(\ell) of \ell as follows. Lat σ\sigma be the binary representation of \ell. Trans()Trans(\ell) is the sequence obtained from σ\sigma by replacing every bit 1 by the string (010101)(010101) and replacing every bit 0 by the string (101010)(101010). Hence Trans()Trans(\ell) is of length O(logL)O(\log L) and has the property that it does not contain a substring of three consecutive zeroes.

2.1 The algorithm

For any node vv and any positive integer rr, we define the following procedures.

Procedure ACT(v,r)ACT(v,r)

Explore the ball B(v,r)B(v,r) by DFS, in increasing order of port numbers at each node,
         starting and finishing at node vv.

Procedure PASS(v,t)PASS(v,t)

Stay at node vv for tt rounds.

The following procedure takes as parameters the degree dd of the infinite regular tree, a bit bb of the transformed label, and a positive integer ii. For d=2d=2, i.e., for the infinite line, and for any integer i0i\geq 0, the procedure consists of two DFS explorations of the ball B(v,22i)B(v,2^{2i}), if the bit bb is 1, and of staying at node vv for the duration of these two explorations, if the bit bb is 0. (Exploration of a ball of radius 0 takes time 0.) For d>2d>2, the procedure consists of two DFS explorations of the ball B(v,2i)B(v,2i), if the bit bb is 1, and of staying at node vv for the duration of these two explorations, if the bit bb is 0.

Procedure Exec(d,b,i)Exec(d,b,i)

if d=2d=2 then ri=22ir_{i}=2^{2i}
         else ri=2ir_{i}=2i
         if b=1b=1 then
                 ACT(v,ri)ACT(v,r_{i})
                 ACT(v,ri)ACT(v,r_{i})
         else
                 PASS(v,2a(ri))PASS(v,2a(r_{i}))

We first present the high-level idea of the rendezvous algorithm and its challenges. The algorithm exploits the fact that agents have different labels and guarantees that at some point one of the agents stays idle at its starting node while the other one fully explores a sufficiently large ball centered at its own starting node and thus meets the waiting agent. Exploration and waiting periods depend on bits of the transformed label of the agent. Since agents do not know the distance between them, the algorithm is divided into stages with increasing radii of explored balls and increasing waiting times. The main challenge is due to the fact that agents may start with some delay and that, due to possibly different label lengths, they complete the same stage at different speeds. Hence the whole process may become significantly desynchronized and the difficulty is to hold one agent idle at its starting node for a sufficiently long time to allow the other agent to meet it.

Now we are ready to succinctly describe Algorithm URT (for unoriented regular trees). The algorithm is executed by an agent with label \ell, starting at a node vv of an infinite regular tree of degree dd. The algorithm works in stages i=0,1,2,i=0,1,2,\dots. In a stage ii it “executes” consecutive bits bjb_{j} of Trans()Trans(\ell) by performing procedure Exec(d,bj,i)Exec(d,b_{j},i). Notice that for d=2d=2, Exec(d,bj,i)Exec(d,b_{j},i) explores balls B(v,22i)B(v,2^{2i}) if bj=1b_{j}=1 and instructs the agent to wait a corresponding time if bj=0b_{j}=0, while for d>2d>2, Exec(d,bj,i)Exec(d,b_{j},i) explores balls B(v,2i)B(v,2i) if bj=1b_{j}=1 and instructs the agent to wait a corresponding time if bj=0b_{j}=0. This is because for d=2d=2 the size of a ball is linear in its radius, while for d>2d>2 it is exponential in it. Stages are organized so that their durations telescope. For technical reasons we want the size of the balls treated in stage i+1i+1 to be at least 4 times larger (and not only 2 times larger) than those in stage ii. The algorithm is interrupted as soon as the agents meet.

Algorithm URT

Trans():=(b1,b2,,bk)Trans(\ell):=(b_{1},b_{2},\dots,b_{k})
         for i=0,1,2,i=0,1,2,\dots do
                 for j=1j=1 to kk do
                          Exec(d,bj,i)Exec(d,b_{j},i)

2.2 Correctness and complexity

In this section we prove the correctness of Algorithm URT and analyze its time complexity. We start with the definition of the critical stage. Intuitively, it is the first stage such that the radius rir_{i} of the balls explored in this stage is at least the initial distance DD between the agents. Thus, more formally, the critical stage is the smallest integer ii such that:

  • D22iD\leq 2^{2i}, if d=2d=2

  • D2iD\leq 2i, if d>2d>2.

This smallest integer ii is denoted by ii^{*}. Hence rir_{i^{*}} is the radius of balls explored in the critical stage.

According to the algorithm, during an execution of bit 11 in stage ii, an agent explores a ball of radius rir_{i} twice. We refer to each of these explorations as one activity cycle. Thus, during an execution of a single bit 11, an agent performs two activity cycles. Similarly, during an execution of a bit 0 in stage ii, an agent waits for two consecutive periods each of duration of one such exploration. We refer to each of these waiting periods as one passivity cycle. Thus, during an execution of a single bit 0, an agent waits for two passivity cycles.

For a given dd, let πi=2a(ri)\pi_{i}=2a(r_{i}) be the duration of the execution of a bit in stage ii, using procedure Exec(d,b,i)Exec(d,b,i). Let yy be the length of the transformed label of an agent. Let Si=yπiS_{i}=y\pi_{i} denote the duration of stage ii. The time α\alpha taken by the agent to reach its critical stage is the sum of durations of all previous stages. Thus this time is i=0i1Si\sum_{i=0}^{i^{*}-1}S_{i}.

In the following lemma we compute the duration SiS_{i} of stage ii, depending on dd and yy.

Lemma 2.1

For i0i\geq 0,

Si={4i8yif d=24yd(d1)2i1d2if d3S_{i}=\begin{cases}4^{i}\cdot 8y&\quad\text{if }d=2\\ 4yd\frac{(d-1)^{2i}-1}{d-2}&\quad\text{if }d\geq 3\end{cases}

Proof. First consider the case when d=2d=2. In stage ii, an agent explores a ball of radius ri=22ir_{i}=2^{2i}. We first compute z(ri)z(r_{i}), the number of nodes in the ball of radius rir_{i}. Since in this case the graph is a line, z(ri)=222i+1z(r_{i})=2\cdot 2^{2i}+1. Recall that, a(ri)=2(z(ri)1)a(r_{i})=2(z(r_{i})-1) is the number of edge traversals of a DFS exploration of the ball B(v,ri)B(v,r_{i}), starting and finishing at the same node. Thus, a(ri)=2222ia(r_{i})=2\cdot 2\cdot 2^{2i}. By definition, πi=2a(ri)\pi_{i}=2a(r_{i}) i.e., πi=84i\pi_{i}=8\cdot 4^{i}. Hence, Si=8y4iS_{i}=8y4^{i}.

Next suppose d3d\geq 3. In this case, in stage ii, an agent explores a ball of radius ri=2ir_{i}=2i. The value of z(ri)z(r_{i}) is as follows:

z(ri)=1+d+d(d1)+d(d1)2+d(d1)3++d(d1)2i1=1+d{1+(d1)+(d1)2++(d1)2i2}=1+d(d1)2i1d2\begin{split}z(r_{i})&=1+d+d(d-1)+d(d-1)^{2}+d(d-1)^{3}+\cdots+d(d-1)^{2i-1}\\ &=1+d\{1+(d-1)+(d-1)^{2}+\cdots+(d-1)^{2i-2}\}\\ &=1+d\frac{(d-1)^{2i}-1}{d-2}\end{split}

Thus, in this case, a(ri)=2d(d1)2i1d2a(r_{i})=2d\frac{(d-1)^{2i}-1}{d-2} and πi=4d(d1)2i1d2\pi_{i}=4d\frac{(d-1)^{2i}-1}{d-2}. Hence, Si=y4d(d1)2i1d2S_{i}=y4d\frac{(d-1)^{2i}-1}{d-2}. \Box

Lemma 2.2

For i,q0i,q\geq 0, we have

Si+q={4qSiif d=2(d1)2qSi+Sqif d3S_{i+q}=\begin{cases}4^{q}S_{i}&\quad\text{if }d=2\\ (d-1)^{2q}S_{i}+S_{q}&\quad\text{if }d\geq 3\end{cases}

Proof. When d=2d=2, by Lemma 2.1, we have

Si+q=4i+qyd=4q4iyd=4qSi\begin{split}S_{i+q}&=4^{i+q}yd\\ &=4^{q}4^{i}yd\\ &=4^{q}S_{i}\end{split}

Next suppose d3d\geq 3. In this case, by Lemma 2.1, we have,

Si+q=4yd(d1)2i+2q1d2=4yd(d1)2i+2qd24ydd2=4yd(d1)2q(d1)2id24yd(d1)2qd2+4yd(d1)2qd24ydd2=4yd(d1)2q(d1)2i1d2+4yd(d1)2q1d2=(d1)2qSi+Sq\begin{split}S_{i+q}&=4yd\frac{(d-1)^{2i+2q}-1}{d-2}\\ &=4yd\frac{(d-1)^{2i+2q}}{d-2}-\frac{4yd}{d-2}\\ &=4yd(d-1)^{2q}\frac{(d-1)^{2i}}{d-2}-4yd\frac{(d-1)^{2q}}{d-2}+4yd\frac{(d-1)^{2q}}{d-2}-\frac{4yd}{d-2}\\ &=4yd(d-1)^{2q}\frac{(d-1)^{2i}-1}{d-2}+4yd\frac{(d-1)^{2q}-1}{d-2}\\ &=(d-1)^{2q}S_{i}+S_{q}\end{split}

\Box

The next lemma estimates the duration of any stage in terms of the duration of the preceding and of the following stage.

Lemma 2.3

For i,p0i,p\geq 0, we have 4Si+p1Si+p5Si+p14S_{i+p-1}\leq S_{i+p}\leq 5S_{i+p-1}

Proof. We consider two cases:

  • 𝒅=𝟐\boldsymbol{d=2} In this case, by Lemma 2.2, Si+p=4Si+p1<5Si+p1S_{i+p}=4S_{i+p-1}<5S_{i+p-1}.

  • 𝒅𝟑\boldsymbol{d\geq 3} By Lemma 2.2, we have Si+p=(d1)2Si+p1+S1S_{i+p}=(d-1)^{2}S_{i+p-1}+S_{1}. This implies Si+p>(d1)2Si+p1S_{i+p}>(d-1)^{2}S_{i+p-1}. Since d3d\geq 3, we can conclude that 4Si+p1Si+p4S_{i+p-1}\leq S_{i+p}. Finally consider the following:

    Si+p1\displaystyle S_{i+p-1} =(d1)2i+2p4S1+Si+p2\displaystyle=(d-1)^{2i+2p-4}S_{1}+S_{i+p-2}
    (d1)2Si+p1\displaystyle(d-1)^{2}S_{i+p-1} (d1)2i+2p2S1\displaystyle\geq(d-1)^{2i+2p-2}S_{1} (1)

    Again, we have

    Si+p\displaystyle S_{i+p} =(d1)2i+2p2S1+Si+p1\displaystyle=(d-1)^{2i+2p-2}S_{1}+S_{i+p-1}
    Si+p\displaystyle S_{i+p} (d1)2Si+p1+Si+p1(by (1))\displaystyle\leq(d-1)^{2}S_{i+p-1}+S_{i+p-1}\qquad(\text{by (1)})
    Si+p\displaystyle S_{i+p} ((d1)2+1)Si+p1\displaystyle\leq((d-1)^{2}+1)S_{i+p-1} (2)

    Since d3d\geq 3, (2) implies Si+p5Si+p1S_{i+p}\leq 5S_{i+p-1}. This concludes the proof.

\Box

Lemma 2.3 implies

Corollary 2.1

4πi+p1πi+p5πi+p14\pi_{i+p-1}\leq\pi_{i+p}\leq 5\pi_{i+p-1}

In the next lemma we compute the value α\alpha of the time taken by an agent to reach its critical stage.

Lemma 2.4

α=8yri38y3\alpha=\frac{8yr_{i^{*}}}{3}-\frac{8y}{3} if d=2d=2, and α=Si(d1)21\alpha=\frac{S_{i^{*}}}{(d-1)^{2}-1} if d3d\geq 3.

Proof. When d=2d=2, we have

α=S0+S1+S2++Si1=8y+48y+428y++4i18y(by Lemma 2.1 for d=2)=8y(1+4+42++4i1)=8y4i13=8yri38y3(ri=22i)\begin{split}\alpha&=S_{0}+S_{1}+S_{2}+\cdots+S_{i^{*}-1}\\ &=8y+4\cdot 8y+4^{2}\cdot 8y+\cdots+4^{i^{*}-1}8y\qquad\text{(by Lemma \ref{lem-01} for $d=2$)}\\ &=8y(1+4+4^{2}+\ldots+4^{i^{*}-1})\\ &=8y\frac{4^{i^{*}}-1}{3}\\ &=\frac{8yr_{i^{*}}}{3}-\frac{8y}{3}\qquad(\because r_{i^{*}}=2^{2i})\end{split}

Suppose d3d\geq 3. Then we have

α=S0+S1+S2++Si1=0+4yd(d1)21d2+4yd(d1)41d2++4yd(d1)2i21d2=4ydd2{(d1)21+(d1)41++(d1)2i21}=4ydd2{(d1)2+(d1)4++(d1)2i2(i1)}4ydd2{(d1)2+(d1)4++(d1)2i2}(i1)4y(d1)2dd2{1+(d1)2++(d1)2i4}4y(d1)2dd2[(d1)2i21(d1)21]4ydd2[(d1)2i(d1)21]4ydd2[(d1)2(d1)21]4ydd2[(d1)2i(d1)21]4ydd2[1(d1)21]((d1)2>1)=1(d1)21[4yd(d1)2i1d2]=1(d1)21Si\begin{split}\alpha&=S_{0}+S_{1}+S_{2}+\cdots+S_{i^{*}-1}\\ &=0+4yd\frac{(d-1)^{2}-1}{d-2}+4yd\frac{(d-1)^{4}-1}{d-2}+\cdots+4yd\frac{(d-1)^{2i^{*}-2}-1}{d-2}\\ &=4y\frac{d}{d-2}\{(d-1)^{2}-1+(d-1)^{4}-1+\cdots+(d-1)^{2i^{*}-2}-1\}\\ &=4y\frac{d}{d-2}\{(d-1)^{2}+(d-1)^{4}+\cdots+(d-1)^{2i-2}-(i^{*}-1)\}\\ &\leq 4y\frac{d}{d-2}\{(d-1)^{2}+(d-1)^{4}+\cdots+(d-1)^{2i^{*}-2}\}\qquad(\because i^{*}\geq 1)\\ &\leq 4y(d-1)^{2}\frac{d}{d-2}\{1+(d-1)^{2}+\cdots+(d-1)^{2i^{*}-4}\}\\ &\leq 4y(d-1)^{2}\frac{d}{d-2}\left[\frac{(d-1)^{2i^{*}-2}-1}{(d-1)^{2}-1}\right]\\ &\leq 4y\frac{d}{d-2}\left[\frac{(d-1)^{2i^{*}}}{(d-1)^{2}-1}\right]-4y\frac{d}{d-2}\left[\frac{(d-1)^{2}}{(d-1)^{2}-1}\right]\\ &\leq 4y\frac{d}{d-2}\left[\frac{(d-1)^{2i^{*}}}{(d-1)^{2}-1}\right]-4y\frac{d}{d-2}\left[\frac{1}{(d-1)^{2}-1}\right]\qquad(\because(d-1)^{2}>1)\\ &=\frac{1}{(d-1)^{2}-1}\left[4yd\frac{(d-1)^{2i^{*}}-1}{d-2}\right]\\ &=\frac{1}{(d-1)^{2}-1}S_{i^{*}}\\ \end{split}

\Box

Since 1(d1)2113\frac{1}{(d-1)^{2}-1}\leq\frac{1}{3} for d3d\geq 3, Lemmas 2.1 and 2.4 imply

Corollary 2.2

αSi3\alpha\leq\frac{S_{i^{*}}}{3}

Denote by A1A_{1} the agent that starts earlier, and by A2A_{2} the agent that starts later. (In the case of simultaneous start, names A1A_{1} and A2A_{2} are given arbitrarily). Let δ0\delta\geq 0 denote the delay of the start of A2A_{2} w.r.t the start of A1A_{1}.

The next lemma shows that if the delay is sufficiently large then agents meet during the critical stage of the earlier agent.

Lemma 2.5

Let α\alpha be the time in which agent A1A_{1} reaches its critical stage. If δα+3a(ri)\delta\geq\alpha+3a(r_{i}^{*}), then agents meet during the critical stage of A1A_{1} .

Proof. Agent A1A_{1} takes time α\alpha to reach its critical stage. Since each transformed label starts with bits 01, during its critical stage agent A1A_{1} first executes two consecutive passivity cycles, i.e., for a time 2a(ri)2a(r_{i}^{*}) it does not moves and then it starts executing its two consecutive activity cycles and each activity cycle takes time a(ri)a(r_{i}^{*}). Hence, in time at most α+3a(ri)\alpha+3a(r_{i}^{*}) since its start agent A1A_{1} reaches the node initially occupied by agent A2A_{2}. Thus, if δα+3a(ri)\delta\geq\alpha+3a(r_{i}^{*}), i.e., if agent A2A_{2} remains inactive till that time, agent A1A_{1} meets A2A_{2} at its initial position. This happens during the critical stage of A1A_{1}. \Box

2.2.1 Labels of equal length

In this section we assume that the transformed labels of the agents have the same length. This implies that the duration of each stage ii is the same for both agents. We denote by T1(i)T_{1}(i) and T2(i)T_{2}(i) the time when A1A_{1} (resp. A2A_{2}) starts its stage ii.

Lemma 2.6

If δα+3a(ri)\delta\leq\alpha+3a(r_{i}^{*}) then agent A2A_{2} starts its critical stage before the end of the critical stage of A1A_{1}.

Proof. Let yy be the length of the transformed labels of the agents. The time taken by agent A2A_{2} to reach its critical stage is δ+α\delta+\alpha after the start of agent A1A_{1}, and the time taken by agent A1A_{1} to reach its stage i+1i^{*}+1 is α+Si\alpha+S_{i^{*}}. We prove the lemma by contradiction. Suppose that agent A2A_{2} starts its critical stage after the end of the critical stage of A1A_{1}. Hence δ+α>α+Si\delta+\alpha>\alpha+S_{i^{*}} which implies δ>Si\delta>S_{i^{*}}, and thus α+3a(ri)>2a(ri)y\alpha+3a(r_{i^{*}})>2a(r_{i^{*}})y because δα+3a(ri)\delta\leq\alpha+3a(r_{i}^{*}). Since αSi3\alpha\leq\frac{S_{i^{*}}}{3} and πi=2a(ri)\pi_{i^{*}}=2a(r_{i^{*}}), we have Si3+32πi>Si\frac{S_{i^{*}}}{3}+\frac{3}{2}\pi_{i^{*}}>S_{i^{*}} and thus πiy3+32πi>πiy\frac{\pi_{i^{*}}y}{3}+\frac{3}{2}\pi_{i^{*}}>\pi_{i^{*}}y. This is a contradiction because y6y\geq 6. \Box

Lemma 2.7

If agents have labels of equal length, then they meet before the end of stage i+1i^{*}+1 of agent A1A_{1}.

Proof. Let α\alpha be the time taken by A1A_{1} to reach its critical stage from its starting time. If δα+3a(ri)\delta\geq\alpha+3a(r_{i}^{*}), then by Lemma 2.4, agent A1A_{1} meets agent A2A_{2} in stage ii^{*} of A1A_{1}, before A2A_{2} starts its execution. Thus we may assume that δ<α+3a(ri)\delta<\alpha+3a(r_{i}^{*}). Let the transformed label of A1A_{1} be b11,b21,,by1b^{1}_{1},b^{1}_{2},\ldots,b^{1}_{y} and that of A2A_{2} be b12,b22,,by2b^{2}_{1},b^{2}_{2},\ldots,b^{2}_{y}. Our arguments to prove the lemma depend on the value of δ\delta as follows:

  • 𝜹𝒂(𝒓𝒊):\boldsymbol{\delta\leq a(r_{i^{*}})}: Consider the smallest jj such that bj1=0b^{1}_{j}=0 and bj2=1b^{2}_{j}=1. (Since transformed labels of agents are different and have equal lengths, there are at least three such indices). Consider the execution of the critical stage by the agents (Figure 1(A)). Since δa(ri)\delta\leq a(r_{i^{*}}), agent A2A_{2} fully executes one activity cycle corresponding to bj2=1b^{2}_{j}=1 within the two passivity cycles of A1A_{1} corresponding to bj1=0b^{1}_{j}=0. Thus agent A2A_{2} meets A1A_{1} during the execution of the critical stage of A1A_{1}.

  • 𝒂(𝒓𝒊)<𝜹𝟑𝒂(𝒓𝒊):\boldsymbol{a(r_{i^{*}})<\delta\leq 3a(r_{i^{*}})}: The duration of execution of the first two bits 01 in the critical stage is 4a(ri)4a(r_{i^{*}}) for both agents (Figure 1(B)). Since a(ri)<δ3a(ri)a(r_{i^{*}})<\delta\leq 3a(r_{i^{*}}), agent A2A_{2} is idle while executing its bit b12=0b^{2}_{1}=0 during a complete activity cycle of A1A_{1} corresponding to b21=1b^{1}_{2}=1. Hence A1A_{1} meets A2A_{2} during the execution of the critical stage of A1A_{1}.

    Refer to caption
    Figure 1: An illustration for the proof of Lemma 2.7: (A) when δa(ri)\delta\leq a(r_{i}^{*}), agent A2A_{2} meets A1A_{1} during the execution of the critical stage of A1A_{1}, and (B) when a(ri)<δ3a(ri)a(r_{i}^{*})<\delta\leq 3a(r_{i}^{*}), agent A1A_{1} meets A2A_{2} during the execution of the critical stage of A1A_{1}.
  • 𝟑𝒂(𝒓𝒊)<𝜹𝟖𝒂(𝒓𝒊):\boldsymbol{3a(r_{i^{*}})<\delta\leq 8a(r_{i^{*}})}: In this case at least a time segment of length 3a(ri)3a(r_{i^{*}}) of the critical stage of A2A_{2} is executed during the execution of stage i+1i^{*}+1 of A1A_{1} (Figure 2(A)). The first time segment of length 8a(ri)8a(r_{i^{*}}) of stage i+1i^{*}+1 of A1A_{1} is devoted to the execution of the first bit of the transformed label, which is 0. Thus A1A_{1} is idle during this time segment. The final time segment of length 4a(ri)4a(r_{i^{*}}) of the critical stage of A2A_{2} contains exactly two activity cycles of A2A_{2} (since among the last two bits of the transformed label of each agent there is one bit 11). Since 3a(ri)<δ8a(ri)3a(r_{i^{*}})^{*}<\delta\leq 8a(r_{i^{*}}), at least one activity cycle of A2A_{2} in its critical stage is completely executed during the first passivity period of A1A_{1} in its stage i+1i^{*}+1. Thus agent A2A_{2} meets A1A_{1} during stage i+1i^{*}+1 of the latter.

  • 𝟖𝒂(𝒓𝒊)<𝜹<𝜶+𝟑𝒂(𝒓𝒊):\boldsymbol{8a(r_{i^{*}})<\delta<\alpha+3a(r_{i})}: In this case, by Lemma 2.5, agent A2A_{2} starts its critical stage before the the end of the critical stage of A1A_{1}. Let II be the initial time segment of length 8a(ri)8a(r_{i^{*}}) of stage i+1i^{*}+1 of A1A_{1} (Figure 2(B)). Since the duration of the execution of each bit in stage i+1{i^{*}+1} is at least 8a(ri)8a(r_{i^{*}}) (by Corollary 2.1), we know that during time segment II, agent A1A_{1} executes the first bit of its transformed label, i.e., bit 0. Hence during time segment II, agent A1A_{1} is idle. Since δ>8a(ri)\delta>8a(r_{i^{*}}), during time segment II agent A2A_{2} still executes its critical stage. Since the duration of execution of each bit in the critical stage of the agents is 2a(ri)2a(r_{i^{*}}), during time segment II agent A2A_{2} must perform complete executions of at least 3 consecutive bits of its transformed label. Among any three consecutive bits of any transformed label there must be at least one bit 1. Hence, during time segment II in which agent A1A_{1} is idle, agent A2A_{2} performs two activity cycles of its critical stage. Thus it must meet agent A1A_{1} before the end of stage i+1{i^{*}+1} of the latter.

\Box

Refer to caption
Figure 2: An illustration for the proof of Lemma 2.7: (A) when 3a(ri)<δ8a(ri)3a(r_{i}^{*})<\delta\leq 8a(r_{i}^{*}), agent A2A_{2} meets agent A1A_{1} during the stage i+1{i^{*}+1} of the latter, and (B) when 8a(ri)<δα+3a(ri)8a(r_{i}^{*})<\delta\leq\alpha+3a(r_{i}), agent A1A_{1} meets agent A2A_{2} before the end of stage i+1{i^{*}+1} of A1A_{1}.

2.2.2 Labels of different lengths

In this section we assume that the labels of the agents have different lengths. Let XX denote the length of the shorter transformed label. We refer to the agent having this label as the faster agent, and denote it by AfA_{f}. Let βX\beta X, for β>1\beta>1, be the length of the longer transformed label. We refer to the agent having this label as the slower agent, and denote it by AsA_{s}. These names are chosen due to the fact that, since the duration of any stage of an agent is proportional to the length of its transformed label, the agent with shorter transformed label completes its stages faster than the agent with longer transformed label. Since β>1\beta>1 and X6X\geq 6, we have βXX+6\beta X\geq X+6. Let Si(f)S_{i}(f) and Si(s)S_{i}(s) denote the lengths of stage ii of the faster and slower agents, respectively. Let agent AsA_{s} start its critical stage during the stage i+pi^{*}+p of agent AfA_{f}, where pp is an integer.

We will use the following technical lemma to estimate by which stage of AsA_{s} the agents will meet.

Lemma 2.8

Let agent AsA_{s} start its stage i+qi^{*}+q during the stage i+ki^{*}+k of AfA_{f} where q0q\geq 0 and kq+1k\geq q+1. Let Is=Si+q+1(s)+Si+q(s)Si+k(f)I_{s}=S_{i^{*}+q+1}(s)+S_{i^{*}+q}(s)-S_{i^{*}+k}(f). If Is4πi+q+1I_{s}\geq 4\pi_{i^{*}+q+1}, then agent AsA_{s} meets agent AfA_{f} in stage at most i+k+1i^{*}+k+1 of AfA_{f}. Furthermore, during this meeting agent AsA_{s} is in stage at most i+q+1i^{*}+q+1.

Proof. Let Ts(i)T_{s}(i) and Tf(i)T_{f}(i) denote the starting times of the stage ii of the agents AsA_{s} and AfA_{f} respectively. Since agent AsA_{s} starts its stage i+qi^{*}+q during the stage i+ki^{*}+k of AfA_{f}, we have Tf(i+k)Ts(i+q)<Tf(i+k+1)T_{f}(i^{*}+k)\leq T_{s}(i^{*}+q)<T_{f}(i^{*}+k+1). We consider the following two cases:

  • 𝑻𝒔(𝒊+𝒒+𝟏)<𝑻𝒇(𝒊+𝒌+𝟏):\boldsymbol{T_{s}(i^{*}+q+1)<T_{f}(i^{*}+k+1):} In this case agent AsA_{s} completes its stage i+qi^{*}+q and starts its stage i+q+1i^{*}+q+1 before the end of stage i+ki^{*}+k of agent AfA_{f} (Figure 3(A)). Since Is4πi+q+1I_{s}\geq 4\pi_{i^{*}+q+1}, we have Ts(i+q+2)>Tf(i+k+1)T_{s}(i^{*}+q+2)>T_{f}(i^{*}+k+1) and hence the part of stage i+q+1i^{*}+q+1 of AsA_{s} executed after Tf(i+k+1)T_{f}(i^{*}+k+1) has length at least 4πi+q+14\pi_{i^{*}+q+1}. Now since kq+1k\geq q+1, we have πi+k+14πi+q+1\pi_{i+k+1}\geq 4\pi_{i^{*}+q+1} and this implies that agent AsA_{s} fully executes at least 33 consecutive bits of stage i+q+1i^{*}+q+1 during the execution of the first bit of stage i+k+1i^{*}+k+1 of agent AfA_{f}. The execution of any 33 consecutive bits of an agent contains at least two activity cycles and during the execution of the first bit of any stage, an agent executes two passivity cycles. Thus, agent AsA_{s} executes at least two activity cycles of stage i+q+1i^{*}+q+1 during the first two consecutive passivity cycles of stage i+k+1i^{*}+k+1 of agent AfA_{f}. This implies that agent AsA_{s} meets agent AfA_{f} during the stage i+k+1i^{*}+k+1 of the latter. During this meeting agent AsA_{s} is in stage i+q+1i^{*}+q+1.

    Refer to caption
    Figure 3: An illustration for the proof of Lemma 2.8: (A) Ts(i+q+1)<Tf(i+k+1)T_{s}(i^{*}+q+1)<T_{f}(i^{*}+k+1), and (B) Ts(i+q+1)=Tf(i+k+1)T_{s}(i^{*}+q+1)=T_{f}(i^{*}+k+1). In both cases, agent AsA_{s} meets AfA_{f} during the execution of stage i+k+1i^{*}+k+1 of AfA_{f}; during this meeting agent AsA_{s} is in stage i+q+1i^{*}+q+1.
  • 𝑻𝒔(𝒊+𝒒+𝟏)𝑻𝒇(𝒊+𝒌+𝟏):\boldsymbol{T_{s}(i^{*}+q+1)\geq T_{f}(i^{*}+k+1):} Here we consider the following two subcases:

    • 𝑻𝒔(𝒊+𝒒+𝟏)=𝑻𝒇(𝒊+𝒌+𝟏):\boldsymbol{T_{s}(i^{*}+q+1)=T_{f}(i^{*}+k+1):} Since πi+k+14πi+q+1\pi_{i+k+1}\geq 4\pi_{i^{*}+q+1}, agent AsA_{s} executes at least the first 4 bits of its stage i+q+1i^{*}+q+1 during the execution of the first bit 0 of stage i+k+1i^{*}+k+1 of agent AfA_{f} (Figure 3(B)). This implies that agent AsA_{s} meets agent AfA_{f} during the execution of the first two passivity cycles of stage i+k+1i^{*}+k+1 of agent AfA_{f} corresponding to the execution of the first bit 0. The agent AsA_{s} is in stage i+q+1i^{*}+q+1 during this meeting.

    • 𝑻𝒔(𝒊+𝒒+𝟏)>𝑻𝒇(𝒊+𝒌+𝟏):\boldsymbol{T_{s}(i^{*}+q+1)>T_{f}(i^{*}+k+1):} In this case a portion of the stage i+qi^{*}+q of agent AsA_{s} is executed during the stage i+k+1i^{*}+k+1 of agent AfA_{f}. Let Is(i+q)I_{s}(i^{*}+q) and Is(i+q+1)I_{s}(i^{*}+q+1) be the durations of the portions of the stages i+qi^{*}+q and i+q+1i^{*}+q+1 of AsA_{s} executed during the stage i+k+1i^{*}+k+1 of AfA_{f}. Note that Is(i+q+1)I_{s}(i^{*}+q+1) is of length zero when Ts(i+q+1)Tf(i+k+2)T_{s}(i^{*}+q+1)\geq T_{f}(i^{*}+k+2). Let II denote the time segment of stage i+k+1i^{*}+k+1 of AfA_{f} during which agent AfA_{f} executes its first bit 0. Since kq+1k\geq q+1, we have I=πi+k+14πi+q+1I=\pi_{i^{*}+k+1}\geq 4\pi_{i^{*}+q+1} (by Corollary 2.1). The execution of the last two bits of stage i+qi^{*}+q is of duration 2πi+q2\pi_{i^{*}+q} and exactly one of these last two bits is 1. This implies that the time segment of length 32πi+q\frac{3}{2}\pi_{i^{*}+q} at the end of stage i+qi^{*}+q of agent AsA_{s} contains at least one activity cycle. Thus, if Is(i+q)32πi+qI_{s}(i^{*}+q)\geq\frac{3}{2}\pi_{i^{*}+q} (Figure 4(A)), then agent AsA_{s} executes at least one activity cycle of stage i+qi^{*}+q during the time segment II (since I4πi+q+142πi+qI\geq 4\pi_{i^{*}+q+1}\geq 4^{2}\pi_{i^{*}+q}). Since during the whole execution of II agent AfA_{f} remains idle, agent AsA_{s} meets agent AfA_{f} in stage i+k+1i^{*}+k+1 of the latter. During this meeting agent AsA_{s} is in stage at most i+qi^{*}+q. Next suppose Is(i+q)<32πi+qI_{s}(i^{*}+q)<\frac{3}{2}\pi_{i^{*}+q} (Figure 4(B)). Note that in this case, agent AsA_{s} starts its stage i+q+1i^{*}+q+1 during the execution of the first bit 0 of stage i+k+1i^{*}+k+1 of agent AfA_{f}. Now,

      IIs(i+q)4πi+q+132πi+q(I=πi+k+14πi+q+1)3πi+q+1\begin{split}I-I_{s}(i^{*}+q)&\geq 4\pi_{i^{*}+q+1}-\frac{3}{2}\pi_{i^{*}+q}\qquad(\because I=\pi_{i^{*}+k+1}\geq 4\pi_{i^{*}+q+1})\\ &\geq 3\pi_{i^{*}+q+1}\end{split}

      This implies that agent AsA_{s} fully executes at least the first 3 bits of stage i+q+1i^{*}+q+1 during time segment II. Since the execution of the first two bits in any stage contains exactly two activity cycles, agent AsA_{s} executes two activity cycles of stage i+q+1i^{*}+q+1 during II and it meets agent AfA_{f} in stage i+k+1i^{*}+k+1 of the latter. During this meeting agent AsA_{s} is in stage at most i+q+1i^{*}+q+1.

      Refer to caption
      Figure 4: An illustration for the proof of Lemma 2.8: (A) Is(i+q)32πi+qI_{s}(i^{*}+q)\geq\frac{3}{2}\pi_{i^{*}+q}, and (B) Is(i+q)<32πi+qI_{s}(i^{*}+q)<\frac{3}{2}\pi_{i^{*}+q}. In both cases, agent AsA_{s} meets AfA_{f} during the execution of stage i+k+1i^{*}+k+1 of AfA_{f}. In case (A), agent AsA_{s} is in stage at most i+qi^{*}+q and in case (B) agent AsA_{s} is in stage at most i+q+1i^{*}+q+1.

\Box

We now proceed to the proof that agents meet always by the end of stage i+2i^{*}+2 of AsA_{s}. The proof is split into two cases in Lemmas 2.9 and 2.11.

Lemma 2.9

If agent AfA_{f} starts its execution before the start of agent AsA_{s}, then the agents meet during stage at most i+2i^{*}+2 of AsA_{s}.

Proof. In this case, we have p0p\geq 0. We consider two cases.

  • 𝒑=𝟎:\boldsymbol{p=0}: In this case, agent AsA_{s} starts its critical stage during the execution of the critical stage of AfA_{f} (Figure 5(A)\ref{diff-3}(A)). We have Si(f)=πiXS_{i^{*}}(f)=\pi_{i^{*}}X and Si(s)=πiβXS_{i^{*}}(s)=\pi_{i^{*}}\beta X. Since β>1\beta>1, we have Si(f)<Si(s)S_{i^{*}}(f)<S_{i^{*}}(s).

    Si(s)Si(f)=πiβXπiXπi(X+6)πiX(βXX+6)=12a(ri)\begin{split}S_{i^{*}}(s)-S_{i^{*}}(f)&=\pi_{i^{*}}\beta X-\pi_{i^{*}}X\\ &\geq\pi_{i^{*}}(X+6)-\pi_{i^{*}}X\qquad(\because\beta X\geq X+6)\\ &=12a(r_{i^{*}})\end{split}

    Since the execution of one bit of stage ii^{*} has duration 2a(ri)2a(r_{i^{*}}), this implies that at least 55 bits of stage ii^{*} of agent AsA_{s} are fully executed during the initial part of the execution of stage i+1i^{*}+1 of agent AfA_{f}. Thus, since πi+14πi\pi_{i^{*}+1}\geq 4\pi_{i^{*}}, agent AsA_{s} fully executes at least 33 consecutive bits of stage ii^{*} during the execution of the first bit of stage i+1i^{*}+1 of agent AfA_{f}. The execution of any 33 consecutive bits of an agent contains at least two activity cycles and during the execution of the first bit of any stage, an agent executes two passivity cycles. Thus, agent AsA_{s} executes at least two activity cycles of stage ii^{*} during the first two consecutive passivity cycles of stage i+1i^{*}+1 of agent AfA_{f}. This implies that agent AsA_{s} meets agent AfA_{f} during the stage i+1i^{*}+1 of the latter.

    Refer to caption
    Figure 5: An illustration for the proof of Lemma 2.9: (A) when p=0p=0, agent AsA_{s} meets AfA_{f} during the execution of stage i+1i^{*}+1 of AfA_{f}, and (B) when p1p\geq 1, agent AsA_{s} meets AfA_{f} during the execution of stage i+p+1i^{*}+p+1 of AfA_{f}.
  • 𝒑𝟏:\boldsymbol{p\geq 1}: Let α\alpha be the time in which agent AfA_{f} reaches its critical stage. We assume δα+32πi\delta\leq\alpha+\frac{3}{2}\pi_{i^{*}} (otherwise, by Lemma 2.5, agents meet in stage ii^{*} of agent AfA_{f}). Since agent AsA_{s} starts its critical stage during the execution of stage i+pi^{*}+p of agent AfA_{f} (Figure 5(B)\ref{diff-3}(B)), we have,

    δ+βα\displaystyle\delta+\beta\alpha α+Si(f)+Si+1(f)++Si+p1(f)\displaystyle\geq\alpha+S_{i^{*}}(f)+S_{i^{*}+1}(f)+\cdots+S_{i^{*}+p-1}(f)
    α+32πi+βα\displaystyle\alpha+\frac{3}{2}\pi_{i^{*}}+\beta\alpha α+Si+p1(f)(δ<α+32πi)\displaystyle\geq\alpha+S_{i^{*}+p-1}(f)\qquad(\because\delta<\alpha+\frac{3}{2}\pi_{i^{*}})
    32πi+βSi(f)3\displaystyle\frac{3}{2}\pi_{i^{*}}+\beta\frac{S_{i^{*}}(f)}{3} Si+p1(f)(α<Si(f)3)\displaystyle\geq S_{i^{*}+p-1}(f)\qquad(\because\alpha<\frac{S_{i^{*}}(f)}{3}) (3)

    Let Is=Si+1(s)+Si(s)Si+p(f)I_{s}=S_{i^{*}+1}(s)+S_{i^{*}}(s)-S_{i^{*}+p}(f). We compute a lower bound on IsI_{s} as follows:

    Is=Si+1(s)+Si(s)Si+p(f)Si+1(s)+Si(s)5Si+p1(f)(by Lemma 2.3)Si+1(s)+Si(s)152πi53βSi(f)(by (3))πi+1βX+πiβX53πiβX152πi103πiβX152πi(by Corollary 2.1,πi+1X4πiX)103πi(X+6)152πi(βXX+6)103πiX23πi+1X(by Lemma 2.3,πi+1X5πiX)4πi+1(X6)\begin{split}I_{s}=S_{i^{*}+1}(s)+S_{i^{*}}(s)-S_{i+p}(f)&\geq S_{i^{*}+1}(s)+S_{i^{*}}(s)-5S_{i+p-1}(f)\qquad\text{(by Lemma \ref{lem-03})}\\ &\geq S_{i^{*}+1}(s)+S_{i^{*}}(s)-\frac{15}{2}\pi_{i^{*}}-\frac{5}{3}\beta S_{i^{*}}(f)\qquad\text{(by (3))}\\ &\geq\pi_{i^{*}+1}\beta X+\pi_{i^{*}}\beta X-\frac{5}{3}\pi_{i^{*}}\beta X-\frac{15}{2}\pi_{i^{*}}\\ &\geq\frac{10}{3}\pi_{i^{*}}\beta X-\frac{15}{2}\pi_{i^{*}}\qquad(\text{by Corollary \ref{cor-01}},\pi_{i^{*}+1}X\geq 4\pi_{i^{*}}X)\\ &\geq\frac{10}{3}\pi_{i^{*}}(X+6)-\frac{15}{2}\pi_{i^{*}}\qquad(\because\beta X\geq X+6)\\ &\geq\frac{10}{3}\pi_{i^{*}}X\\ &\geq\frac{2}{3}\pi_{i^{*}+1}X\qquad(\text{by Lemma \ref{lem-03}},\pi_{i^{*}+1}X\leq 5\pi_{i^{*}}X)\\ &\geq 4\pi_{i^{*}+1}\qquad(\because X\geq 6)\\ \end{split}

    Hence the lemma is true in this case by Lemma 2.8 substituting q=0q=0 and k=pk=p.

\Box

Lemma 2.10

If agent AsA_{s} starts its execution before the start of agent AfA_{f} then agent AsA_{s} starts its stage i+1i^{*}+1 after the start of stage ii^{*} of AfA_{f}.

Proof. If p0p\geq 0, then the lemma is obvious by the definition of pp. Thus we assume p<0p<0. Hence the agent AsA_{s} starts its critical stage before the start of the critical stage of agent AfA_{f} (Figure 6(A)\ref{diff-4}(A)). We know that δβα+32πi\delta\leq\beta\alpha+\frac{3}{2}\pi_{i^{*}}, where α\alpha is the time in which agent AfA_{f} reaches its critical stage (otherwise agent AsA_{s} meets agent AfA_{f} before the latter starts its execution).

Refer to caption
Figure 6: An illustration for the proof of Lemma 2.10: (A) when agent AsA_{s} starts its stage i+1i^{*}+1 after the start of stage ii^{*} of agent AfA_{f}, and (B) when agent AsA_{s} starts its stage i+1i^{*}+1 before the start of stage ii^{*} of agent AfA_{f}.

Suppose for contradiction that agent AsA_{s} starts its stage i+1i^{*}+1 before the start of stage ii^{*} of AfA_{f} (Figure 6(B)\ref{diff-4}(B)). Then we have the following inequalities:

δ+α\displaystyle\delta+\alpha βα+Si(s)\displaystyle\geq\beta\alpha+S_{i^{*}}(s)
βα+32πi+α\displaystyle\beta\alpha+\frac{3}{2}\pi_{i^{*}}+\alpha βα+Si(s)\displaystyle\geq\beta\alpha+S_{i^{*}}(s)\qquad
32πi+Si(f)3\displaystyle\frac{3}{2}\pi_{i^{*}}+\frac{S_{i^{*}}(f)}{3} Si(s)(α<Si(f)3)\displaystyle\geq S_{i^{*}}(s)\qquad(\because\alpha<\frac{S_{i^{*}}(f)}{3})
32πi+πiX3\displaystyle\frac{3}{2}\pi_{i^{*}}+\frac{\pi_{i^{*}}X}{3} βπiX\displaystyle\geq\beta\pi_{i^{*}}X
32πi+πiX3\displaystyle\frac{3}{2}\pi_{i^{*}}+\frac{\pi_{i^{*}}X}{3} πi(X+6)(βXX+6)\displaystyle\geq\pi_{i^{*}}(X+6)\qquad(\because\beta X\geq X+6)

This is a contradiction, since X6X\geq 6). Hence the lemma is true. \Box

Lemma 2.11

If agent AsA_{s} starts its execution before the start of agent AfA_{f}, then agents meet during stage at most i+2i^{*}+2 of AsA_{s}.

Proof. Let δ>0\delta>0 denote the delay of the start of AfA_{f} w.r.t the start of AsA_{s}, and let α\alpha denote the time in which agent AfA_{f} reaches its critical stage. We assume δ<βα+3a(ri)\delta<\beta\alpha+3a(r_{i^{*}}) (otherwise agent AsA_{s} meets agent AfA_{f} during the stage ii^{*} of the former). Let agent AsA_{s} start its critical stage during stage i+pi^{*}+p of AfA_{f}, where pp is an integer. Note that in this case pp can assume either a non-negative or a negative value. We consider two cases.

  • 𝒑𝟎:\boldsymbol{p\geq 0:} In this case the proof of the lemma is similar to the proof of Lemma 2.9. Indeed, if p=0p=0, the proof is exactly the same (Figure 7(A)\ref{diff-5a}(A)). Now consider the case when p1p\geq 1(Figure 7(B)\ref{diff-5a}(B)). We only show that inequality (3)(3) also holds in this case and the rest of the proof is the same. Since the critical stage of AsA_{s} starts during the stage i+pi^{*}+p of agent AfA_{f} we have

    βα\displaystyle\beta\alpha δ+α+Si(f)+Si+1(f)++Si+p1(f)\displaystyle\geq\delta+\alpha+S_{i^{*}}(f)+S_{i^{*}+1}(f)+\cdots+S_{i^{*}+p-1}(f)
    32πi+βSi(f)3\displaystyle\frac{3}{2}\pi_{i^{*}}+\beta\frac{S_{i^{*}}(f)}{3} Si+p1(α<Si(f)3and adding32πi0on the left hand side)\displaystyle\geq S_{i^{*}+p-1}\qquad(\because\alpha<\frac{S_{i^{*}}(f)}{3}\hskip 7.22743pt\text{and adding}\hskip 7.22743pt\frac{3}{2}\pi_{i^{*}}\geq 0\hskip 7.22743pt\text{on the left hand side})

    Hence inequality (3)(3) holds in this case.

    Refer to caption
    Figure 7: An illustration for the proof of Lemma 2.11 when p0p\geq 0 and: (A) agent AsA_{s} starts its stage ii^{*} during the stage stage ii^{*} of agent AfA_{f}, and (B) agent AsA_{s} starts its stage ii^{*} during the stage i+pi^{*}+p of agent AfA_{f} for p1p\geq 1.
  • 𝒑<𝟎:\boldsymbol{p<0:} In this case the critical stage of AsA_{s} starts before the start of the critical stage of AfA_{f}. By Lemma 2.10, agent AsA_{s} starts its stage i+1i^{*}+1 after the start of stage ii^{*} of AfA_{f}. Let Ts(i)T_{s}(i) and Tf(i)T_{f}(i) denote the starting times of the stage of ii of the agents AsA_{s} and AfA_{f} respectively. We consider two subcases: Ts(i+1)<Tf(i+1)T_{s}(i^{*}+1)<T_{f}(i^{*}+1) and Ts(i+1)Tf(i+1)T_{s}(i^{*}+1)\geq T_{f}(i^{*}+1).

    • 𝑻𝒔(𝒊+𝟏)𝑻𝒇(𝒊+𝟏):\boldsymbol{T_{s}(i^{*}+1)\geq T_{f}(i^{*}+1):} Let agent AsA_{s} start its stage i+1i^{*}+1 during the stage i+1+ui^{*}+1+u of agent AfA_{f} for u0u\geq 0. First suppose that u=0u=0 (Figure 8(A)\ref{diff-5b}(A)). We have

      Si+1(s)Si+1(f)=βπi+1Xπi+1X6πi+1(βXX+6)\begin{split}S_{i^{*}+1}(s)-S_{i^{*}+1}(f)&=\beta\pi_{i^{*}+1}X-\pi_{i^{*}+1}X\\ &\geq 6\pi_{i^{*}+1}\qquad(\because\beta X\geq X+6)\end{split}

      This implies that agent AsA_{s} fully executes at least 55 bits of stage i+1i^{*}+1 during the execution of stage i+2i^{*}+2 of AfA_{f}. Since πi+24πi+1\pi_{i^{*}+2}\geq 4\pi_{i^{*}+1}, agent AsA_{s} fully executes at least 33 consecutive bits of stage i+1i^{*}+1 during the execution of the first bit of stage i+2i^{*}+2 of AfA_{f}. At least one of those 3 bits is 1. Since during the execution of the first bit of any stage agents remains passive, agent AsA_{s} meets agent AfA_{f} during the execution of the stage i+2i^{*}+2 of the latter.

      Refer to caption
      Figure 8: An illustration for the proof of Lemma 2.11 when p<0p<0, Ts(i+1)Tf(i+1)T_{s}(i^{*}+1)\geq T_{f}(i^{*}+1) and: (A) agent AsA_{s} starts its stage i+1i^{*}+1 during the stage i+1i^{*}+1 of agent AfA_{f} i.e., u=0u=0, and (B) agent AsA_{s} starts its stage i+1i^{*}+1 during the stage i+u+1i^{*}+u+1 of agent AfA_{f} for u1u\geq 1.

      Next consider the case when u1u\geq 1 (Figure 8(B)\ref{diff-5b}(B)). Let Is=Si+2(s)+Si+1(s)Si+1+u(f)I_{s}=S_{i^{*}+2}(s)+S_{i^{*}+1}(s)-S_{i^{*}+1+u}(f). Since agent AsA_{s} starts its stage i+1i^{*}+1 during the stage i+1+ui^{*}+1+u of agent AfA_{f} we have

      βα+Si(s)δ+α+Si(f)+Si+1(f)++Si+u(f)βα+Si(s)Si+u(f)(1)\begin{split}\beta\alpha+S_{i^{*}}(s)&\geq\delta+\alpha+S_{i^{*}}(f)+S_{i^{*}+1}(f)+\cdots+S_{i^{*}+u}(f)\\ \beta\alpha+S_{i^{*}}(s)&\geq S_{i^{*}+u}(f)\qquad\cdots(1)\end{split}

      Thus,

      Is=Si+2(s)+Si+1(s)Si+1+u(f)Si+2(s)+Si+1(s)5Si+u(f)(by Lemma 2.3)Si+2(s)+Si+1(s)5βα5Si(s)(from (1))βπi+2X+βπi+1X53βπiX5βπiX(α<Si(f)3)βX(42πi+4πi203πi)(by Corollary 2.1)(X+6)13πi(βXX+6)156πi(X6)6πi+2(by Corollary 2.1)\begin{split}I_{s}=S_{i^{*}+2}(s)+S_{i^{*}+1}(s)-S_{i^{*}+1+u}(f)&\geq S_{i^{*}+2}(s)+S_{i^{*}+1}(s)-5S_{i^{*}+u}(f)\qquad(\text{by Lemma \ref{lem-03}})\\ &\geq S_{i^{*}+2}(s)+S_{i^{*}+1}(s)-5\beta\alpha-5S_{i^{*}}(s)(\text{from (1)})\\ &\geq\beta\pi_{i^{*}+2}X+\beta\pi_{i^{*}+1}X-\frac{5}{3}\beta\pi_{i^{*}}X-5\beta\pi_{i^{*}}X\qquad(\because\alpha<\frac{S_{i^{*}}(f)}{3})\\ &\geq\beta X(4^{2}\pi_{i^{*}}+4\pi_{i^{*}}-\frac{20}{3}\pi_{i^{*}})\qquad(\text{by Corollary \ref{cor-01}})\\ &\geq(X+6)13\pi_{i^{*}}\qquad(\because\beta X\geq X+6)\\ &\geq 156\pi_{i^{*}}\qquad(\because X\geq 6)\\ &\geq 6\pi_{i^{*}+2}\qquad(\text{by Corollary \ref{cor-01}})\end{split}

      Hence by Lemma 2.8 substituting q=1q=1 and k=u+1k=u+1, we can conclude that agent AsA_{s} meets agent AfA_{f} during the stage at most i+u+2i^{*}+u+2 of AfA_{f} and moreover, during this meeting agent AsA_{s} is in stage at most i+2i^{*}+2.

    • 𝑻𝒔(𝒊+𝟏)<𝑻𝒇(𝒊+𝟏)):\boldsymbol{T_{s}(i^{*}+1)<T_{f}(i^{*}+1)):} By Lemma 2.10, we have Ts(i+1)>Tf(i)T_{s}(i^{*}+1)>T_{f}(i^{*}). Let I=δ+α+Si(f)βαSi(s)I=\delta+\alpha+S_{i^{*}}(f)-\beta\alpha-S_{i^{*}}(s). Since agent AsA_{s} starts stage i+1i^{*}+1 during the stage ii^{*} of AfA_{f}, we have I>0I>0. Note that II is the duration of the part of stage i+1i^{*}+1 of agent AsA_{s} that is executed during the execution of stage ii^{*} of AfA_{f}. Now one of the last two bits of any transformed label is 11. Thus, if I32πiI\geq\frac{3}{2}\pi_{i^{*}}, then agent AfA_{f} executes at least one complete activity cycle of its stage ii^{*} during the execution of the first two passivity cycles in stage i+1i^{*}+1 of AsA_{s} corresponding to the first 0 of its transformed label (Figure 9(A)\ref{diff-5c}(A)). Thus in this case agent AfA_{f} meets agent AsA_{s} during the stage i+1i^{*}+1 of the latter. Now suppose I<32πiI<\frac{3}{2}\pi_{i^{*}} (Figure 9(B)\ref{diff-5c}(B)). Let Ii+1=Si+1(s)Si+1(f)I_{i^{*}+1}=S_{i^{*}+1}(s)-S_{i^{*}+1}(f). Then Ii+1=βXπi+1πi+1X6πi+1I_{i^{*}+1}=\beta X\pi_{i^{*}+1}-\pi_{i^{*}+1}X\geq 6\pi_{i^{*}+1}. The difference Ii+1II_{i^{*}+1}-I is the duration of the part of stage i+1i^{*}+1 of AsA_{s} executed during the stage i+2i^{*}+2 of agent AfA_{f}. Since I<32πi<πi+1I<\frac{3}{2}\pi_{i^{*}}<\pi_{i^{*}+1}, we have Ii+1I>5πi+1I_{i^{*}+1}-I>5\pi_{i^{*}+1}. This implies that during the execution of the first bit 0 of the stage i+2i^{*}+2 of agent AfA_{f}, agent AsA_{s} executes at least 3 consecutive bits of stage i+1i^{*}+1 (since πi+24πi+1\pi_{i^{*}+2}\geq 4\pi_{i^{*}+1}). At least one of these bits must be 1. Hence while agent AfA_{f} executes two passivity cycles of total length πi+2\pi_{i^{*}+2}, agent AsA_{s} executes at least two activity cycles of its stage i+1i^{*}+1 and it meets agent AfA_{f} during stage i+1i^{*}+1 of AsA_{s}.

      Refer to caption
      Figure 9: An illustration for the proof of Lemma 2.11 when p<0p<0, Ts(i+1)<Tf(i+1)T_{s}(i^{*}+1)<T_{f}(i^{*}+1) and: (A) I32πiI\geq\frac{3}{2}\pi_{i^{*}}, and (B) I<32πiI<\frac{3}{2}\pi_{i^{*}}.

\Box

2.2.3 Complexity of Algorithm URT

The correctness of Algorithm URT follows immediately from Lemmas 2.7, 2.9 and 2.11. Indeed, these three lemmas together imply that agents always meet. It remains to estimate the complexity of Algorithm URT. This is done in the following theorem.

Theorem 2.1

Consider two agents with different labels from the set {1,,L}\{1,\dots,L\}, executing Algorithm URT in an unoriented infinite regular tree of constant degree d2d\geq 2, starting at an unknown distance DD. Let z(D)z(D) be the number of nodes in a ball of radius DD in this tree. Then the agents meet in time O(z(D)logL)O(z(D)\log L).

Proof. Recall that the execution time τ\tau of the algorithm is counted since the start of the earlier agent. Let AA be any agent. In view of Lemma 2.1 and since the length of the transformed label of AA is in O(logL)O(\log L), we have that the duration Si(A)S_{i}(A) of stage ii of AA is in O(z(ri)logL)O(z(r_{i})\log L) for any ii. Hence each of Si(A)S_{i^{*}}(A), Si+1(A)S_{i^{*}+1}(A), Si+2(A)S_{i^{*}+2}(A) are in O(z(ri)logL)O(z(r_{i}^{*})\log L), and hence in O(z(D)logL)O(z(D)\log L). Let α(A)\alpha(A) be the length of time since the start of AA to the time when AA reaches its critical stage. By Corollary 2.2, we have α(A)Si(A)3\alpha(A)\leq\frac{S_{i^{*}}(A)}{3}, and hence α(A)\alpha(A) is also in O(z(D)logL)O(z(D)\log L).

Let A1A_{1} be the earlier agent or any of the agents if they start simultaneously. Let δ0\delta\geq 0 be the delay of the start of the later agent w.r.t the start of A1A_{1}. By Lemma 2.5, if δα(A1)+3a(ri)\delta\geq\alpha(A_{1})+3a(r_{i^{*}}) then agents meet during the critical stage of A1A_{1}. In this case, τα(A1)+Si(A1)\tau\leq\alpha(A_{1})+S_{i^{*}}(A_{1}) and hence τ\tau is in O(z(D)logL)O(z(D)\log L).

Hence we may assume that δ<α(A1)+3a(ri)\delta<\alpha(A_{1})+3a(r_{i^{*}}). Thus δ\delta is in O(z(D)logL)O(z(D)\log L). If agents have labels of equal length then by Lemma 2.7 we have τα(A1)+Si(A1)\tau\leq\alpha(A_{1})+S_{i^{*}}(A_{1}) and hence τ\tau is in O(z(D)logL)O(z(D)\log L). Suppose that agents have labels of different lengths and that AfA_{f} is the faster agent and AsA_{s} is the slower agent. By Lemma 2.9, if Af=A1A_{f}=A_{1} then τδ+α(As)+Si(As)+Si+1(As)+Si+2(As)\tau\leq\delta+\alpha(A_{s})+S_{i^{*}}(A_{s})+S_{i^{*}+1}(A_{s})+S_{i^{*}+2}(A_{s}). Hence in this case τ\tau is in O(z(D)logL)O(z(D)\log L). Finally, by Lemma 2.11, if As=A1A_{s}=A_{1} then τα(As)+Si(As)+Si+1(As)+Si+2(As)\tau\leq\alpha(A_{s})+S_{i^{*}}(A_{s})+S_{i^{*}+1}(A_{s})+S_{i^{*}+2}(A_{s}). Hence in this case τ\tau is in O(z(D)logL)O(z(D)\log L). This proves that in all cases τ\tau is in O(z(D)logL)O(z(D)\log L), and hence concludes the proof. \Box

2.3 The lower bound

Algorithm URT has the advantage of working without any extra assumptions: agents may start with arbitrary delay and do not need any knowledge of the parameters of the problem which are the initial distance DD between them and the size LL of the space of labels. However, the disadvantage of the algorithm is its complexity that has as a factor the number z(D)z(D) of nodes in a ball of radius DD in the underlying tree. For any degree d>2d>2 of the tree, the value of z(D)z(D) is exponential in DD, thus making the time of the algorithm prohibitively large for large DD. Hence it is natural to ask if such a long time is actually needed for rendezvous. In this section we show that the answer is yes. In fact we prove that Ω(z(D))\Omega(z(D)) is a lower bound on the time of rendezvous, even in the most benign scenario, when the agents start simultaneously and know the exact values of DD and LL.

Theorem 2.2

For any d2d\geq 2 there exists a port labeling of the infinite regular tree of degree dd, such that the time of any rendezvous algorithm is in Ω(z(D))\Omega(z(D)), even if agents start simultaneously and know the exact values of DD and LL.

Proof. For d=2d=2 the theorem is trivial because then z(D)Θ(D)z(D)\in\Theta(D). Hence we may assume that d>2d>2. Consider the port numbering of the infinite regular tree of degree dd in which port numbers at both ends of each edge are equal. For any d>2d>2, there is exactly one such tree, up to isomorphism. Notice that an agent executing any rendezvous algorithm in this tree cannot learn anything during the execution. Indeed, when the agent takes port pp at some node, it knows in advance that it will enter the adjacent node of the same degree dd by a port with the same number pp. Hence a rendezvous algorithm in this tree does not have any “if” statements. It is simply a sequence of terms from {0,,d1}\{0,\dots,d-1\} corresponding to ports taken at consecutive steps. This sequence may depend on the label of the agent, but for a given label it is fixed.

Consider any initial distance D>0D>0 and any size L>1L>1 of the space of labels. Suppose that there exists an algorithm 𝒜\cal A guaranteeing rendezvous in time at most t<z(D)/2t<z(D)/2 for any agents with different labels starting simultaneously at distance DD. Consider any labels 12\ell_{1}\neq\ell_{2} and let (a1,,at)(a_{1},\dots,a_{t}) and (b1,,bt)(b_{1},\dots,b_{t}) be the sequences of integers from {0,,d1}\{0,\dots,d-1\} corresponding to the executions of the algorithm by agents A1A_{1} and A2A_{2} with labels 1\ell_{1} and 2\ell_{2}, respectively. For any node vv and any sequence (c1,,ck)(c_{1},\dots,c_{k}) of port numbers, let v(c1,,ck)v(c_{1},\dots,c_{k}) denote the node which an agent reaches starting from node vv and taking consecutive ports c1,,ckc_{1},\dots,c_{k}.

Let v1v_{1} and v2v_{2} be the starting nodes of agents A1A_{1} and A2A_{2}, respectively, and let sts\leq t. If agents meet after time ss, then they are at the same node after ss steps, i.e, v1(a1,,as)=v2(b1,,bs)v_{1}(a_{1},\dots,a_{s})=v_{2}(b_{1},\dots,b_{s}). This implies that v2=v1(a1,,as,bs,bs1,,b1)v_{2}=v_{1}(a_{1},\dots,a_{s},b_{s},b_{s-1},\dots,b_{1}). Thus, if agents meet after some time sts\leq t, then, for a fixed starting node v1v_{1} of A1A_{1}, the number of possible starting nodes v2v_{2} of agent A2A_{2} is at most tt. However, the number of nodes at distance exactly DD from v1v_{1} is larger than half of the size z(D)z(D) of the ball of radius DD centered at v1v_{1}. Hence there exists a node v2v_{2} of A2A_{2} at distance DD from v1v_{1} such that agents A1A_{1} and A2A_{2} starting from nodes v1v_{1} and v2v_{2}, respectively, and executing algorithm 𝒜\cal A do not meet after time at most tt. This is a contradiction and it proves that the time of algorithm 𝒜\cal A is in Ω(z(D))\Omega(z(D)). \Box

Another lower bound Ω(DlogL)\Omega(D\log L) on rendezvous time was proved in [14]. It was proved for agents operating in a ring with port numbers 0,1,0,1,0,1,0,1,0,1,0,1,\dots in clockwise order, even if agents start simultaneously and know the exact values of DD and LL. The same proof is valid for agents in the infinite line with the same port numbering. Hence this lower bound also holds for agents in any infinite regular tree of degree d2d\geq 2 containing such an infinite line. This gives the following corollary.

Corollary 2.3

For any d2d\geq 2, any rendezvous algorithm working for all infinite regular trees of degree dd with arbitrary port numberings, must have time in Ω(z(D)+DlogL)\Omega(z(D)+D\log L), even if agents start simultaneously and know the exact values of DD and LL.

Notice that for d=2d=2, i.e., for the infinite line, where z(D)z(D) is in Θ(D)\Theta(D), the above corollary implies that Algorithm URT has optimal complexity.

3 Oriented trees

An oriented tree is a tree such that one node called the root has label RR, all other nodes do not have labels, and at each node different from RR the port 0 is on the simple path toward RR. In this section we investigate rendezvous in infinite oriented trees. First note that Algorithm URT designed for rendezvous in unoriented regular trees works for oriented regular trees with the same complexity. However, we will show that in many cases orientation allows us to significantly speed up rendezvous.

We start with the observation that if the delay between the starting times of agents can be arbitrary then there is a large lower bound on rendezvous time even in oriented regular trees. This lower bound holds even if agents know the exact values of the initial distance DD and of the size of the label space LL.

Proposition 3.1

For any d2d\geq 2, the time of any rendezvous algorithm working for agents with arbitrary delay in infinite oriented regular trees of degree dd is in Ω(z(D))\Omega(z(D)), even if agents know the exact values of DD and LL.

Proof. Consider two agents at distance DD. The adversary starts one of the agents and delays the start of the other agent by δ=z(D)\delta=z(D). The earlier agent cannot visit all nodes at distance DD from its starting node by time δ\delta. Let vv be any such node not visited by time δ\delta. If the initial node of the later agent is vv then the execution time of algorithm 𝒜\cal A is at least z(D)z(D). \Box

The lower bound Ω(DlogL)\Omega(D\log L) from [14] holds for infinite oriented regular trees as well (this bound holds even for simultaneous start). Hence we get

Corollary 3.1

For any d2d\geq 2, any rendezvous algorithm working for agents with arbitrary delay in infinite oriented regular trees of degree dd, must have time in Ω(z(D)+DlogL)\Omega(z(D)+D\log L), even if agents know the exact values of DD and LL.

Thus for agents starting with arbitrary delay, rendezvous must be slow, even for oriented regular trees. It turns out that for simultaneous start, the situation changes dramatically. Recall that for unoriented trees, rendezvous must be slow even for simultaneous start. By contrast, we will show that orientation helps to speed up rendezvous significantly in this case. Indeed, we design three algorithms. All of them work for arbitrary oriented trees (regularity does not have to be assumed). Two of them work in the optimal time O(DlogL)O(D\log L) under assumption that agents know some upper bounds on the parameters DD or LL. The third algorithm works without any extra assumptions and has the complexity O(D2+log2L)O(D^{2}+\log^{2}L), hence it still avoids the extremely costly lower bound Ω(z(D))\Omega(z(D)).

The main idea of these three rendezvous algorithms is the same. We have to avoid costly exploration of balls that was crucial in Algorithm URT. Here is where we use orientation. Agents go “up” (towards the root) in order to position themselves on the same branch and then make moves up and down on this branch, depending on bits of their transformed label. These moves play a role similar to ball exploration for unoriented trees but are much faster, and permit the agents to meet when the range of the moves is sufficiently large.

In all these algorithms we will use the following procedures that take a positive integer xx as parameter. Procedure Up(x)Up(x) consists of xx consecutive moves, each of them taking port 0, unless the root RR is visited on the way. In the latter case the agent stops at RR and stays there forever. Thus the procedure results in going xx steps towards the root or getting to the root. Procedure UpandDown(x)Up-and-Down(x) consists of an execution of Procedure Up(x)Up(x) followed by a backtrack to the node where Procedure Up(x)Up(x) started. Procedure Up(x)Up(x) lasts xx rounds and Procedure UpandDown(x)Up-and-Down(x) lasts 2x2x rounds.

3.1 Known polynomial bound LL^{*} on label space size LL

In this section we assume that the agents know some common polynomial upper bound LL^{*} on the size LL of the label space. Let λ=logL+1\lambda=\lceil\log L^{*}\rceil+1. Hence the length of the binary representation of all labels is at most λ\lambda and the agents know λ\lambda. Moreover, since LL^{*} is a polynomial upper bound on LL, we have that λ\lambda is in O(logL)O(\log L). For any label {1,,L}\ell\in\{1,\dots,L\} we define the padded label Pad()Pad(\ell) as follows. Let (c1,,cs)(c_{1},\dots,c_{s}) be the binary representation of \ell. Pad()Pad(\ell) is the binary sequence of length 2λ2\lambda obtained as follows. First concatenate a prefix of λs\lambda-s zeroes to (c1,,cs)(c_{1},\dots,c_{s}) to get a sequence of length λ\lambda, and then replace each bit 1 by 10 and each bit 0 by 01. All padded labels have equal length 2λ2\lambda and the following property. If 12\ell_{1}\neq\ell_{2} then there exists an index j2λj\leq 2\lambda, such that the jjth bit of Pad(1)Pad(\ell_{1}) is 1 and the jjth bit of Pad(2)Pad(\ell_{2}) is 0.

Algorithm Known-Bound-on-L works in stages i=0,1,i=0,1,\dots. In a stage ii the agent makes 2i2^{i} steps up and then “executes” consecutive bits of its padded label: if the bit is 1, the agent executes Procedure UpandDown(2i)Up-and-Down(2^{i}), and it stays idle for 22i2\cdot 2^{i} rounds if the bit is 0. There is an exception to this rule: if an agent visits the root RR, it stops executing moves and stays there forever. In view of the simultaneous start, the use of padded labels whose length is the same for both agents guarantees that both agents will start each stage simultaneously (unless one of them visits RR). The algorithm is interrupted as soon as the agents meet.

Algorithm Known-Bound-on-L

Pad():=(b1,b2,,bk)Pad(\ell):=(b_{1},b_{2},\dots,b_{k})
         for i=0,1,2,i=0,1,2,\dots do
                 Up(2i)Up(2^{i})
                 for j=1j=1 to kk do
                          if bj=1b_{j}=1 then
                                   UpandDown(2i)Up-and-Down(2^{i})
                          else
                                   stay idle for 22i2\cdot 2^{i} rounds

Theorem 3.1

Consider two agents with different labels from the set {1,,L}\{1,\dots,L\}, executing Algorithm Known-Bound-on-L in an infinite oriented tree, starting simultaneously at an unknown distance DD. Suppose that agents know a common polynomial upper bound LL^{*} on the size LL of the label space. Then the agents meet in time O(DlogL)O(D\log L), which is optimal.

Proof. Let ii^{*} be the smallest integer ii such that D2iD\leq 2^{i}. First suppose that none of the agents visits the root RR before the end of stage ii^{*}. The duration of stage ii is (4λ+1)2i(4\lambda+1)2^{i}, for each of the agents. Since agents start simultaneously, they also start each stage ii simultaneously. By induction on ii, after the first execution of Procedure Up(2i)Up(2^{i}) of stage ii, agents are at distance at most DD and each agent ends stage ii at the same node at which it was after the first execution of Procedure Up(2i)Up(2^{i}) in this stage. Consider the time tt immediately after the first execution of Procedure Up(2i)Up(2^{i^{*}}) of stage ii^{*}. Both agents are on the same branch in the tree, at distance at most DD. Let A1A_{1} be the lower agent and A2A_{2} the upper agent (i.e., A2A_{2} is on the simple path from the position of A1A_{1} at time tt to the root). Let j2λj\leq 2\lambda be the first index such that the jjth bit of the padded label of A1A_{1} is 1 and the jjth bit of the padded label of A2A_{2} is 0. Both agents execute this jjth bit simultaneously during 22i2\cdot 2^{i^{*}} rounds. Hence the upper agent A2A_{2} stays idle at distance at most DD while the lower agent A1A_{1} executes the first part of Procedure UpandDown(2i)Up-and-Down(2^{i^{*}}). In view of D2iD\leq 2^{i^{*}} this guarantees that agent A1A_{1} meets agent A2A_{2}. This meeting occurs during stage ii^{*}, i.e., in time O(2iλ)O(2^{i^{*}}\lambda) which is O(DlogL)O(D\log L), by definition of λ\lambda and ii^{*}.

Next suppose that one of the agents visits root RR before the end of stage ii^{*}. Suppose that agent A1A_{1} is the first to visit this node. Let g1g_{1} and g2g_{2} be the distance of the starting node of agent A1A_{1} (resp. A2A_{2}) from the root. Hence g2g1+Dg_{2}\leq g_{1}+D. Hence, if agents do not meet before, agent A2A_{2} must reach the root RR by the end of stage i+1i^{*}+1 and stop. Hence the meeting must occur at the latest in time O(2iλ)O(2^{i^{*}}\lambda) which is O(DlogL)O(D\log L), by definition of λ\lambda and ii^{*}. \Box

3.2 Known linear bound DD^{*} on the initial distance DD

In this section we assume that the agents know some common linear upper bound DD^{*} on the initial distance DD between them but they may have no knowledge about LL. For any label {1,,L}\ell\in\{1,\dots,L\} we first define the prefix-free label PF()PF(\ell) as follows. Let (c1,,cs)(c_{1},\dots,c_{s}) be the binary representation of \ell. In order to obtain PF()PF(\ell), replace each bit 1 by 10, each bit 0 by 01 and add bits 11 at the end. The obtained sequence is of length 2s+22s+2 and has the property that if we start with two different labels then none of the obtained sequences can be a prefix of the other (cf. [14]). To get the adapted label Adapt()Adapt(\ell), replace each 1 by 10 and each 0 by 01 in the string PF()PF(\ell). The resulting sequence Adapt()Adapt(\ell) has length 4s+44s+4. Notice that since binary representations of labels may have different lengths, the same is true for the adapted labels. However, the adapted labels have the property that if 12\ell_{1}\neq\ell_{2} then there exists an index jj, such that the jjth bit of Adapt(1)Adapt(\ell_{1}) is 1 and the jjth bit of Adapt(2)Adapt(\ell_{2}) is 0.

Algorithm Known-Bound-on-D has the same idea as Algorithm Known-Bound-on-L but now we do not need stages, as a linear bound DD^{*} on DD is known: agents know the appropriate search range from the outset.

Algorithm Known-Bound-on-D

Adapt():=(b1,b2,,bk)Adapt(\ell):=(b_{1},b_{2},\dots,b_{k})
         Up(D)Up(D^{*})
         for j=1j=1 to kk do
                 if bj=1b_{j}=1 then
                          UpandDown(D)Up-and-Down(D^{*})
                 else
                          stay idle for 2D2D^{*} rounds
         if the current node is not RR then
                 Up(D)Up(D^{*})

Theorem 3.2

Consider two agents with different labels from the set {1,,L}\{1,\dots,L\}, executing Algorithm Known-Bound-on-D in an infinite oriented tree, starting simultaneously at a distance DD. Suppose that agents know a common linear upper bound DD^{*} on DD. Then the agents meet in time O(DlogL)O(D\log L).

Proof. First suppose that none of the agents visits the root RR by the end of the first execution of procedure Up(D)Up(D^{*}). Consider the time tt immediately after the first execution of Procedure Up(D)Up(D^{*}). Both agents are on the same branch in the tree, at distance at most DD. Let A1A_{1} be the lower agent and A2A_{2} the upper agent. Let jj be the first index such that the jjth bit of the adapted label of A1A_{1} is 1 and the jjth bit of the adapted label of A2A_{2} is 0. Both agents execute this jjth bit simultaneously during 2D2D^{*} rounds. Hence the upper agent A2A_{2} stays idle at distance at most DD while the lower agent A1A_{1} executes the first part of Procedure UpandDown(D)Up-and-Down(D^{*}). In vew of DDD\leq D^{*}, this guarantees that agent A1A_{1} meets agent A2A_{2}. This meeting occurs in time O(Dk)O(D^{*}k) which is O(DlogL)O(D\log L), by definition of kk and DD^{*}.

Next suppose that one of the agents visits the root RR by the end of the first execution of procedure Up(D)Up(D^{*}). Suppose that agent A1A_{1} is the first to visit this node. Let g1g_{1} and g2g_{2} be the distance of the starting node of agent A1A_{1} (resp. A2A_{2}) from the root. Hence g2g1+Dg_{2}\leq g_{1}+D. It follows that if agent A2A_{2} did not visit root RR by the end of the first execution of procedure Up(D)Up(D^{*}) then it must visit it by the end of the second execution of procedure Up(D)Up(D^{*}). Hence the meeting occurs in time O(Dk)O(D^{*}k) which is O(DlogL)O(D\log L), by definition of kk and DD^{*}. \Box

3.3 No extra knowledge

We finally consider the situation when agents start simultaneously but do not have any extra knowledge about the parameters DD and LL. In this case we design a rendezvous algorithm which, although slower than the two previous ones, still avoids the exponential lower bound z(D)z(D) that was unavoidable for unoriented trees even with simultaneous start and also unavoidable for oriented trees with arbitrary delay.

First, for any label \ell, define an infinite binary sequence Adapt()Adapt^{*}(\ell). The sequence is defined as follows. Concatenate infinitely many copies of the prefix-free label PF()PF(\ell) (defined in the previous subsection) and denote the obtained sequence by PF()PF^{*}(\ell). Then Adapt()Adapt^{*}(\ell) is defined by replacing each 1 by 10 and each 0 by 01 in PF()PF^{*}(\ell). Note that an equivalent way of defining Adapt()Adapt^{*}(\ell) is to concatenate infinitely many copies of the adapted label Adapt()Adapt(\ell), defined in the previous subsection.

The idea of Algorithm No-Extra-Knowledge is similar to that of Algorithms Known-Bound-on-L and Known-Bound-on-D but with two important differences. First, in each stage only one bit of Adapt()Adapt^{*}(\ell) is processed and second, in consecutive stages the ranges of agents’ moves are not doubled but increased by 1. The algorithm is interrupted as soon as the agents meet.

Algorithm No-Extra-Knowledge

Adapt():=(b1,b2,)Adapt^{*}(\ell):=(b_{1},b_{2},\dots)
         for j=1,2,j=1,2,\dots do
                 Up(j)Up(j)
                 if bj=1b_{j}=1 then
                          UpandDown(j)Up-and-Down(j)
                 else
                          stay idle for 2j2j rounds

In the proof of correctness and the analysis of complexity of Algorithm No-Extra-Knowledge we will use the following lemma.

Lemma 3.1

Consider two distinct labels 1\ell_{1} and 2\ell_{2}. For any index j4j\geq 4 there exists an integer y4logLy\leq 4\log L, such that the (j+y)(j+y)th bit of Adapt(1)Adapt^{*}(\ell_{1}) is 1 and the (j+y)(j+y)th bit of Adapt(2)Adapt^{*}(\ell_{2}) is 0.

Proof. First consider the infinite sequences PF(1)PF^{*}(\ell_{1}) and PF(2)PF^{*}(\ell_{2}). Let xx be the length of PF(1)PF(\ell_{1}). Let i1i\geq 1 be any even index. Let iii^{\prime}\geq i be the smallest index at which a copy of PF(1)PF(\ell_{1}) starts in PF(1)PF^{*}(\ell_{1}). By definition of a prefix-free label, there exists an index i′′i+xi^{\prime\prime}\leq i^{\prime}+x such that the i′′i^{\prime\prime}th bit is different in PF(1)PF^{*}(\ell_{1}) and PF(2)PF^{*}(\ell_{2}). Let p1q1p_{1}q_{1} and p2q2p_{2}q_{2} be the pairs of bits in Adapt(1)Adapt^{*}(\ell_{1}) and Adapt(2)Adapt^{*}(\ell_{2}) respectively, corresponding to the i′′i^{\prime\prime}th bit of PF(1)PF^{*}(\ell_{1}) and PF(2)PF^{*}(\ell_{2}) respectively. Hence, either (p1q1)=(10)(p_{1}q_{1})=(10) and (p2q2)=(01)(p_{2}q_{2})=(01) or vice-versa. In both cases, for one of the indices tt corresponding to these bits, the tt-th bit of Adapt(1)Adapt^{*}(\ell_{1}) is 1 and the tt-th bit of Adapt(2)Adapt^{*}(\ell_{2}) is 0.

Consider any index j4j\geq 4. Let i=2j/4i=2\lfloor j/4\rfloor. Hence we have i′′i+xi+2logLi^{\prime\prime}\leq i^{\prime}+x\leq i+2\log L and thus t2i′′2i+4logLj+4logLt\leq 2i^{\prime\prime}\leq 2i+4\log L\leq j+4\log L, which concludes the proof. \Box

We are now ready to prove the correctness and analyze the complexity of Algorithm No-Extra-Knowledge.

Theorem 3.3

Consider two agents with different labels from the set {1,,L}\{1,\dots,L\}, executing Algorithm No-Extra-Knowledge in an infinite oriented tree, starting simultaneously at a distance DD. Then the agents meet in time O(D2+log2L)O(D^{2}+\log^{2}L).

Proof. First assume that none of the agents visits the root RR before the meeting. Since agents start simultaneously, they execute each turn of the for loop (corresponding to the consecutive bits) precisely in the same time period. It is enough to prove the theorem for D4D\geq 4. Consider any index jDj\geq D. After the execution of the jj-th bit both agents are on the same branch in the tree, at the same distance at most DD. Let 1\ell_{1} be the label of the lower agent. By Lemma 3.1, there exists an integer y4logLy\leq 4\log L, such that the (D+y)(D+y)th bit of Adapt(1)Adapt^{*}(\ell_{1}) is 1 and the (D+y)(D+y)th bit of Adapt(2)Adapt^{*}(\ell_{2}) is 0. During the execution of bit t=D+yt=D+y, first both agents execute procedure Up(t)Up(t) simultaneously, and then the upper agent stays idle for 2t2t rounds, while the lower agent executes procedure UpandDown(t)Up-and-Down(t). Since tDt\geq D, the lower agent must meet the upper agent during the first half of the execution of this procedure. It follows that the agents meet at the latest after the execution of bit D+4logLD+\lceil 4\log L\rceil. Since the time of execution of any bit jj is 3j3j, executing all bits until bit D+4logLD+\lceil 4\log L\rceil takes time O((D+4logL)2)=O(D2+log2L)O((D+\lceil 4\log L\rceil)^{2})=O(D^{2}+\log^{2}L).

Next assume that one of the agents visits the root RR before the meeting. Consider the first agent visiting RR. This must happen at some time ss before the end of the execution of bit D+4logLD+\lceil 4\log L\rceil. The other agent must reach RR by the time s+Ds+D. Since ss is in O(D2+log2L)O(D^{2}+\log^{2}L), the meeting at RR must also happen in time O(D2+log2L)O(D^{2}+\log^{2}L). \Box

Remark. It is important to explain why the ranges of agents processing consecutive bits are incremented by 1 and not doubled, as in the other algorithms. If the range in the processing of the jj-th bit was 2j2^{j} instead of jj, then processing bit D+4logLD+\lceil 4\log L\rceil would take time O(2D+4logL)O(2^{D+\lceil 4\log L\rceil}) causing an exponential blow-up. Incrementing by 1 results in total cost quadratic in D+logLD+\log L but not exponential. We have seen before that when some upper bound on DD or on LL is known, this problem can be avoided altogether, resulting in optimal complexity O(DlogL)O(D\log L).

4 Conclusion

We studied deterministic rendezvous in unoriented and oriented infinite trees, showing the impact of orientation of the tree on the time of rendezvous. For unoriented regular trees, we designed an algorithm working in time O(z(D)logL)O(z(D)\log L) and showed a lower bound of Ω(z(D)+DlogL)\Omega(z(D)+D\log L) on the time of any such algorithm. While these bounds match for d=2d=2 and are very close for d>2d>2 if LL is not very large, there remains a gap whose filling is a natural open problem. For oriented regular trees with arbitrary delay between waking times of agents, the situation is identical: the above algorithm still works and the same lower bound is valid. However, for simultaneous start in oriented trees (not necessarily regular), the situation is different. Assuming either the knowledge of a polynomial upper bound on LL or of a linear upper bound on DD, we showed algorithms working in time O(DlogL)O(D\log L), which is optimal. Without such extra knowledge, we showed an algorithm working in time O(D2+log2L)O(D^{2}+\log^{2}L), thus avoiding the exponential lower bound Ω(z(D))\Omega(z(D)) without additional assumptions. If DD and logL\log L are of the same order of magnitude, this algorithm is still optimal. The problem whether there exists a rendezvous algorithm working in oriented trees in time O(DlogL)O(D\log L) for simultaneous start, without assuming any knowledge concerning DD and LL, remains open.

It remains to discuss our assumptions concerning the environment where the agents operate. First it is natural to ask if our results could be generalized for graphs which are not trees. Our main rendezvous algorithm for unoriented regular trees relies on exploration of balls of increasing radii, with the aim of meeting the other agent that stays idle at some node of such a ball during its exploration. It should be recalled that while in an anonymous tree a ball can be explored in time linear in its size, no such exploration algorithm is known in arbitrary anonymous graphs because of loops that the agent may not notice due to anonymity of the nodes. Hence most rendezvous algorithms known from the literature and working for anonymous graphs (cf. [14, 19, 25]) are restricted to finite graphs, rely on the exploration of the entire graph, and have complexity polynomial in its size. Efficient algorithms working for infinite graphs [4, 10] use additional assumptions, such as the knowledge of the position of the agent in the graph. It remains open to design efficient rendezvous algorithms working in arbitrary infinite graphs without such extra knowledge.

Restricting attention to trees, we should discuss the assumptions that they are infinite and, in case of unoriented trees, regular. The first assumption is for convenience of problem statement, in order to dismiss algorithms relying on the exploration of the entire tree. In [14], the authors give such an algorithm working in time O(n+logL)O(n+\log L), where nn is the size of the tree. In our case, the assumption that the tree is infinite can be easily removed. All our algorithms work for finite trees as well, without change of complexity. (In the case of finite trees, “regular” means that all internal nodes have the same degree.)

The discussion of the second assumption, that of regularity of the tree, is more subtle. In our algorithm for unoriented trees, we use it in order to guarantee that all balls of a given radius have equal size, and thus an agent can compute the periods of its idleness to match exploration periods of the other agent. This is not possible if the tree is arbitrary because then different balls of the same radius can have very different sizes. If agents knew a common upper bound b(s)b(s) on the size of any ball of radius ss then our algorithm for unoriented trees could be generalized to arbitrary (non-regular) trees with z(D)z(D) replaced by b(D)b(D) in the complexity. However, for arbitrary unoriented trees without any extra knowledge, designing a rendezvous algorithm with time close to optimal seems to be a challenging open problem. By contrast, all our algorithms with simultaneous start for oriented trees are efficient and work without assuming regularity, as these algorithms do not rely on exploring balls in the tree.

References

  • [1] S. Alpern, The rendezvous search problem, SIAM J. on Control and Optimization 33 (1995), 673-683.
  • [2] S. Alpern and S. Gal, The theory of search games and rendezvous. Int. Series in Operations research and Management Science, Kluwer Academic Publisher, 2002.
  • [3] E. Anderson and S. Fekete, Two-dimensional rendezvous search, Operations Research 49 (2001), 107-118.
  • [4] E. Bampas, J. Czyzowicz, L. Gasieniec, D. Ilcinkas, A. Labourel, Almost optimal asynchronous rendezvous in infinite multidimensional grids, Proc. 24th International Symposium on Distributed Computing (DISC 2010), 297-311.
  • [5] V. Baston and S. Gal, Rendezvous on the line when the players’ initial distance is given by an unknown probability distribution, SIAM J. on Control and Opt. 36 (1998), 1880-1889.
  • [6] V. Baston and S. Gal, Rendezvous search when marks are left at the starting points, Naval Reaserch Logistics 48 (2001), 722-731.
  • [7] S. Bouchard, M. Bournat, Y. Dieudonné, S. Dubois, F. Petit, Asynchronous approach in the plane: a deterministic polynomial algorithm. Distributed Compuing. 32 (2019), 317-337.
  • [8] S. Bouchard, Y. Dieudonné, A. Pelc, F. Petit, Almost universal anonymous rendezvous in the plane, Proc. 32nd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2020), 117-127.
  • [9] M. Cieliebak, P. Flocchini, G. Prencipe, N. Santoro, Distributed computing by mobile robots: Gathering, SIAM J. Comput. 41 (2012), 829-879.
  • [10] A. Collins, J. Czyzowicz, L. Gasieniec, A. Kosowski, R. Martin, Synchronous rendezvous for local aware agents, Proc. 25th International Symposium on Distributed Computing (DISC 2011), 447-459.
  • [11] J. Czyzowicz, L. Gasieniec, R. Killick, E. Kranakis, Symmetry breaking in the plane: Rendezvous by robots with unknown attributes, Proc. 38th ACM Symposium on Principles of Distributed Computing (PODC 2019 ), 4-13.
  • [12] J. Czyzowicz, A. Kosowski, A. Pelc, How to meet when you forget: Log-space rendezvous in arbitrary graphs, Distributed Computing 25 (2012), 165-178.
  • [13] G. De Marco, L. Gargano, E. Kranakis, D. Krizanc, A. Pelc, U. Vaccaro, Asynchronous deterministic rendezvous in graphs, Theoretical Computer Science 355 (2006), 315-326.
  • [14] A. Dessmark, P. Fraigniaud, D. Kowalski, A. Pelc. Deterministic rendezvous in graphs. Algorithmica 46 (2006), 69-96.
  • [15] Y. Dieudonné, A. Pelc, Anonymous meeting in networks, Algorithmica 74 (2016), 908-946.
  • [16] Y. Dieudonné, A. Pelc, V. Villain, How to meet asynchronously at polynomial cost, SIAM Journal on Computing 44 (2015), 844-867.
  • [17] P. Flocchini, G. Prencipe, N. Santoro, P. Widmayer, Gathering of asynchronous robots with limited visibility, Theoretical Computer Science 337 (2005), 147-168.
  • [18] P. Fraigniaud, A. Pelc, Delays induce an exponential memory gap for rendezvous in trees, ACM Transactions on Algorithms 9 (2013), 17:1-17:24.
  • [19] D. Kowalski, A. Malinowski, How to meet in anonymous network, Theoretical Computer Science 399 (2008), 141-156.
  • [20] E. Kranakis, D. Krizanc, and P. Morin, Randomized Rendez-Vous with Limited Memory, Proc. 8th Latin American Theoretical Informatics (LATIN 2008), 605-616.
  • [21] E. Kranakis, D. Krizanc, N. Santoro and C. Sawchuk, Mobile agent rendezvous in a ring, Proc. 23rd Int. Conference on Distributed Computing Systems (ICDCS 2003), 592-599.
  • [22] W. Lim and S. Alpern, Minimax rendezvous on the line, SIAM J. on Control and Optimization 34 (1996), 1650-1665.
  • [23] A. Pelc, Deterministic rendezvous in networks: A comprehensive survey, Networks 59 (2012), 331-347.
  • [24] A. Pelc, Deterministic rendezvous algorithms, in: Distributed Computing by Mobile Entities, P. Flocchini, G. Prencipe, N. Santoro, Eds., Springer 2019, LNCS 11340.
  • [25] A. Ta-Shma and U. Zwick. Deterministic rendezvous, treasure hunts and strongly universal exploration sequences, ACM Trans. Algorithms 10 (2014), 12:1-12:15.