large scale density-friendly graph decomposition …large scale density-friendly graph decomposition...

46
1 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université Paris-Saclay, 75013, Paris, France danisch@telecom- paristech.fr T-H. Hubert Chan Department of Computer Science, The University of Hong Kong, Hong Kong, China [email protected] Mauro Sozio LTCI, Télécom ParisTech, Université Paris-Saclay, 75013, Paris, France sozio@telecom- paristech.fr RACT the well-known k-core decomposition stands out for

Upload: others

Post on 12-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

1 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Large Scale Density-friendly Graph Decompositionvia Convex Programming

Maximilien DanischLTCI, Télécom ParisTech,Université Paris-Saclay,

75013, Paris, Francedanisch@telecom-

paristech.fr

T-H. Hubert ChanDepartment of ComputerScience, The University of

Hong Kong, Hong Kong, [email protected]

Mauro SozioLTCI, Télécom ParisTech,Université Paris-Saclay,

75013, Paris, Francesozio@telecom-

paristech.fr

ABSTRACTAlgorithms for finding dense regions in an input graph haveproved to be effective tools in graph mining and data anal-ysis. Recently, Tatti and Gionis [WWW 2015] presented anovel graph decomposition (known as the locally-dense de-composition) that is similar to the well-known k-core decom-position, with the additional property that its componentsare arranged in order of their densities. Such a decompo-sition provides a valuable tool in graph mining. Unfortu-nately, their algorithm for computing the exact decomposi-tion is based on a maximum-flow algorithm which cannotscale to massive graphs, while the approximate decomposi-tion defined by the same authors misses several interestingproperties. This calls for scalable algorithms for computingsuch a decomposition. In our work, we devise an efficientalgorithm which is able to compute exact locally-dense de-compositions in real-world graphs containing up to billionsof edges. Moreover, we provide a new definition of approxi-mate locally-dense decomposition which retains most of theproperties of an exact decomposition, for which we devise analgorithm that can scale to real-world graphs containing upto tens of billions of edges. Our algorithm is based on theclassic Frank-Wolfe algorithm which is similar to gradientdescent and can be efficiently implemented in most of themodern architectures dealing with massive graphs. We pro-vide a rigorous study of our algorithms and their convergencerates. We conduct an extensive experimental evaluation onmulti-core architectures showing that our algorithms con-verge much faster in practice than their worst-case analysis.Our algorithm is even more efficient for the more specializedproblem of computing a densest subgraph.

1. INTRODUCTIONAlgorithms for finding dense regions in an input graph

have proved to be valuable tools in graph mining with ap-plications in biology [20], finance [16], web mining [21], aswell as real-time story identification [3]. On the other hand,

c�2017 International World Wide Web Conference Committee(IW3C2), published under Creative Commons CC BY 4.0 License.WWW 2017, April 3–7, 2017, Perth, Australia.ACM 978-1-4503-4913-0/17/04.http://dx.doi.org/10.1145/3038912.3052619

.

the well-known k-core decomposition stands out for its sim-plicity and its ability to unravel the structural organizationof a graph. It has been successfully applied in many con-texts such as speeding up algorithms [19, 33], finding bestspreaders [27], drawing large graphs [2], bioinformatics [5],analyzing human brains [23] and team formation [10].

Recently, Tatti and Gionis [38] proposed a novel graphdecomposition, known as the locally-dense graph decomposi-tion. Such a decomposition boasts similar properties to thek-core decomposition with the additional property that itscomponents are nested into one another, with inner compo-nents having larger density than outer ones. Moreover, thelocally-dense decomposition contains all the so-called locally-dense subgraphs of the input graph. The locally-dense graphdecomposition provides a valuable tool in graph mining.

Unfortunately, their algorithm for computing the exactdecomposition does not scale to massive graphs, while theapproximate decomposition defined by the same authors maynot contain any non-trivial locally-dense subgraph.

In our work, we devise an efficient algorithm for comput-ing exact locally-dense decompositions in massive graphs.Our main algorithm is based on a variant of the classicFrank-Wolfe algorithm that is similar to gradient descentand can be efficiently implemented in most of the modernarchitectures dealing with massive graphs. We provide a rig-orous worst-case analysis of its convergence rate. We give adifferent definition of approximate decomposition than theone given in [38]. Our notion of approximation is strongerin the sense that it computes a non-trivial subset of alllocally-dense subgraphs, while locally-dense subgraphs withvery different densities will still be distinguished. We de-vise an efficient algorithm for computing an approximategraph decomposition that, for any � > 0, computes a (1+�)-approximation of the exact decomposition.

