Table of Contents
Fetching ...

Computing in Anonymous Dynamic Networks Is Linear

Giuseppe A. Di Luna, Giovanni Viglietta

TL;DR

This work gives the first linear-time counting algorithm for processes in anonymous 1-interval-connected dynamic networks with a leader, and introduces a combinatorial structure called history tree, which is of independent interest.

Abstract

We give the first linear-time counting algorithm for processes in anonymous 1-interval-connected dynamic networks with a leader. As a byproduct, we are able to compute in $3n$ rounds every function that is deterministically computable in such networks. If explicit termination is not required, the running time improves to $2n$ rounds, which we show to be optimal up to a small additive constant (this is also the first non-trivial lower bound for counting). As our main tool of investigation, we introduce a combinatorial structure called "history tree", which is of independent interest. This makes our paper completely self-contained, our proofs elegant and transparent, and our algorithms straightforward to implement. In recent years, considerable effort has been devoted to the design and analysis of counting algorithms for anonymous 1-interval-connected networks with a leader. A series of increasingly sophisticated works, mostly based on classical mass-distribution techniques, have recently led to a celebrated counting algorithm in $O({n^{4+ ε}} \log^{3} (n))$ rounds (for $ε>0$), which was the state of the art prior to this paper. Our contribution not only opens a promising line of research on applications of history trees, but also demonstrates that computation in anonymous dynamic networks is practically feasible, and far less demanding than previously conjectured.

Computing in Anonymous Dynamic Networks Is Linear

TL;DR

This work gives the first linear-time counting algorithm for processes in anonymous 1-interval-connected dynamic networks with a leader, and introduces a combinatorial structure called history tree, which is of independent interest.

Abstract

We give the first linear-time counting algorithm for processes in anonymous 1-interval-connected dynamic networks with a leader. As a byproduct, we are able to compute in rounds every function that is deterministically computable in such networks. If explicit termination is not required, the running time improves to rounds, which we show to be optimal up to a small additive constant (this is also the first non-trivial lower bound for counting). As our main tool of investigation, we introduce a combinatorial structure called "history tree", which is of independent interest. This makes our paper completely self-contained, our proofs elegant and transparent, and our algorithms straightforward to implement. In recent years, considerable effort has been devoted to the design and analysis of counting algorithms for anonymous 1-interval-connected networks with a leader. A series of increasingly sophisticated works, mostly based on classical mass-distribution techniques, have recently led to a celebrated counting algorithm in rounds (for ), which was the state of the art prior to this paper. Our contribution not only opens a promising line of research on applications of history trees, but also demonstrates that computation in anonymous dynamic networks is practically feasible, and far less demanding than previously conjectured.
Paper Structure (30 sections, 18 theorems, 5 equations, 8 figures)

This paper contains 30 sections, 18 theorems, 5 equations, 8 figures.

Key Result

Theorem 2.1

If the Generalized Counting problem can be solved (with termination) in $f(n)$ rounds, then every multi-aggregate problem can be solved (with termination) in $f(n)$ rounds, too.

Figures (8)

  • Figure 1: The first rounds of a dynamic network with $n=12$ processes and the corresponding levels of the history tree. The letters L, A, B indicate processes' inputs (the process with input L is the leader). At each round, the network's links are represented by solid red edges. Sets of indistinguishable processes are indicated by dashed blue lines and unique labels. The same labels are also reported in the history tree: each node corresponds to a set of indistinguishable processes. It should be noted that labels other than L, A, B are not part of the history tree itself, and have been added for the reader's convenience. The dashed red edges in the history tree represent messages received by processes through the links; the numbers indicate their multiplicities (when greater than $1$). For example, the edge $\{c_2, b_4\}$ has multiplicity $2$ because, at round 3, each of the two processes in the class $c_2$ receives two identical messages from the (indistinguishable) processes that were in the class $b_4$ in the previous round. On the other hand, the node labeled $c_5$ represents four processes (i.e., its anonymity is $4$) at round 3; among them, only one receives a message from $c_6$ in the next round. Thus, this process is disambiguated, which causes the node $c_5$ to branch into two nodes: $d_7$, with anonymity $3$, and $d_8$, with anonymity $1$. The view of the node labeled $b_3$ is the subgraph of the history tree induced by the nodes with labels in the set $\{b_3, a_3, a_5, \hbox{L}, \hbox{A}, \hbox{B}, r\}$.
  • Figure 2: Left: an exposed pair of nodes. Center: if the anonymities of $u$, $u_1$, $u_2$, …, $u_k$ are known, then $v$ is guessable by $u$. Right: if the colored nodes are counted, the blue ones form a counting cut, and the orange ones define a non-trivial isle with root $s$, where the nodes with a dot are internal.
  • Figure 3: The first rounds of the dynamic network $\mathcal{G}_n$ used in \ref{['xth:lower']} (left) and the corresponding levels of its history tree (right), where $n=6$; the process in blue is the leader. The white nodes and the dashed edges in the history tree are not in the history of the leader at round $7$. The labels $p_1$, …, $p_6$ have been added for the reader's convenience, and mark the processes that get disambiguated, as well as their corresponding nodes of the history tree, which have anonymity $1$.
  • Figure 4: The first rounds of the dynamic network $\mathcal{G}_{n+1}$ with $n=6$. Observe that the history of the leader at round $7$ is identical to the history highlighted in \ref{['xfig:lower1']}. The intuitive reason is that, from round $1$ to round $n-3$, both networks have a cycle whose processes are all indistinguishable (and are therefore represented by a single node in the history tree), except for the one process with degree $3$. Thus, the history trees of $\mathcal{G}_n$ and $\mathcal{G}_{n+1}$ are identical up to level $n-3$. After that, the two networks get disambiguated, but this information takes another $n-3$ rounds to reach the leader. Therefore, if the leader of $\mathcal{G}_n$ and the leader of $\mathcal{G}_{n+1}$ execute the same algorithm, they must have the same internal state up to round $2n-5$, due to \ref{['xth:view']}. In particular, they cannot give different outputs up to that round, which leads to our lower bounds on stabilization and termination for the Counting problem.
  • Figure 5: An example of a dynamic network where the naive techniques of \ref{['xs:4.1']} fail to provide a termination condition. The white nodes in the history tree are not in the history of the leader at the last round; the red edges not in the view are not drawn. Same-colored processes have equal inputs. Note that, after level $L_1$, all levels in the leader's view are identical for an arbitrarily long sequence of rounds (depending on the parameter $k$).
  • ...and 3 more figures

Theorems & Definitions (35)

  • Theorem 2.1
  • proof
  • Theorem 3.1
  • Lemma 4.1
  • proof
  • Lemma 4.2
  • proof
  • Corollary 4.3
  • proof
  • Theorem 4.4
  • ...and 25 more