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

Temporal Reachability Graphs

John Whitbeck{}^{\textrm{\textdagger}}{}^{\textrm{\textdaggerdbl}}
Marcelo Dias de Amorim{}^{\textrm{\textdagger}}
Vania Conan{}^{\textrm{\textdaggerdbl}}
john.whitbeck@lip6.fr marcelo.amorim@lip6.fr vania.conan@fr.thalesgroup.com
   Jean-Loup Guillaume{}^{\textrm{\textdagger}}
jean-loup.guillaume@lip6.fr
(2012)
Abstract

While a natural fit for modeling and understanding mobile networks, time-varying graphs remain poorly understood. Indeed, many of the usual concepts of static graphs have no obvious counterpart in time-varying ones. In this paper, we introduce the notion of temporal reachability graphs. A (τ,δ\tau,\delta)-reachability graph is a time-varying directed graph derived from an existing connectivity graph. An edge exists from one node to another in the reachability graph at time tt if there exists a journey (i.e., a spatiotemporal path) in the connectivity graph from the first node to the second, leaving after tt, with a positive edge traversal time τ\tau, and arriving within a maximum delay δ\delta. We make three contributions. First, we develop the theoretical framework around temporal reachability graphs. Second, we harness our theoretical findings to propose an algorithm for their efficient computation. Finally, we demonstrate the analytic power of the temporal reachability graph concept by applying it to synthetic and real-life datasets. On top of defining clear upper bounds on communication capabilities, reachability graphs highlight asymmetric communication opportunities and offloading potential.

category:
C.2.1 Computer-Communication Networks Network Design and Architecture
keywords:
Store and forward networks
category:
F.2.2 Analysis of Algorithms and Problem Complexity Nonnumerical Algorithms and Problems
category:
G.2.2 Discrete Mathematics Graph Theory
keywords:
Time-varying graphs, Reachability, Opportunistic networks, Communication performance bounds
conference: MobiCom’12, August 22–26, 2012, Istanbul, Turkey.terms: Algorithms, Theory, Performance

1 Introduction

In time-varying graphs (TVG), vertices and edges appear and disappear as a function of time. Alternatively called temporal networks [15] or evolving graphs [29], time-varying graphs have emerged over the past few years as a key model for a variety of complex systems [10, 13, 16, 26, 27]. Time-varying graphs can also serve as a solid theoretical framework for investigating fundamental properties of mobile networks [3, 9]. In Fig. 1, we show an example of a time-varying graph representing a five-node mobile network.

Refer to caption
Figure 1: Snapshots of a time-varying graph with five nodes.

Many of the typical concepts of static graphs such as paths, distance, diameter, or node degree have no obvious counterpart in time-varying graphs. Theorems that are true on static graphs may not hold in time-varying ones [15] and dynamic equivalents of well-known problems on static graphs, such as finding strongly connected components, turn out to be intractable [2]. Naturally, it is always possible to track the evolution of static metrics such as node degree or clustering on snapshots of the time-varying graph at certain time intervals [6] but, while instructive, this approach often fails to capture the correlations between successive snapshots [14]. Recently a number of concepts specific to time-varying graphs have been studied such as journeys [29], temporal diameter [5], or reachability time [14].

In the context of opportunistic mobile networking, much attention has been focused on aggregate inter-contact time distributions. These have been found to fit a power-law (with an α\alpha parameter smaller than 1) followed by an exponential cutoff in a number of real-life datasets [4]. Should this power-law also hold for pairwise inter-contact times, then the expected values of these would be infinite, a pessimistic result indeed. However, further work has shown that aggregate power-law distributions can emerge from a diversity of pairwise inter-contact laws (including exponential) [7, 22]. Moreover, all information on multi-hop connectivity is ignored. Inter-contact time measurements do not therefore suffice to characterize connectivity in mobile networks.

Temporal reachability graphs (TRG), our contribution, on the other hand, offer an immediate view of communication possibilities in a dynamic network. Given a time-varying graph 𝒢\mathcal{G}, an arc exists from vertex aa to vertex bb at time tt in its derived (τ,δ\tau,\delta)-reachability graph if a journey exists in 𝒢\mathcal{G} from aa to bb leaving aa after time tt and arriving at bb before t+δt+\delta, given that each single-hop communication takes time τ\tau. Here, τ\tau is the edge traversal time and δ\delta is the upper bound on journey times in 𝒢\mathcal{G}. By definition, temporal reachability are directed time-varying graphs. For example, in the context of studying information dissemination in delay-tolerant networks (DTN) [11], τ\tau would be the one-hop transmission delay and δ\delta is the maximum tolerated delay.

Refer to caption
Figure 2: Temporal reachability graphs obtained from the time-varying graph of Fig. 1 for δ\delta=1s and 2s. Arrows indicate uni-directional communication opportunisties, while their absence indicates bi-directional ones. We show snapshots for different times tt. We assume in this example that one-hop communications require τ\tau=1s.

In Fig. 2, we show the instances of the temporal-reachability graph extracted from the opportunistic mobile networks of Fig. 1 at different times (assuming that the graph does not change between the snapshots shown in Fig. 1). We consider in this example that the link traversal time is τ\tau=1s. When δ=1\delta=1s, the only possible journeys in 𝒢\mathcal{G} at t{1s,2s,3s}t\in\{1s,2s,3s\} are the direct links between nodes – communications tolerate a delay of 1s, which is the time to traverse one single link. When δ=2\delta=2s, several more journeys appear. Consider for instance the reachability graph at t=0t=0s. There is a directed link between aa and dd as aa can wait one time unit for the link (b,d)(b,d) to appear (aba\leadsto b and bdb\leadsto d); thus, a two-hop journey ada\leadsto d through bb becomes possible.

We make three main contributions:

Temporal reachability graphs. We formalize the concept of reachability graphs. In particular, under conditions that hold for all empirical datasets, we prove an additive property on the delay of reachability graphs. Roughly speaking, knowledge of the reachability graphs for delays δ\delta and μ\mu is enough to derive the reachability graph for delay δ+μ\delta+\mu.

Algorithm for efficient computation of TRG. We translate this additive property into an efficient single-pass streaming algorithm [1] to calculate entire families of reachability graphs.

Insights into real-world mobility traces. Once calculated, reachability graphs yield many original insights on the temporal structure of the time-varying graphs they derive from. In this paper, we calculate the reachability graphs of several synthetic and real-life high-resolution connectivity traces [18, 20, 23, 25]. These highlight the concepts of temporal connectivity, temporal asymmetry, and temporal dominating set. From the point of view of opportunistic communications, reachability graphs immediately provide, at all times, the maximum delivery ratio and the minimum set of users required to broadcast a message to the entire network, thereby offering a complete view of opportunistic communication capabilities and offloading potential.

The rest of the paper is structured as follows. Sections 2 and 3 introduce the concepts of time-varying and reachability graphs. Their theoretical properties justify their computation by a streaming algorithm detailed in Section 4. Section 5 then analyzes the reachability graphs of synthetic and real-life connectivity graphs. Related work is presented in Section 6. Finally, Section 7 concludes.

2 Time-varying graphs

Time-varying graphs are a very useful high-level abstraction for studying connectivity over time in mobile network. Terms, notations, and definitions around time-varying graphs vary considerably, but recently, Casteigts et al. have proposed a unified framework for TVGs and, wherever applicable, we will use their definitions and notations [3].

Table 1: Notations used in this paper
Notation Meaning
NN Number of vertices
𝒢\mathcal{G} A time-varying graph (TVG)
τ\tau Edge traversal time of a TVG
η\eta Time step of an η\eta-regular TVG
δ\mathcal{R}_{\delta} Reachability graph with maximum
delay δ\delta derived from a TVG 𝒢\mathcal{G}
δ(t)\|\mathcal{R}_{\delta}(t)\| Number of arcs in δ\mathcal{R}_{\delta} at time tt
𝒰δ\mathcal{U}_{\delta}, δ\mathcal{L}_{\delta} Upper and lower bounds of a reachability
graph δ\mathcal{R}_{\delta}. δδ𝒰δ\mathcal{L}_{\delta}\subseteq\mathcal{R}_{\delta}\subseteq\mathcal{U}_{\delta}.
𝒟δ\mathcal{D}_{\delta} A time-varying out-dominating set of a
reachability graph δ\mathcal{R}_{\delta}
sym(δ)\text{{sym}}(\mathcal{R}_{\delta}) Symmetric subset of δ\mathcal{R}_{\delta}: (u,v)(u,v)\in
sym(δ)(t)(v,u)sym(δ)(t)\text{{sym}}(\mathcal{R}_{\delta})(t)\Leftrightarrow(v,u)\in\text{{sym}}(\mathcal{R}_{\delta})(t)
asym(δ)\text{{asym}}(\mathcal{R}_{\delta}) Asymmetric subset of δ\mathcal{R}_{\delta}: (u,v)(u,v)\in
asym(δ)(t)(v,u)asym(δ)(t)\text{{asym}}(\mathcal{R}_{\delta})(t)\Leftrightarrow(v,u)\notin\text{{asym}}(\mathcal{R}_{\delta})(t)
Definition 1.

(Time-varying graph) Let VV be a set of vertices, and EV×VE\subseteq V\times V the set of possible edges between vertices in VV. Events occur over a time span 𝒯𝕋\mathcal{T}\subseteq\mathbb{T}, where 𝕋\mathbb{T} is the temporal domain (\mathbb{N} for discrete-time systems or +\mathbb{R}+ for continuous-time ones). In the general case, a TVG is a tuple 𝒢=(V,E,𝒯,ρ,ζ)\mathcal{G}=(V,E,\mathcal{T},\rho,\zeta) where ρ:E×𝒯{0,1}\rho~:E\times\mathcal{T}\rightarrow\{0,1\}, called presence function, indicates whether a given edge exists at a given time and ζ:E×𝒯𝕋\zeta~:E\times\mathcal{T}\rightarrow\mathbb{T}, called latency function, indicates the time it takes to cross a given edge if starting at a given date (the latency of an edge could vary in time).

In this paper, we will mostly consider continuous-time TVGs (i.e., 𝕋=+\mathbb{T}=\mathbb{R}+). Furthermore, we will always assume a constant ζ\zeta function such that (e,t)E×𝒯,ζ(e,t)=τ\forall(e,t)\in E\times\mathcal{T},\zeta(e,t)=\tau where τ0\tau\geq 0 is our uniform edge traversal time. We also note 𝒢(t)E\mathcal{G}(t)\subseteq E the set of edges in the snapshot of 𝒢\mathcal{G} at time tt. Hence e𝒢(t)ρ(e,t)=1e\in\mathcal{G}(t)\Leftrightarrow\rho(e,t)=1. Finally, given an edge e=(u,v)Ee=(u,v)\in E, we define from(e)=u\text{{from}}(e)=u and to(e)=v\text{{to}}(e)=v.

Definition 2.

(Inclusion) Let 𝒢\mathcal{G} and 𝒢\mathcal{G}^{\prime} be two TVGs that differ only by their presence functions ρ\rho and ρ\rho^{\prime}. We write 𝒢𝒢\mathcal{G}\subseteq\mathcal{G}^{\prime} if and only if t𝒯,eE,ρ(e,t)ρ(e,t)\forall t\in\mathcal{T},\forall e\in E,\rho(e,t)\leq\rho^{\prime}(e,t), or equivalently if and only if t𝒯,𝒢(t)𝒢(t)\forall t\in\mathcal{T},\mathcal{G}(t)\subseteq\mathcal{G}^{\prime}(t).

Definition 3.

(Union) Let 𝒢\mathcal{G}, \mathcal{H}, and \mathcal{I} be three TVGs that differ only by their presence functions. We write 𝒢=\mathcal{G}=\mathcal{H}\cup\mathcal{I} if and only if t𝒯,𝒢(t)=(t)(t)\forall t\in\mathcal{T},\mathcal{G}(t)=\mathcal{H}(t)\cup\mathcal{I}(t).

Definition 4.

(Journey) A journey in 𝒢\mathcal{G} is a sequence of couples 𝒥={(e1,t1),(e2,t2),,(ek,tk)}\mathcal{J}=\left\{(e_{1},t_{1}),(e_{2},t_{2}),\dotsc,(e_{k},t_{k})\right\} such that i<k\forall i<k: (i) to(ei)=from(ei+1)\text{{to}}(e_{i})=\text{{from}}(e_{i+1}); (ii) t s.t. tit<ti+τ,ρ(ei,t)=1\forall t\text{ s.t. }t_{i}\leq t<t_{i}+\tau,\rho(e_{i},t)=1; and (iii) ti+1ti+τt_{i+1}\geq t_{i}+\tau. Here, |𝒥|=k|\mathcal{J}|=k is this journey’s topological length (i.e., the number of hops). Furthermore, departure(𝒥)\text{{departure}}(\mathcal{J}) and arrival(𝒥)\text{{arrival}}(\mathcal{J}) denote the starting date t1t_{1} and the last date tk+τt_{k}+\tau, respectively. Finally δ𝒥=arrival(𝒥)departure(𝒥)\delta_{\mathcal{J}}=\text{{arrival}}(\mathcal{J})-\text{{departure}}(\mathcal{J}) is the journey’s temporal length. A journey may represent, for example, the sequence of hops that a message follows through an opportunistic network.

3 Temporal Reachability Graphs

