Graph mining

2019/2020

Pierluigi Crescenzi

Université de Paris, IRIF

Inspired by An introduction to temporal graphs: an algorithmic perspective by Othon Michail

Temporal graphs.

Definitions, problems, algorithms, and complexity

Temporal graphs

Introduction

pierluigi.crescenzi@irif.fr

GM

#04

  • Temporal graphs
    • Graphs that change with time
    • Give rise to new set of challenging, important, and practical problems
  • Formal treatment in its infancy
  • Big set of applications
    • Information and communication networks
      • Mobile ad hoc, sensor, peer-to-peer networks
    • Social networks
      • Social relationships
    • Transportation networks
    • Physical systems
      • Molecule interactions
    • Epidemics
      • Contacts

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Introduction

  • Removing all time information from the temporal graph
    • Collapsing (if necessary) multiple edges between any two vertices into a single edge
  • Loss of all the temporal information
    • Critical to understanding relationships between entities






       
      • Paths from 1 to 2 in non-temporal do not exist in temporal
      • Path of length 2 from 1 to 5 in non-temporal does not exist in temporal

pierluigi.crescenzi@irif.fr

GM

#04

  • Complexity of optimisation problems
    • Dynamic languages derived from NP-complete languages become PSPACE-complete
      • Not equivalent model
  • Classical results
    • Max-flow min-cut
    • Menger's theorem
  • From instantaneous properties to global properties
    • Connectivity, diameter

Temporal graphs

Introduction

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Introduction

  • Several different definitions of temporal graphs with different names
    • Evolving graphs
      • Sequence of static graphs
    • Time-varying graphs
      • Static graph with labelling on the edges assigning set of natural numbers (availability period)
    • Link stream graphs
      • Static multi-graph with labelling on the edges assigning natural number (availability time)
    • Dynamic graphs
      • Probabilistic process specifying the next graph

pierluigi.crescenzi@irif.fr

GM

#04

  • Discrete temporal graph \(\lambda(G)\)
    • Graph \(G=(V,E)\)
    • Labelling \(\lambda:E\rightarrow 2^\mathbb{N}\)
  • Notations
    • \(\lambda(E)\): multi-set of all labels
    • \(|\lambda|=\sum_{e\in E}|\lambda(e)|\)
    • \(\lambda_\mathrm{max}=\max\{l\in\lambda(E)\}\) and \(\lambda_\mathrm{min}=\min\{l\in\lambda(E)\}\)
    • Lifetime: \(\alpha(\lambda)=\lambda_\mathrm{max}-\lambda_\mathrm{min}+1\)
  • Snapshot \(\lambda(G)[t]\) (simply \(G_t\))
    • ​\(G_t=(V,E_t)\) where \(E_t=\{e\in E:t\in\lambda(e)\}\)
  • ​Temporal graph viewed as sequence of static graphs
    • ​\(G_1,G_2,\ldots,G_{\lambda_\mathrm{max}}\)

Temporal graphs

Definitions

pierluigi.crescenzi@irif.fr

GM

#04

  • Static expansion of discrete temporal graph \(\lambda(G=(V,E))\)
    • Static graph \(H=(S,F)\)
      • \(S=\{v_{t,i} : v_i\in V \wedge \lambda_\mathrm{min}-1\leq i\leq\lambda_\mathrm{max}\}\)
      • \(F=\{(u_{{t-1},i},u_{t,j}) : \lambda_\mathrm{min}\leq i\leq\lambda_\mathrm{max}\wedge(i=j\vee(v_i,v_j)\in E_t)\}\)

Temporal graphs

