leonid e. zhukovleonid e. zhukov (hse) lecture 9 05.03.2016 32 / 32 title graph partitioning...

32
Graph partitioning algorithms Leonid E. Zhukov School of Data Analysis and Artificial Intelligence Department of Computer Science National Research University Higher School of Economics Network Science Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 1 / 32

Upload: others

Post on 31-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Graph partitioning algorithms

Leonid E. Zhukov

School of Data Analysis and Artificial IntelligenceDepartment of Computer Science

National Research University Higher School of Economics

Network Science

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 1 / 32

Page 2: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Lecture outline

1 Graph paritioningMetricsAlgorithms

2 Spectral optimizationMin cutNormalized cutModularity maximization

3 Multilevel spectral

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 2 / 32

Page 3: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Network communities

Definition

Network communities are groups of vertices such that vertices inside thegroup connected with many more edges than between groups.

Graph partitioning problem

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 3 / 32

Page 4: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Graph partitioning

Combinatorial problem:

Number of ways to divide network of n nodes in 2 groups(bi-partition):

n!

n1!n2!, n = n1 + n2

Dividing into k non-empty groups (Stirling numbers of the secondkind)

S(n, k) =1

k!

n∑j=0

(−1)jC jk(k − j)n

Number of all possible partitions (n-th Bell number):

Bn =n∑

k=1

S(n, k)

B20 = 5, 832, 742, 205, 057

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 4 / 32

Page 5: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Community detection

Consider only sparse graphs m� n2

Each community should be connected

Combinatorial optimization problem:- optimization criterion- optimization method

Exact solution NP-hard(bi-partition: n = n1 + n2, n!/(n1!n2!) combinations)

Solved by greedy, approximate algorithms or heuristics

Recursive top-down 2-way partition, multiway partiton

Balanced class partition vs communities

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 5 / 32

Page 6: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Graph cut

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 6 / 32

Page 7: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Optimization criterion: graph cut

Graph G (E ,V ) partition: V = V1 + V2

Graph cut

Q = cut(V1,V2) =∑

i∈V1,j∈V2

eij

Ratio cut:

Q =cut(V1,V2)

||V1||+

cut(V1,V2)

||V2||Normalized cut:

Q =cut(V1,V2)

Vol(V1)+

cut(V1,V2)

Vol(V2)

Quotient cut (conductance):

Q =cut(V1,V2)

min (Vol(V1),Vol(V2))

where: Vol(V1) =∑

i∈V1,j∈V eij =∑

i∈V1ki

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 7 / 32

Page 8: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Optimization methods

Greedy optimization:– Local search [Kernighan and Lin, 1970], [Fidducia and Mettheyses,1982]

Approximate optimization:– Spectral graph partitioning [M. Fiedler, 1972], [Pothen et al 1990],[Shi and Malik, 2000]– Multicommodity flow [Leighton and Rao, 1988]

Heuristics algorithms:– Multilevel graph partitioning (METIS) [G. Karypis, Kumar 1998]

Randomized algorithms:–Randomized min cut [D. Karger, 1993]

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 8 / 32

Page 9: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Graph cuts

Let V = V+ + V− be partitioning of the nodes

Let s = {+1,−1,+1, ...− 1,+1}T - indicator vector

x-1 x-1 x+1 x+1 x+1

s(i) =

