Testing Temporal Connectivity in Sparse Dynamic Graphs (1404.7634v2)
Abstract: We address the problem of testing whether a given dynamic graph is temporally connected, {\it i.e} a temporal path (also called a {\em journey}) exists between all pairs of vertices. We consider a discrete version of the problem, where the topology is given as an evolving graph ${\cal G}={G_1,G_2,...,G_{k}}$ whose set of vertices is invariant and the set of (directed) edges varies over time. Two cases are studied, depending on whether a single edge or an unlimited number of edges can be crossed in a same $G_i$ (strict journeys {\it vs} non-strict journeys). In the case of {\em strict} journeys, a number of existing algorithms designed for more general problems can be adapted. We adapt one of them to the above formulation of the problem and characterize its running time complexity. The parameters of interest are the length of the graph sequence $k=|{\cal G}|$, the maximum {\em instant} density $\mu=max(|E_i|)$, and the {\em cumulated} density $m=|\cup E_i|$. Our algorithm has a time complexity of $O(k\mu n)$, where $n$ is the number of nodes. This complexity is compared to that of the other solutions: one is always more costly (keep in mind that is solves a more general problem), the other one is more or less costly depending on the interplay between instant density and cumulated density. The length $k$ of the sequence also plays a role. We characterize the key values of $k, \mu$ and $m$ for which either algorithm should be used. In the case of {\em non-strict} journeys, for which no algorithm is known, we show that some pre-processing of the input graph allows us to re-use the same algorithm than before. By chance, these operations happens to cost again $O(k\mu n)$ time, which implies that the second problem is not more difficult than the first.