• Aucun résultat trouvé

A Unifying Model for Representing Time-Varying Graphs

N/A
N/A
Protected

Academic year: 2021

Partager "A Unifying Model for Representing Time-Varying Graphs"

Copied!
43
0
0

Texte intégral

(1)

HAL Id: hal-00941622

https://hal.inria.fr/hal-00941622v2

Submitted on 14 Feb 2014

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires

Graphs

Klaus Wehmuth, Artur Ziviani, Eric Fleury

To cite this version:

Klaus Wehmuth, Artur Ziviani, Eric Fleury. A Unifying Model for Representing Time-Varying Graphs.

[Research Report] RR-8466, INRIA. 2014, pp.38. �hal-00941622v2�

(2)

0249-6399ISRNINRIA/RR--8466--FR+ENG

RESEARCH REPORT N° 8466

January 2014

Representing

Time-Varying Graphs

Klaus Wehmuth, Artur Ziviani, Éric Fleury

(3)
(4)

RESEARCH CENTRE GRENOBLE – RHÔNE-ALPES Inovallée

Klaus Wehmuth

, Artur Ziviani

, Éric Fleury

Project-Team DANTE

Research Report n° 8466 — January 2014 — 39 pages

Abstract: We propose a novel model for representing finite discrete Time-Varying Graphs (TVGs). We show how key concepts, such as degree, path, and connectivity, are han- dled in our model. We also analyze the data structures built following our proposed model and demonstrate that, for most practical cases, the asymptotic memory complexity of our model is restricted to the cardinality of the set of edges. Moreover, we prove that if the TVG nodes can be considered as independent entities at each time instant, the analyzed TVG is isomorphic to a directed static graph. This is an important theoretical result since this allows the use of the isomorphic directed graph as a tool to analyze both the properties of a TVG and the behavior of dynamic processes over a TVG. We also show that our unifying model can represent several previous (classes of) models for dynamic networks found in the recent literature, which in gen- eral are unable to represent each other. In contrast to previous models, our proposal is also able to intrinsically model cyclic (i.e. periodic) behavior in dynamic networks. These representation capabilities attest the expressive power of our proposed unifying model for TVGs.

Key-words: dynamic networks, temporal networks, graphs, dynamic graphs, complex networks

National Laboratory for Scientific Computing (LNCC) – Av. Getúlio Vargas, 333 – 25651-075 - Petrópolis, RJ - Brazi

LIP – UMR CNRS 5668 – Ecole Normale Supérieure de Lyon (ENS de Lyon) / INRIA – 46, allée d’Italie 69364 – Lyon Cedex 07, France

(5)

les graphes dynamiques (i.e., des graphes susceptibles d’évoluer au cours du temps). Nous montrons qu elles définitionsclefs comme le degré, la notion de chemin, de connectivité sont prise en compte par ce modèle. Une analyse de la complexité des structures de données nécessaire à la représentation de ce modèle montre que la complexité asymptotique est en O(m) (cardinalité du nombre d’arêtes du graphe dynamique). Si les sommets d’un TVG peuvent être considérés comme des entités indépendantes à chaque instant, alors on démontre que le graphe TVG est isomorphe à un graphe orienté static. Notre modèle permet de représenter et de prendre en compte les différentes propositions existantes qui n’étaient pas en mesure de se représenter les unes les autres.

Mots-clés : réseaux dynamiques, réseaux temporels, graphes, graphes dynamique, réseaux

complexes

(6)

1 Introduction

Graph theory has been used for the analysis of several networked systems, being at the core of the new field of Network Science. Much of the utility of the graph abstraction resides in the fact that it can represent relations between a set of objects as well as their connectivity properties, which derive from edge transitivity in a straightforward way without the need of further assumptions that are not explicit in the graph abstraction itself. In this context, there is a lot of studies focusing on investigating the behavior of dynamic processes, such as random walks or information diffusion, over complex networks [PSV01, KKT03, BBV08, IFM09].

More recently, there is an increasing interest in investigating not only the process dynamics on networks, but also the dynamics of networks, i.e. when the network structure (nodes and edges) may vary over time [GDM09, FNR

+

12, HS13]. This, however, brings a difficulty since the original graph abstraction was not originally created considering time relations between nodes.

As a consequence, the need to extend the basic graph abstraction in order to include time relations between nodes arose, leading to many models for Time-Varying Graphs (TVGs) [BXFJ03, Fer04, Hol05, Kos09, TMML09, HS12, CFQS12, KA12].

As recent models appear extending the basic graph concept to include time relations (Section 4 discusses related work), they are nonetheless not general enough to satisfy the needs of different networked systems and also in many cases rely on assumptions that are not explicitly part of the model. For instance, in models based on snapshots (i.e., a series of static graphs), such as those in [BXFJ03, Fer04], it is implicitly assumed that a node in a given snapshot is connected to ’itself’ in the next snapshot, making it possible to extend the transitivity of edges over time.

This assumption, however, is not made explicit in the snapshot model. Therefore, when analysed without this implicit assumption, a snapshot model is a sequence of disconnected graphs and therefore no connectivity is possible between different time instants. The need to handle this assumption, which is not explicitly part of the model, brings difficulties since the structure of the model by itself is no longer sufficient to properly represent its behavior, making the understanding, usage, and analysis of such models more complex.

In this paper, we propose a new unifying model for representing finite discrete TVGs. Our pro- posed model is sufficiently general to capture the needs of distinct dynamic networks [AHFVZ12, SVZ12, HS12, GaVSZ13], whereas not requiring any further assumption that is not explicitly contained in the model itself. Further, our model aims at preserving the strictly discrete nature of the basic graph abstraction, while also allowing to properly represent time relations between nodes. Moreover, we prove that if the TVG nodes can be considered as independent entities at each time instant, the analyzed TVG is isomorphic to a directed static graph. This is an important theoretical result because this allows the use of the isomorphic directed graph as a tool to analyze both the properties of a TVG and the behavior of dynamic processes over a TVG.

We also demonstrate that, for most practical cases, the asymptotic memory complexity of our TVG model is determined by the cardinality of the set of edges. Furthermore, we also show the unifying properties of our proposed model for representing TVGs by describing how it represents several previous (classes of) models for dynamic networks found in the recent literature, which in general are unable to represent each other. In contrast to previous models, our proposal is able to intrinsically model cyclic (i.e. periodic) behavior in dynamic networks. These representation features attest the expressive power of our proposed unifying model for TVGs.

This paper proceeds as follows. Section 2 introduces our proposed unifying model for repre-

senting TVGs and its main properties. Section 3 discusses data structures to properly represent

TVGs using our model. In Section 4, we show how our unifying model can be used to represent

previous models for dynamic networks while these models in general are unable to represent each

other. Finally, we conclude in Section 5.

(7)

2 Proposed model for representing TVGs and its main prop- erties

Time-varying graphs (TVGs) are graphs in which nodes, or edges may vary in time. In this section, we formally define our proposed model for representing TVGs and present its main properties as well. To that end, we use the same notation adopted by [BJG08] for directed graphs.

2.1 Proposed model for representing TVGs

Our proposed model represents a TVG as an object H = (V, E, T ), where V is the set of nodes, T is the finite set of time instants for which the TVG is defined, and E ⊆ V × T × V × T is the set of edges. As a matter of notation, we denote V (H) as the set of all nodes in H , E(H ) the set of all edges in H , and T(H ) the set of all time instants in H . We also define n(H) = | V (H ) | the number of nodes in H , m(H ) = | E(H ) | the number of edges in H , and τ(H ) = | T (H ) | the number of time instants in which H is defined.

A dynamic edge e in a TVG H is defined as an ordered quadruple e = (u, t

a

, v, t

b

), where u, v ∈ V (H) are the origin and destination nodes (u possibly equal to v) while t

a

, t

b

