Temporal Network Optimization Subject to Connectivity Constraints††thanks: This work was supported in part by (i) the project “Foundations of Dynamic Distributed Computing Systems” (Focus) which is implemented under the “ARISTEIA” Action of the Operational Programme “Education and Lifelong Learning” and is co-funded by the European Union (European Social Fund) and Greek National Resources, (ii) the FET EU IP project Multiplex under contract no 317532, and (iii) the EPSRC Grant EP/K022660/1. A preliminary version of this work has appeared in ICALP 2013 [Mmcs13].
In this work we consider temporal networks, i.e. networks defined by a labeling assigning to each edge of an underlying graph a set of discrete time-labels. The labels of an edge, which are natural numbers, indicate the discrete time moments at which the edge is available. We focus on path problems of temporal networks. In particular, we consider time-respecting paths, i.e. paths whose edges are assigned by a strictly increasing sequence of labels. We begin by giving two efficient algorithms for computing shortest time-respecting paths on a temporal network. We then prove that there is a natural analogue of Menger’s theorem holding for arbitrary temporal networks. Finally, we propose two cost minimization parameters for temporal network design. One is the temporality of , in which the goal is to minimize the maximum number of labels of an edge, and the other is the temporal cost of , in which the goal is to minimize the total number of labels used. Optimization of these parameters is performed subject to some connectivity constraint. We prove several lower and upper bounds for the temporality and the temporal cost of some very basic graph families such as rings, directed acyclic graphs, and trees.
Keywords: temporal network, graph labeling, Menger’s theorem, optimization, temporal connectivity, hardness of approximation, trade-off
A temporal (or dynamic) network is, loosely speaking, a network that changes with time. This notion encloses a great variety of both modern and traditional networks such as information and communication networks, social networks, transportation networks, and several physical systems. In the literature of traditional communication networks, the network topology is rather static, i.e. topology modifications are rare and they are mainly due to link failures and congestion. However, most modern communication networks such as mobile ad hoc, sensor, peer-to-peer, opportunistic, and delay-tolerant networks are inherently dynamic and it is often the case that this dynamicity is of a very high rate. In social networks, the topology usually represents the social connections between a group of individuals and it changes as the social relationships between the individuals are updated, or as existing individuals leave, or new individuals enter the group. In a transportation network, there is usually some fixed network of routes and a set of transportation units moving over these routes and dynamicity refers to the change of the positions of the transportation units in the network as time passes. Physical systems of interest may include several systems of interacting particles.
In this work, embarking from the foundational work of Kempe et al. [KKK00], we consider discrete time, that is, we consider networks in which changes occur at discrete moments in time, e.g. days. This choice is not only a very natural abstraction of many real systems but also gives to the resulting models a purely combinatorial flavor. In particular, we consider those networks that can be described via an underlying graph and a labeling assigning to each edge of a (possibly empty) set of discrete labels. Note that this is a generalization of the single-label-per-edge model used in [KKK00], as we allow many time-labels to appear on an edge. These labels are drawn from the natural numbers and indicate the discrete moments in time at which the corresponding connection is available. For example, in the case of a communication network, availability of a communication link at some time may mean that a communication protocol is allowed to transmit a data packet over that link at time .
In this work, we initiate the study of the following fundamental network design problem: “Given an underlying (di)graph , assign labels to the edges of so that the resulting temporal graph minimizes some parameter while satisfying some connectivity property”. In particular, we consider two cost optimization parameters for a given graph . The first one, called temporality of , measures the maximum number of labels that an edge of has been assigned. The second one, called temporal cost of , measures the total number of labels that have been assigned to all edges of (i.e. if denotes the number of labels assigned to edge , we are interested in ). That is, if we interpret the number of assigned labels as a measure of cost, the temporality (resp. the temporal cost) of is a measure of the decentralized (resp. centralized) cost of the network, where only the cost of individual edges (resp. the total cost over all edges) is considered. Each of these two cost measures can be minimized subject to some particular connectivity property that the temporal graph has to satisfy. In this work, we consider two very basic connectivity properties. The first one, that we call the all paths property, requires the temporal graph to preserve every simple path of its underlying graph, where by “preserve a path of ” we mean in this work that the labeling should provide at least one strictly increasing sequence of labels on the edges of that path, in which case we also say that the path is time-respecting.
Before describing our second connectivity property let us give a simple illustration of temporality minimization. We are given a directed ring and we want to determine the temporality of the ring subject to the all paths property. That is, we want to find a labeling that preserves every simple path of the ring and at the same time minimizes the maximum number of labels of an edge. Looking at Figure 1, it is immediate to observe that an increasing sequence of labels on the edges of path implies a decreasing pair of labels on edges and . On the other hand, path uses first and then thus it requires an increasing pair of labels on these edges. It follows that in order to preserve both and we have to use a second label on at least one of these two edges, thus the temporality is at least 2. Next, consider the labeling that assigns to each edge the labels , where and . It is not hard to see that this labeling preserves all simple paths of the ring. Since the maximum number of labels that it assigns to an edge is 2, we conclude that the temporality is also at most 2. In summary, the temporality of preserving all simple paths of a directed ring is 2.
The other connectivity property that we define, called the reach property, requires the temporal graph to preserve a path from node to node whenever is reachable from in the underlying graph. Furthermore, the minimization of each of our two cost measures can be affected by some problem-specific constraints on the labels that we are allowed to use. We consider here one of the most natural constraints, namely an upper bound of the age of the constructed labeling , where the age of a labeling is defined to be equal to the maximum label of minus its minimum label plus 1. Now the goal is to minimize the cost parameter, e.g. the temporality, satisfy the connectivity property, e.g. all paths, and additionally guarantee that the age does not exceed some given natural . Returning to the ring example, it is not hard to see, that if we additionally restrict the age to be at most then we can no longer preserve all paths of a ring using at most 2 labels per edge. In fact, we must now necessarily use the worst possible number of labels, i.e. on every edge.
Minimizing such parameters may be crucial as, in most real networks, making a connection available and maintaining its availability does not come for free. For example, in wireless sensor networks the cost of making edges available is directly related to the power consumption of keeping nodes awake, of broadcasting, of listening the wireless channel, and of resolving the resulting communication collisions. The same holds for transportation networks where the goal is to achieve good connectivity properties with as few transportation units as possible. At the same time, such a study is important from a purely graph-theoretic perspective as it gives some first insight into the structure of specific families of temporal graphs. To make this clear, consider again the ring example. Proving that the temporality of preserving all paths of a ring is 2 at the same time proves the following. If a temporal ring is defined as a ring in which all nodes can communicate clockwise to all other nodes via time-respecting paths then no temporal ring exists with fewer than labels. This, though an easy one, is a structural result for temporal graphs. Finally, we believe that our results are a first step towards answering the following fundamental question: “To what extent can algorithmic and structural results of graph theory be carried over to temporal graphs?”. For example, is there an analogue of Menger’s theorem for temporal graphs? One of the results of the present work is an affirmative answer to the latter question.
1.1 Related Work
Labeled Graphs. Labeled graphs have been widely used in Computer Science and Mathematics, e.g. in Graph Coloring [MR02]. In our work, labels correspond to moments in time and the properties of labeled graphs that we consider are naturally temporal properties. Note, however, that any property of a graph labeled from a discrete set of labels corresponds to some temporal property if interpreted appropriately. For example, a proper edge-coloring, i.e. a coloring of the edges in which no two adjacent edges share a common color, corresponds to a temporal graph in which no two adjacent edges share a common label, i.e. no two adjacent edges ever appear at the same time. Though we focus on properties with natural temporal meaning, our definitions are generic and do not exclude other, yet to be defined, properties that may prove important in future applications.
Single-label Temporal Graphs and Menger’s Theorem. The model of temporal graphs that we consider in this work is a direct extension of the single-label model studied in [Ber96] and [KKK00] to allow for many labels per edge. The main result of [Ber96] was that in single-label networks the max-flow min-cut theorem holds with unit capacities for time-respecting paths. In [KKK00], Kempe et al., among other things, proved that a fundamental property of classical graphs does not carry over to their temporal counterparts. In particular, they proved that there is no analogue of Menger’s theorem, at least in its original formulation, for arbitrary single-label temporal networks and that the computation of the number of node-disjoint - time-respecting paths is -complete. Menger’s theorem, which is the analogue of the max-flow min-cut theorem for undirected graphs, states that the maximum number of node-disjoint - paths is equal to the minimum number of nodes needed to separate from (see [Bol98]). In this work, we go a step ahead showing that if one reformulates Menger’s theorem in a way that takes time into account then a very natural temporal analogue of Menger’s theorem is obtained. Both of the above papers, consider a path as time-respecting if its edges have non-decreasing labels. In the present work, we depart from this assumption and consider a path as time-respecting if its edges have strictly increasing labels. Our choice is very well motivated by recent work in dynamic communication networks. If it takes one time unit to transmit a data packet over a link then a packet can only be transmitted over paths with strictly increasing availability times.
Continuous Availabilities (Intervals). Some authors have assumed that an edge may be available for a whole time-interval or several such intervals and not just for discrete moments as we assume here. This is a clearly natural assumption but the techniques used in those works are quite different than those needed in the discrete case [XFJ03, FT98].
Dynamic Distributed Networks. In recent years, there is a growing interest in distributed computing systems that are inherently dynamic. This has been mainly driven by the advent of low-cost wireless communication devices and the development of efficient wireless communication protocols. Apart from the huge amount of work that has been devoted to applications, there is also a steadily growing concrete set of foundational work. A notable set of works has studied (distributed) computation in worst-case dynamic networks in which the topology may change arbitrarily from round to round subject to some constraints that allow for bounded end-to-end communication [OW05, KLO10, MCS12, DPR13]. Population protocols [AAD06] and variants [MCS11a] are collections of finite-state agents that move arbitrarily like a soup of particles and interact in pairs when they come close to each other. The goal is there for the population to compute (i.e. agree on) something useful in the limit in such an adversarial setting. Another interesting direction assumes that the dynamicity of the network is a result of randomness. Here the interest is on determining “good” properties of the dynamic network that hold with high probability, such as small (temporal) diameter, and on designing protocols for distributed tasks [CMM08, AKL08]. For introductory texts on the above lines of research in dynamic distributed networks the reader is referred to [CFQS12, MCS11b, Sch02].
Distance Labeling. A distance labeling of a graph is an assignment of unique labels to the vertices of so that the distance between any two vertices can be inferred from their labels alone. The goal is to minimize some parameter of the labeling and to provide a (hopefully fast) decoder algorithm for extracting a distance from two labels [GPPR01, KKKP04]. There are several differences between a distance labeling and the time-labelings that we consider in this work. First of all, a distance labeling is being assigned on the vertices and not on the edges. Moreover, in distance labeling, one usually seeks for the most compact set of labels (in binary length) that still guarantees efficient decoding. That is, the labeling parameter to be minimized is the binary length of an appropriate encoding, which is quite different from our cost parameters. Finally, the optimization constraint there is efficient decoding while in our case the constraints have to do with connectivity properties of the labeled graph.
In §2, we formally define the model of temporal graphs under consideration and provide all further necessary definitions. In §3, we give two efficient algorithms for computing shortest time-respecting paths. Then in §4 we present an analogue of Menger’s theorem which we prove valid for arbitrary temporal graphs. We apply our Menger’s analogue to substantially simplify the proof of a recent result on distributed token gathering. In §5, we formally define the temporality and temporal cost optimization metrics for temporal graphs. In §5.1, we provide several upper and lower bounds for the temporality of some fundamental graph families such as rings, directed acyclic graphs (DAGs), and trees, as well as an interesting trade-off between the temporality and the age of rings. Furthermore, we provide in §5.2 a generic method for computing a lower bound of the temporality of an arbitrary graph w.r.t. the all paths property, and we illustrate its usefulness in cliques, close-to-complete bipartite subgraphs, and planar graphs. In §5.3, we consider the temporal cost of a digraph w.r.t. the property, when additionally the age of the resulting labeling is restricted to be the smallest possible. We prove that this problem is hard to approximate, i.e. there exists no PTAS unless . To prove our claim, we first prove (which may be of interest in its own right) that the Max-XOR() problem is -hard via a PTAS reduction from Max-XOR. In Max-XOR() problem, we are given a -CNF formula , every literal of which appears in at most 3 clauses, and we want to compute the greatest number of clauses of that can be simultaneously XOR-satisfied. Then we provide a PTAS reduction from Max-XOR to our temporal cost minimization problem. On the positive side, we provide an -factor approximation algorithm for the latter problem, where denotes the total number of reachabilities in . Finally, in §6 we conclude and give further research directions that are opened by our work.
2.1 A Model of Temporal Graphs
Given a (di)graph , a labeling of is a mapping , that is, a labeling assigns to each edge of a (possibly empty) set of natural numbers, called labels.
Let be a (di)graph and be a labeling of . Then is the temporal graph (or dynamic graph) of with respect to . Furthermore, is the underlying graph of .
We denote by the multiset of all labels assigned to the underlying graph by the labeling and by their cardinality (i.e. ). We also denote by the minimum label and by the maximum label assigned by . We define the age of a temporal graph as . Note that in case then we have . For every graph we denote by the set of all possible labelings of . Furthermore, for every , we define .
2.2 Further Definitions
For every time , we define the th instance of a temporal graph as the static graph , where is the (possibly empty) set of all edges of the underlying graph that are assigned label by labeling . A temporal graph may be also viewed as a sequence of static graphs , where for all . Another, often convenient, representation of a temporal graph is the following.
The static expansion of a temporal graph is a static digraph , and in particular a DAG, defined as follows. If then and if or for some . In words, we create copies of representing the nodes over time (time-nodes) and add outgoing edges from time-nodes of one level only to time-nodes of the next level. In particular, we connect a time-node to its own subsequent copy and to every time node s.t. is an edge of at time .
A journey (or time-respecting path) of a temporal graph is a path of the underlying graph , where , together with labels such that for all . In words, a journey is a path that uses strictly increasing edge-labels. If labeling defines a journey on some path of then we also say that preserves . A natural notation for a journey is . We call each a time-edge as it corresponds to the availability of edge at some time . We call the departure time and the arrival time of journey and denote them by and , respectively. A -journey is called foremost from time if and is minimized. Formally, let be the set of all -journeys with . A is foremost if . A journey is called fastest if is minimized. We call the duration of the journey. A journey is called shortest if is minimized, that is it minimizes the number of nodes visited (also called number of hops).
We say that a journey leaves from node (arrives at, resp.) at time if (, resp.) is a time-edge of . Two journeys are called out-disjoint (in-disjoint, respectively) if they never leave from (arrive at, resp.) the same node at the same time.
Given a set of -journeys we define their arrival time as . We say that a set of -journeys satisfying some constraint (e.g. containing at least journeys and/or containing only out-disjoint journeys) is foremost if is minimized over all sets of journeys satisfying the constraint.
If, in addition to the labeling , a positive weight is assigned to every edge , then we call a temporal graph a weighted temporal graph. In case of a weighted temporal graph, by “shortest journey” we mean a journey that minimizes the sum of the weights of its edges.
Throughout the text we denote by the number of nodes and by and the number of edges of graphs and temporal graphs, respectively. In case of a temporal graph, by “number of edges” we mean “number of time-edges”, i.e. . By we denote the diameter of a (di)graph , that is the length of the longest shortest path between any two nodes of . By we denote the degree of a node (in case of an undirected graph ).
3 Journey Problems
3.1 Foremost Journeys
We are given a temporal graph , where , a distinguished source node , and a time and we are asked for all to compute a foremost -journey from time .
Algorithm 1 correctly computes for all a foremost -journey from time . The running time of the algorithm is .
Assume that at the end of round all nodes in have been reached by foremost journeys from . Let be a time-edge s.t. and and let denote the foremost journey from to . We claim that is a foremost journey from to . Recall that we denote the arrival time of by . To see that our claim holds assume that there is some other journey s.t. . So there must be some time-edge for , and . However, this contradicts the fact that as the algorithm should have added it in at time . The proof follows by induction on beginning from at which time ( has trivially been reached by a foremost journey from itself so the claim holds for the base case).
We now prove that the time complexity of the algorithm is . In the worst-case, the last node may be inserted at step , so the while loop is executed times. In each execution of the while loop, the algorithm visits nodes in the worst-case (e.g. when all nodes but one have been added into from the first step) and for each such node it must find in its array the list corresponding to time , so we get . Finally, note that each time-edge is visited at most once throughout the execution of the algorithm so we get an additive factor. ∎
Note that Algorithm 1 in its above form does not guarantee that the foremost -journey returned is also the fastest or the shortest between all foremost -journeys. However, this can be easily resolved. For example, if we seek for the fastest between the foremost journeys we let the algorithm, apart from , keep track also of the duration of the journey . Then we set as the node with the smallest between those that satisfy .
3.2 Shortest Journeys with Weights
Let , where , be a weighted temporal graph with vertices and edges. Assume also that for all , i.e. there is a single label on each edge (this implies also that ). Let . Then, we can compute a shortest journey between and in (or report that no such journey exists) in time, where is the degree of in .
First, we may assume without loss of generality that is a connected graph, and thus . For the purposes of the proof we construct from a weighted directed graph with two specific vertices , such that there exists a journey in between and if and only if there is a directed path in from to . Furthermore, if such paths exist, then the weight of the shortest journey of between and equals to the weight of the shortest directed path of from to .
First consider the (undirected) graph that we obtain when we add two vertices and to and the edges and . Assign to these two new edges the weight zero and assign to them the time labels and . Then, clearly there exists a time-respecting path between and in if and only if there exists a time-respecting path between and in , while the weights of these two paths coincide. For simplicity of the presentation, denote in the following by and the vertex and edge sets of , respectively. Then we construct from as follows. Let . Furthermore, for every vertex , denote by the set of all incident edges to in . For every pair for some , add the arc to if and only if . In this case, we assign to the arc of the weight .
Suppose first that has a journey between and . Let , where and , is the shortest among them with respect to the weight function of . Then, by the definition of , and are the first and the last edges of . Furthermore, by the definition of a time-respecting path, for every . Therefore, by the above construction of , there exists the directed path in , where for every . Note that and that . Furthermore, in the weight function of , for every . Note that , i.e. . Thus, the total weight of in equals the total weight of in .
Let now and . Suppose now that has a time respecting path between and . Let , where and , is the shortest among them with respect to the weight function of . Since is a directed path between and , for every by the construction of . Furthermore, the edges and of are incident for every . Denote now by the common vertex of the edges and in for every . We will prove that for every . Suppose otherwise that for some . Then the edges , , and of are as it is shown in Figure 2, where , , , and is the common point of the edges , , and . However, since and , it follows that , and thus there exists the arc in the directed graph . Furthermore , and thus . Therefore there exists in the strictly shorter directed path between and . This is a contradiction, since is the shortest directed path between and . Therefore for every . Thus, we can denote now for every , where and . That is, is a walk in between and .
Since is a simple directed path, it follows that every edge of appears exactly once in , and thus is a path of . Now we will prove that is actually a simple path of . Suppose otherwise that for some . If , i.e. , then the subpath of implies a strictly shorter directed path than between and in , which is a contradiction. Therefore . Then, since for every by the construction of the directed graph , it follows in particular that , and thus is an arc in the directed graph . Thus the path of implies a strictly shorter directed path than between and in , which is again a contradiction. Therefore for every in , and thus is a simple path in between and . Finally, it is easy to check that the weight of in equals the weight of in .
Summarizing, there exists a journey in between and if and only if there is a directed path in from to . Furthermore, if such paths exist, then the weight of the shortest journey of between and equals to the weight of the shortest directed path of from to .
Moreover, the above proof immediately implies an efficient algorithm for computing the graph from , if such exists (by first constructing the auxiliary graph from ). This can be done in time. Indeed, for every vertex of we add at most arcs to . That is, and . After we construct , we can compute a shortest directed path between and in time using Dijkstra’s algorithm with Fibonacci heaps [FT87]. That is, we can compute a shortest directed path in between and in time. Once we have computed the path , we can easily construct the shortest undirected journey in between and in time. This completes the proof of the theorem. ∎
Theorem 3.2 can be applied also to several other path problems in temporal networks, e.g. to the broadcast problem.
4 A Menger’s Analogue for Temporal Graphs
In [KKK00], Kempe et al. proved the impressive result that Menger’s theorem, at least in its original formulation, does not hold for single-label temporal networks in which journeys must have non-decreasing labels (and not necessarily strictly increasing as in our case). For a counterexample, it is not hard to see in Figure 3 that there are no two disjoint time-respecting paths from to but after deleting any one node (other than or ) there still remains a time-respecting - path. Moreover, they proved that the violation of Menger’s theorem in such temporal networks renders the computation of the number of disjoint - paths -complete.
We prove in this section that, in contrast to the above important negative result, there is a natural analogue of Menger’s theorem that is valid for all temporal networks. In Theorem 4.1, we define this analogue and prove its validity. Then, in §4.1, we apply our theorem to substantially simplify the proof of a recent token dissemination result.
When we say that we remove node departure time we mean that we remove all edges leaving at time , i.e. we remove label from all edges (for all ). So, when we ask how many node departure times are needed to separate two nodes and we mean how many node departure times must be selected so that after the removal of all the corresponding time-edges the resulting temporal graph has no -journey (note that this is a different question from how many time-edges must be removed and, as we shall see, the latter question does not result in a Menger’s analogue).
Theorem 4.1 (Menger’s Temporal Analogue)
Take any temporal graph , where , with two distinguished nodes and . The maximum number of out-disjoint journeys from to is equal to the minimum number of node departure times needed to separate from .
Assume, in order to simplify notation, that . Take the static expansion of . Let and represent and over time, respectively (first and last colums, respectively), where . We extend as follows. For each , , with at least 2 outgoing edges to nodes different than , e.g. to nodes , we add a new node and the edges and . We also define an edge capacity function as follows. All edges of the form take capacity and all other edges take capacity .
We are interested in the maximum flow from to . As this is simply a usual static flow network, the max-flow min-cut theorem applies stating that the maximum flow from to is equal to the minimum of the capacity of a cut separating from . So it suffices to show that (i) the maximum number of out-disjoint journeys from to is equal to the maximum flow from to and (ii) the minimum number of node departure times needed to separate from is equal to the minimum of the capacity of a cut separating from .
For (i) observe that any set of out-disjoint journeys from to corresponds to a set of disjoint paths from to w.r.t. diagonal edges (edges in ) and inversely, so their maximums are equal. Next observe that any a set of disjoint paths from to w.r.t. diagonal edges corresponds to an integral - flow on of value and inversely. As the maximum integral - flow is equal to the maximum - flow (the capacities are integral and thus the integrality theorem of maximum flows applies) we conclude that the maximum - flow is equal to the maximum number of out-disjoint journeys from to .
For (ii) observe that any set of node departure times that separate from corresponds to a set of diagonal edges leaving nodes (ending either in or in nodes) that separate from and inversely. Finally, observe that there is a minimum - cut on that only uses such edges: for if a minimum cut uses vertical edges we can replace them by diagonal edges and we can replace all edges leaving a node by the edge without increasing the total capacity. ∎
By symmetry we have that the maximum number of in-disjoint journeys from to is equal to the minimum number of node arrival times needed to separate from .
The following alternative statements are both valid:
The maximum number of time-node disjoint journeys from to is equal to the minimum number of time-nodes needed to separate from .
The maximum number of time-edge disjoint journeys from to is equal to the minimum number of time-edges needed to separate from . 111By time-node disjointness we mean that they do not meet on the same node at the same time (in terms of the expansion graph the corresponding paths should be disjoint in the classical sense) and by time-edge disjointness that they do not use the same time-edge (which again translates to using the same diagonal edge on the expansion graph).
The following version is though violated: “the maximum number of out-disjoint (or in-disjoint) journeys from to is equal to the minimum number of time-edges needed to separate from ” (see Figure 4). The same holds for the original statement of Menger’s theorem as discussed in the beginning of this section (see [KKK00]).
4.1 An Application: Foremost Dissemination (Journey Packing)
Consider the following problem. We are given a dynamic graph , where , a source node , a sink node and an integer . We are asked to find the minimum arrival time of a set of out-disjoint -journeys or even the minimizing set itself.
By exploiting the Menger’s analogue proved Theorem 4.1, we give an alternative (and much more simple) proof of the following Lemma from [DPR13] holding for a special case of temporal networks, namely those that have connected instances. Formally, a temporal network is said to have connected instances if is connected at all times . The problem under consideration is distributed -token dissemination: there are tokens assigned to some given source nodes. In each round (i.e. discrete moment in the temporal network), each node selects a single token to be sent to all of its current neighbors (i.e. broadcast). The current neighbors at round are those defined by . The goal of a distributed protocol (or of a centralized strategy for the same problem) is to deliver all tokens to a given sink node as fast as possible. We assume that the algorithms know the temporal network in advance.
Let there be tokens at given source nodes and let be an arbitrary node. Then, all the tokens can be sent to using broadcasts in rounds.
Let be the set of source nodes and let be the number of tokens of source node , so that . Clearly, it suffices to prove the following lemma.
We are given a dynamic graph with connected instances and age . We are also given a set of source nodes , a mapping so that , and a sink node . Then there are at least out-disjoint journeys from to such that journeys leave from each source node .
We conceive as the number of tokens of source . Number the tokens arbitrarily. Create a supersource node and connect it to the source node with token by an edge labeled . Increase all other edge labels by . Clearly the new dynamic graph has asymptotically the same age as the original and all properties have been preserved (we just shifted the original dynamic graph in the time dimension). Moreover, if there are out-disjoint journeys from to in then by construction of the edges leaving we have that precisely of these journeys must be leaving from each source . So it suffices to show that there are out-disjoint journeys from to . By Theorem 4.1 it is equivalent to show that the minimum number of departure times that must be removed from to separate from is . Assume that we remove departure times. Then for more than rounds all departure times are available (as we have rounds and we just have removals). As every instance of is connected, we have that there is always an edge in the cut between the nodes that have been reached by already and those that have not, unless we remove some departure times. As for more than rounds all departure times are available it is immediate to observe that reaches implying that we cannot separate from with less that removals and this completes the proof. ∎
5 Minimum Cost Temporal Connectivity
In this section, we introduce some cost measures for maintaining different types of temporal connectivity. According to these temporal connectivity types, individuals are required to be capable to communicate with other individuals over the dynamic network, possibly with further restrictions on the timing of these connections. We initiate this study by considering the following fundamental problem: Given a (di)graph , assign labels to the edges of so that the resulting temporal graph minimizes some parameter and at the same time preserves some connectivity property of in the time dimension. For a simple illustration of this, consider the case in which should contain a journey from to if and only if there exists a path from to in . In this example, the reachabilities of completely define the temporal reachabilities that is required to have.
We consider two cost optimization criteria for a (di)graph . The first one, called temporality of , measures the maximum number of labels that an edge of has been assigned. The second one, called temporal cost of , measures the total number of labels that have been assigned to all edges of . That is, if we interpret the number of assigned labels as a measure of cost, the temporality (resp. the temporal cost) of is a measure of the decentralized (resp. centralized) cost of the network, where only the cost of individual edges (resp. the total cost over all edges) is considered. We introduce these cost parameters in Definition 3. Each of these two cost measures can be minimized subject to some particular connectivity property that the labeled graph has to satisfy. For simplicity of notation, we consider in Definition 3 the connectivity property as a subset of the set of all possible labelings on the (di)graph . Furthermore, the minimization of each of these two cost measures can be affected by some problem-specific constraints on the labels that we are allowed to use. We consider here one of the most natural constraints, namely an upper bound on the age of the constructed labeling .
Let be a (di)graph, , and be a connectivity property. Then the temporality of is
and the temporal cost of is
Furthermore and .
Note that Definition 3 can be stated for an arbitrary property of the labeled graph (e.g. some proper coloring-preserving property). Nevertheless, we only consider here to be a connectivity property of . In particular, we investigate the following two connectivity properties :
all-paths for all simple paths of , preserves ,
reach for all where is reachable from in , preserves at least one simple path from to .
5.1 Basic Properties of Temporality Parameters
5.1.1 Preserving All Paths
We begin with some simple observations on . Recall that given a (di)graph our goal is to label so that all simple paths of are preserved by using as few labels per edge as possible. From now on, when we say “graph” we will mean a directed one and we will state it explicitly when our focus is on undirected graphs.
Another interesting observation is that if is the length of the longest path in then we can trivially preserve all paths of by using labels per edge. Give to every edge the labels and observe that for every path of we can use the increasing sequence of labels due to the fact that . Thus, we conclude that the upper bound holds for all graphs . Of course, note that equality is easily violated. For example, a directed line has but .
for all graphs .
Directed Rings. We now prove that if is a directed ring then the temporality of preserving all paths is 2. This means that the minimum number of labels per edge that preserve all simple paths of a ring is 2.
when is a ring and when contains a ring.
For the ring case, let the ring be . Consider the following two simple paths: and (see Figure 1 on page 2). Assume that both can be preserved with a single label per edge . Clearly, because must be preserved. For the same reason, but due to this time, it must hold that which is a contradiction. Thus, . It is also not hard to see, that by using at most 2 labels per edge we can label any ring. For example, we can give to each edge the labels . Now take any maximal path i.e. of length beginning from say node . Clearly, the path may use the labels to arrive at and then labels to arrive at . In case we begin from , we may just use the labels to arrive at . As preserving all maximal paths preserves all (simple) paths, we have . ∎
Directed Acyclic Graphs. A topological sort of a digraph is a linear ordering of its nodes such that if contains an edge then appears before in the ordering. It is well known that a digraph can be topologically sorted iff it has no directed cycles that is iff it is a DAG. A topological sort of a graph can be seen as placing the nodes on a horizontal line in such a way that all edges go from left to right; see e.g. [CLRS01] page 549.
If is a DAG then .
Take a topological sort of . Clearly, every edge is of the form where . Give to every edge label , that is for all . Now take any node . Each of its incoming edges has some label and all its outgoing edges have label . Now take any simple path of . Clearly, appears before in the topological sort for all , which implies that , for all . This proves that is preserved. As we have preserved all simple paths with a single label on every edge, we conclude that as required. ∎
5.1.2 Preserving All Reachabilities
Now, instead of preserving all paths, we impose the apparently simpler requirement of preserving just a single path between every reachability pair . We claim that it is sufficient to understand how , behaves on strongly connected digraphs. Let be the set of all strongly connected components of a digraph . The following lemma proves that, w.r.t. the property, the temporality of any digraph is upper bounded by the maximum temporality of its components.
for every digraph .
Take any digraph . Now take the DAG of the strongly connected components of . The nodes of are the components of and there is an edge from component to component if there is an edge in from some node of to some node of . As is a DAG, we can obtain a topological sort of it which is a labeling of the components so that all edges between components go only from left to right. We have to prove that we can label by using at most labels per edge. Consider the following labeling process. For each component define , where is the set of all labelings of that preserve all of its reachabilities using at most labels per edge. Note that any can be labeled beginning from any desirable with at most labels per edge and with equal to . Now, label component with and . Label all edges leaving with label . Label component with and and all its outgoing edges with label . In general, label component with and and label all edges leaving with label . It is not hard to see that this labeling scheme preserves all reachabilities of using just one label on each edge of and at most labels per edge inside each component . Thus, it uses at most labels on every edge. ∎
Lemma 3 implies that any upper bound on the temporality of preserving the reachabilities of strongly connected digraphs can be used as an upper bound on the temporality of preserving the reachabilities of general digraphs. In view of this, we focus on strongly connected digraphs .
We begin with a few simple but helpful observations. Obviously, as any labeling that preserves all paths trivially preserves all reachabilities as well. If is a clique then as giving to each edge a single arbitrary label (e.g. label 1 to all) preserves all direct connections (one-step reachabilities) which are all present. If is a directed ring (which is again strongly connected) then it is easy to see that . An interesting question is whether there is some bound on either for all digraphs or for specific families of digraphs. The following lemma proves that indeed there is a very satisfactory generic upper bound.
for all strongly connected digraphs .
As is strongly connected, if we pick any node then for all there is a and a -path. As for any there is a -path, then we may form an in-tree rooted at (that is a tree with all directions going upwards to u). Now beginning from the leaves give any direction preserving labeling (just begin from labels 1 at the leaves and increase them as you move upwards). Say that the depth is which means that you have increased up to label . Now consider an out-tree rooted at that has all edge directions going from to the leaves. To make things simpler create second copies of all nodes but so that the two trees are disjoint (w.r.t. to all nodes but ). In fact, one tree passes through all the first copies and arrives at and the other tree begins from and goes to all the second copies. Now we can begin the labeling of from increasing labels as we move away from on . This completes the construction.
Now take any two nodes and . Clearly, there is a time-respecting path from to and then a time-respecting path from to using greater labels so there is a time-respecting path from to . Finally, notice that for any edge on