{+1 : if v(i) ∈ V+

−1 : if v(i) ∈ V−

Number of edges, connecting V+ and V−

cut(V+,V−) =1

4

∑e(i ,j)

(s(i)− s(j))2 =1

8

∑i ,j

Aij(s(i)− s(j))2 =

=1

4

∑i ,j

(kiδijs(i)2 − Aijs(i)s(j)) =1

4

∑i ,j

(kiδij − Aij)s(i)s(j)

cut(V+,V−) =1

4

∑i ,j

(Dij − Aij)s(i)s(j)

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 9 / 32

Page 10: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Graph cuts

Graph Laplacian: Lij = Dij − Aij , where Dii = diag(ki )

Lij =

k(i) , if i = j−1 , if ∃ e(i , j)

0 , otherwise

Laplacian matrix 5x5:

L =

1 −1−1 2 −1

−1 2 −1−1 2 −1

−1 1

x1 x2 x3 x4 x5

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 10 / 32

Page 11: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Graph cuts

Graph Laplacian: L = D− A

Graph cut:

Q(s) =sTLs

4

Minimal cut:mins

Q(s)

Balanced cut constraint: ∑i

s(i) = 0

Integer minimization problem, exact solution is NP-hard!

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 11 / 32

Page 12: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Spectral method - relaxation

Discrete problem → continuous problem

Discrete problem: find

mins

(1

4sTLs)

under constraints: s(i) = ±1,∑

i s(i) = 0;

Relaxation - continuous problem: find

minx

(1

4xTLx)

under constraints:∑

i x(i)2 = n ,∑

i x(i) = 0

Given x(i), round them up by s(i) = sign(x(i))

Exact constraint satisfies relaxed equation, but not other way around!

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 12 / 32

Page 13: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Spectral method - computations

Constraint optimization problem (Lagrange multipliers):

Q(x) =1

4xTLx− λ(xTx− n), xTe = 0

Eigenvalue problem:Lx = λx, x ⊥ e

Solution:Q(xi) =

n

4λi

First (smallest) eigenvector:

Le = 0, λ = 0, x1 = e

Looking for the second smallest eigenvalue/eigenvector λ2 and x2

Minimization of Rayleigh-Ritz quotient:

minx⊥x1

(xTLx

xTx)

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 13 / 32

Page 14: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Spectral graph theory

λ1 = 0

Number of λi = 0 equal to the number of connected components

0 ≤ λ2 ≤ 2λ2 = 0, disconnected graphλ2 = 1, totally connected

Graph diameter (longest shortest path)

D(G ) >=4

nλ2

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 14 / 32

Page 15: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Spectral graph partitioning algorithm

Algorithm: Spectral graph partitioning - normalized cuts

Input: adjacency matrix A

Output: class indicator vector s

compute D = diag(deg(A));

compute L = D− A;

solve for second smallest eigenvector:min cut: Lx = λx;

normalized cut : Lx = λDx;

set s = sign(x2)

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 15 / 32

Page 16: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Example

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 16 / 32

Page 17: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Example

Eigenvalues: λ1 = 0, λ2 = 0.2, λ3 = 0.25 ...

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 17 / 32

Page 18: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Example

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 18 / 32

Page 19: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Example

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 19 / 32

Page 20: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Spectral ordering

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 20 / 32

Page 21: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Cut metrics

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 21 / 32

Page 22: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Optimization criterion: modularity

Modularity:

Q =1

2m

∑ij

(Aij −

kikj2m

)δ(ci , cj)

where nc - number of classes and

δ(ci , cj) =

{1 : if ci = cj0 : if ci 6= cj

- kronecker delta

[Maximization!]

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 22 / 32

Page 23: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Spectral modularity maximization

Direct modularity maximization for bi-partitioning, [Newman, 2006]

Let two classes c1 = V+, c2 = V−, indicator variable s = ±1

δ(ci , cj) =1

2(si sj + 1)

Modularity

Q =1

4m

∑ij

(Aij −

kikj2m

)(si sj + 1) =

1

4m

∑i ,j

Bijsi sj

where

Bij = Aij −kikj2m

M. Newman, 2006

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 23 / 32

Page 24: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Spectral modularity maximization

Qudratic form:

Q(s) =1

4msTBs

Integer optimization - NP, relaxation s → x , x ∈ R

Keep norm ||x ||2 =∑

i x2i = xTx = n

Quadratic optimization

Q(x) =1

4mxTBx− λ(xTx− n)

Eigenvector problemBxi = λixi

Approximate modularity

Q(xi) =n

4mλi

Modularity maximization - largest λ = λmax

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 24 / 32

Page 25: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Spectral modularity maximization

Can’t choose s = xk, can select optimal s

Decompose in the basis: s =∑

j ajxj, where aj = xTj s

Modularity

Q(s) =1

4msTBs =

1

4m

∑i

(xTi s)2λi

maxQ(s) reached when λ1 = λmax and max xT1 s =∑

j x1jsj

Choose s as close as possible to x, i.e. maxs(sTx) = maxsi∑

sixi :si = +1, if xi > 0si = −1, if xi < 0

Choose s ‖ x1, s = sign(x1)

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 25 / 32

Page 26: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Modularity maximization

Algorithm: Spectral moduldarity maximization: two-way parition

Input: adjacency matrix A

Output: class indicator vector s

compute k = deg(A);

compute B = A− 12mkkT ;

solve for maximal eigenvector Bx = λx;

set s = sign(xmax)

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 26 / 32

Page 27: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Example

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 27 / 32

Page 28: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Example

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 28 / 32

Page 29: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Example

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 29 / 32

Page 30: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Multilevel spectral

recursive partitioning

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 30 / 32

Page 31: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

Multilevel spectral

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 31 / 32

Page 32: Leonid E. ZhukovLeonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32 Title Graph partitioning algorithms Author Leonid E. Zhukov Created Date 3/11/2016 11:53:00 PM

References

M. Fiedler. Algebraic connectivity of graphs, Czech. Math. J, 23, pp298-305, 1973A. Pothen, H. Simon and K. Liou. Partitioning sparse matrices witheigenvectors of graphs, SIAM Journal of Matrix Analysis, 11, pp430-452, 1990Bruce Hendrickson and Robert Leland. A Multilevel Algorithm forPartitioning Graphs, Sandia National Laboratories, 1995Jianbo Shi and Jitendra Malik. Normalized Cuts and ImageSegmentation, IEEE Transactions on Pattern Analysis and MachineIntelligence, vol. 22, N 8, pp 888-905, 2000M.E.J. Newman. Modularity and community structure in networks.PNAS Vol. 103, N 23, pp 8577-8582, 2006B. Good, Y.-A. de Montjoye, A. Clauset. Performance of modularitymaximization in practical contexts, Physical Review E 81, 046106,2010

Leonid E. Zhukov (HSE) Lecture 9 05.03.2016 32 / 32