∈ T (H ) are the origin and destination time instants, respectively (t

a

possibly equal to t

b

). Therefore, the dynamic edge e = (u, t

a

, v, t

b

) should be understood as a connection from node u at time t

a

to node v at time t

b

. As hinted by its temporal nature, a dynamic edge is a directed edge.

If one needs to represent an undirected edge in the TVG, both (u, t

a

, v, t

b

) and its reciprocal (v, t

b

, u, t

a

) should be present in E(H ). As a matter of notation, in the remaining of the paper, a TVG will be represented by a upper case letter, usually H or K, a node will be represented by a lower case letter, usually u, v, r or s, a time instant will be represented as t

a

, where the index a denotes its position in time, and a dynamic edge will be represented as the ordered quadruple (u, t

a

, v, t

b

) (or in a shorter form by the letter e).

We define four canonical projections, each projection mapping a dynamic edge into each one of its components:

π

1

: E(H) → V (H) (u, t

a

, v, t

b

) 7→ u,

π

2

: E(H) → T (H) (u, t

a

, v, t

b

) 7→ t

a

,

π

3

: E(H) → V (H) (u, t

a

, v, t

b

) 7→ v,

π

4

: E(H) → T (H) (u, t

a

, v, t

b

) 7→ t

b

.

One may decide to classify an edge e = (u, t

a

, v, t

b

) into four classes depending on its temporal characteristic:

1. Spatial edges connect two nodes at the same time instant, e is in the form of e = (u, t

a

, v, t

a

),

where u 6 = v;

(8)

2. Temporal edges connect the same node at two distinct time instants, e is in the form of e = (u, t

a

, u, t

b

), where t

a

6 = t

b

;

3. Mixed edges connect distinct nodes in distinct time instants, e is in the form of e = (u, t

a

, v, t

b

), where u 6 = v and t

a

6 = t

b

;

4. Spatial-temporal self-loop edges connect the same node at the same time instant, e is in the form of, e = (u, t

a

, u, t

a

).

We define a temporal node as an ordered pair (u, t

a

), where u ∈ V (H ) is a node and t

a

∈ T (H) is a time instant. A temporal node is the representation of a given node at a given time instant.

The set of temporal nodes in a TVG H is given by V (H ) × T (H ), the cartesian product of the set of nodes and the set of time instants. We denote V T (H) = V (H) × T (H) as the set of all temporal nodes on TVG H . As a matter of notation, a temporal node is represented by the ordered pair that defines it, e.g. (u, t

a

), or as u

ta

for a short notation. We use the canonical projections π

1

(u

t

) and π

2

(u

t

) to extract the node and time instant that compose the temporal node. We also use the notation (u, · ) to denote a node u at any time instant, which is indeed equivalent to stating that node u ∈ V .

The definition of a TVG H is as general as possible and does not impose any order on the time set T (H). One may want to stick to the classical time notion and impose a total order on T (H ). Within such a context where T (H) has a linear order, both mixed or temporal dynamic edges e = (u, t

a

, v, t

b

) can also be classified as progressive or regressive depending on the order of their temporal components. Dynamic edges that are originated at an earlier time instant and destined to a later time instant are progressive (t

a

< t

b

), whereas dynamic edges originated at a later time instant and destined to an earlier time instant are regressive (t

a

> t

b

).

Regressive edges are particularly useful for creating cyclic TVGs, which in turn can be applied to model networks with a cyclic periodic behavior. A simple example of this is a wireless DTN (Delay/Disruption-Tolerant Network) [Fal03] with n nodes, out of which n − 1 nodes are fixed and mutually disconnected, while the remaining node is a mobile one that behaves on a cyclic pattern connecting to a single fixed node at each time instant. A similar scheme can be used to model Wireless Sensor Networks (WSNs) with a mobile sink [CKN08, VVZF10] that regularly visits the sensor nodes to gather the most recent monitored information.

A sub-TVG J of the TVG H is defined in a straightforward way: J = (V, E, T ), V (J) ⊆ V (H ), E(J ) ⊆ E(H), T (J ) ⊆ T(H ), such that for all e ∈ E(J ), π

1

(e), π

3

(e) ∈ V (J ) and π

2

(e), π

4

(e) ∈ T(J ).

2.2 TVG isomorphism

We define the TVG isomorphism as an extension of the concept of the graph isomorphism.

Two TVGs H and K are isomorphic if there is a pair of bijective functions f and g, where f : V (H ) → V (K) and g : T (H ) → T (K), such that a dynamic edge (u, t

a

, v, t

b

) ∈ E(H) if and only if the dynamic edge (f (u), g(t

a

), f (v), g(t

b

)) ∈ E(K).

Since the TVG isomorphism is an equivalence relation, the set of all TVGs isomorphic to

a given TVG H form an equivalence class in the set of all TVGs. This equivalence relation

partitions the set of all TVGs. Further, since the functions f and g are bijections, it follows

that if two TVGs H and K are isomorphic, they necessarily have the same number of nodes

and the same number of time instants, i.e. | V (H) | = | V (K) | and | T (H ) | = | T (K) | . From

the requirement that a dynamic edge (u, t

a

, v, t

b

) exists in H if and only if the dynamic edge

(f (u), g(t

a

), f(v), g(t

b

)) exists in K, it can be seen that two isomorphic TVGs also have the same

number of dynamic edges, i.e. | E(H ) | = | E(K) | .

(9)

The TVG isomorphism is not a time order preserving isomorphism. A time order preserving isomorphism can be obtained by further requiring the sets T (H ) and T (K) to have a linear order and the function g to be an order isomorphism, which is an order preserving bijection whose inverse is also order preserving. Hence, for any t

a

, t

b

∈ T (H ) we have that t

a

< t

b

if and only if g(t

a

) < g(t

b

). Note that since g is a bijection, it follows that t

a

= t

b

if and only if g(t

a

) = g(t

b

).

2.3 Isomorphism between TVGs and directed graphs

In this section, we show that there is an isomorphism between TVGs and directed graphs. We also discuss the circumstances under which this isomorphism holds and the properties it preserves.

Theorem 2.1 For every TVG H with n nodes and τ time instants, where n > 1 and τ > 1, there is a directed graph G with n × τ nodes which is isomorphic to H. This directed graph G is unique up to a graph isomorphism.

Proof 2.1 We show that for any given TVG H with n nodes and τ time instants, there is a unique (up to a graph isomorphism) directed graph G with n × τ nodes for which there is a bijective function f : V T (H ) → V (G), such that any dynamic edge (u, t

a

, v, t

b

) ∈ E(H ) if and only if the edge (f ((u, t

a

)), f ((v, t

b

))) ∈ E(G).

• Existence of G:

Given an arbitrary TVG H with n nodes and τ time instants, we construct a directed graph G that satisfies the isomorphism conditions. We start with a graph G with n × τ nodes and no edges (E(G) = ∅). Note that the number of nodes in G equals the number of elements in the set V T (H) = V (H) × T (H), i.e. | V (G) | = | V T (H ) | = n × τ . We then take an arbitrary bijective function f : V T (H ) → V (G). Since by construction the sets V T (H ) and V (G) have the same number of elements, such bijection exists. Finally, for every dynamic edge (u, t

a

, v, t

b

) ∈ E(H ), we add an edge (f ((u, t

a

)), f ((v, t

b

))) to E(G). Since f is injective, it follows that if (a, t

b

) 6 = (c, t

d

), then f((a, t

b

)) 6 = f ((c, t

d

)). Therefore each distinct dynamic edge (u, t

a

, v, t

b

) is mapped to a distinct edge (f ((u, t

a

)), f((v, t

b

))). As the only edges in E(G) are the ones mapped from dynamic edges in E(H), it follows that (u, t

a

, v, t

b

) ∈ E(H) if and only if (f((u, t

a

)), f ((v, t

b

))) ∈ E(G), as required. Note that by this property we have that the number of dynamic edges in H is the same as the number of edges in G, i.e. | E(H ) | = | E(G) | . This gives us a directed graph G and a bijective function f that satisfy the isomorphism requirements. Therefore, we have shown that the required graph G exists.