Now that we have the necessary background, let us formally define the notion of temporal reachability graphs (or simply reachability graphs in the remainder of this paper, for the sake of readability). Furthermore, we write \mathbb{N}^{*} for {0}\mathbb{N}\setminus\{0\}. To the best of our knowledge, the definitions and results presented in this section are completely novel.

3.1 Reachability Graphs

Definition 5.

(Reachability graph) For δ+\delta\in\mathbb{R}+, let δ\mathcal{R}_{\delta} be the reachability graph with maximum delay δ\delta derived from 𝒢\mathcal{G} (with edge traversal time τ\tau). Formally, t\forall t, (u,v)δ(t)(u,v)\in\mathcal{R}_{\delta}(t) if and only if uvu\neq v and there exists at time tt in 𝒢\mathcal{G} a journey 𝒥\mathcal{J} from uu to vv such that departure(𝒥)t\text{{departure}}(\mathcal{J})\geq t and arrival(𝒥)t+δ\text{{arrival}}(\mathcal{J})\leq t+\delta.

Note that if δ<τ\delta<\tau then δ\mathcal{R}_{\delta} is empty, as even one-hop journeys do not have enough time to arrive before the maximum delay.

Proposition 1 (Growth)

Let δ\mathcal{R}_{\delta} and μ\mathcal{R}_{\mu} be two reachability graphs of 𝒢\mathcal{G}. Then δμδμ\delta\leq\mu\implies\mathcal{R}_{\delta}\subseteq\mathcal{R}_{\mu}.

This follows naturally from the definition of a reachability graph. Note that the reverse is not true. For example let 𝒢\mathcal{G} be a TVG with edge traversal time τ>0\tau>0. Its derived reachability graphs τ/2\mathcal{R}_{\tau/2} and τ/3\mathcal{R}_{\tau/3} are both empty as their maximum delays are smaller than the time it takes to cross one edge. Therefore, as per definition 2, τ/2τ/3\mathcal{R}_{\tau/2}\subseteq\mathcal{R}_{\tau/3} even though τ2>τ3\frac{\tau}{2}>\frac{\tau}{3}.

Definition 6.

(Composition) Let δ\mathcal{R}_{\delta} and μ\mathcal{R}_{\mu} be two reachability graphs of 𝒢\mathcal{G}. We define their composition δRμ\mathcal{R}_{\delta}\otimes R_{\mu} as the TVG such that, at all times tt,