Definitions

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Definitions

  • Temporal walk \(\mathbb{W}\) from \(u\) to \(v\)
    • Alternating sequence of nodes and times \((u_1,t_1,u_2,t_2,\ldots,u_{k-1},t_{k-1},u_k)\) s.t.
      • \(u_1=u\) and \(u_k=v\)
      • For each \(i\) with \(1\leq i<k\), \((u_i,u_{i+1})\in E_{t_{i}}\)
      • For each \(i\) with \(1\leq i<k-1\), \(t_i<t_{i+1}\)
    • Departure time: \(t_1\)
    • Arrival time: \(t_{k-1}\)
    • Duration: \(t_{k-1}-t_1+1\)
  • Journey \(\mathbb{J}\) from \(u\) to \(v\)
    • Temporal walk from \(u\) to \(v\) with distinct nodes
  • Foremost journey from \(u\) to \(v\) from time \(t\)
    • Departure time \(t\) and minimum arrival time
  • Temporal distance from \(u\) to \(v\) at time \(t\)
    • Duration of foremost journey from \(u\) to \(v\) from time \(t\)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Definitions

  • Example

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Computing foremost journeys

  • Hypothesis

    • Entire temporal graph available

    • Edges sorted by their apparition time

  • Algorithm similar to BFS

    1. Initialize \(\mathbf{t}[s]=t-1\) and \(\mathbf{t}[v]=\infty\) for all \(v\neq s\)

    2. For each edge \(e=(u,v)\)

      1. If \(t\leq\lambda(e) \wedge \mathbf{t}[u]<\lambda(e)<\mathbf{t}[v]\), then \(\mathbf{t}[v]=\lambda(e)\)

    3. Return \(\mathbf{t}-(t-1)\)

  • Complexity \(O(\lambda(E))\)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Computing foremost journeys

  • Example

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Connectivity and Menger's theorem

  • Menger's theorem

    • The maximum number of node-disjoint \(s\)-\(z\) paths is equal to the minimum number of nodes that must be removed in order to separate \(s\) from \(z\)

  • Temporal (single-labeled) counter-example: \(s=v_1\) and \(z=v_5\)

  • Every journey includes two inner nodes \(v_2\),\(v_3\), or \(v_4\)
    • If \(v_2,v_3\) or \(v_2,v_4\), vertical obstacle is created
    • If \(v_3,v_4\), only other path is \((v_1,v_2,v_5)\) which is not a journey
  • Hence, no node-disjoint journey
  • On the other hand, any two inner nodes are in a journey
  • Hence, minimum separator has size 2
  • Can be genralized to \(2k-1\) inner nodes

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Connectivity and Menger's theorem

  • Menger's theorem in temporal graphs

    • The maximum number of edge-disjoint \(s\)-\(z\) paths is equal to the minimum number of edges that must be removed in order to separate \(s\) from \(z\)

  • Proof (reduction to Menger's theorem on static directed graphs)

    • Step 1

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Connectivity and Menger's theorem

  • Menger's theorem in temporal graphs

    • The maximum number of edge-disjoint \(s\)-\(z\) paths is equal to the minimum number of edges that must be removed in order to separate \(s\) from \(z\)

  • Proof (reduction to Menger's theorem on static directed graphs)

    • Step 2

  • Preserves edge-disjointness and sizes of separators

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • Fact

    • Any temporal clique is temporally connected

      • For any pair of nodes \(u\) and \(v\) there exists a journey from \(u\) to \(v\)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • Temporal spanner

    • Subset of temporal edges maintaining connectivity

  • Given a connected temporal graph, find a "sparse" temporal spanner (if it exists)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • Temporal hypercube

    • Labels are positions in which two binary strings differ

  • No "sparser" temporal spanner

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • Temporal cliques with just one label

    • No spanner of size \(o(n^2)\)

  • Question
    • What about temporal cliques with all distinct labels?

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • Dismountable temporal cliques

    • There exists node \(v\) with two neighbours \(u\) and \(w\) such that

      • \(\lambda(v,u)=\min_x\lambda(x,u)\)

      • \(\lambda(v,w)=\max_x\lambda(x,w)\)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • Dismountable temporal cliques

    • There exists node \(v\) with two neighbours \(u\) and \(w\) such that \(\lambda(v,u)=\min_x\lambda(x,u)\) and \(\lambda(v,w)=\max_x\lambda(x,w)\)

    • ​If \(S\) is a temporal spanner for \(G\setminus v\), \(S\cup\{(v,u),(v,w)\) is a temporal spanner for \(G\)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • Algorithm

    • While \(G\) is dismountable for nodes \(v,u,w\)

      • \(S\): output of algorithm on \(G\setminus v\)

      • \(S = S\cup\{(v,u),(v,w)\}\)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • If algorithm reduces to one temporal edge, returned temporal spanner has linear size

    • At each step, it adds two edges to the temporal spanner

  • Unfortunately there are infinite temporal cliques which are not dismountable

\(4\) nodes

\(8\) nodes

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Spanners

  • Any temporal clique with distinct labels admits a temporal spanner of size \(O(n\log n)\)

    • Clever usage of delegation of emissions and receptions to neighbours

    • Recursive sparsification technique

  • Open problem

    • Does a linear size temporal spanner always exist?

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Cutsets enumeration

 

  • Given temporal \(G=(V,E)\)
    • \(E\): set of temporal edges \((u,v,t)\) for any \(t\in\lambda(u,v)\)
  • \(S\subseteq E\)  is \(s\)-\(d\) disconnecting set of \(G\) if there is no \(s\)-\(d\) journey in \(G\setminus S\)
    • \(G\setminus S = (V,E\setminus S)\)
  • \(S\) is an \(s\)-\(d\) cutset if it is a minimal \(s\)-\(d\) disconnecting set
    • No proper subset of \(S\) is an \(s\)-\(d\) disconnecting set 

\(s\)-\(d\) disconnecting set

\(s\)-\(d\) cutset

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Cutsets enumeration

 

  • Given temporal \(G=(V,E)\), simplified static expansion \(G^T=(V^T,E^T)\)
    • \(V^T=\bigcup_{e\in E}\{u^e, {}^{e}v : e=(u,v,t)\}\)
    • \(E^T = \bigcup_{e\in E}\{(u^e, {}^{e}v)\} \cup \bigcup_{e,f\in E}\{({}^{e}u, u^{f}) : e=(x,u,t_e)\wedge f=(u,y,t_f)\wedge t_f>t_e\}\)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Cutsets enumeration

 

  • Given temporal \(G=(V,E)\) and \(X\subseteq V^T\), cut \(\langle X,\bar{X}\rangle\) in \(G\)
    • \(\langle X, \bar{X}\rangle = \{e\in E : e=(u,v,t)\wedge u^e\in X \wedge {}^{e}v\in\bar X\}\)

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Cutsets enumeration

 

  • Given \(G=(V,E)\), \(s,d\in V\) and \(X\subseteq V^T\), \(X\) is \(s\)-\(d\) good if
    • \(\forall_{e=(s,x,t)\in E}[s^e\in X]\) and \(\forall_{e=(x,d,t)\in E}[{}^{e}d\not\in X]\)
    • \(u^{e=(u,x,t_e)}\in X \Rightarrow\forall_{f\in E : f=(u,x,t_f)\wedge t_f>t_e}[u^f\in X]\)
  • ​If \(X\) is good, then \(\langle X,\bar{X}\rangle\) is \(s\)-\(d\) disconnecting set
  • Not necessary condition

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Cutsets enumeration

 

  • Given \(G=(V,E)\), \(s,d\in V\) and \(S\subseteq E\), \(S\) is \(s\)-\(d\) cutset iff
    • \(S=\langle X, \bar X\rangle\) for some \(s\)-\(d\) good set \(X\subseteq V^T\)
    • \(x\in X\) iff \(x\) is reachable in \(G^T[X]\) from \(s^{e}\) for some \(e\in E\)
    • if \({}^{e}u\in\bar{X}\) for some \(e=(x,u,t)\in E\) such that \(x^{e}\in X\), then, for some \(f\in E\), \({}^{f}d\) is reachable in \(G^T[\bar{X}]\) from \({}^{e}u\)

\(s\)-\(d\) cutset

Non \(s\)-\(d\) cutset

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Cutsets enumeration

 

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Cutsets enumeration

 

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Robustness

 

  • Footprint of \(\lambda(G=(V,E))\): \(G=(V,E)\)
  • Eventual footprint of \(\lambda(G=(V,E))\): \(G=(V,E\setminus M)\) where
    • ​\(M=\{e\in E: \exists t^*\forall t>t^*[t\not\in\lambda(e)]\}\)

Footprint

Eventual footprint

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Robustness

 

  • \(\mathcal{TC}^\mathcal{R}\)
    • Set of temporal graphs such that any pair of nodes is able to communicate infinitely often through journeys
  • Claim
    • \(\mathcal{TC}^\mathcal{R}\) is equivalent to the set of temporal graphs whose eventual footprint is connected
  • ​Solving combinatorial optimisation problems on \(\mathcal{TC}^\mathcal{R}\)
    • ​Nodes do not know which edges are recurrent
    • Best they can do, compute solutions for the footprint and hope it will be a solution also in the eventual footprint

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Robustness

 

  • A property \(P\) is robust in a (static) graph \(G\) iff it is satisfied in any connected spanning subgraph of \(G\)
    • Special case of (decreasing monotone) hereditary property
    • Never studied before
      • Quite natural
  • Example: maximal independent set (MIS)
    • Robust MIS (RMIS) in \(G\): MIS in any connected spanning subgraph of \(G\)

Robust MIS

Non robust MIS

pierluigi.crescenzi@irif.fr

GM

#04

Temporal graphs

Robustness

 

  • All MIS are robust in \(G\) iff
    • \(G\) is complete bipartite
    • \(G\) is a sputnik
      • Every node in a cycle has a pendant neighbour
  • Polynomial-time algorithm for deciding whether a graph \(G\) admits a robust MIS