We conduct experimental evaluations on real-world graphscontaining up to 25 billion edges, for which our main algo-rithm exhibits faster convergence rate than the worst-caseanalysis. In our experiments, we focus on multi-core archi-tectures. However, our main algorithm can be efficiently im-plemented in other well known architectures such as MapRe-duce and Spark thanks to its simplicity and its fast rate ofconvergence on real-world graphs. Our work illustrates thepotential of the Frank-Wolfe algorithm in large scale graphmining, which perhaps has not been fully exploited, yet.

Related work. Our paper is related to previous work ongraph decompositions as well as finding dense subgraphs.We review some representative work on these two topics.

Page 2: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

2 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Motivation. Mining large graphs

Twitter Internet

The density-friendly decomposition (Tatti and Gionis WWW2015) isinteresting as it merges two classic graph mining concepts:

1. k-core decomposition2. dense subgraph

Page 3: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

3 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Motivation. Two related notions

Core ordering (degeneracy ordering). Ordering of the nodesobtained by repetitively removing a node of minimum degree.

Densest subgraph. The subgraph (of maximum size) maximizingthe ratio between the number of edges and the number of nodes.

Theorem. The densest prefix of a core ordering is a2-approximation of the densest subgraph.Greedy Approximation Algorithms for Finding Dense Components in a Graph -

Charikar APPROX2000

Page 4: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

4 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Motivation. Finding anomalous nodes

CoreScope : Graph Mining Using k-Core Analysis - Shin et al. KDD2016

Page 5: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

5 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Motivation. Finding best spreaders

Identification of influential spreaders in complex networks - Kitsak et al. Nature2010

Page 6: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

6 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Outline

A new and intuitive definition of density-friendlyA very simple, yet powerful, algorithmTheoretical analysis via convex programingExperiments

Page 7: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

7 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A definition of density-friendly

Definition (density-friendly)Collection of non-overlapping sets of nodes {Bi}, such that

B1 maximizes e1n1

and has maximum size,

B2 maximizes e2+e12n2

and has maximum size,

B3 maximizes e3+e13+e23n3

and has maximum size, ...

Page 8: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

8 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A definition of density-friendly

TheoremOur definition is equivalent to the one of Tatti and Gionis WWW2015.

Algorithm (do not scale to huge graphs)1. find the densest subgraph (Goldberg’s maxflow algorithm)2. remove it and form self-loops with outgoing edges3. go to 1. taking into account self-loops

Page 9: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

8 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A definition of density-friendly

TheoremOur definition is equivalent to the one of Tatti and Gionis WWW2015.

Algorithm (do not scale to huge graphs)1. find the densest subgraph (Goldberg’s maxflow algorithm)2. remove it and form self-loops with outgoing edges3. go to 1. taking into account self-loops

Page 10: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

8 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A definition of density-friendly

TheoremOur definition is equivalent to the one of Tatti and Gionis WWW2015.

Algorithm (do not scale to huge graphs)1. find the densest subgraph (Goldberg’s maxflow algorithm)2. remove it and form self-loops with outgoing edges3. go to 1. taking into account self-loops

Page 11: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

9 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Outline

A new and intuitive definition of density-friendlyA very simple, yet powerful, algorithmTheoretical analysis via convex programingExperiments

Page 12: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

0 0

00

0

Page 13: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

0 0

10

0

Page 14: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

0 1

10

0

Page 15: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

0 1

11

0

Page 16: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

1 1

11

0

Page 17: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

1 1

21

0

Page 18: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

1 2

21

0

Page 19: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

1 2

21

1

Page 20: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

2 2

21

1

Page 21: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

2 2

21

1

Page 22: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

10 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithm

Algorithm Compute density score

function MKSCORE(G,t)Set r[i] = 0 for each node i in Giterate t times

for each edge (i , j) in G doif r[i] ≤ r[j] then

r[i]++else

r[j]++

return r/t

For t = 2 iterations

1 1

10.5

0.5

Page 23: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

1 iteration

Page 24: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

2 iterations

Page 25: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

4 iterations

Page 26: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

8 iterations

Page 27: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

16 iterations

Page 28: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

32 iterations

Page 29: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

64 iterations

Page 30: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

128 iterations

Page 31: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

256 iterations

Page 32: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

512 iterations

Page 33: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

1024 iterations

Page 34: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

11 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A simple algorithmTheoremsRank the nodes in decreasingorder of density score.

For t large enough, the nodesin the densest subgraph areranked first.For t large enough, we have adensity-friendly ordering.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

1024 iterations

e1n1

e2+e12n2

e3+e13+e23n3

Page 35: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

12 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Outline

A new and intuitive definition of density-friendlyA very simple, yet powerful, algorithmTheoretical analysis via convex programingExperiments

Page 36: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