(u,v)(δμ)(t){(u,v)δ(t), or(u,v)μ(t+δ), orwV,(u,w)δ(t) and (w,v)μ(t+δ)(u,v)\in\left(\mathcal{R}_{\delta}\otimes\mathcal{R}_{\mu}\right)(t)\Leftrightarrow\left\{\begin{array}[]{l}(u,v)\in\mathcal{R}_{\delta}(t)\text{, or}\\ (u,v)\in\mathcal{R}_{\mu}(t+\delta)\text{, or}\\ \exists w\in V,(u,w)\in\mathcal{R}_{\delta}(t)\text{ and }\\ \quad(w,v)\in\mathcal{R}_{\mu}(t+\delta)\end{array}\right.
Theorem 1 (Decomposition)

Let 𝒢\mathcal{G} be a TVG with edge traversal time τ\tau and ¯={δ}δ0\bar{\mathcal{R}}=\{\mathcal{R}_{\delta}\}_{\delta\geq 0} the set of all its reachability graphs. Let δ0\delta\geq 0 and μτ\mu\geq\tau. Then:

δ+μ=0ϵ<1δ+ϵτμϵτ.\mathcal{R}_{\delta+\mu}=\bigcup_{0\leq\epsilon<1}\mathcal{R}_{\delta+\epsilon\tau}\otimes\mathcal{R}_{\mu-\epsilon\tau}.

While not yet in a calculable form, this theorem is at the heart of our approach. Intuitively, it states that if all the reachability graphs with delays close to δ\delta and μ\mu are known, then one can calculate the reachability graph with delay δ+μ\delta+\mu. A full formal proof is provided in the appendix (Section A.1), but intuitively, it relies on the following simple idea. Any arc in δ+μ\mathcal{R}_{\delta+\mu} corresponds to a journey in 𝒢\mathcal{G} starting after time tt and arriving before t+δ+μt+\delta+\mu. Either it can be neatly divided into a (possibly empty) journey in δ\mathcal{R}_{\delta} starting after tt and arriving before t+δt+\delta and another (possibly empty) journey in μ\mathcal{R}_{\mu} starting after t+δt+\delta and arriving before t+δ+μt+\delta+\mu, or it starts crossing an edge before t+δt+\delta but after t+δτt+\delta-\tau that straddles both time intervals. In the latter case, since the edge traversal time is τ\tau, one can incorporate the straddling edge into a journey arriving before t+δ+ϵτt+\delta+\epsilon\tau and the rest into another journey leaving after t+δ+ϵτt+\delta+\epsilon\tau of temporal length less than μϵτ\mu-\epsilon\tau.

3.2 Regular reachability graphs

Real-life datasets all have a maximum resolution (e.g., a second or a millisecond) that corresponds to the precision with which they were measured. While it is tempting to map their time domain 𝒯\mathcal{T} to \mathbb{N}, in reality one must account for 0-second edge durations. For example, if the edge traversal time τ\tau is null, then even ephemeral edges that last 0 seconds may be part of a journey. In the more common situation where τ\tau is strictly positive, one may still encounter 0-duration arcs in a reachability graph. For example, consider an edge (u,v)(u,v) that is present for only one second. If τ\tau and δ\delta are both also equal to one second, then a one-hop journey from uu to vv using that edge only exists at precisely the instant tt that the edge appears. This, in turn, corresponds to two 0-second arcs in δ(t)\mathcal{R}_{\delta}(t): (u,v)(u,v) and (v,u)(v,u). Note that both of these arcs will become one-second-long arcs in the reachability graph when δ=2s\delta=2s. These observations lead to the definition of regular time-varying graphs.

Definition 7.

(Regular TVG) A TVG 𝒢\mathcal{G} is an η\eta-regular TVG if there exists η>0\eta>0 such that k,kη<t1t2<(k+1)η𝒢(t1)=𝒢(t2)𝒢(kη)\forall k\in\mathbb{N},k\eta<t_{1}\leq t_{2}<(k+1)\eta\implies\mathcal{G}(t_{1})=\mathcal{G}(t_{2})\subseteq\mathcal{G}(k\eta). Here, η\eta is called 𝒢\mathcal{G}’s resolution. The time interval [kη,(k+1)η[[k\eta,(k+1)\eta[ is the kthk^{th} epoch of 𝒢\mathcal{G} with starting time kηk\eta and ending time (k+1)η(k+1)\eta.

Without loss of generality, this definition assumes that the first epoch starts at t=0t=0. Intuitively, an η\eta-regular TVG is one whose instantaneous graph topology cannot change arbitrarily quickly, as, during each epoch, the graph topology remains constant. Ephemeral 0-second edges or arcs may exist at the start of an epoch, but the TVG then remains constant until the start of the next epoch. Not only are regular TVGs a natural fit for real-life traces, but, as we will see, they also represent a class of TVGs whose reachability graphs are calculable.

Theorem 2 (Regular reachability graphs)

Let 𝒢\mathcal{G} be an η\eta-regular TVG whose edge traversal time is τη\tau\in\eta\mathbb{N}^{*}. For δη\delta\in\eta\mathbb{N}, let δ\mathcal{R}_{\delta} be a reachability graph of 𝒢\mathcal{G}. Then δ\mathcal{R}_{\delta} is an η\eta-regular TVG and k,kη<t<(k+1)ηδ(t)δ(kη)δ((k+1)η)\forall k\in\mathbb{N},k\eta<t<(k+1)\eta\implies\mathcal{R}_{\delta}(t)\subseteq\mathcal{R}_{\delta}(k\eta)\cap\mathcal{R}_{\delta}\left((k+1)\eta\right).

This theorem ensures that, as long as δ\delta is a “multiple” of the resolution η\eta, δ\mathcal{R}_{\delta} carries on the η\eta-regularity of 𝒢\mathcal{G}. The full formal proof is a little technical (Section A.2 in the appendix), but it relies on the following idea. Let us consider a one-hop journey in an η\eta-regular TVG 𝒢\mathcal{G} leaving in the middle of an epoch at time tt. Let kk be the integer such that kη<t<(k+1)ηk\eta<t<(k+1)\eta. It arrives in the next epoch at time (k+1)η<t+τ<(k+2)η(k+1)\eta<t+\tau<(k+2)\eta (the theorem assumes that τη\tau\geq\eta). Because 𝒢\mathcal{G} is η\eta-regular, the departure time of this one-journey can be nudged forwards or backwards as long as it remains with the same epoch. Hence all one-hop journeys with a departure time tt^{\prime} such that kηt(k+1)ηk\eta\leq t^{\prime}\leq(k+1)\eta are also valid journeys in 𝒢\mathcal{G}. This “nudging” can be extended, though not trivially, to multi-hop journeys which proves the theorem.

Furthermore, the τη\tau\geq\eta hypothesis guarantees that an arc present in a reachability graph during an epoch is present not only at the start of the epoch like in any regular graphs both also at the start of the next epoch. This property will be leveraged later in this section. However δ(t)δ(kη)δ((k+1)η)\mathcal{R}_{\delta}(t)\neq\mathcal{R}_{\delta}(k\eta)\cap\mathcal{R}_{\delta}\left((k+1)\eta\right). An example of such a situation is discussed in Section 3.3.

Theorem 3 (Sampling)

Let 𝒢\mathcal{G} be an η\eta-regular TVG whose edge traversal time is τ=nη\tau=n\eta with nn\in\mathbb{N}^{*}. Let ¯={iη}i\bar{\mathcal{R}}=\{\mathcal{R}_{i\eta}\}_{i\in\mathbb{N}} be the set of all its derived η\eta-regular reachability graphs. For (d,m)×(d,m)\in\mathbb{N}\times\mathbb{N} such that mnm\geq n, we have, a\forall a\in\mathbb{N}:

(d+m)η(aη)=0k<n((d+k)η(mk)η)(aη).\mathcal{R}_{(d+m)\eta}(a\eta)=\bigcup_{0\leq k<n}\left(\mathcal{R}_{(d+k)\eta}\otimes\mathcal{R}_{(m-k)\eta}\right)(a\eta).

This theorem is the adaptation of Theorem 1 to regular TVGs. The formal proof is in the appendix (Section A.3) but, as previously, it relies on the idea that within an epoch, there exists a little freedom to “nudge” journey departure and arrival times backwards or forwards. In a sense, if both the minimum departure time and maximal arrival time of a journey fall exactly at the start of a time epoch, then this journey can be divided into two sub-journeys whose departure and arrival times also map exactly to the start of epochs. Under this form, the value of a reachability graph at the start of each epoch can be exactly calculated from the values, at the start of each epoch, of the proper set of τ\tau pairs of reachability graphs.

Unfortunately, this exact formula does not extend to the time spent strictly within an epoch. In a way, the state of the reachability graph during epochs is more important than its state at their starting times. Indeed, the time spent at exactly the start of epochs is infinitesimally small. Therefore any metric averaged over time (e.g. average density) will depend only on the states strictly within epochs. In the next section, we propose an upper and a lower bound on the reachability graph during epochs. As we will later see in Section 5, these upper and lower bounds are in fact nearly always equal and therefore achieve an excellent approximation of the real reachability graph.

3.3 Upper and lower bounds

We define for every regular reachability graph δ\mathcal{R}_{\delta} an upper and lower bound, i.e., two TVGs 𝒰δ\mathcal{U}_{\delta} and δ\mathcal{L}_{\delta} such that δδ𝒰δ\mathcal{L}_{\delta}\subseteq\mathcal{R}_{\delta}\subseteq\mathcal{U}_{\delta}. Both of these bounds are equal to the reachability graph at the start of each epoch but only differ slightly during the epoch. The upper bound is a straightforward application of Theorem 2.

Proposition 2 (Upper Epoch approximation)

Let 𝒢\mathcal{G} be an η\eta-regular TVG whose edge traversal time is τη\tau\in\eta\mathbb{N}^{*}. For δη\delta\in\eta\mathbb{N}, let δ\mathcal{R}_{\delta} be a reachability graph of 𝒢\mathcal{G}. We define δ\mathcal{R}_{\delta}’s upper approximation, the TVG 𝒰δ\mathcal{U}_{\delta}, as follows (aηt<(a+1)η\forall a\eta\leq t<(a+1)\eta with aa\in\mathbb{N}):

  • if t=aηt=a\eta, then 𝒰δ(aη)=δ(aη)\mathcal{U}_{\delta}(a\eta)=\mathcal{R}_{\delta}(a\eta);

  • if t>aηt>a\eta, then 𝒰δ(t)=δ(aη)δ((a+1)η)\mathcal{U}_{\delta}(t)=\mathcal{R}_{\delta}(a\eta)\cap\mathcal{R}_{\delta}\left((a+1)\eta\right).

As defined, δ,δ𝒰δ\forall\delta,\mathcal{R}_{\delta}\subseteq\mathcal{U}_{\delta}.

The lower bound is a little more complicated and involves a modified version of the composition operator (Definition 6).

Definition 8.

(Approximate composition) Let δ\mathcal{R}_{\delta} and μ\mathcal{R}_{\mu} be two reachability graphs of an η\eta-regular TVG 𝒢\mathcal{G} with δ\delta and μ\mu in η\eta\mathbb{N}^{*}. Let δ\mathcal{L}_{\delta} and μ\mathcal{L}_{\mu} be two TVGs such that δδ\mathcal{L}_{\delta}\subseteq\mathcal{R}_{\delta} and μμ\mathcal{L}_{\mu}\subseteq\mathcal{R}_{\mu}. For all times aηt<(a+1)ηa\eta\leq t<(a+1)\eta with aa\in\mathbb{N}, we define their approximate composition δμ\mathcal{L}_{\delta}\odot\mathcal{L}_{\mu} as follows:

  • if t=aηt=a\eta, then (δμ)(aη)=(δμ)(aη)\left(\mathcal{L}_{\delta}\odot\mathcal{L}_{\mu}\right)(a\eta)=\left(\mathcal{R}_{\delta}\otimes\mathcal{R}_{\mu}\right)(a\eta);

  • if t>aηt>a\eta, then

(u,v)(δμ)(t){(u,v)δ((a+1)η), or(u,v)μ(aη+δ), orwV,(u,w)δ(t) and (w,v)μ(t+δ)(u,v)\in\left(\mathcal{L}_{\delta}\odot\mathcal{L}_{\mu}\right)(t)\Leftrightarrow\left\{\begin{array}[]{l}(u,v)\in\mathcal{R}_{\delta}\left((a+1)\eta\right)\text{, or}\\ (u,v)\in\mathcal{R}_{\mu}(a\eta+\delta)\text{, or}\\ \exists w\in V,(u,w)\in\mathcal{L}_{\delta}(t)\text{ and }\\ \quad(w,v)\in\mathcal{L}_{\mu}(t+\delta)\end{array}\right.

By definition, at the start of each epoch the approximate composition is equal to the regular composition of the reachability graphs. During an epoch, the condition (u,v)δ((a+1)η)(u,v)\in\mathcal{R}_{\delta}\left((a+1)\eta\right) is easier to meet than the more intuitive (u,v)δ(t)(u,v)\in\mathcal{L}_{\delta}(t). Indeed, with Theorem 2, δ(t)δ(t)δ((a+1)η)\mathcal{L}_{\delta}(t)\subseteq\mathcal{R}_{\delta}(t)\subseteq\mathcal{R}_{\delta}\left((a+1)\eta\right), and this composition operator will catch the arcs (including the 0-second ones) occurring at the start of the next epoch. The same is true for the (u,v)μ(aη+δ)(u,v)\in\mathcal{R}_{\mu}(a\eta+\delta) condition for arcs ending at the start of the current (δ\delta-shifted) epoch. Combined, these more inclusive conditions make for a tighter lower bound.

Proposition 3 (Lower Epoch approximation)

Let 𝒢\mathcal{G} be an η\eta-regular TVG whose edge traversal time is τ=nη\tau=n\eta with nn\in\mathbb{N}^{*}. Let ¯={δ}δη\bar{\mathcal{R}}=\{\mathcal{R}_{\delta}\}_{\delta\in\eta\mathbb{N}} be the set of all its derived reachability graphs. We recursively define δ\mathcal{R}_{\delta}’s lower approximation (i.e., the TVG δ\mathcal{L}_{\delta}) as follows. For d<2nd<2n, dη=dη\mathcal{L}_{d\eta}=\mathcal{R}_{d\eta} and for all (d,m)(d,m) in ×\mathbb{N}\times\mathbb{N} such that dnd\geq n and mnm\geq n,

(d+m)η=0k<n(d+k)η(mk)η.\mathcal{L}_{(d+m)\eta}=\bigcup_{0\leq k<n}\mathcal{L}_{(d+k)\eta}\odot\mathcal{L}_{(m-k)\eta}.

As defined, d,dηdη\forall d\in\mathbb{N},\mathcal{L}_{d\eta}\subseteq\mathcal{R}_{d\eta}.

The proof, detailed in Section A.4 of the appendix, is fairly straightforward and involves setting the value of ϵ\epsilon in Theorem 1 as a function of η\eta, tt, kk, and nn.

This recursive definition means that the exact value of δ\mathcal{L}_{\delta} during a time epoch depends on the sequence of compositions that was used to calculate it. For example, in the simple situation where τ=η=1\tau=\eta=1, the lower bounds 4=22\mathcal{L}_{4}=\mathcal{L}_{2}\odot\mathcal{L}_{2} and 4=31\mathcal{L}_{4}^{\prime}=\mathcal{L}_{3}\odot\mathcal{L}_{1} may be different. Proposition 3 only guarantees that they are both included in the real reachability graph 4\mathcal{R}_{4}. However, as we will see, this is not a concern because this lower bound is tight regardless of how it is calculated.

Refer to caption
Figure 3: Upper epoch approximation with τ=η=1\tau=\eta=1. Arrows point in the direction of time. Intervals denote the presence of an edge or arc during that time. Dots are intervals reduced to a single point in time. In this example the lower bound 2\mathcal{L}_{2} is equal to the reachability graph 2\mathcal{R}_{2} but the upper bound 𝒰2\mathcal{U}_{2} is not.

Fig. 3 is an example of a situation with four vertices where the upper bound has an arc during an epoch that is not in the reachability graph. Here τ=η=1\tau=\eta=1s. 1\mathcal{R}_{1} is exactly derived from 𝒢\mathcal{G} by shortening the end time of each edge by τ\tau. For example, this leads to an ephemeral arc from aa to bb and a two-second-long arc from bb to dd (down from a three-second-long edge (b,d)(b,d) in 𝒢\mathcal{G}). Obviously, not all arcs are represented on Fig. 3. In 2\mathcal{R}_{2}, there are two ephemeral arcs from aa to dd, corresponding to the abda\leadsto b\leadsto d journey, and the acda\leadsto c\leadsto d journey an epoch later. In between those instants, it is both too late to use the first journey and too early to use the second. Since this arc exists at the start of two successive epochs, 𝒰2\mathcal{U}_{2} errs in considering that it exists during the entire epoch. In this example, the lower bound 2\mathcal{L}_{2} matches the reachability graph.

Refer to caption
Figure 4: Lower epoch approximation with τ=η=1\tau=\eta=1. Arrows point in the direction of time. Intervals denote the presence of an edge or arc during that time. Dots are intervals reduced to a single point in time. In this example the upper bound 𝒰4\mathcal{U}_{4} is equal to the reachability graph 4\mathcal{R}_{4} but the lower bound 4\mathcal{L}_{4} is not.

Conversely, Fig. 4 is an example of a situation with three vertices where the lower bound misses an arc during an epoch that is present in the reachability graph. Here again τ=η=1\tau=\eta=1. The one-second-long edges in 𝒢\mathcal{G} all become ephemeral 0-second arcs in 1\mathcal{R}_{1} (not shown on the figure), that in turn become one-second-long arcs in 2\mathcal{R}_{2}. Furthermore, 2\mathcal{R}_{2} also contains two ephemeral arcs (a,c)(a,c) and (b,d)(b,d) that correspond to the abca\leadsto b\leadsto c and bcdb\leadsto c\leadsto d journeys respectively. Here 2=2=𝒰2\mathcal{R}_{2}=\mathcal{L}_{2}=\mathcal{U}_{2}. Finally, 4\mathcal{R}_{4} contains an arc (a,d)(a,d) that corresponds to the existence of the three-hop journey abcda\leadsto b\leadsto c\leadsto d. 4\mathcal{L}_{4} correctly identifies this journey at two instants kk and k+1k+1. At time kk, it composes arc (a,b)(a,b) from 2(k)\mathcal{R}_{2}(k) with the ephemeral arc (b,d)(b,d) in 2(k+2)\mathcal{R}_{2}(k+2). At time k+1k+1 it composes the ephemeral arc (a,c)(a,c) in 2(k+1)\mathcal{R}_{2}(k+1) with the arc (c,d)(c,d) in 2(k+3)\mathcal{R}_{2}(k+3). However, for k<t<k+1k<t<k+1, 4\mathcal{L}_{4} has no way of finding the journey from aa to bb. Note that in this case, 𝒰4\mathcal{U}_{4} is equal to 4\mathcal{R}_{4}.

The example of Fig. 4 also helps us understand the absence of error propagation when calculating successive lower approximations from previous lower approximations. In this example, thanks to the conditions in Definition 8 that refer to the starting times of epochs, 8\mathcal{L}_{8} will “bridge” over the missing (a,d)(a,d) arc in 4\mathcal{L}_{4}. However it may miss composed arcs that use the (a,d)(a,d) arc in 4\mathcal{R}_{4}. These missed arcs will be, in-turn, “bridged” in, for instance, a 16\mathcal{L}_{16} approximation. Roughly speaking, errors during epochs do not propagate beyond two compositions. Combined with the fact that the lower approximation matches the reachability graph at the start of each epoch, this leads, as we will verify empirically, to a tight lower approximation or the reachability graph.

3.4 A few case studies

In this section, we examine how the theoretical results above apply to some simple situations.

Zero edge traversal time. The reachability graphs of η\eta-regular TVGs with zero edge traversal time (τ=0\tau=0) are very easy to calculate. In particular (u,v)0(t)(u,v)\in\mathcal{R}_{0}(t) if and only if uu and vv are in the same connected component at time tt. Similarly, η(t)\mathcal{R}_{\eta}(t) can be calculated from the connected components at time tt and t+ηt+\eta. Furthermore, Theorem 1 becomes: δ+μ=δμ\mathcal{R}_{\delta+\mu}=\mathcal{R}_{\delta}\otimes\mathcal{R}_{\mu}. This relation can then be applied repeatedly (e.g., in a binary-exponentiation) to obtain any δ\mathcal{R}_{\delta} with δη\delta\in\eta\mathbb{N}^{*}. Furthermore, the reachability graphs thus calculated are exact. However, in this specific case where the edge traversal time is null, more efficient algorithms for calculating reachability graphs exist. For example the algorithm proposed by Chaintreau et al. for computing delay-optimal paths could be easily adapted to this purpose [5].

Several hops per epoch. While all of the results on regular reachability graphs in Sections 3.2 and 3.3 assume that the edge traversal time τ\tau is in η\eta\mathbb{N}^{*}, they can be simply adapted to the case where τ=η/n\tau=\eta/n with nn\in\mathbb{N}^{*}, i.e., when up to nn edges may be crossed during a single epoch. Indeed, in this case, any η\eta-regular graph would also be τ\tau-regular, and we can apply all of our results as if τ=η\tau=\eta. For example, Proposition 3 is reduced to (d+m)η=dηmη\mathcal{L}_{(d+m)\eta}=\mathcal{L}_{d\eta}\odot\mathcal{L}_{m\eta}.

Unit delay. For τ>0\tau>0, the reachability graph τ\mathcal{R}_{\tau} is trivially calculable from 𝒢\mathcal{G}. Indeed, for any edge (u,v)(u,v) in 𝒢\mathcal{G} that appears at time t1t_{1} and disappears at time t2t1+τt_{2}\geq t_{1}+\tau, the arcs (u,v)(u,v) and (v,u)(v,u) appear in τ\mathcal{R}_{\tau} at time t1t_{1} and disappear at time t2τt_{2}-\tau. This derivation is simple but essential for bootstrapping iterations of lower bound compositions (e.g., repeated applications of Proposition 3).

4 Efficient computation of reachability graphs

4.1 Families of reachability graphs

Another interesting property of lower approximations of reachability graphs is that an upper approximation may be derived from it. Indeed, since it contains the exact values of the reachability graph at the start of each epoch, it is trivial to calculate their intersection during each epoch. While the method described in this section focuses on the efficient computation of the lower approximations of reachability graphs, it simultaneously computes the upper approximations.

At a high level, the algorithm presented in this section is a binary exponentiation on families of lower bounds of reachability graphs using a special additive operator. To simplify notations, we will consider in this section that η=1\eta=1 and τ\tau\in\mathbb{N}^{*}.

Definition 9.

(Lower bound family) Let 𝒢\mathcal{G} be a 1-regular TVG whose edge traversal time is τ\tau\in\mathbb{N}^{*}. For dτd\in\tau\mathbb{N}, let d\mathcal{L}_{d} be the lower approximation of a reachability graph d\mathcal{R}_{d} of 𝒢\mathcal{G}. For dτd\geq\tau, we define ¯d\bar{\mathcal{L}}_{d}, the family of d\mathcal{L}_{d} such that ¯d={d+i}τ<i<τ\bar{\mathcal{L}}_{d}=\left\{\mathcal{L}_{d+i}\right\}_{-\tau<i<\tau}.

Proposition 4 (Family additivity)

Let 𝒢\mathcal{G} be a 1-regular TVG whose edge traversal time is τ\tau\in\mathbb{N}^{*}. Let d\mathcal{R}_{d} and m\mathcal{R}_{m} be two reachability graphs of 𝒢\mathcal{G} such that dτd\in\tau\mathbb{N}^{*} and mτm\in\tau\mathbb{N}^{*}, and ¯d\bar{\mathcal{L}}_{d} and ¯m\bar{\mathcal{L}}_{m} the respective families of their lower approximations. We define ¯d¯m\bar{\mathcal{L}}_{d}\oplus\bar{\mathcal{L}}_{m} the set of TVGs such that

¯d¯m={0k<τd+km+ik}0i<τ{0k<τd+i+kmk}τ<i<0\begin{array}[]{ll}\bar{\mathcal{L}}_{d}\oplus\bar{\mathcal{L}}_{m}=&\left\{\bigcup_{0\leq k<\tau}\mathcal{L}_{d+k}\odot\mathcal{L}_{m+i-k}\right\}_{0\leq i<\tau}\\ &\bigcup\left\{\bigcup_{0\leq k<\tau}\mathcal{L}_{d+i+k}\odot\mathcal{L}_{m-k}\right\}_{-\tau<i<0}\end{array}

Then (i) any element d+m+i¯d¯m\mathcal{L}_{d+m+i}\in\bar{\mathcal{L}}_{d}\oplus\bar{\mathcal{L}}_{m} with τ<i<τ-\tau<i<\tau is a lower approximation of d+m+i\mathcal{R}_{d+m+i}, and (ii) any TVG in ¯d+m\bar{\mathcal{L}}_{d+m} can be calculated from τ\tau compositions of pairs of TVGs in ¯dׯm\bar{\mathcal{L}}_{d}\times\bar{\mathcal{L}}_{m}.

Proof.

Consider any lower approximation d+m+i¯d+m\mathcal{L}_{d+m+i}\in\bar{\mathcal{L}}_{d+m}. If τ<i<0-\tau<i<0, d+m+i=(d+i)+m=\mathcal{L}_{d+m+i}=\mathcal{L}_{(d+i)+m}=
0k<τd+i+kmk\bigcup_{0\leq k<\tau}\mathcal{L}_{d+i+k}\odot\mathcal{L}_{m-k} (Theorem 3). If 0i<τ0\leq i<\tau, d+m+i=d+(m+i)=0k<τd+km+ik\mathcal{L}_{d+m+i}=\mathcal{L}_{d+(m+i)}=\bigcup_{0\leq k<\tau}\mathcal{L}_{d+k}\odot\mathcal{L}_{m+i-k} (Theorem 3). ∎

Refer to caption
Figure 5: Adding ¯4\bar{\mathcal{L}}_{4} and ¯8\bar{\mathcal{L}}_{8} families to obtain an ¯4¯8=¯12\bar{\mathcal{L}}_{4}\oplus\bar{\mathcal{L}}_{8}=\bar{\mathcal{L}}_{12} family. In this example τ=2\tau=2 and η=1\eta=1.

We now have our self-sufficient elements, the lower bound families, and an additive operation \oplus between them. For illustration, Fig. 5 details the process of adding ¯4\bar{\mathcal{L}}_{4} and ¯8\bar{\mathcal{L}}_{8} families to obtain an ¯4¯8=¯12\bar{\mathcal{L}}_{4}\oplus\bar{\mathcal{L}}_{8}=\bar{\mathcal{L}}_{12} family. The 3\mathcal{L}_{3}, 4\mathcal{L}_{4}, 5\mathcal{L}_{5}, 7\mathcal{L}_{7}, 8\mathcal{L}_{8}, and 9\mathcal{L}_{9} lower bounds are combined as inputs for three applications of Proposition 3 that yield 11\mathcal{L}_{11}, 12\mathcal{L}_{12}, and 13\mathcal{L}_{13}. Viewed as a black box, this operation combines the ¯4\bar{\mathcal{L}}_{4} and ¯8\bar{\mathcal{L}}_{8} families into an ¯12\bar{\mathcal{L}}_{12} family.

The inner workings of the \oplus operator are embarrassingly parallel. Indeed, each application of Proposition 3 can be run completely independently of the others. This opens the way for highly distributed implementations, whose speed will be determined by that of the composition of τ\tau pairs of lower bounds of reachability graphs. Accordingly, the next section proposes an efficient algorithm for this composition operation.

4.2 Composing reachability graphs

A time-varying graph 𝒢\mathcal{G} may be stored as a time-indexed sequence of edge UP and DOWN events. For example, if at time tt an event {(u,v),DOWN}\{(u,v),\text{{DOWN}}\} occurs, then the edge (u,v)(u,v) disappears at time tt in 𝒢(t)\mathcal{G}(t). Such a representation is well suited for algorithms that sequentially examine all states of the TVG.

We present a streaming algorithm for composing τ\tau reachability graph lower bounds as in Proposition 3. Streaming algorithms are well suited to TVGs as their memory requirements do not depend on the duration of the trace but only on the number of vertices [1]. Memory is indeed a limited resource, as reachability graphs can become fully connected cliques and data structures such as adjacency matrices cannot therefore be considered sparse. Furthermore, in our case, a streaming algorithm facilitates a parallel implementation of the \oplus operator as one process can read the input families, duplicate their events, and dispatch these to various workers, each calculating one composition operation.

Require: {d+k,mk}\{\mathcal{L}_{d+k},\mathcal{L}_{m-k}\} // τ\tau pairs of input streams
1
Ensure: d+m\mathcal{L}_{d+m} // the output stream
2
Local: {adjd+k,adjmk}\{adj_{d+k},adj_{m-k}\}, // τ\tau pairs of adjacency matrices
3
Local: counter[]counter[] // arc counter
4
Local: delayedk[]delayed_{k}[] // τ\tau lists of delayed down events
5
6 for i0i\leftarrow 0 to TT do
7 for k0k\leftarrow 0 to τ1\tau-1 do
8    forall the {a,UP}d+k[i]\{a,\text{{UP}}\}\in\mathcal{L}_{d+k}[i] do counter[a]counter[a]++
9 forall the new arcs aa do
10      append {a,UP}\{a,\text{{UP}}\} to d+m[i1]\mathcal{L}_{d+m}[i-1]
11 forall the arcs aa s.t. counter[a]=0counter[a]=0 do
12      append {a,DOWN}\{a,\text{{DOWN}}\} to d+m[i1]\mathcal{L}_{d+m}[i-1]
13 for k0k\leftarrow 0 to τ1\tau-1 do
14    forall the {(u,v),UP}d+k[i]\{(u,v),\text{{UP}}\}\in\mathcal{L}_{d+k}[i] do
15         add (u,v)(u,v) to adjd+kadj_{d+k}
16       forall the (v,w)adjmk(v,w)\in adj_{m-k} do counter[(u,w)]counter[(u,w)]++
17    forall the {(u,v),UP}mk[i+d+k]\{(u,v),\text{{UP}}\}\in\mathcal{L}_{m-k}[i+d+k] do
18       counter[(u,v)]counter[(u,v)]++
19         add (u,v)(u,v) to adjmkadj_{m-k}
20       forall the (w,u)adjd+k(w,u)\in adj_{d+k} do counter[(w,v)]counter[(w,v)]++
21    forall the adelayedka\in delayed_{k} do counter[k]counter[k]—-
22    delayedkdelayed_{k}\leftarrow\emptyset
23    forall the {(u,v),DOWN}mk[i+d+k]\{(u,v),\text{{DOWN}}\}\in\mathcal{L}_{m-k}[i+d+k] do
24         add (u,v)(u,v) to delayedkdelayed_{k}
25         remove (u,v)(u,v) from adjmkadj_{m-k}
26       forall the (w,u)adjd+k(w,u)\in adj_{d+k} do counter[(w,v)]counter[(w,v)]—-
27    forall the {(u,v),DOWN}d+k[i]\{(u,v),\text{{DOWN}}\}\in\mathcal{L}_{d+k}[i] do
28       counter[(u,v)]counter[(u,v)]—-
29         remove (u,v)(u,v) from adjd+kadj_{d+k}
30       forall the (v,w)adjmk(v,w)\in adj_{m-k} do counter[(u,w)]counter[(u,w)]—-
31    
32 
ALGORITHM 1 Lower bound composition

Algorithm 1 reads its input from τ\tau pairs of event streams {d+k,mk}\{\mathcal{L}_{d+k},\mathcal{L}_{m-k}\} and writes d+m=0k<τd+kmk\mathcal{L}_{d+m}=\bigcup_{0\leq k<\tau}\mathcal{L}_{d+k}\odot\mathcal{L}_{m-k} to its output stream. It makes use of an arc counter that tracks how many of the conditions in the definitions of d+kmk\mathcal{L}_{d+k}\odot\mathcal{L}_{m-k} (see Definition 8) are verified by each arc. When a previously down link fulfills one of these conditions, its counter is initialized to 11 and an UP event is written to the output stream (Line 1). When this counter goes to 0 the arc is removed from d+m\mathcal{L}_{d+m} and a DOWN event is written to the output stream (Line 1). Note that an arc may be brought up and down at the same time ii if its counter goes to 0 right after it appears (i.e., an ephemeral arc). In this case, the arc triggers both lines 1 and 1.

In more detail, this algorithm directly maps to the three conditions in the definition of the approximate composition \odot (Definition 8):

Condition 1. (u,v)d+k(i+1)(u,v)\in\mathcal{R}_{d+k}(i+1). This condition is handled on line 1, before making a decision on bringing arcs up or down at the previous epoch. Indeed, the output stream at time ii can only be written to after reading the input streams up to time i+1i+1.

Condition 2. (u,v)mk(i+d+k)(u,v)\in\mathcal{R}_{m-k}(i+d+k). This condition means that down events in mk\mathcal{L}_{m-k} must be delayed for one epoch before lowering an arc’s counter. This accounts for the local delayedkdelayed_{k} lists that are processed on lines 1 to 1.

Condition 3. w\exists w, (u,w)d+k(t)(u,w)\in\mathcal{L}_{d+k}(t) and (w,v)mk(t+d)(w,v)\in\mathcal{L}_{m-k}(t+d). This condition is checked by maintaining for each kk two adjacency lists adjd+kadj_{d+k} and adjmkadj_{m-k} and checking upon UP/DOWN events whether the end of an arc in adjd+kadj_{d+k} corresponds to the origin of an arc in adjmkadj_{m-k} (lines 1-1, 1-1, 1-1, and 1-1).

Algorithm 1 is then used as a building block to implement the \oplus addition of lower bound families. Starting from τ\mathcal{L}_{\tau}’s family, for any nn\in\mathbb{N}^{*}, nτ\mathcal{L}_{n\tau} is obtained in log(n)\log(n) applications of the \oplus operation using a binary exponentiation process.

An implementation of Algorithm 1, fully integrated into a binary exponentiation algorithm over lower bound families, is available as a part of our dynamic trace library (DiTL [28]). This package also contains the code for transforming a lower bound TVG into an upper bound TVG, as well as the time-varying dominating set computation used in Section 5.

4.3 Complexity analysis

The worst-case memory requirements for this one-pass streaming algorithm are straightforward. Its local memory contains a non-sparse arc counter that requires up to O(N2)O(N^{2}) space. Furthermore, for each 0k<τ0\leq k<\tau, it maintains two non-sparse adjacency matrices and an arc event list thereby requiring O(N2)O(N^{2}) space. Adding everything together yields a worst-case space complexity of O(τN2)O(\tau N^{2}) that is independent of the duration of the trace.

Before examining the worst-case time complexity, a word must be said about the implementation of the adjacency matrices (the arc counter is backed by an adjacency matrix). In our implementation, these are backed by per-vertex hash tables. Insertion and removal are therefore constant time operations but this approach may not scale to TVGs with much greater number of vertices than those considered in this paper. In this analysis we will consider that insertion and removal cost O(log(N))O(\log(N)) (e.g., by using binary trees).

At each epoch, arcs are brought up and/or down. For each 0k<τ0\leq k<\tau, we note Md+kM_{d+k} and MmkM_{m-k} the number of UP and DOWN events in the entire TVGs d+k\mathcal{L}_{d+k} and mk\mathcal{L}_{m-k}, respectively. Let M=maxk{max{Md+k,Mmk}}M=\max_{k}\left\{\max\{M_{d+k},M_{m-k}\}\right\} be the maximum number of events in all the involved TVGs. In the worst case scenario where all possible arcs are updated at each epoch, we have M=O(TN2)M=O(TN^{2}) events, where TT is the number of epochs. Each processed event costs a modification of the arc counter (O(log(N))O(\log(N))), an adjacency matrix (O(log(N)O(\log(N)), and up to NN counters for the composed paths (O(Nlog(N))O(N\log(N))). All of these must be performed for the τ\tau pairs of input TRGs. Adding everything together yields a worst-case time complexity of O(τMNlog(N))O\left(\tau MN\log(N)\right), or O(τTN3log(N))O\left(\tau TN^{3}\log(N)\right) in terms of NN exclusively. In practice however MTN2M\ll TN^{2}, so the first formulation is more accurate.

5 Applications

Having formalized reachability graphs and detailed a method for efficiently computing upper and lower approximations of them in the previous sections, we now study the reachability graphs of several synthetic and real-life traces for a variety of edge traversal times τ\tau and maximum delays δ\delta. In particular, we show how the properties of these reachability graphs place bounds on communication capabilities and highlight the asymmetric nature of dynamic networks.

5.1 Datasets and metrics

Table 2: Dataset characteristics. NN is the number of vertices, MM the number of edge UP/DOWN events, TT the duration, PP the beaconing period, and η\eta the time resolution.
Name NN MM TT PP η\eta
Rollernet 6262 99k99k 3h3h 15s15s 1s1s
Stanford 782782 704k704k 8h8h 20s20s 20s20s
Random Waypoint 5050 46k46k 8h8h 1s1s 1s1s
Community 5050 824k824k 8h8h 1s1s 1s1s

While we have calculated reachability graphs on many publicly available datasets, in this paper we present results based on two real-life contact traces selected for their short beaconing periods:

Stanford [23]. As part of an epidemiology study, this trace captures face-to-face contacts among all students, teachers, and staff in a US high school between 7 a.m. and 4 p.m. The 782 ZigBee motes (TelosB Crossbow) sent beacons every 20 seconds (sending times are synchronized in the published trace).

Rollernet [25]. Opportunistic sighting of Bluetooth devices by groups of rollerbladers carrying Intel iMotes during a roller tour. The 62 iMotes performed neighborhood scans every 15 seconds.

For comparison purposes, we also provide results based on two well understood synthetic mobility models:

Random-Waypoint [18]. We simulated 5050 nodes with speeds between 3 and 7 m/s from the stationary state in a 1,000×5001,000\times 500m2 rectangle sending beacons every second with a 20 m transmission range.

Community Model [19]. We simulated 5050 nodes using the same parameters as above with 8 communities. In the community model, nodes with stronger social ties are more likely to be in geographic proximity.

The characteristics of these four η\eta-regular traces are summarized in Table 2.

For each reachability graph, we compute its time-varying dominating set (TVDS), i.e., a mutable set such that, at all times, there exists an incoming arc to any vertex in the TVG from a member of the TVDS. Thus, at any given time tt, the TVDS is a traditional dominating set on the directed graph at time tt. We note this TVDS 𝒟δ\mathcal{D}_{\delta} if it is derived from a reachability graph δ\mathcal{R}_{\delta}.

Even on static graphs, calculating a minimal dominating set is a classic NP-complete problem. Here we adapt the well-known greedy algorithm for choosing multipoint relays for broadcasting in a wireless network to the time-varying context [17]. The size of the dominating set calculated by this algorithm is within a factor log(N)\log(N) of the optimal, where NN is the number of nodes. Our TVDS calculation algorithm reacts to arc UP/DOWN events as follows.

  1. 1.

    If, after the arc event is processed, the previous dominating set is no longer a dominating set, then proceed to step 2. Otherwise do nothing.

  2. 2.

    Iteratively build the new dominating set, starting from an empty set, by greedily adding the node with the greatest outgoing degree to nodes not yet covered by the new dominating set. If two nodes have equal outgoing degrees, pick the one that is in the previous dominating set.

The time-varying dominating set thus calculated attempts to be both reasonably stable over time and close the optimal.

Table 3: Metrics on η\eta-regular reachability graphs of duration TT. 𝒳k\mathcal{X}_{k} is the value of 𝒳\mathcal{X} during the kthk^{th} epoch, i.e., 𝒳k=𝒳((k+12)η)\mathcal{X}_{k}=\mathcal{X}\left((k+\frac{1}{2})\eta\right).
Metric name Definition
Avg. dominating set size ηTNk=0T/η𝒟k\frac{\eta}{TN}\sum_{k=0}^{T/\eta}\|\mathcal{D}_{k}\|
Avg. density ηTN(N1)k=0T/ηk\frac{\eta}{TN(N-1)}\sum_{k=0}^{T/\eta}\|\mathcal{R}_{k}\|
Avg. asymmetry ηTk=0T/ηasym(k)asym(k)+sym(k)/2\frac{\eta}{T}\sum_{k=0}^{T/\eta}\frac{\|asym(\mathcal{R}_{k})\|}{\|asym(\mathcal{R}_{k})\|+\|sym(\mathcal{R}_{k})\|/2}

The rest of this section focuses on the following metrics. Their formulas and average values are found in Table 3.

  • Density. The ratio of the number of arcs in a reachability graph at time tt over the total number of possible arcs.

  • Dominating set size. The normalized number of vertices in the dominating set at time tt.

  • Asymmetry. Here we no longer consider directed arcs but undirected pairs of vertices. At time tt, the asymmetry is the ratio of asymmetric pairs among pairs that have at least one edge between them.

5.2 Algorithm accuracy

Refer to caption
Figure 6: The upper and lower bounds give nearly identical values of density and dominating set size. Example taken from the Rollernet trace with τ\tau=5s and δ\delta=1min.

The approximation algorithm detailed in Section 4 is extremely accurate. Indeed, thanks to Theorem 3 and Definition 8, the approximation calculates the exact value for all times tηt\in\eta\mathbb{N}. Furthermore, the upper and lower bounds are nearly identical during epochs (tηt\notin\eta\mathbb{N}). Fig. 6 plots the density over time for both the upper and lower bounds of the Rollernet reachability graph for τ=5\tau=5s and δ=1\delta=1min. The plot has been zoomed in to show only a small span of the yy-axis for 30 seconds. The upper and lower bounds on density are nearly equal at all times. So are the values of the dominating set size computed from the upper and lower approximations that only disagree in the circled area on Fig. 6. These observations hold for all the reachability graphs computed in this paper. Indeed, looking at the values of average density and average dominating set of the over 5,000 pairs of upper/lower bound TVGs calculated in this paper, the maximum disagreement is 8.1038.10^{-3} for the former and 4.1024.10^{-2} for the latter. In practice, the difference is smaller than the width of the line in plots. Therefore, in the rest of this paper, we only plot the values based on the lower approximation.

5.3 Revealing temporal structural properties

Refer to caption
(a) δ=20\delta=20min
Refer to caption
(b) δ=40\delta=40min
Figure 7: Subset of Stanford’s 20 and 40-minutes reachability graphs during morning classes (τ=20s\tau=20s). Dark blue triangles are teachers; circles are students. The dark red arrows represent asymmetric arcs. The classroom structure is clearly visible.
Refer to caption
(a) δ=10\delta=10s
Refer to caption
(b) δ=60\delta=60s
Figure 8: Snapshots of rollernet’s 10 and 60-seconds reachability graphs after 20 minutes (τ=5s\tau=5s). The rollerblading tour is moving from left to right. The dark red arrows represent asymmetric arcs. The asymmetry is caused by the acceleration phase in the accordion phenomenon [25].
Refer to caption
(a) Rollernet (τ=5\tau=5s)
Refer to caption
(b) Stanford (τ=1\tau=1s)
Figure 9: Proportion of connected pairs of vertices over time for two real-life datasets. Connected pairs are divided into symmetric pairs (yellow) and asymmetric pairs (dark red).

The dynamics of reachability graphs highlight temporal structural properties of the original connectivity trace that are not otherwise accessible. Fig. 7 shows snapshots of a subset of the reachability graph in the high school network captured in the Stanford dataset. When the delay is 20 minutes, the classroom structure of the trace is clearly visible. In the original contact trace, edges within a classroom are unstable and lead to merges and splits of small connected components. In the reachability graph, a classroom is a stable complete subgraph with one teacher. A group of interacting teachers are also visible at the top of Fig. 7a. When some teachers and students later change classrooms, they create strong asymmetries in higher-delay reachability graphs such as the 40-minute one depicted in Fig. 7b.

Fig. 8 shows snapshots of the reachability graph captured in the Rollernet dataset. These correspond to an acceleration phase, where the head of the tour (right on Fig. 8) pulls ahead of the rest of the rollerbladers. Due to the accordion phenomenon, the tail of the tour does not react immediately [25]. This completely prevents short delay communications between these two groups (δ=10\delta=10s on Fig. 8a). With a longer delay (e.g., δ=60\delta=60s on Fig. 8b), backward communications towards the rear of the tour become possible (in particular through organizers who stop on the side of the road and let the tour pass them), thereby creating strong asymmetry in the reachability graph.

A more systematic study of dynamic properties over time is shown on Fig. 9. It plots both the proportion of connected pairs of vertices (left axis) and the size of the dominating set (right axis). The pairs of vertices are further divided into symmetric pairs (yellow) and asymmetric pairs (red). At a given time, if the red histogram reaches 1 then a journey exists in at least one direction between all pairs of nodes. If the yellow histogram reaches 1, then a journey exist in both direction between all pairs of nodes.

For a 1-minute delay, the Rollernet reachability graph alternates, sometimes very rapidly, between fully connected states and highly asymmetric partially connected states (Fig. 9a). Therefore, any opportunistic communication system aiming for latencies under a minute will be strongly impacted by the accordion phenomenon. However, if a communication system can tolerate up to three minute delays, then it should be possible to smooth out the dynamic mobility. Indeed, the 3-minute reachability graph is fully connected for the entire duration of the trace, and the size of its dominating set is almost always equal to one.

The Stanford trace alternates static phases in classroom (the valleys on Fig. 9b) and dynamic phases moving between classrooms or around the food court (the peaks on Fig 9b). The progressive “shrinking” of the valleys illustrates how reachability graphs “grow backwards” with increasing delays. Indeed, if there exist a journey from aa to bb within 20 minutes at time tt, then there exists a journey from aa to bb within 40 minutes at time tt minus 2020 minutes. Of course, after the increase in delays exceeds the width of the valleys, the reachability graph eventually reaches it maximum density. Note that in this case, an incompressible amount of asymmetry subsists throughout the trace.

Due to space constraints, we have only shown, in this section, results for specific values of τ\tau but, as a general rule, the smaller the value of τ\tau, the faster the TRG becomes a clique. When analysing a network with a specific application in mind, the value of τ\tau can be set to a realistic value (e.g. message size over bit-rate), and the plots in this section give an immediate visual understanding of the communication possibilites. The next section examines quantitatively the importance the delay (δ\delta) and the edge traversal time (τ\tau) parameters.

5.4 Bounds on communication capabilities

Refer to caption
(a) Rollernet
Refer to caption
(b) Stanford
Refer to caption
(c) Random Waypoint
Refer to caption
(d) Community
Figure 10: Average density vs. maximum delay δ\delta for different edge traversal times τ\tau (in seconds).
Refer to caption
(a) Rollernet
Refer to caption
(b) Stanford
Refer to caption
(c) Random Waypoint
Refer to caption
(d) Community
Figure 11: Average dominating set size vs. maximum delay δ\delta for different values of τ\tau (in seconds).

Reachability graphs give straightforward bounds on communication capabilities. Indeed, the density at a given moment is exactly equal to the maximum delivery ratio expectancy of a perfect opportunistic routing protocol whose delay-tolerance is equal to δ\delta and whose message size over bit-rate ratio is equal to τ\tau. Furthermore, the size of the dominating set indicates the achievable offload ratio in a scenario where the opportunistic network is assisting an infrastructure (e.g., 3G) for disseminating content to all nodes in the network [12].

Given real-world system requirements, i.e., wireless bit-rate estimates, messages sizes, target delivery ratio, and delay-tolerance, reachability graphs provide an immediate answer to the following question: can an opportunistic network support this service? If not, can it effectively supplement an infrastructure in an offloading scheme?

Fig. 10 plots the average density against the delay tolerance for all datasets and for increasing edge traversal times, while Fig. 11 plots the average dominating set size. Rollernet and Random Waypoint share similar characteristics. Both are very sensitive to increasing edge traversal times. When these are close to one second, near 100% density is achievable with a couple of minutes of delay tolerance (Figs. 10a, 10c, 11a, and 11c). In this case, they can support pure opportunistic communications. However, when edge traversal times are longer, tight delay constraints are impossible unless as part of an offloading scenario (e.g., τ=10\tau=10s and δ=60\delta=60s for Rollernet, Fig 10a). For τ=20\tau=20s, Random Waypoint cannot even provide offloading for reasonable delays (Fig. 11c).

Similarly, Stanford and Community share similar features. Regardless of the delay-tolerance and message size, no pure opportunistic routing protocol can provide anything near 100% delivery ratio 111The τ=0\tau=0 results for Stanford are an artifact of the 20-second resolution. (Figs. 10b and 10d). Despite this, they are both good offloading scenarios as the size of their dominating sets is consistently below 20% of the total number of nodes, thereby offering potential offload ratios of around 80%. Indeed, in order to disseminate content to the entire network, pushing one copy per classroom in the Stanford case, or one copy per community in the Community case, plus copies to single nodes is an obvious strategy. However, for larger values of τ\tau (e.g., 20), Community is no longer able to offload content with reasonable delays (Fig. 11d).

5.5 Asymmetry

Refer to caption
(a) Rollernet
Refer to caption
(b) Stanford
Refer to caption
(c) Random Waypoint
Refer to caption
(d) Community
Figure 12: Average asymmetry vs. maximum delay δ\delta for different values of τ\tau (in seconds).

Asymmetric communications are a fundamental aspect of opportunistic networks. Too strong focus on inter-contact times may lead to overlook asymmetry, but reachability graphs provide a natural way of studying and quantifying it.

Fig. 12 plots for all datasets the average asymmetry against the maximum delay for increasing values of the edge traversal time. The asymmetry for the τ\mathcal{R}_{\tau} graph directly derived from the original contact trace is always 0 as it only contains symmetric arcs (see Section 3.4). Asymmetry in Random Waypoint follows a regular pattern: a bell-shaped curve of constant max value, whose width and center increase with τ\tau (Fig. 12c). In this scenario, depending on the delay constraint, up to 80% on average of connected pairs of vertices can only communicate in one direction. This is due to nodes traveling long straight distances creating asymmetric reachability to nodes they meet from nodes they had met earlier. As the maximum delay increases, return journeys using different intermediate nodes appear, the reachability becomes complete, and the asymmetry returns to 0.

As previously, Rollernet and Random Waypoint show similar behavior. However, for Rollernet the maximum asymmetry also increases with τ\tau (Fig. 12a). Indeed, as fewer edges are traversable, journeys become less likely between the front and the rear of the rollerblading tour. When such a journey is possible, it creates a longer-lasting asymmetry. In the Stanford trace, asymmetry follows the same increasing bell shape as in Rollernet, but never returns to 0 (Fig. 12b). In fact, this incompressible minimum asymmetry also increases with τ\tau.

6 Related Work

Adaptations of traditional static graph distance metrics and algorithms to time-varying graphs have yielded many different concepts. For example, Orda et al. propose a shortest path algorithm for TVGs based on different waiting policies (unrestricted, forbidden, and source waiting) [21]. Our work corresponds to the unrestricted policy, in which a message may wait for an unlimited amount of time anywhere along its path through the TVG. Bui Xuan et al. have proposed efficient algorithms for calculating shortest (in number of hops), fastest (in path traversal time), and foremost (i.e., earliest arrival) paths in TVGs [29]. All these algorithms are designed to compute the shortest paths to all destination from a source and a fixed starting time. Our algorithms, in contrast, computes the reachibility graph by estimating the shortest paths for all possible starting times.

Several approaches to reachability in time-varying graphs exists. For strictly positive edge traversal times, a simple heuristic consists in dividing time into successive slots of length τ\tau and keeping only edges that are persistently present during each slot [8]. This provides a good lower-bound approximation for small values of τ\tau (i.e., less than η\eta) whereas our approach can handle arbitrary edge traversal times. From a given starting time tt, reachability among all pairs of nodes can be calculated by iterating over all edge UP/DOWN events [24]. This calculation can then be repeated for a sample of starting times [14]. This approach yields static reachability graphs for a discrete sequence of starting times, whereas the temporal reachability graphs defined in this paper calculate reachability in continuous time.

Chaintreau et al., in their work on the diameter of opportunistic networks, calculate a Last Departure / Earliest Arrival structure for each pair of nodes [5]. This structure can tell for any pair of nodes (A,B)(A,B), at any time tt, when is the earliest arrival for a message leaving AA for BB at time tt. A reachability graph could be easily derived from these structures, but would unfortunately only cover the τ=0\tau=0 case. Our approach is more general since it can also handle non-zero edge traversal times.

7 Conclusion and further work

In this paper, we introduced the notion of temporal reachability graphs. Given an edge traversal time and a maximum journey delay, temporal reachability graphs capture the temporal connectivity of the time-varying graphs they derive from. After formalizing the concept, we proved that regular reachability graphs, which encompass all experimental datasets, can be composed to compute reachability graphs of higher maximum delay with very high accuracy. Furthermore, we proposed a scalable highly-parallel streaming algorithm for their efficient computation. By applying this algorithm to synthetic and real-life contact traces, we showed how reachability graphs provide fresh new insights on temporal connectivity in time-varying graphs. In particular, they yield an immediate and intuitive picture of the communication capabilities and offloading potential of opportunistic networks.

This work on reachability graphs will be pursued in several directions. Firstly, our results could be extended to the more general case where the edge traversal time τ\tau is not constant but may take values among multiples of a TVG’s resolution η\eta. Secondly, as seen in this paper, reachability graphs seem to reveal community structures that are not immediately apparent in the contact traces. They could therefore lead to new approaches for the difficult problem of community detection in time-varying graphs. Finally, much work remains to be done on the statistical analysis and modeling of reachability graphs. For example, what are the correlations between symmetric and asymmetric arcs from a given node? How do degree and inter-arc time distributions evolve with edge traversal time and delay? If reachability graphs turn out to be easier to model than their underlying time-varying graphs, could they be used as a first step for realistic synthetic connectivity models?

References

  • [1] N. Alon, Y. Matias, and M. Szegedy. The space complexity of approximating the frequency moments. In Proc. ACM STOC, 1996.
  • [2] S. Bhadra and A. Ferreira. Computing multicast trees in dynamic networks using evolving graphs. Technical Report RR-4531, INRIA, 2002.
  • [3] A. Casteigts, P. Flocchini, W. Quattrociocchi, and N. Santoro. Time-varying graphs and dynamic networks. In Ad-hoc, Mobile, and Wireless Networks, volume 6811 of Lecture Notes in Computer Science, pages 346–359. Springer Berlin / Heidelberg, 2011.
  • [4] A. Chaintreau, P. Hui, J. Crowcroft, C. Diot, R. Gass, and J. Scott. Impact of human mobility on opportunistic forwarding algorithms. IEEE Transactions on Mobile Computing, 6(6):606 –620, 2007.
  • [5] A. Chaintreau, A. Mtibaa, L. Massoulie, and C. Diot. The diameter of opportunistic mobile networks. In Proc. ACM CoNEXT, 2007.
  • [6] A. Clauset and N. Eagle. Persistence and Periodicity in a Dynamic Proximity Network. In Proc. DIMACS Workshop on Computational Methods for Dynamic Interaction Network, 2007.
  • [7] V. Conan, J. Leguay, and T. Friedman. Characterizing pairwise inter-contact patterns in delay tolerant networks. In Proc. ACM Autonomics, 2007.
  • [8] E. M. Daly and M. Haahr. Social network analysis for information flow in disconnected delay-tolerant manets. IEEE Transactions on Mobile Computing, 8(5):606–621, May 2009.
  • [9] F. De Pellegrini, D. Miorandi, I. Carreras, and I. Chlamtac. A graph-based model for disconnected ad hoc networks. In Proc. IEEE INFOCOM, 2007.
  • [10] S. N. Dorogovtsev and J. F. F. Mendes. Evolution of networks. Advances In Physics, 51(1079-1187):4, 2002.
  • [11] K. Fall. A delay-tolerant network architecture for challenged internets. In Proc. ACM SIGCOMM, 2003.
  • [12] B. Han, P. Hui, V. Kumar, M. Marathe, J. Shao, and A. Srinivasan. Mobile data offloading through opportunistic communications and social participation. IEEE Transactions on Mobile Computing, 11(5):821 – 834, 2011.
  • [13] F. Harary and G. Gupta. Dynamic graph models. Mathematical and Computer Modelling, 25(7):79–88, 2005.
  • [14] P. Holme. Network reachability of real-world contact sequences. Phys. Rev. E, 71:046119, Apr 2005.
  • [15] D. Kempe, J. Kleinberg, and A. Kumar. Connectivity and inference problems for temporal networks. In Proc. ACM STOC, 2000.
  • [16] V. Kostakos. Temporal graphs. Physica A Statistical Mechanics and its Applications, 388:1007–1023, 2009.
  • [17] A. Laouiti, A. Qayyum, and L. Viennot. Multipoint relaying: An efficient technique for flooding in mobile wireless networks. In Proc. IEEE HICCS, 2001.
  • [18] J.-Y. Le Boudec and M. Vojnovic. Perfect simulation and stationarity of a class of mobility models. In Proc. IEEE Infocom, 2005.
  • [19] M. Musolesi, S. Hailes, and C. Mascolo. Adaptive routing for intermittently connected mobile ad hoc networks. In Proc. IEEE WoWMoM, 2005.
  • [20] M. Musolesi and C. Mascolo. A community based mobility model for ad hoc network research. In Proc. ACM REALMAN, 2006.
  • [21] A. Orda and R. Rom. Shortest-path and minimum-delay algorithms in networks with time-dependent edge-length. J. ACM, 37:607–625, 1990.
  • [22] A. Passarella and M. Conti. Characterising aggregate inter-contact times in heterogeneous opportunistic networks. In Proc. IFIP NETWORKING, 2011.
  • [23] M. Salathé, M. Kazandjieva, J. W. Lee, P. Levis, M. W. Feldman, and J. H. Jones. A high-resolution human contact network for infectious disease transmission. PNAS, 107(51):22020–22025, 2010.
  • [24] J. Tang, M. Musolesi, C. Mascolo, and V. Latora. Characterising temporal distance and reachability in mobile and online social networks. SIGCOMM Computer Communications Review, 40(1):118–124, Jan. 2010.
  • [25] P.-U. Tournoux, J. Leguay, F. Benbadis, V. Conan, M. Amorim, and J. Whitbeck. Density aware routing in highly dynamic dtns: the rollernet case. IEEE Transactions on Mobile Computing, 10(12):1755–1768, 2011.
  • [26] A. Wagner. The yeast protein interaction network evolves rapidly and contains few redundant duplicate genes. Molecular Biology and Evolution, 18(7):1283–1292, 2001.
  • [27] D. J. Watts and S. H. Strogatz. Collective dynamics of small-world networks. Nature, 393(6684):440–442, 1998.
  • [28] J. Whitbeck. DynamIc Trace Library. http://github.com/neush/ditl.
  • [29] B. B. Xuan, A. Ferreira, and A. Jarry. Computing shortest, fastest, and foremost journeys in dynamic networks. International Journal of Foundations of Computer Science, 14(2):267–285, 2003.

Appendix A Proofs

A.1 Proof of Theorem 1

Lemma 1

Let δ\mathcal{R}_{\delta} be a reachability graph of a TVG 𝒢\mathcal{G} with edge traversal time τ\tau. Let 𝒥\mathcal{J} be a journey from uu to vv such that departure(𝒥)tdeparture(\mathcal{J})\geq t and arrival(𝒥)<t+δ+τarrival(\mathcal{J})<t+\delta+\tau. Then 0ϵ<1\exists 0\leq\epsilon<1 such that (u,v)δ+ϵτ(t)(u,v)\in\mathcal{R}_{\delta+\epsilon\tau}(t).

Proof.

If arrival(𝒥)t+δarrival(\mathcal{J})\leq t+\delta, then we set ϵ=0\epsilon=0 and we have (u,v)δ(t)(u,v)\in\mathcal{R}_{\delta}(t).

If arrival(𝒥)>t+δarrival(\mathcal{J})>t+\delta, let 0ϵ<10\leq\epsilon<1 such that arrival(𝒥)=t+δ+ϵτarrival(\mathcal{J})=t+\delta+\epsilon\tau. In this case, (u,v)δ+ϵτ(t)(u,v)\in\mathcal{R}_{\delta+\epsilon\tau}(t). ∎

Lemma 2

Let μ\mathcal{R}_{\mu} be a reachability graph of a TVG 𝒢\mathcal{G} with edge traversal time τ\tau. Let 𝒥\mathcal{J} be a journey from uu to vv such that departure(𝒥)tdeparture(\mathcal{J})\geq t and arrival(𝒥)t+μarrival(\mathcal{J})\leq t+\mu. Then μτ\mu\geq\tau and 0ϵ<1\exists 0\leq\epsilon<1 such that (u,v)μϵτ(t+ϵτ)(u,v)\in\mathcal{R}_{\mu-\epsilon\tau}(t+\epsilon\tau).

Proof.

The temporal length of journey 𝒥\mathcal{J} is δ𝒥μ\delta_{\mathcal{J}}\leq\mu. Since it is a valid journey from uu to vv, δ𝒥τ\delta_{\mathcal{J}}\geq\tau, hence μτ\mu\geq\tau.

If departure(𝒥)t+τdeparture(\mathcal{J})\geq t+\tau, then δ𝒥μτ\delta_{\mathcal{J}}\leq\mu-\tau, and 0ϵ<1\forall 0\leq\epsilon<1, (u,v)μτ(t+τ)μϵτ(t+ϵτ)(u,v)\in\mathcal{R}_{\mu-\tau}(t+\tau)\subseteq\mathcal{R}_{\mu-\epsilon\tau}(t+\epsilon\tau).

If departure(𝒥)<t+τdeparture(\mathcal{J})<t+\tau, then we set 0ϵ<10\leq\epsilon<1 such that departure(𝒥)=t+ϵτdeparture(\mathcal{J})=t+\epsilon\tau. Then, since arrival(𝒥)t+μarrival(\mathcal{J})\leq t+\mu, δ𝒥μϵτ\delta_{\mathcal{J}}\leq\mu-\epsilon\tau and (u,v)μϵτ(t+ϵτ)(u,v)\in\mathcal{R}_{\mu-\epsilon\tau}(t+\epsilon\tau). ∎

We can now prove Theorem 1.

Proof.

(Theorem 1) First, let us show that if an arc fits one of the decompositions then it belongs to δ+μ\mathcal{R}_{\delta+\mu}. For all times tt, let (u,v)(u,v) be an arc in (δ+ϵτμϵτ)(t)\left(\mathcal{R}_{\delta+\epsilon\tau}\otimes\mathcal{R}_{\mu-\epsilon\tau}\right)(t) (0ϵ<10\leq\epsilon<1). By definition, one of the following conditions holds.

  1. 1.

    (u,v)δ+ϵτ(t)(u,v)\in\mathcal{R}_{\delta+\epsilon\tau}(t). Therefore (u,v)δ+μ(t)(u,v)\in\mathcal{R}_{\delta+\mu}(t) (Proposition 1).

  2. 2.

    (u,v)μϵτ(t+δ+ϵτ)(u,v)\in\mathcal{R}_{\mu-\epsilon\tau}(t+\delta+\epsilon\tau). In this case, there exists a journey 𝒥\mathcal{J} in 𝒢\mathcal{G} such that departure(𝒥)t+δ+ϵτtdeparture(\mathcal{J})\geq t+\delta+\epsilon\tau\geq t and arrival(𝒥)t+δ+ϵτ+μϵτt+δ+μarrival(\mathcal{J})\leq t+\delta+\epsilon\tau+\mu-\epsilon\tau\leq t+\delta+\mu. Therefore, by definition, (u,v)δ+μ(t)(u,v)\in\mathcal{R}_{\delta+\mu}(t).

  3. 3.

    wV,s.t.(u,w)δ+ϵτ(t) and (w,v)μϵτ(t+δ+ϵτ)\exists w\in V,s.t.(u,w)\in\mathcal{R}_{\delta+\epsilon\tau}(t)\text{ and }(w,v)\in\mathcal{R}_{\mu-\epsilon\tau}(t+\delta+\epsilon\tau). Let 𝒥\mathcal{J} and 𝒥\mathcal{J}^{\prime} be the respective journeys from uu to ww and from ww to vv. 𝒥𝒥\mathcal{J}\cup\mathcal{J}^{\prime} is a journey from uu to vv such that departure(𝒥𝒥)=departure(𝒥)tdeparture(\mathcal{J}\cup\mathcal{J}^{\prime})=departure(\mathcal{J})\geq t and arrival(𝒥𝒥)=arrival(𝒥)t+δ+ϵτ+μϵτarrival(\mathcal{J}\cup\mathcal{J})=arrival(\mathcal{J}^{\prime})\leq t+\delta+\epsilon\tau+\mu-\epsilon\tau, i.e. arrival(𝒥𝒥)t+δ+μarrival(\mathcal{J}\cup\mathcal{J})\leq t+\delta+\mu. Therefore (u,v)δ+μ(t)(u,v)\in\mathcal{R}_{\delta+\mu}(t).

Conversely, let us show that for any time tt and any arc (u,v)δ+μ(t)(u,v)\in\mathcal{R}_{\delta+\mu}(t), there exists 0ϵ<10\leq\epsilon<1, such that (u,v)(δ+ϵτμϵτ)(t)(u,v)\in\left(\mathcal{R}_{\delta+\epsilon\tau}\otimes\mathcal{R}_{\mu-\epsilon\tau}\right)(t). Let 𝒥={(e1,t1),,(ek,tk)}\mathcal{J}=\left\{(e_{1},t_{1}),\dotsc,(e_{k},t_{k})\right\} be the journey from uu to vv such that departure(𝒥)tdeparture(\mathcal{J})\geq t and arrival(𝒥)t+δ+μarrival(\mathcal{J})\leq t+\delta+\mu.

Let i=max{1jk|tj<t+δ}i=\max\left\{1\leq j\leq k|t_{j}<t+\delta\right\}. There are three possible situations.

  1. 1.

    ii is not defined, i.e., departure(𝒥)t+δdeparture(\mathcal{J})\geq t+\delta. Since arrival(𝒥)t+δ+μarrival(\mathcal{J})\leq t+\delta+\mu, 0ϵ<1\exists 0\leq\epsilon<1, such that (u,v)μϵτ(t+δ+ϵτ)(u,v)\in\mathcal{R}_{\mu-\epsilon\tau}(t+\delta+\epsilon\tau) (Lemma 2).

  2. 2.

    ti=tkt_{i}=t_{k}. Then 𝒥\mathcal{J} is a path from uu to vv such that departure(𝒥)tdeparture(\mathcal{J})\geq t and arrival(𝒥)<t+δ+τarrival(\mathcal{J})<t+\delta+\tau. Therefore 0ϵ<1\exists 0\leq\epsilon<1, such that (u,v)δ+ϵτ(t)(u,v)\in\mathcal{R}_{\delta+\epsilon\tau}(t) (Lemma 1).

  3. 3.

    t1ti<ti+1tkt_{1}\leq t_{i}<t_{i+1}\leq t_{k}. In this case, we can divide the journey 𝒥\mathcal{J} from uu to vv at time tt into the sub-journeys 𝒥1={(e1,t1),,(ei,ti)}\mathcal{J}_{1}=\left\{(e_{1},t_{1}),\dotsc,(e_{i},t_{i})\right\} and 𝒥2={(ei+1,ti+1),,(ek,tk)}\mathcal{J}_{2}=\left\{(e_{i+1},t_{i+1}),\dotsc,(e_{k},t_{k})\right\}. We set w=to(ei)=from(ei+1)w=to(e_{i})=from(e_{i+1}). We have arrival(𝒥1)=ti+τ<t+δ+τarrival(\mathcal{J}_{1})=t_{i}+\tau<t+\delta+\tau. Therefore, 0ϵ<1\exists 0\leq\epsilon<1 such that (u,w)δ+ϵτ(t)(u,w)\in\mathcal{R}_{\delta+\epsilon\tau}(t) (Lemma 1). Since 𝒥\mathcal{J} is a valid journey in 𝒢\mathcal{G}, ti+1ti+τt+δ+ϵτt_{i+1}\geq t_{i}+\tau\geq t+\delta+\epsilon\tau. Therefore departure(𝒥2)t+δ+ϵτdeparture(\mathcal{J}_{2})\geq t+\delta+\epsilon\tau, and (w,v)μϵτ(t+δ+ϵτ)(w,v)\in\mathcal{R}_{\mu-\epsilon\tau}(t+\delta+\epsilon\tau).

In all three cases, (u,v)(δ+ϵτμϵτ)(t)(u,v)\in\left(\mathcal{R}_{\delta+\epsilon\tau}\otimes\mathcal{R}_{\mu-\epsilon\tau}\right)(t). ∎

A.2 Proof of Theorem 2

Lemma 3 (One-hop journeys)

Let 𝒢\mathcal{G} be an η\eta-regular TVG whose edge traversal time is τη\tau\in\eta\mathbb{N}^{*}. For kk\in\mathbb{N}, if a one-hop journey {(e,t)}\{(e,t)\} exists in 𝒢\mathcal{G} such that kη<t<(k+1)ηk\eta<t<(k+1)\eta, then all one-hop journeys {(e,t)}\{(e,t)\} with kηt(k+1)ηk\eta\leq t\leq(k+1)\eta also exist in 𝒢\mathcal{G}.

Proof.

Let τ=nη\tau=n\eta with nn\in\mathbb{N}^{*}. If 𝒥={(e,t)}\mathcal{J}=\{(e,t)\} is a valid journey in tt, then by definition for all tζ<t+τt\leq\zeta<t+\tau, e𝒢(ζ)e\in\mathcal{G}(\zeta). Since kη<t<(k+1)ηk\eta<t<(k+1)\eta and 𝒢\mathcal{G} is η\eta-regular, then for all kηζ<(k+n)η,e𝒢(ζ)k\eta\leq\zeta<(k+n)\eta,e\in\mathcal{G}(\zeta) (Definition 7). Furthermore, since arrival(𝒥)=t+τ>(k+n)ηarrival(\mathcal{J})=t+\tau>(k+n)\eta, there exists 0ϵ<10\leq\epsilon<1 such that (k+n)η<(k+n+ϵ)η<(k+n+1)η(k+n)\eta<(k+n+\epsilon)\eta<(k+n+1)\eta. In this case, e𝒢((k+n+ϵ)η)e\in\mathcal{G}\left((k+n+\epsilon)\eta\right). Therefore, since 𝒢\mathcal{G} is η\eta-regular, for all (k+n)ηζ<(k+n+1)η(k+n)\eta\leq\zeta<(k+n+1)\eta, e𝒢(ζ)e\in\mathcal{G}(\zeta) (Definition 7). Finally let 𝒥^={(e,t^)}\hat{\mathcal{J}}=\{(e,\hat{t})\} be a one-hop journey in 𝒢\mathcal{G} with kηt^<(k+1)ηk\eta\leq\hat{t}<(k+1)\eta. We have departure(𝒥^)kηdeparture(\hat{\mathcal{J}})\geq k\eta and arrival(𝒥^)(k+1+n)ηarrival(\hat{\mathcal{J}})\leq(k+1+n)\eta. Since for all kηζ<(k+1+n)ηk\eta\leq\zeta<(k+1+n)\eta, e𝒢(ζ)e\in\mathcal{G}(\zeta), 𝒥^\hat{\mathcal{J}} is a valid journey in 𝒢\mathcal{G}. ∎

Lemma 4 (Epoch inclusion)

Let 𝒢\mathcal{G} be an η\eta-regular TVG whose edge traversal time is τη\tau\in\eta\mathbb{N}^{*}. For δη\delta\in\eta\mathbb{N}, let δ\mathcal{R}_{\delta} be a reachability graph of 𝒢\mathcal{G}. For kk\in\mathbb{N}, let times tat_{a} and tbt_{b} be such that kη<ta<(k+1)ηk\eta<t_{a}<(k+1)\eta and kηtb(k+1)ηk\eta\leq t_{b}\leq(k+1)\eta. Then δ(ta)δ(tb)\mathcal{R}_{\delta}(t_{a})\subseteq\mathcal{R}_{\delta}(t_{b}).

Proof.

For δ=0\delta=0, δ\mathcal{R}_{\delta} is always empty and the lemma is trivially true. Hereafter we write δ=dη\delta=d\eta, with dd\in\mathbb{N}^{*}. If an arc (u,v)(u,v) is in δ(ta)\mathcal{R}_{\delta}(t_{a}), then there exists a journey 𝒥={(e1,t1),,(ek,tk)}\mathcal{J}=\left\{(e_{1},t_{1}),\dotsc,(e_{k},t_{k})\right\} from uu to vv such that t1tat_{1}\geq t_{a} and tk+τta+δt_{k}+\tau\leq t_{a}+\delta.

First we assume that ta<tbt_{a}<t_{b}.

Let i=min{j|tjtb+(j1)τ}i=\min\left\{j|t_{j}\geq t_{b}+(j-1)\tau\right\}.

If ii is not defined then j,ta+(j1)τtj<tb+(j1)τ\forall j,t_{a}+(j-1)\tau\leq t_{j}<t_{b}+(j-1)\tau. We consider the journey 𝒥^={(ej,tj^}1jk\hat{\mathcal{J}}=\left\{(e_{j},\hat{t_{j}}\right\}_{1\leq j\leq k}, such that tj^=tb+(j1)τ\hat{t_{j}}=t_{b}+(j-1)\tau. By construction, the departure times of all of its one-hop journeys verify tj^t^j1τ\hat{t_{j}}-\hat{t}_{j-1}\geq\tau. Furthermore, since kη+(j1)nη<tj<tj^<(k+1)η+(j1)nηk\eta+(j-1)n\eta<t_{j}<\hat{t_{j}}<(k+1)\eta+(j-1)n\eta, all one-hop journeys {(ej,tj^)}\{(e_{j},\hat{t_{j}})\} are valid (Lemma 3). Therefore 𝒥^\hat{\mathcal{J}} is a valid journey from uu to vv such that departure(𝒥^)tbdeparture(\hat{\mathcal{J}})\geq t_{b} and arrival(𝒥^)tb+δarrival(\hat{\mathcal{J}})\leq t_{b}+\delta, i.e., (u,v)δ(tb)(u,v)\in\mathcal{R}_{\delta}(t_{b}).

If ii is defined then there are two possibilities. If i=1i=1 then departure(𝒥)tbdeparture(\mathcal{J})\geq t_{b} and (u,v)(u,v) is trivially in δ(tb)\mathcal{R}_{\delta}(t_{b}). If i>1i>1, then we can divide journey 𝒥\mathcal{J} into two subjourneys 𝒥1={(ej,tj)}0j<i\mathcal{J}_{1}=\left\{(e_{j},t_{j})\right\}_{0\leq j<i} and 𝒥2={(ej,tj)}ijk\mathcal{J}_{2}=\left\{(e_{j},t_{j})\right\}_{i\leq j\leq k}. As above, we can transform 𝒥1\mathcal{J}_{1} into a valid journey 𝒥1^={(ej,tj^}0j<i\hat{\mathcal{J}_{1}}=\left\{(e_{j},\hat{t_{j}}\right\}_{0\leq j<i} with tj^=tb+(j1)τ\hat{t_{j}}=t_{b}+(j-1)\tau such that departure(J1^)tbdeparture(\hat{J_{1}})\geq t_{b} and arrival(J1^)tb+(i1)τarrival(\hat{J_{1}})\leq t_{b}+(i-1)\tau. Since departure(𝒥2)tb+(i1)τdeparture(\mathcal{J}_{2})\geq t_{b}+(i-1)\tau, 𝒥1^𝒥2\hat{\mathcal{J}_{1}}\cup\mathcal{J}_{2} is a valid journey from uu to vv that leaves after tbt_{b} and arrives before tb+δt_{b}+\delta. Therefore (u,v)δ(tb)(u,v)\in\mathcal{R}_{\delta}(t_{b}).

Conversely, let us assume that ta>tbt_{a}>t_{b}. Let i=max{j|tj+τtb+δ(kj)τ}i=\max\left\{j|t_{j}+\tau\leq t_{b}+\delta-(k-j)\tau\right\}.

If ii is not defined, then j,tb+δ+(kj)τ<tj+τta+δ+(kj)τ\forall j,t_{b}+\delta+(k-j)\tau<t_{j}+\tau\leq t_{a}+\delta+(k-j)\tau. We consider the journey 𝒥^={(ej,tj^}1jk\hat{\mathcal{J}}=\left\{(e_{j},\hat{t_{j}}\right\}_{1\leq j\leq k}, such that tj^=ta+δ+(kj1)τ\hat{t_{j}}=t_{a}+\delta+(k-j-1)\tau. By construction, the departure times of all of its one-hop journeys verify tj^t^j1τ\hat{t_{j}}-\hat{t}_{j-1}\geq\tau. Furthermore, since (k+d)η+(kj1)nη<tj^<tj<(k+d+1)η+(kj1)nη(k+d)\eta+(k-j-1)n\eta<\hat{t_{j}}<t_{j}<(k+d+1)\eta+(k-j-1)n\eta, all one-hop journeys {(ej,tj^)}\{(e_{j},\hat{t_{j}})\} are valid (Lemma 3). Therefore 𝒥^\hat{\mathcal{J}} is a valid journey from uu to vv such that departure(𝒥^)tbdeparture(\hat{\mathcal{J}})\geq t_{b} and arrival(𝒥^)tb+δarrival(\hat{\mathcal{J}})\leq t_{b}+\delta, i.e., (u,v)δ(tb)(u,v)\in\mathcal{R}_{\delta}(t_{b}).

If ii is defined then there are two possibilities. If i=ki=k then arrival(𝒥)tb+δarrival(\mathcal{J})\leq t_{b}+\delta and (u,v)(u,v) is trivially in δ(tb)\mathcal{R}_{\delta}(t_{b}). If i<ki<k, then we can divide journey 𝒥\mathcal{J} into two subjourneys 𝒥1={(ej,tj)}0ji\mathcal{J}_{1}=\left\{(e_{j},t_{j})\right\}_{0\leq j\leq i} and 𝒥2={(ej,tj)}i<jk\mathcal{J}_{2}=\left\{(e_{j},t_{j})\right\}_{i<j\leq k}. As above, we can transform 𝒥2\mathcal{J}_{2} into a valid journey 𝒥2^={(ej,tj^}i<jk\hat{\mathcal{J}_{2}}=\left\{(e_{j},\hat{t_{j}}\right\}_{i<j\leq k} with tj^=tb+δ+(kj1)τ\hat{t_{j}}=t_{b}+\delta+(k-j-1)\tau such that departure(J2^)tb+δ+(ki)τdeparture(\hat{J_{2}})\geq t_{b}+\delta+(k-i)\tau and arrival(J2^)tb+δarrival(\hat{J_{2}})\leq t_{b}+\delta. Since arrival(𝒥1)tb+(ki)τarrival(\mathcal{J}_{1})\leq t_{b}+(k-i)\tau, 𝒥1𝒥2^\mathcal{J}_{1}\cup\hat{\mathcal{J}_{2}} is a valid journey from uu to vv that leaves after tbt_{b} and arrives before tb+δt_{b}+\delta. Therefore (u,v)δ(tb)(u,v)\in\mathcal{R}_{\delta}(t_{b}). ∎

We can now prove Theorem 2.

Proof.

For δ=0\delta=0, δ\mathcal{R}_{\delta} is always empty and the lemma is trivially true. Hereafter δη\delta\in\eta\mathbb{N}^{*}. For all kk\in\mathbb{N}, and for all kηt1<(k+1)ηk\eta\leq t_{1}<(k+1)\eta, δ(t1)δ(kη)\mathcal{R}_{\delta}(t_{1})\subseteq\mathcal{R}_{\delta}(k\eta) and δ(t1)δ((k+1)η))\mathcal{R}_{\delta}(t_{1})\subseteq\mathcal{R}_{\delta}\left((k+1)\eta)\right) (Lemma 4). For times t2t_{2} such that kη<t2<(k+1)ηk\eta<t_{2}<(k+1)\eta, we have δ(t1)δ(t2)\mathcal{R}_{\delta}(t_{1})\subseteq\mathcal{R}_{\delta}(t_{2}) and δ(t2)δ(t1)\mathcal{R}_{\delta}(t_{2})\subseteq\mathcal{R}_{\delta}(t_{1}) (Lemma 4). Therefore δ(t1)=δ(t2)\mathcal{R}_{\delta}(t_{1})=\mathcal{R}_{\delta}(t_{2}) and δ\mathcal{R}_{\delta} is η\eta-regular. ∎

A.3 Proof of Theorem 3

Lemma 5 (Journeys in regular graphs)

Let 𝒢\mathcal{G} be an η\eta-regular TVG whose edge traversal time is τη\tau\in\eta\mathbb{N}^{*}. Let 𝒥\mathcal{J} be a journey in 𝒢\mathcal{G} from uu to vv such that (a,b)×\exists(a,b)\in\mathbb{N}\times\mathbb{N}, departure(𝒥)aηdeparture(\mathcal{J})\geq a\eta and arrival(𝒥)<(b+1)ηarrival(\mathcal{J})<(b+1)\eta. Then there exists another journey 𝒥^\hat{\mathcal{J}} from uu to vv that verifies departure(𝒥)aηdeparture(\mathcal{J})\geq a\eta and arrival(𝒥)bηarrival(\mathcal{J})\leq b\eta.

Proof.

We write τ=nη\tau=n\eta with nn\in\mathbb{N}^{*}. If ba+nb\leq a+n, then arrival(𝒥)departure(𝒥)<τarrival(\mathcal{J})-departure(\mathcal{J})<\tau which is impossible. Therefore b>a+nb>a+n.

𝒥={(e1,t1),,(ek,tk)}\mathcal{J}=\left\{(e_{1},t_{1}),\dotsc,(e_{k},t_{k})\right\} is a journey from uu to vv. For all ii, we note cic_{i} the integer such that ciηti<(ci+1)ηc_{i}\eta\leq t_{i}<(c_{i}+1)\eta. Here a=c1a=c_{1} and b=ck+nb=c_{k}+n. Indeed, we have arrival(𝒥)=tk+τ<(ck+n+1)ηarrival(\mathcal{J})=t_{k}+\tau<(c_{k}+n+1)\eta. Then we define 𝒥^={(e1,c1η),,(ek,ckη)}\hat{\mathcal{J}}=\left\{(e_{1},c_{1}\eta),\dotsc,(e_{k},c_{k}\eta)\right\}.

Firstly, since 𝒥\mathcal{J} is a valid journey, for all tit<ti+τ,ei𝒢(t)t_{i}\leq t<t_{i}+\tau,e_{i}\in\mathcal{G}(t). Because 𝒢\mathcal{G} is η\eta-regular, this implies that for all ciηt<ci+τ,ei𝒢(t)c_{i}\eta\leq t<c_{i}+\tau,e_{i}\in\mathcal{G}(t), and therefore all one-hop journeys {(ei,ciη)}\{(e_{i},c_{i}\eta)\} in 𝒥^\hat{\mathcal{J}} are valid.

Secondly, for all ii, ti+1tiτt_{i+1}-t_{i}\geq\tau leads to (ci+1ci)η+η>τ(c_{i+1}-c_{i})\eta+\eta>\tau, i.e., (ci+1ci)+1>n(c_{i+1}-c_{i})+1>n. Since these are all integers, we get ci+1cinc_{i+1}-c_{i}\geq n and all the one-hop journeys in 𝒥^\hat{\mathcal{J}} may be taken successively and 𝒥^\hat{\mathcal{J}} is therefore a valid journey from uu to vv such that departure(𝒥^)aηdeparture(\hat{\mathcal{J}})\geq a\eta and arrival(𝒥^)(ck+n)η=bηarrival(\hat{\mathcal{J}})\leq(c_{k}+n)\eta=b\eta. ∎

We can now prove Theorem 3.

Proof.

We write τ=nη\tau=n\eta with nn\in\mathbb{N}^{*}. At time t=aηt=a\eta, let (u,v)(u,v) be an arc in (d+k)η(mk)η\mathcal{R}_{(d+k)\eta}\otimes\mathcal{R}_{(m-k)\eta} with 0k<n0\leq k<n. By setting ϵ=k/n\epsilon=k/n, (u,v)(d+m)η(aη)(u,v)\in\mathcal{R}_{(d+m)\eta}(a\eta) with 0ϵ<10\leq\epsilon<1 (Theorem 1).

Conversely, let us consider an (u,v)(d+m)η(aη)(u,v)\in\mathcal{R}_{(d+m)\eta}(a\eta). Since mητm\eta\geq\tau,according to Theorem 1, there exists 0ϵ<10\leq\epsilon<1 such that one of the following holds (we note kk the integer such that kηϵnη<(k+1)ηk\eta\leq\epsilon n\eta<(k+1)\eta).

  • (u,v)dη+ϵτ(aη)(u,v)\in\mathcal{R}_{d\eta+\epsilon\tau}(a\eta). Therefore (u,v)(d+k)η(aη)(u,v)\in\mathcal{R}_{(d+k)\eta}(a\eta) (Lemma 5).

  • (u,v)mηϵτ((a+d)η+ϵτ)(u,v)\in\mathcal{R}_{m\eta-\epsilon\tau}\left((a+d)\eta+\epsilon\tau\right). With the inclusion rule from Proposition 1, (u,v)(u,v) belongs to
    (mk)η((a+d)η+ϵnη)\mathcal{R}_{(m-k)\eta}\left((a+d)\eta+\epsilon n\eta\right). Furthermore, since (mk)η\mathcal{R}_{(m-k)\eta} is η\eta-regular (Theorem 2), (u,v)(mk)η((a+d+k)η)(u,v)\in\mathcal{R}_{(m-k)\eta}\left((a+d+k)\eta\right).

  • wV,(u,w)dη+ϵτ(aη)\exists w\in V,(u,w)\in\mathcal{R}_{d\eta+\epsilon\tau}(a\eta) and
    (w,v)mηϵτ((a+d)η+ϵτ)(w,v)\in\mathcal{R}_{m\eta-\epsilon\tau}\left((a+d)\eta+\epsilon\tau\right). Following the same reasoning as for the first two conditions, we show that wV,(u,w)(d+k)η(aη)\exists w\in V,(u,w)\in\mathcal{R}_{(d+k)\eta}(a\eta) and (w,v)(mk)η((a+d+k)η)(w,v)\in\mathcal{R}_{(m-k)\eta}\left((a+d+k)\eta\right).

In all three cases, there exists 0k<n0\leq k<n such that (u,v)(d+k)η(mk)η(u,v)\in\mathcal{R}_{(d+k)\eta}\otimes\mathcal{R}_{(m-k)\eta}. ∎

A.4 Proof of Proposition 3

Proof.

For d<2nd<2n, by definition dη=dη\mathcal{L}_{d\eta}=\mathcal{R}_{d\eta}. By induction, lets us suppose the proposition true until a certain l2n1l\geq 2n-1, and show that it also holds for l+1l+1. Let (u,v)(u,v) be an arc in (l+1)η(t)\mathcal{L}_{(l+1)\eta}(t). We write aa the integer such that aηt<(a+1)ηa\eta\leq t<(a+1)\eta. If t=aηt=a\eta, then (l+1)η(t)=(l+1)η(t)\mathcal{L}_{(l+1)\eta}(t)=\mathcal{R}_{(l+1)\eta}(t) (Definition 8 and Theorem 3) and (u,v)(l+1)η(t)(u,v)\in\mathcal{R}_{(l+1)\eta}(t). Hereafter we assume that t>aηt>a\eta. Since l+12nl+1\geq 2n, there exists (d,m)N(d,m)\in N such that ndln\leq d\leq l, nmln\leq m\leq l, and l+1=d+ml+1=d+m. In this case, by definition, there exists 0k<n0\leq k<n such that one of the following holds.

  • (u,v)(d+k)η((a+1)η)(u,v)\in\mathcal{L}_{(d+k)\eta}\left((a+1)\eta\right). By setting ϵ=(a+1)ηt+kηnη\epsilon=\frac{(a+1)\eta-t+k\eta}{n\eta}, one can verify that 0ϵ<1\exists 0\leq\epsilon<1, such that (u,v)dη+ϵτ(t)(u,v)\in\mathcal{R}_{d\eta+\epsilon\tau}(t).

  • (u,v)(mk)η((a+d+k)η)(u,v)\in\mathcal{L}_{(m-k)\eta}\left((a+d+k)\eta\right). By setting ϵ=taη+kηnη\epsilon=\frac{t-a\eta+k\eta}{n\eta}, one can verify that 0ϵ<1\exists 0\leq\epsilon<1, such that (u,v)mηϵτ(t+dη+ϵτ)(u,v)\in\mathcal{R}_{m\eta-\epsilon\tau}(t+d\eta+\epsilon\tau).

  • wV,(u,w)dη(t)\exists w\in V,(u,w)\in\mathcal{L}_{d\eta}(t) and (w,v)mη(t+dη)(w,v)\in\mathcal{L}_{m\eta}(t+d\eta). By induction, (u,w)dη(t)(u,w)\in\mathcal{R}_{d\eta}(t) and (w,v)mη(t+dη)(w,v)\in\mathcal{R}_{m\eta}(t+d\eta).

With Theorem 1, in all three cases, (u,v)(l+1)η(u,v)\in\mathcal{R}_{(l+1)\eta}. By induction, this shows that d,d,dηdη\forall d\in\mathbb{N},d,\mathcal{L}_{d\eta}\subseteq\mathcal{R}_{d\eta}. ∎