• Uniqueness of G:

Let’s assume that in addition to the TVG H , the directed graph G, and the bijective function f described above, we also have another directed graph J with n × τ nodes and a bijective function j : V T(H ) → V (J), such that any dynamic edge (u, t

a

, v, t

b

) ∈ E(H ) if and only if the dynamic edge (j((u, t

a

)), j((v, t

b

))) ∈ E(J ). Since both f and j are bijective functions, it follows that the composite function (j ◦ f

−1

) : V (G) → V (J) is also a bijection. Further, from the definitions of f and j, it follows that the nodes w, z ∈ V (G) are adjacent in G if and only if the nodes (j ◦ f

−1

)(w), (j ◦ f

−1

)(z) ∈ V (J ) are adjacent in J. To observe this, note that if the edge (w, z) ∈ E(G), then the dynamic edge

1

(f

−1

(w), f

−1

(z)) ∈ E(H) and, as a consequence, the edge (j(f

−1

(w)), j(f

−1

(z))) ∈ E(J ). The converse follows from the

1This is in fact a slight abuse of notation, since(f−1(w)and(f−1(z)are ordered pairs. The formally correct notation is(π1(f−1(w)), π2(f−1(w)), π1(f−1(z)), π2(f−1(z))).

(10)

same argument applied to an edge in E(J ). Therefore, G and J are isomorphic directed graphs, and thus G is unique up to a graph isomorphism.

Given the existence and uniqueness of the directed graph G, the existence of the function f , and since H is an arbitrary TVG with n nodes and τ time instants, we conclude that the theorem holds.

Note that once a bijective function f is determined, all the permutations of f are also bi- jective functions from V T (H) to V (G). Of course, as shown in the second part of the proof of Theorem 2.1, all the graphs generated by these permutations are isomorphic to each other as well.

An intuitive interpretation of this isomorphism is that the temporal information contained on the dynamic edges and by extent in the set T(H ) can be injected into the node set of a directed graph which can be constructed in a way to preserve the edge structure of the TVG, i.e. the relations between nodes and time instants present in the TVG.

Since this isomorphism preserves the edge structure of the TVG, the isomorphic directed graph can be used as a tool to analyze properties of the TVG. However, it should be noted that this isomorphism can not preserve all properties of the TVG (since it is not an identity) and, therefore, care should be taken on its use, to make sure that the properties preserved are sufficient to justify the results obtained. For example, a walk on the TVG corresponds to a walk on the temporal node representation of the TVG (see Section 2.8).

Corollary 2.1 Given a TVG H and a directed graph G isomorphic to H , there is a bijective function from E(H) to E(G), built upon the isomorphism characterizing the bijection f , and which takes each dynamic edge in H to its corresponding edge in G.

Proof 2.2 Let H be a TVG and G a directed graph isomorphic to H. Since H and G are isomorphic, a dynamic edge (u, t

a

, v, t

b

) belongs to E(H ) if and only if a corresponding edge (f ((u, t

a

)), f ((v, t

b

))) belongs to E(G), and the function f is a bijection from V T(H ) to V (J ).

Consider the following function

h : E(H ) → E(G)

(u, t

a

, v, t

b

) 7→ (f (u, t

a

), f(v, t

b

)).

First, note that h is indeed a function, since it has a properly defined domain E(H ), codomain E(G), and association rule (u, t

a

, v, t

b

) 7→ ((u, t

a

), (v, t

b

)). Further, note that this association rule is valid since for each e ∈ E(H) there is an element e

s

∈ E(G) such that e

s

= h(e). This is true because since H and G are isomorphic, it follows that if e = (u, t

a

, v, t

b

) ∈ E(H) then e

s

= (f (u, t

a

), f(v, t

b

)) ∈ E(G). Furthermore, note that h is defined in terms of the bijection f used to construct the isomorphism between H and G and also that h associates each dynamic edge of H with the edge in G corresponding to it in accordance with the isomorphism between H and G.

We now show that the function h is injective. Let e

1

, e

2

∈ E(H ). Without loss of gener- ality, we can consider that e

1

= (u, t

a

, v, t

b

) and e

2

= (r, t

c

, s, t

d

). We intend to show that if h(e

1

) = h(e

2

) then e

1

= e

2

. If h(e

1

) = h(e

2

), then (f (u, t

a

), f (v, t

b

)) = (f (r, t

c

), f (s, t

d

)), so that f (u, t

a

) = f (r, t

c

) and f (v, t

b

) = f (s, t

d

). Since f is bijective, it follows that u = r, t

a

= t

c

, v = s and t

b

= t

d

. Therefore, e

1

= e

2

and so h is injective.

Further, we show that h is surjective. Let e

s

∈ G be any edge in the directed graph G.

Without loss of generality, we can assume that e

s

= (w, z), where w, z ∈ V (G) are nodes of

the directed graph G. Since G is isomorphic to H , it follows that there is a dynamic edge

(11)

e = (u, t

a

, v, t

b

) ∈ E(H ), such that w = f ((u, t

a

)) and z = f ((v, t

b

)). Then, by the definition of h, it follows that e

s

= (w, z) = h(e) = (f (u, t

a

), f(v, t

b

)). Therefore, for any given edge e

s

∈ E(G), there is a dynamic edge e ∈ E(H ) such that e

s

= h(e), and so h is a surjective function.

Since the function h associates each dynamic edge e ∈ E(H) with its isomorphic corresponding edge e

s

∈ G, and h is both injective and surjective, the corollary holds.

2.3.1 Order preserving isomorphism

From the TVG definition used in this work, we have that the set T (H) containing the time instants at which the TVG is defined is not required to be an ordered set. As a consequence, the isomorphism defined in Theorem 2.1 does not necessarily preserves time ordering. If, however, a time order preserving isomorphism is required, it can be obtained by imposing additional requirements to the involved sets and functions as explained next.

First, we need the sets T (H) and V T (H) to be totally ordered sets, such that for all t

a

, t

b

∈ T (H ) and all u, v ∈ V (H ), t

a

< t

b

if and only if (u, t

a

) < (v, t

b

). Since this can not be done directly, we define an equivalence relation in V T(H ), partitioning it into equivalence classes and then create an order on these equivalence classes. To achieve this, we define an equivalence relation ∼ , such that (u, t

a

) ∼ (v, t

b

) if and only if t

a

= t

b

. The equivalence relation ∼ partitions the set V T (H) into τ equivalence classes, such that two elements of V T (H) are on the same equivalence class if and only if they have the same temporal component. Let T(H) be the set of equivalence classes generated by ∼ on V T (H) and Γ

ta

∈ T(H ) the equivalence class of ordered pairs (u, t

x

), where t

x

= t

a

. By construction, each equivalence class Γ ∈ T(H) has the same number of elements, | Γ | = | V (H ) | = n, equal to the number of nodes in the TVG H. The set T(H) can be totally ordered in the way desired.

Second, we define a partition on the set V (G) that has τ equivalence classes and each equiv- alence class contains | V (H) | elements. This is possible since | V (G) | = | V T (H) | . Let T (G) be the set of equivalence classes in this partition. Note that |T (G) | = |T (H) | . We then define a total order over T (G). This establishes an equivalence relation on V (G), which we denote by ≈ . Finally, we define a bijection f : V T (H) → V (G), which not only satisfies the condition for isomorphism (i.e., (u, t

a

, v, t

b

) ∈ E(H) if and only if (f ((u, t

a

)), f((v, t

b

))) ∈ E(G)), but also is consistent with the partitions in V T (H ) and V (G) as well as preserves the order of these partitions. Formally, the condition of being consistent with the partitions on V T (H) and V (G) can be written as: for all t

a

, t

b

∈ T (H ) and all u, v ∈ V (H ), (u, t

a

) ∼ (v, t

b

) if and only if f ((u, t

a

)) ≈ f ((v, t

b

)). The order preservation condition can be written as: for all t

a

, t

b

∈ T (H ) and all u, v ∈ V (H), (u, t

a

) < (v, t

b

) if and only if f ((u, t

a

)) < f ((v, t

b

)).

It remains to be shown that such an order preserving isomorphism in fact exists. We do this by example, showing that the natural isomorphism defined next in Section 2.3.2 is in fact an order preserving isomorphism.

2.3.2 Natural isomorphism

A special case can be constructed, which characterizes a natural isomorphism (i.e. a natural choice of isomorphism), by making the directed graph G such that its node set V (G) is equal to the set V T(H ) and using the identity function I : V T (H ) → V (G) as the bijective function to characterize the isomorphism.

Note that, in this case, the edges added to the graph G by the process described in Theo-

rem 2.1 are such that for every dynamic edge (u, t

a

, v, t

b

) ∈ E(H ) an edge ((u, t

a

), (v, t

b

)) ∈ E(G)

exists in the directed graph G.

(12)

To see that the natural isomorphism is also an order preserving isomorphism, note that in this case V T (H) = V (G) such that both sets can be partitioned in the same way and both partitions can be ordered in the same way. By doing this, the identity function naturally is consistent with the partitions and preserves order as required in Section 2.3.1.

2.3.3 Generalized isomorphism

At this point, an interesting supposition is the existence of an isomorphism between the set of all TVGs with finite nodes and time instants to the set of all directed graphs with finite nodes. This supposition is equivalent to state that there is a bijective function from the set of all TVGs to the set of all directed graphs, such that each TVG is associated to a unique graph that preserves the edge topology of the TVG and also that, in the same manner, each graph is associated to a unique TVG, always up to a graph and TVG isomorphism.

This supposition, however, is false. It is possible to associate each TVG with a unique graph that preserves its edge structure, but it is not possible to associate each graph with a unique TVG. This means that there is a function like the one proposed by the initial supposition, but this function is rather surjective and not injective. Therefore, no generalized isomorphism is possible.

To note why this is indeed the case, note that a given directed graph with p nodes can be associated to TVGs with different dimensions, depending on the prime decomposition of p.

Consider for instance a directed graph with p = 21, i.e., a directed graph with 21 nodes. This directed graph could be associated with a TVG with 7 nodes and 3 time instants, but also to a TVG with 3 nodes and 7 time instants. Still, there are the two trivial cases of a TVG with 1 node and 21 time instants or a TVG with 21 nodes and 1 time instant—in this case, the directed graph itself. In particular, if p is a prime number, only these two trivial cases are possible.

2.4 TVG representation by temporal nodes

In this section, we show that it is possible to create a representation of any given TVG using temporal nodes. This is equivalent to the natural isomorphism between TVGs and directed networks, presented in Section 2.3.2.

From the definition of temporal nodes, we have that given a TVG H, a temporal node is defined as (u, t

a

) ∈ V T (H) = V (H ) × T (H). Therefore, if V T (H) is considered as the node set of a directed graph, it follows that an edge on this graph is an element of the set V T(H ) × V T (H), which is an ordered pair of temporal nodes. For instance, an edge between the temporal nodes (u, t

a

) and (v, t

b

) is represented as the ordered pair ((u, t

a

), (v, t

b

)) of temporal nodes.

In this environment, given a TVG H, it is straightforward to create a directed graph G = (V T (H), ET (H )), where V T(H ) is the temporal nodes set, and ET(H ) is obtained from the set E(H ) of dynamic edges of the TVG H , such that for all u, v ∈ V (H ) and all t

a

, t

b

∈ T (H), the edge ((u, t

a

), (v, t

b

)) ∈ ET (H ) if and only if the dynamic edge (u, t

a

, v, t

b

) ∈ E(H ). Another way for obtaining the set ET (H ) is by using the bijective function h defined in Corollary 2.1.

Note that since in this environment the function f used to define the isomorphism between H and G is the identity function I : V T (H ) → V T (H ), we have that the function h related to the isomorphism between E(H ) and ET (H ) (see Corollary 2.1) is written as

h : E(H ) → ET (H )

(u, t

a

, v, t

b

) 7→ ((u, t

a

), (v, t

b

)),

where ET (H ) ⊆ V T (H ) × V T(H ).

(13)

To see that the graph G = (V T (H), ET (H )) is indeed the graph obtained by the natural isomorphism discussed in Section 2.3.2, note that since V T (H ) = V (H ) × T (H ), we have the identity function I : V T (H ) → V T (H ), and that by the definition of the temporal node repre- sentation, for all u, v ∈ V (H) and all t

a

, t

b

∈ T (H), the edge ((u, t

a

), (v, t

b

)) ∈ ET (H) if and only if the dynamic edge (u, t

a

, v, t

b

) ∈ E(H ).

For any given TVG H = (V, E, T ), we can now define the function g : (V (H ), E(H ), T (H)) → (V T (H ), ET (H ))

H 7→ (I(V (H ), T (H)), h(E(H))), such that g(H ) is the temporal node representation of the TVG H.

The main idea behind the temporal node representation is that if the nodes of a TVG are considered as distinct objects at each time instants, then the TVG can be seen as a simple directed graph. This, however, should not be misunderstood as a statement that a TVG and a directed graph are one and the same object. It is important to remember that in order to make this representation possible, the assumption that each node is a distinct object at each time instant has to be made. We show that some of the properties of the TVG are in fact preserved in this graph representation, which can make the analysis of the TVG easier. Therefore, this representation comes with a caveat, indicating that proper care should be taken to apply this representation only in the cases in which the properties under study are preserved under the temporal node representation of the TVG.

Figure 1(a) shows an illustrative TVG on its native form and Figure 1(b) shows the same illustrative TVG in the form of the temporal node representation. Note that the temporal node representation has six (2 × 3) temporal nodes and same number of edges as the TVG in its native representation. Further, the edges in the TVG and in the graph only differ in their represen- tation. In the native representation of the illustrative TVG, the dynamic edges are represented as an ordered quadruple, whereas in the temporal node representation the corresponding edge is represented as a pair of temporal nodes. Additionally, Figure 1(b) also shows the temporal nodes grouped in a way consistent with the equivalence relation ∼ defined in Section 2.3.1, which groups elements with the same temporal coordinate in equivalence classes. From Figure 1(b), it can also be seen how the temporal node representation preserves the temporal order of the original TVG.

0 1

(0,t

0

, 0,t

1

)

(1,t

0

, 1,t

1

)

(1,t

1

, 0,t

1

) (0,t

1

, 1,t

1

) (0,t

1

, 0,t

2

)

(1,t

1

, 1,t

2

)

(a) Native representation of an illustrative TVG

(0,t

1

)

(1,t

1

)

(0,t

2

)

(1,t

2

) (0,t

0

)

(1,t

0

)

((0,t0), (0,t1))

((1,t0), (1,t1))

((1,t1), (0,t1)) ((0,t1), (1,t1)) ((0,t1), (0,t2))

((1,t1), (1,t2))

(b) Temporal node representation of an illustrative TVG

Figure 1: Native and temporal node representations of an illustrative TVG.

(14)

2.5 Aggregated directed graph

The aggregated graph associated to a TVG is a directed graph created by projecting all dynamic edges onto a single graph. In order to obtain the aggregated graph of a TVG, we first define the projection

π : V × T × V × T → V × V (u, t

a

, v, t

b

) 7→ (u, v),

that takes a dynamic edge to an edge by simply dropping the time coordinates of the dynamic edge.

Using this projection, we can now define the function Agg : (V, E, T ) → (V, V × V )

H 7→ (I(V (H)), π(E(H )),

where I is the identity function in V (H). It follows from this definition that for a given TVG H , Agg(H ) is a directed graph such that if (u, t

a

, v, t

b

) ∈ E(H), then (u, v) ∈ E(Agg(H )). In this transformation, spatial and mixed edges are mapped to an edge on the aggregated graph, while temporal edges are contracted into a single node. In this way, temporal edges are ignored, which is consistent with the definition that the aggregated graph is a simple directed graph.

Although the concept of aggregated graph is often found in the TVG literature, it should be noted that for a given TVG H, the nodes of the graph Agg(H ) in general do not have the same degree of the nodes on H . It should also be noted that the existence of a path connecting two nodes u and v in Agg(H ) does not imply the existence of a path connecting nodes u and v on the TVG H (a path in a TVG is formally defined in Section 2.8.3).

In general, the aggregated graph of a TVG is not isomorphic or in any way equivalent to the temporal node representation of the TVG. To see that this is the case, it suffices to note that for a given TVG H, the temporal node representation of H has | V (H ) | × | T (H ) | nodes, while Agg(H ) has | V (H) | nodes.

2.6 Degree

Since dynamic edges are naturally directed, we adopt the same notation as in directed graphs of the indegree of a node u denoted as deg

(u) and the outdegree of a node u denoted as deg

+

(u).

In addition, we distinguish between node degree and temporal node degree.

In order to properly define the node degree of a TVG, we use the canonical projections defined in Section 2.1. We then define the node outdegree and indegree as

deg

+

(u) = |{ e ∈ E(H ) | π

1

(e) = u }| , deg

(u) = |{ e ∈ E(H ) | π

3

(e) = u }| ,

where deg

+

(u) is the number of dynamic edges originating at node u and deg

(u) is the number of dynamic edges destined to the node u.

The temporal node degree considers the degree of a node at each time instant. This follows directly from the definition of temporal node:

deg

+

((u, t)) = |{ e ∈ E(H ) | π

1

(e) = u, π

2

(e) = t }| ,

deg

((u, t)) = |{ e ∈ E(H ) | π

3

(e) = u, π

4

(e) = t }| .

(15)

That is, deg

+

((u, t)) is the number of dynamic edges originated at a node u at the time instant t, while deg

((u, t)) is the number of dynamic edges destined to node u at time instant t. It follows from these definitions that for any given TVG H , the outdegree of a node u is given by

deg

+

(u) = X

t∈T(H)

deg

+

((u, t)),

and its indegree is given by

deg

(u) = X

t∈T(H)

deg

((u, t)).

Further, we have that

| E(H ) | = X

u∈V(H)

deg

+

(u) = X

u∈V(H)

X

t∈T(H)

deg

+

((u, t)),

and

| E(H ) | = X

u∈V(H)

deg

(u) = X

u∈V(H)

X

t∈T(H)

deg

((u, t)).

2.7 Adjacency

The concept of adjacency in a TVG can be defined in terms of node and edge adjacencies:

• Node adjacency establishes a relation between nodes, where two nodes are considered adjacent if and only if they share a common dynamic edge, i.e. a dynamic edge is incident to both nodes. Therefore, node adjacency is equivalent to the existence of a dynamic edge between the nodes. In other words, in a given TVG H , two nodes u, v ∈ V (H) are adjacent if and only if there is at least one dynamic edge e ∈ E(H) such that u = π

1

(e) and v = π

3

(e). Note that there is no time constraint in the concept of node adjacency. If a dynamic edge is incident to two nodes, they are adjacent nodes regardless of the time instants at which the dynamic edge is incident to each one of them.

• Temporal node adjacency establishes a relation between temporal nodes, i.e. a relation between nodes at specific time instants. As with nodes, temporal nodes are considered adjacent if and only if they share a common dynamic edge. However, differently from the node adjacency, when a dynamic edge is incident to a pair of temporal nodes, the time instants of the dynamic edges matches the time instants of the temporal nodes, both at the origin and the destination. In a given TVG H, two temporal nodes u

t

, v

t

∈ V T (H ) are adjacent if and only if there is a dynamic edge e ∈ E(H) such that u

t

= (π

1

(e), π

2

(e)) and v

t

= (π

3

(e), π

4

(e)).

• Edge adjacency defines an edge relation where two dynamic edges are considered adjacent if and only if they are incident to the same node at the same time instant. In a given TVG H , two dynamic edges e

a

, e

b

∈ E(H ) are adjacent if and only if there is a temporal node u

t

∈ V T (H ), such that u

t

∈ { (π

1

(e

a

), π

2

(e

a

)), (π

3

(e

a

), π

4

(e

a

)) } and u

t

∈ { (π

1

(e

b

), π

2

(e

b

)), (π

3

(e

b

), π

4

(e

b

)) } .

In order to present the relations between the adjacency in a TVG and the adjacency in its isomorphic directed graph G , we introduce the following theorems.

Theorem 2.2 Given a TVG H and its isomorphic directed graph G, a pair of temporal nodes

u

t

, v

t

∈ V T (H) is adjacent in H if and only if their corresponding nodes in G are adjacent.

(16)

Proof 2.3 Let H be a TVG, G its isomorphic directed graph and u

t

, v

t

∈ V T (H) a pair of adjacent temporal nodes in H.

Since u

t

and v

t

are adjacent, it follows that there is a dynamic edge e ∈ E(H) such that u

t

= (π

1

(e), π

2

(e)) and v

t

= (π

3

(e), π

4

(e)). Since H and G are isomorphic, it follows from Theorem 2.1 that e ∈ E(H) if and only if the edge e

s

= (f (u

t

), f (v

t

)) ∈ E(G). Therefore, since f (u

t

), f(v

t

) ∈ V (G) are the nodes in G corresponding to u

t

and v

t

, and the edge e

s

is incident to both of them, the theorem holds.

Theorem 2.3 Given a TVG H and its isomorphic directed graph G, a pair of nodes u, v ∈ V (H) is adjacent in H if and only if there is at least one pair of adjacent nodes r, s ∈ V (G) in the graph G, such that r corresponds to a temporal node u

t

for which u = π

1

(u

t

) and s corresponds to a temporal node v

t

for which v = π

1

(v

t

).

Proof 2.4 Let H be a TVG, G a directed graph isomorphic to H , and u, v ∈ V (H ) a pair of nodes in the TVG H . From Theorem 2.2, we have that a pair of nodes r, s ∈ V (G) is adjacent if and only if there is a pair of adjacent temporal nodes u

t

, v

t

∈ V T (H). From the definition of temporal node adjacency, u

t

and v

t

are adjacent if and only if there is a dynamic edge e such that u

t

= (π

1

(e), π

2

(e)) and v

t

= (π

3

(e), π

4

(e)). Further, from the definition of node adjacency, u and v are adjacent if and only if there is a dynamic edge e such that u = π

1

(e) and v = π

3

(e).

Note that π

1

(v

t

) = π

3

(e).

Therefore, since by hypothesis u = π

1

(u

t

) and v = π

1

(v

t

), the theorem holds.

Theorem 2.4 For a given a TVG H and its isomorphic directed graph G, a pair of dynamic edges in H is adjacent if and only if their corresponding edges are adjacent in G.

Proof 2.5 Let H be a TVG and G its isomorphic directed graph as per Theorem 2.1.

• = ⇒

Let e

1

, e

2

∈ E(H ) be two adjacent dynamic edges in H. Since they are adjacent, by our definition both edges are incident to the same node at the same time instant. Therefore, without loss of generality, we can assume that e

1

= (u, t

a

, v, t

b

) and e

2

= (v, t

b

, w, t

c

), mak- ing both edges incident to node v at time t

b

.

By Theorem 2.1, it follows that there are two edges e

1s

, e

2s

∈ G, such that e

1s

= (f ((u, t

a

)), f ((v, t

b

))) and e

2s

= (f ((v, t

b

)), f ((w, t

c

))). Since both edges e

1s

and e

2s

are incident to the node

f((v, t

b

)), they are adjacent edges in G.

• ⇐ =

Let e

3

, e

4

∈ E(G) be two adjacent edges in G. Since they are adjacent, they are inci- dent to the same node and thus, without loss of generality, they can be written as e

3

= (a, b) and e

4

= (b, c), where a, b, c ∈ V (G) are nodes in G. Hence, by Theorem 2.1, f

−1

(a), f

−1

(b), f

−1

(c) ∈ V T (H) are temporal nodes in H and e

3t

= (f

−1

(a), f

−1

(b)) and e

4t

= (f

−1

(b), f

−1

(c)) are dynamic edges in H. Since both edges are incident to the tempo- ral node f

−1

(b), it follows that they are incident to the same node at the same time instant, being therefore adjacent dynamic edges in H .

Since the temporal node representation is a particular case of the isomorphism shown in Theorem 2.1, it follows that Theorems 2.2, 2.3, and 2.4 are also valid for the temporal node representation. This property makes it possible to analyze concepts derived from edge adjacency in the temporal node representation of the TVG.

It is well known that if a pair of nodes u and v are adjacent in a TVG, then these nodes are also adjacent in the aggregated graph of the TVG. However, the reciprocal is not true.

For the dynamic edge adjacency, we have the following theorem.

(17)

Theorem 2.5 If two spatial or mixed edges in a TVG H are incident to the same node, then their projections on the aggregate graph are adjacent.

Proof 2.6 Let e

1

, e

2

∈ E(H ) be a pair of spatial or mixed dynamic edges in TVG H , such that both are incident to a given node v. Since these edges are spatial or mixed dynamic edges, they have distinct origin and destination nodes. Hence, without loss of generality, we can define e

1

= (u, t

a

, v, t

b

) and e

2

= (v, t

c

, w, t

d

), where u 6 = v and v 6 = w are nodes in TVG H and t

a

, t

b

, t

c

, t

d

∈ T(H ) are time instants. Applying the projection π used to get the aggregate graph (see Section 2.5) to the edges, we get π(e

1

) = (u, v) and π(e

2

) = (v, w). Since u 6 = v and v 6 = w, (u, v) and (v, w) are two distinct directed edges, and since both are incident to node v, it follows that they are adjacent edges in Agg(H), the aggregated graph of the TVG H.

Note that the dynamic edges e

1

and e

2

are not necessarily adjacent in the TVG. For the Theo- rem 2.5 to hold, it is sufficient that these dynamic edges share the same node, regardless of the time instants. This happens because all information concerning time instants in the dynamic edges is dropped by the projection π. Further, note that the edges e

1

and e

2

do not have to necessarily be both spatial or both mixed.

2.8 Walks, trails, paths, and cycles

In this section, we analyze concepts that are derived from the basic concept of adjacency (see Section 2.7). Since in the environment of a TVG the time relations are considered in the same way as relations between nodes, it is natural to use an adjacency definition which takes time relations into account. Therefore, the concepts of temporal node adjacency and edge adjacency are used because they depend not only on the nodes, but also on time instants to determine if adjacency occurs.

We show in this section that walks, trails, paths, and cycles, as they are defined for TVGs, are preserved under the isomorphism between TVGs and directed graphs (see Section 2.2), and in particular by the temporal node representation (i.e. natural isomorphism between a TVG and a directed graph), so that properties related to walks, trails, paths, and cycles can be analyzed on the temporal node representation of the TVG.

2.8.1 Walk

We define a walk on a TVG H as an alternating sequence W = [u

t1

, e

1

, u

t2

, e

2

, u

t3

, ..., u

tk−1

, e

k−1

, u

tk

] of temporal nodes u

ti

∈ V T(H ) and dynamic edges e

j

∈ E(H ), such that u

ti

= (π

1

(e

i

), π

2

(e

i

)) and u

ti+1

= (π

3

(e

i

), π

4

(e

i

)) for 1 ≤ i < k. Note that from this definition we have that all pairs of consecutive temporal nodes u

ti

and u

ti+1

are adjacent and also that all pairs of consecutive dynamic edges e

j

and e

j+1

are adjacent.

A walk is closed if u

t1

= u

tk

and open otherwise. The set of temporal nodes in the walk W is denoted as V T (W ) and the set of dynamic edges in the walk W is denoted as E(W ). Since the dynamic edges in W contain time instants, we can denote the set of all time instants in W as T (W ). Further, if W is a walk on a TVG H , then V T(W ) ⊆ V T (H), E(W ) ⊆ E(H ) and T (W ) ⊆ T (H ).

Note that each dynamic edge e

i

in a walk W can be determined by the temporal nodes u

ti

and

u

ti+1

by writing e

i

= (π

1

(u

ti

), π

2

(u

ti

), π

1

(u

ti+1

), π

2

(u

ti+1

)). Therefore, W can be fully described

by the sequence of its temporal nodes, W

V

= [u

t1

, u

t2

, ..., u

tk

]. We may refer to a walk using this

notation in cases where the precise determination of the edges is not needed. The sequence of

temporal nodes W

V

is not necessarily equal to the set V T (W ) of temporal nodes in the walk,

since in W

V

there may be repeated temporal nodes.

(18)

Further, each dynamic edge e

j

in a walk W also fully determines the temporal nodes u

tj

and u

tj+1

, since u

tj

= (π

1

(e

j

), π

2

(e

j

)) and u

tj+1

= (π

4

(e

j

), π

4

(e

j

)). Hence, W can also be determined by its sequence of dynamic edges W

E

= [e

1

, e

2

, ..., e

n

]. We may use this notation when the precise identification of the nodes is not needed. The sequence (or list) of edges W

E

is not necessarily equal to the set of edges E(W ), since there may be repeated edges in W

E

. The length of a walk is determined by the number of dynamic edges the walk contains, i.e. Len(W ) = | W

E

|.

As a short notation, in cases where there is no ambiguity, or the identity of the temporal nodes and dynamic edges in the walk is not relevant, we may also identify a walk W only by its start and end nodes as W = u

1

→ u

k

.

Theorem 2.6 An alternating sequence W of temporal nodes and dynamic edges in a TVG H is a walk on H if and only if there is a corresponding walk G

W

in the temporal node representation of H.

Proof 2.7 As stated in Section 2.4, for the temporal node representation g(H ) of the TVG H there is a bijective function h : E(H ) → ET(H ) = E(g(H )) such that h((u, t

a

, v, t

b

)) = ((u, t

a

), (v, t

b

)).

• = ⇒

Let W = [u

t1

, e

1

, u

t2

, e

2

, u

t3

, ..., u

tk−1

, e

k−1

, u

tk

] be a walk on TVG H and g(H ) be the tem- poral node representation of the TVG H. Since the nodes present in W are temporal nodes, they correspond directly to temporal nodes in g(H), because the bijection between V T (H) and V (g(H )) is the identity. Thus, it is only necessary to translate the dynamic edges e

i

into edges in E(g(H)). Each dynamic edge e

i

is determined by the temporal nodes u

ti

and u

ti+1

such that e

i

= (π

1

(u

ti

), π

2

(u

ti

), π

1

(u

ti+1

), π

2

(u

ti+1

)). Applying the function h to e

i

we have that h((π

1

(u

ti

), π

2

(u

ti

), π

1

(u

ti+1

), π

2

(u

ti+1

))) = ((π

1

(u

ti

), π

2

(u

ti

)), (π

1

(u

ti+1

), π

2

(u

ti+1

))) = (u

ti

, u

ti+1

) = e

si

. Therefore, we have that the sequence G

W

= [u

t1

, e

s1

, u

t2

, e

s2

, u

t3

, ..., u

tk−1

, e

sk−1

, u

tk

] is the walk corresponding to W in g(H ), since it is the walk composed of the nodes in V (g(H )) corresponding to the temporal nodes in W .

• ⇐ =

Let G

W

= [u

t1

, e

s1

, u

t2

, e

s2

, u

t3

, ..., u

tk−1

, e

sk−1

, u

tk

] be a walk on g(H ). Then u

ti

∈ V (g(H)) are nodes in g(H ) and e

si

∈ E(g(H )) are edges in g(H ). By construction of g(H), V (g(H )) = V T (H), such that u

ti

∈ V T (H ) are also temporal nodes in H . Since W is a walk on the graph g(H ), it follows that e

si

= (u

ti

, u

ti+1

). Applying h

−1

to e

si

, we have h

−1

((u

ti

, u

ti+1

)) = (π

1

(u

ti

), π

2

(u

ti

), π

1

(u

ti+1

)) = e

i

, such that the sequence W = [u

t1

, e

1

, u

t2

, e

2

, u

t3

, ..., u

tk−1

, e

k−1

, u

tk

] is the corresponding walk on the TVG H . Corollary 2.2 The length of a walk W on a TVG H is the same as the length of the corre- sponding walk G

W

on the directed graph g(H ).

Proof 2.8 It follows from Theorem 2.6 that the sequence of temporal nodes u

ti

in the walk H is the same as the sequence of temporal nodes u

ti

in the walk G

W

. Since each pair of consecutive temporal nodes u

ti

and u

ti+1

determines a dynamic edge in W and also an edge in G

W

, it follows that the number of dynamic edges in W is the same as the number of edges in G

W

. Therefore, from the definition of length of a walk, we have that Len(W ) = Len(G

W

) and the corollary holds.

Theorem 2.7 Given a TVG H and its aggregated graph Agg(H ), the projection of a walk on H onto Agg(H ) is a walk on Agg(H).

Proof 2.9 Let H be a TVG, Agg(H) its aggregated directed graph and W = [u

t1

, e

1

, u

t2

, e

2

, u

t3

, ..., u

tk−1

,

e

k−1

, u

tk

] a walk on TVG H . If the walk W only has spatial or mixed dynamic edges, then this

(19)

theorem holds as a direct consequence of Theorem 2.5, since consecutive edges in a walk are adja- cent in the TVG and therefore are incident to the same node. If, however, the walk has temporal dynamic edges, they contract to a single node and, therefore, are not reflected in Agg(H ). When this happens, note that the nodes before and after each temporal edge are the same. This happens because a temporal edge has the form e = (u, t

a

, u, t

b

), connecting a node to itself at different time instants. Therefore, every sequence of temporal dynamic edges can be ignored and the theorem holds.

2.8.2 Trail

We define a trail in a TVG H as a walk on H where all edges are distinct. We can identify a trail W = [u

t1

, e

1

, u

t2

, e

2

, u

t3

, ..., u

tk−1

, e

k−1

, u

tk

] with the TVG H

W

= (V(W), E(W), T(W)). Since V (W ) ⊆ V (H ), E(W ) ⊆ E(H) and T(W ) ⊆ T(H ), it follows that the trail W is a sub-TVG of H.

Theorem 2.8 A walk H

W

on H is a trail on H if and only if there is a corresponding trail G

W

on g(H).

Proof 2.10 • = ⇒

Let H

W

be a trail on H and let g(H) be the temporal node representation of the TVG H.

Since H

W

is a trail, it is also a walk. Hence, by Theorem 2.6, there is a corresponding walk G

W

on g(H). Since H

W

is a trail on H, we have that all dynamic edges e

s

∈ E(H

W

) ⊆ E(H) are distinct. From Corollary 2.1, we have that there is a bijection h : E(H) → E(g(H )) and, therefore, since the dynamic edges e

s

in H

W

are distinct, so are the corresponding edges in G

W

. Since G

W

is a walk on g(H ) and its edges are distinct, it follows that G

W

is a trail on g(H).

• ⇐ =

Let G

W

be a trail on g(H ), which is the temporal node representation of a TVG H . Since G

W

is also a walk on g(H ), by Theorem 2.6, there is a corresponding walk H

W

on H. Since G

W

is a trail, the edges e

si

∈ E(G

W

) ⊆ E(g(H )) are all distinct. As that by Corollary 2.1 there is a bijection h : E(H ) → E(g(H)), it follows that the corresponding dynamic edges in the walk H

W

are also distinct. Therefore, since H

W

is a walk and has distinct edges, it follows that H

W

is a trail on the TVG H .

A trail is closed when the first and last temporal nodes are the same, i.e. u

t1

= u

tk

, and open otherwise. A closed trail is also called a tour or a circuit.

From Theorem 2.7, we have that the projection of a trail W onto the aggregated graph of H is a walk. To see that this projection is not necessarily a trail, consider the trail W = [(u, t

1

), (u, t

1

, v, t

2

), (v, t

2

), (v, t

2

, w, t

3

), (w, t

3

), (w, t

3

, u, t

4

), (u, t

4

), (u, t

4

, v, t

5

), (v, t

5

)]. The pro- jection of W onto Agg(H ) is the walk W

agg

= [u, (u, v), v, (v, w), w, (w, u), u, (u, v), v]. Note that the edge (u, v) appears twice in W

agg

. Therefore, the walk W

agg

is not a trail.

Since a trail is also a walk, the length of a trail is determined in the same way as the length of a walk, by the number of edges. In particular, it follows from Corollary 2.2 that the length of a trail H

W

on a TVG H is the same as the length of the corresponding trail G

W

on g(H), i.e.

Len(H

W

) = Len(G

W

).

2.8.3 Path

We define a path on a TVG H as a walk on H where all temporal nodes are distinct. We can

identify a path P = [u

t1

, e

1

, u

t2

, e

2

, u

t3

, ..., u

tk−1

, e

k−1

, u

tk

] with the TVG H

P

= (V(P), E(P),

(20)

T(P)), where V (P ), E(P ), and T (P ) are the sets of temporal nodes, dynamic edges, and time instants on the path, respectively. Since V (P) ⊆ V (H), E(P) ⊆ E(H ), and T(P ) ⊆ T (H), it follows that the path P is a sub-TVG of H .

Theorem 2.9 A walk P on H is a path on H if and only if there is a corresponding path G

P

on g(H ).

Proof 2.11 Since P is also a walk on H, we have from Theorem 2.6 that P is a walk on H if and only if G

P

is a walk on g(H ). Therefore, the only point left to be shown is that all nodes in P are distinct if and only if all nodes in G

P

are distinct. However, it also follows from Theorem 2.6 that the temporal nodes in P and in G

P

are the same. Therefore, if the nodes of P are distinct, so are the nodes of G

P

, and the theorem holds.

From Theorem 2.7, we have that the projection of a path P onto the aggregated graph of H is a walk. To show this, we use the same example presented for trails. Let the sequence P = [(u, t

1

), (u, t

1

, v, t

2

), (v, t

2

), (v, t

2

, w, t

3

), (w, t

3

), (w, t

3

, u, t

4

), (u, t

4

), (u, t

4

, v, t

5

), (v, t

5

)] be a path on TVG H . The projection of P onto Agg(H) is the walk W

agg

= [u, (u, v), v, (v, w), w, (w, u), u, (u, v), v]. Note that the node u appears twice in W

agg

. The walk W

agg

is thus not a path.

Since a path is also a walk, the length of the path is also determined by the number of edges on it. Further, it follows from Corollary 2.2 that the length of a path P on a TVG H is the same as the length of the corresponding path G

P

on g(H ), i.e. Len(P) = Len(G

P

).

This notion of path stems from the adjacency definitions used on TVGs, where both nodes and time instants are considered to define adjacency (i.e. two dynamic edges are adjacent if and only if they are both incident to a node at the same given time instant). Therefore, this definition is consistent with the walk and trail definitions stated before, since all of them are based on this same adjacency notion.

However, the path definition we present is not the same that is usually used, in which a path can not pass twice through a same node, regardless of time instants. We present this definition since, as stated above, it is consistent with the development started on the walk definition and also because it leads to interesting and useful results, such as that a path is preserved by the natural isomorphism (i.e. temporal nodes representation). Further, if required, the more traditional path definition can be easily reached, since it coincides with the projection of the path onto the aggregated graph of the TVG. Note that this is consistent with the idea that the aggregated graph and projections over it are obtained by ignoring the time instant coordinates present on dynamic edges.

Once we have the path definition, it can be seen that a mixed edge can be decomposed into a pair of temporal and spatial edges forming a path with two dynamic edges. However, it should be noted that such a decomposition leads to a TVG that is topologically different (and therefore not isomorphic) as compared with the original TVG with the mixed edge. To see that this is indeed the case, note that when this decomposition is performed, it is necessary to create a temporal and a spatial dynamic edge (unless they already exist) and that the original mixed edge is then removed. Since in any case the original TVG and the TVG with the decomposition don’t have the same number of edges, they cannot be isomorphic. Similarly, any path containing mixed dynamic edges can be decomposed into a path containing only temporal and spatial dynamic edges.

2.8.4 Cycle

A cycle on a TVG is defined as a closed path, i.e. a path that starts and ends on the same

temporal node.

(21)

Theorem 2.10 A path P on a TVG H is a cycle if and only if the corresponding path G

P

in g(H ) is a cycle.

Proof 2.12 From Theorem 2.9, we have that P is a path on H if and only if G

P

is a path on g(H ). Hence, we only need to show that P starts and ends on the same temporal node if and only if G

P

does the same. It follows from Theorem 2.6 that the sequence of temporal nodes in P and in G

P

is the same. Therefore, if P starts and ands on a given temporal node u

t

, so does G

P

and the theorem holds.

Additionally, since a cycle is a special case of a path, it follows that the length of a cycle is determined in the same way as the length of a path. Further, the length of a cycle P on H is the same as the length of the corresponding cycle G

P

on g(H ).

We define the girth of a TVG H as the length of the shortest cycle in H . If H has no cycle, we consider that its girth is infinite. It follows directly from Theorem 2.10 and Corollary 2.2 that a TVG H and its temporal node representation g(H ) have the same girth.

If a cycle on a TVG is constructed using only spatial dynamic edges, this cycle is equivalent to the concept of cycles on a directed graph. Nevertheless, if a cycle contains any dynamic edge which has a non-zero temporal component (i.e. a temporal or mixed edge), then the cycle has to contain a regressive dynamic edge, since the presence of progressive edges makes the use of a regressive edge necessary to make it possible for a path to return to the temporal node where it started.

2.9 Shortest paths on a TVG

Given two temporal nodes u

ta

, u

tb

∈ V T (H) in a TVG H , we define the shortest path between u

ta

and u

tb

as the path with the smallest length starting at temporal node u

ta

and ending at temporal node u

tb

.

We can define four distinct variants of shortest path on a TVG:

1. Shortest path from a temporal node to a temporal node, i.e. (u, t

a

) → (v, t

b

);

2. Shortest path from a node to a temporal node. This is the shortest path starting at any temporal node u

t

such that π

1

(u

t

) = u and ending at the temporal node (v, t

b

); i.e.

(u, · ) → (v, t

b

) ;

3. Shortest path from a temporal node to a node. This is the shortest path starting at a temporal node (u, t

a

) and ending at any temporal node v

t

such that π

1

(v

t

) = v; i.e.

(u, t) → (v, · );

4. Absolute shortest path. This is the shortest path from a node to another node. In other words, this is the shortest path starting at any temporal node u

t

such that π

1

(u

t

) = u and ending at any temporal node v

t

such that π

1

(v

t

) = v; i.e. (u, · ) → (v, · ).

Note that even though the variants 2, 3, and 4 involve the concept of nodes, a path always starts and ends on a temporal node. The meaning of the nodes in the shortest path variants is the freedom to select a temporal node at any time instant, such that the path is minimized.

Theorem 2.11 A path P between two temporal nodes u

ta

and u

tb

on a TVG H is a shortest

path between these nodes if and only if the corresponding path G

P

in g(H ) is a shortest path

between u

ta

and u

tb

on g(H).

(22)

Proof 2.13 • = ⇒ (by contradiction)

Let u

ta

, u

tb

∈ V T (H ) be two temporal nodes on a TVG H and P be a shortest path from u

ta

to u

tb

. Further, let G

P

be the corresponding path from u

ta

to u

tb

on the graph g(H ).

From Corollary 2.2, we have that Len(P ) = Len(G

P

).

Let’s suppose that G

P

is not a shortest path from u

ta

to u

tb

on g(H). This means that there is a path G

PS

from u

ta

to u

tb

on g(H ), such that Len(G

PS

) < Len(G

P

). Then, by Theorem 2.9 and Corollary 2.2, there must be a corresponding path P

S

from u

ta

to u

tb

on H, such that Len(P

S

) < Len(P ). This is a contradiction, since P is a shortest path from u

ta

to u

tb

on H . Therefore, G

P

is a shortest path from u

ta

to u

tb

on g(H ).

• ⇐ = (by contradiction)

Let u

ta

, u

tb

∈ V (g(H) be two temporal nodes on g(H ) and G

P

be a shortest path from u

ta

to u

tb

. Further, let P be the corresponding path from u

ta

to u

tb

on the TVG H. From Corollary 2.2, we have that Len(G

P

) = Len(P ).

Let’s suppose that P is not a shortest path from u

ta

to u

tb

on TVG H. Then, there must be a path P

S

from u

ta

to u

tb

in H , such that Len(P

S

) < Len(P ). Thus, from Theorem 2.9 and Corollary 2.2, there must be a corresponding path G

PS

from u

ta

to u

tb

on g(H ), such that Len(G

PS

) < Len(G

P

). This is a contradiction, since G

P

is a shortest path from u

ta

to u

tb

on g(H ). Therefore, P is a shortest path from u

ta

to u

tb

on the TVG H.

Figure 2 shows a simple example of a TVG for illustrating TVG shortest paths. The shortest path from (0, t

0

) to (1, t

2

) is the sequence [(0, t

0

), (0, t

1

), (1, t

1

), (1, t

2

)] and has length 3, while the shortest path from (0, t

0

) to (1, · ) is formed by [(0, t

0

), (0, t

1

), (1, t

1

)] and has length 2. In the same way, the shortest path from (0, · ) to (1, · ) is [(0, t

1

), (1, t

1

)], while the shortest path from (0, · ) to (1, t

2

) is [(0, t

1

), (1, t

1

), (1, t

2

)].

0

1

t

0

t

1

t

2

0

1

0

1

Figure 2: Time-variyng graph example.

2.10 Strongly connected TVG

We define a strongly connected TVG as a TVG H in which for all pairs of nodes u, v ∈ V (H)

there is a path u → v and also a path v → u. Nevertheless, this does not mean that any pair

of nodes is capable of communicating at all times. It only means that each node is capable

of eventually accessing any other node at some time instant. Note that in the temporal node

representation a strongly connected TVG is not necessarily a strongly connected graph. For the

Références

Documents relatifs

With regard to regional economic structure, we note that, if decreasing specialization in manufacturing results in a greater number (or share) of long-term unemployed, a

We consider a model for a three-dimensional microelectromechanical system (MEMS) including two components, a rigid ground plate of shape D ⊂ R 2 and an elastic plate of the same

We can confidently state that oral rehydration therapy can be safely and successfully used in treat- ing acute diarrhoea due to all etiologies, in all age groups, in all

In this paper we introduce a data-driven framework to constantly monitor and compare the performance of deployed time-series forecasting models to guarantee accurate forecasts of

Allez au texte intégral (full text) de cet article en ligne, puis cliquez sur CFPlus dans le menu en haut, à droite de la page.. We’re all in

In this paper, we focus on the ferromagnetic Ising model and prove that the mixing time of Glauber dynamics on any n-vertex graph is at least (1/4 + o(1))n log

- In-vivo: Students enrolled in a course use the software tutor in the class room, typically under tightly controlled conditions and under the supervision of the

[r]