13 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

A quadratic convex programing

Given an edge-weighted (hyper) graph G = (V ,E ,w), we consider thefollowing quadratic convex programing.

CP(G)

min∑u∈V

r 2u

s.t. ∀u ∈ V , ru =∑

e:u∈e

αeu

∀e ∈ E ,∑u∈e

αeu = we

∀u ∈ e ∈ E , αeu ≥ 0

r1

α1,21

α1,31

r2

α1,22

α2,32

r3α1,33

α2,33

r4

α4,54

r5

α4,55

Page 37: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

14 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Frank-Wolfe AlgorithmThe Frank-Wolfe algorithm is a projection free gradient-descentmethod which has convergence guaranties for convex problems.

Applying Frank-Wolfe on “our quadratic convex programing” leads toan algorithm very similar to “our very simple algorithm”.

Page 38: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

15 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Correctness and worst case running timeTheorem (correctness)The level sets of an optimal solution to the quadratic convexprograming give the density-friendly decomposition.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

1024 iterations

Theorem (running time)

After t > 4∆|E |ε2

iterations, wehave ||r (t) − rG||2 ≤ ε.

Page 39: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

15 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Correctness and worst case running timeTheorem (correctness)The level sets of an optimal solution to the quadratic convexprograming give the density-friendly decomposition.

0 5 10 15 20 25 30 35Rank of node according to density score

0

1

2

3

4

5

6

7

8

Dens

ity s

core

4 iterations

Theorem (running time)

After t > 4∆|E |ε2

iterations, wehave ||r (t) − rG||2 ≤ ε.

Page 40: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

16 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Outline

A new and intuitive definition of density-friendlyA very simple, yet powerful, algorithmTheoretical analysis via convex programingExperiments

Page 41: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

17 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Experimental setup

TABLE : Our set of large graphs.

networks n mLiveJournal 4 036 538 34 681 189Wikipedia 2 080 370 42 336 692

Orkut 3 072 627 117 185 083Twitter 52 579 683 1 614 106 500

Friendster 124 836 180 1 806 067 135gsh-2015 988 490 691 25 690 705 119

We use a machine with 64G of RAM for all networks except gsh-2015for which we use a machine with 512G of RAM.

Page 42: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

18 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Convergence of the r vector

100 101 102 103

Number of iterations

10−1

100

101

102

103

104

105

106

107

108

109

1010

||r(t

)−rG|| 2

LiveJournalWikipediaOrkutTwitterFriendstergsh-2015

The convergence is in practice much faster than the worst case one.

Page 43: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

19 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Densest multiplicative error

100 101 102 103

Number of iterations10-7

10-6

10-5

10-4

10-3

10-2

10-1

100

101

102

103

104

105

106

Uppe

r bou

nd o

n th

e de

nses

t err

or LiveJournalWikipediaOrkutTwitterFriendstergsh-2015

We obtain a 10−3 approximation of the densest subgraph within 300iterations on all networks.

Page 44: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

20 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Decomposition multiplicative error

100 101 102 103

Number of iterations10-4

10-3

10-2

10-1

100

101

102

103

104

105

106

Uppe

r bou

nd o

n th

e de

com

posi

tion

erro

r

LiveJournalWikipediaOrkutTwitterFriendstergsh-2015

We obtain a 10−2 approximation of the full decomposition within 1000iterations on all networks except gsh-2015 (almost 10−1).

Page 45: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

21 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Comparison to maxflow algorithm

TABLE : Running time comparison of our exact algorithm to the maxflowalgorithm of Tatti and Gionis.

Networks exact TG15LiveJournal 2m45s 12m02sWikipedia 2m14s 7m07s

Orkut 13m08s 1h02m23sTwitter 4h57m28s -

Friendster 5h48m27s -

We computed the densest subgraph in gsh-2015 (25G edges) within10 hours of computation.

Page 46: Large Scale Density-friendly Graph Decomposition …Large Scale Density-friendly Graph Decomposition via Convex Programming Maximilien Danisch LTCI, Télécom ParisTech, Université

22 / 22 16/11/2017 Institut Mines-Télécom Large Scale Density-friendly Graph Decomposition

Conclusion and future work

Conclusion.• We gave a new and intuitive definition of the density-friendly

decomposition.• We made an interesting link between the density-friendly

decomposition and convex programing.• We scaled up the computation of the density-friendly decomposition

using the Frank-Wolfe algorithm.• Code on github: https://github.com/maxdan94.

Future work.• Density-friendly decomposition, a classic subroutine like k-core?• Spark/MapReduce implementation is possible.• Generalize our approach to other similar decompositions.• Investigate the potential of Frank-Wolfe for real-world graphs.