Top Banner
Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics
75

Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Jun 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Social Network AnalysisDynamics

Joanna Biega

April 23, 2013

Joanna Biega Social Network Analysis Dynamics

Page 2: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Social network

Social network

A graph G (V ,E ) where V denotes entities in the social networkand E denotes relationships between entities.

Will

Ben

Bea

Bob Tom

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 3: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Social network

Social network

A graph G (V ,E ) where V denotes entities in the social networkand E denotes relationships between entities.

Will

Ben

Bea

Bob Tom

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 4: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Social networks - community detection

Example task

Cluster the aquaintance graph into communities, i.e. groups ofnodes that are densely internally connected.

Will

Ben

Bea

Bob Tom

Kat Jess

Ben Bob

BeaWill

Tom

JessKat

Joanna Biega Social Network Analysis Dynamics

Page 5: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Social networks - community detection

Example task

Cluster the aquaintance graph into communities, i.e. groups ofnodes that are densely internally connected.

Will

Ben

Bea

Bob Tom

Kat Jess

Ben Bob

BeaWill

Tom

JessKat

Joanna Biega Social Network Analysis Dynamics

Page 6: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-Clique Clustering

K-Clique

A complete subgraph with k nodes.

Adjacent k-cliques

Two k-cliques are adjacent to each other iff they share k − 1 nodes.

Will

Ben

Bea

Bob Tom

Kat Jess

Ben Bob

Bea

Ben Bob

BeaWill

Joanna Biega Social Network Analysis Dynamics

Page 7: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-Clique Clustering

K-Clique

A complete subgraph with k nodes.

Adjacent k-cliques

Two k-cliques are adjacent to each other iff they share k − 1 nodes.

Will

Ben

Bea

Bob Tom

Kat Jess

Ben Bob

Bea

Ben Bob

BeaWill

Joanna Biega Social Network Analysis Dynamics

Page 8: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-Clique Clustering

K-Clique

A complete subgraph with k nodes.

Adjacent k-cliques

Two k-cliques are adjacent to each other iff they share k − 1 nodes.

Will

Ben

Bea

Bob Tom

Kat Jess

Ben Bob

Bea

Ben Bob

BeaWill

Joanna Biega Social Network Analysis Dynamics

Page 9: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-Clustering - definitions

K-Clique Cluster

A union of k-cliques such that cliques can be reached from eachother through a series of adjacent k-cliques.

K-Clique Clustering

Compute all k-clique clusters in a graph G.

Joanna Biega Social Network Analysis Dynamics

Page 10: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-Clustering - definitions

K-Clique Cluster

A union of k-cliques such that cliques can be reached from eachother through a series of adjacent k-cliques.

K-Clique Clustering

Compute all k-clique clusters in a graph G.

Joanna Biega Social Network Analysis Dynamics

Page 11: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Social networks - community detection

Intuition behind k-clique clustering.

Will

Ben

Bea

Bob Tom

Kat Jess

Ben Bob

BeaWill

Tom

JessKat

Joanna Biega Social Network Analysis Dynamics

Page 12: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Capturing the evolution of a social network

Snaphot graph model based methods

Incremental methods

Incremental k-clique clustering

Joanna Biega Social Network Analysis Dynamics

Page 13: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Dynamic social network

Initial graph G plus an infinite change stream c1, ..., c∞.ci has one of the following types:

node deletion: u−,

edge deletion: uv−,

node addition: u+,

edge addition: uv+.

Joanna Biega Social Network Analysis Dynamics

Page 14: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Node deletion

Will

Ben

Bea

Bob Tom

Kat Jess

(Tom)-

Will

Ben

Bea

Bob

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 15: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Node deletion

Will

Ben

Bea

Bob Tom

Kat Jess

(Tom)-

Will

Ben

Bea

Bob

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 16: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Edge deletion

Will

Ben

Bea

Bob Tom

Kat Jess

(Bob,Tom)-

Will

Ben

Bea

Bob Tom

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 17: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Edge deletion

Will

Ben

Bea

Bob Tom

Kat Jess

(Bob,Tom)-

Will

Ben

Bea

Bob Tom

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 18: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Node addition

Will

Ben

Bea

Bob Tom

Kat Jess

(Rob)+

Will

Ben

Bea

Rob

Bob Tom

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 19: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Node addition

Will

Ben

Bea

Bob Tom

Kat Jess

(Rob)+

Will

Ben

Bea

Rob

Bob Tom

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 20: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Edge addition

Will

Ben

Bea

Rob

Bob Tom

Kat Jess

(Bob, Rob)+

Will

Ben

Bea

Rob

Bob Tom

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 21: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Dynamic social networks

Edge addition

Will

Ben

Bea

Rob

Bob Tom

Kat Jess

(Bob, Rob)+

Will

Ben

Bea

Rob

Bob Tom

Kat Jess

Joanna Biega Social Network Analysis Dynamics

Page 22: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Incremental dynamic k-clique clustering - problemstatement

Given a network G , a set of clusters P, and a change c , locallyupdate P so that it remains a valid set of k-clusters for the networkG ′ = G + c .

(G ,P) + c = (G + c ,P ′)

Joanna Biega Social Network Analysis Dynamics

Page 23: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-Clique clustering

2-Clique Clustering

Joanna Biega Social Network Analysis Dynamics

Page 24: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

2-Clique clustering

What exactly are 2-clique clusters?

a

b

c

d e

f

g h

i j

Joanna Biega Social Network Analysis Dynamics

Page 25: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

2-Clique clustering

What exactly are 2-clique clusters?

a

b

c

d e

f

g h

i j

a

b

c

d e

f

g h

i j

Connected components!

Joanna Biega Social Network Analysis Dynamics

Page 26: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

2-Clique clustering

How do we find connected components of a graph?

DFS

How do we represent the result?

DFS forest

Joanna Biega Social Network Analysis Dynamics

Page 27: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

2-Clique clustering

How do we find connected components of a graph?

DFS

How do we represent the result?

DFS forest

Joanna Biega Social Network Analysis Dynamics

Page 28: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (2-clique clustering)

Input: G, F, cOutput: updated G and F

1: if c = (uv)− then2: call TED(G, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call TED(G, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call TEA(G, F, u, v)11: end if12: if c = (u)+ then13: add u into G and F14: end if

Graph (social network) G

a

b

c

d e

f

g h

i j

Forest F - the DFS representationof G

a

b

c

d e

f

g h

i j

a

b

c

d e

f

g h

i j

Change c

Joanna Biega Social Network Analysis Dynamics

Page 29: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (2-clique clustering)

Input: G, F, cOutput: updated G and F

1: if c = (uv)− then2: call TED(G, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call TED(G, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call TEA(G, F, u, v)11: end if12: if c = (u)+ then13: add u into G and F14: end if

TED(G, F, u, v)two-clique edge deletion

Joanna Biega Social Network Analysis Dynamics

Page 30: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (2-clique clustering)

Input: G, F, cOutput: updated G and F

1: if c = (uv)− then2: call TED(G, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call TED(G, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call TEA(G, F, u, v)11: end if12: if c = (u)+ then13: add u into G and F14: end if

TED(G, F, u, v)two-clique edge deletion

Joanna Biega Social Network Analysis Dynamics

Page 31: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (2-clique clustering)

Input: G, F, cOutput: updated G and F

1: if c = (uv)− then2: call TED(G, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call TED(G, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call TEA(G, F, u, v)11: end if12: if c = (u)+ then13: add u into G and F14: end if

TEA(G, F, u, v)two-clique edge addition

Joanna Biega Social Network Analysis Dynamics

Page 32: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (2-clique clustering)

Input: G, F, cOutput: updated G and F

1: if c = (uv)− then2: call TED(G, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call TED(G, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call TEA(G, F, u, v)11: end if12: if c = (u)+ then13: add u into G and F14: end if

TEA(G, F, u, v)two-clique edge addition

Joanna Biega Social Network Analysis Dynamics

Page 33: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering)

(u, v)−Input: G, F, u, vOutput: updated G and F

Joanna Biega Social Network Analysis Dynamics

Page 34: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering)

(u, v)−Input: G, F, u, vOutput: updated G and F

Case 1

(u, v) is a backward edge.

No changes in G, F.

Joanna Biega Social Network Analysis Dynamics

Page 35: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering)

(u, v)−Input: G, F, u, vOutput: updated G and F

Case 2

(u, v) is a forward edge

subtree[v] becomesdetached from the currenttree.

Joanna Biega Social Network Analysis Dynamics

Page 36: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering)

(u, v)−Input: G, F, u, vOutput: updated G and F

Case 3

(u, v) is a forward edge

there exists a backwardedge keeping subtree[v]attached to the currenttree.

Joanna Biega Social Network Analysis Dynamics

Page 37: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering)

Case 2Deleting a forward edge (f , g)−(with a real subtree detachment)

1: detach subtree[v ]from tree[v ]

2: add subtree[v ] to F

G

a

b

c

d e

f

g h

i j

→ a

b

c

d e

f

g h

i j

F

a

b

c

d e

f

g h

i j

a

b

c

d e

f

g h

i j

→ a

b

c

d e

f

g h

i j

a

b

c

d g h

i j

e

f

Joanna Biega Social Network Analysis Dynamics

Page 38: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering)

Case 3Deleting a forward edge (g, h)−(without a real subtreedetachment)

G

a

b

c

d e

f

g h

i j

→ a

b

c

d e

f

g h

i j

F

a

b

c

d e

f

g h

i j

a

b

c

d e

f

g h

i j

Joanna Biega Social Network Analysis Dynamics

Page 39: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering)

Case 3Deleting a forward edge (g, h)−(without a real subtreedetachment)

G

a

b

c

d e

f

g h

i j

→ a

b

c

d e

f

g h

i j

g h

i j

F

a

b

c

d e

f

g h

i j

a

b

c

d e

f

g h

i j

g h

i j

→DFSG (g ,h,i ,j)

Joanna Biega Social Network Analysis Dynamics

Page 40: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering)

Case 3Deleting a forward edge (g, h)−(without a real subtreedetachment)

G

a

b

c

d e

f

g h

i j

→ a

b

c

d e

f

g h

i j

g h

i j

F

a

b

c

d e

f

g h

i j

a

b

c

d e

f

g h

i j

g h

i j

→ a

b

c

d e

f

g h

i j

a

b

c

d e

f

g h

i j

Joanna Biega Social Network Analysis Dynamics

Page 41: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (2-clique clustering) - complexity

2-clique edge deletion (u, v)−Best case: O(1) (backward edge)

Worst case: O(log(N) + |subtree[v ]|)find the closest ancestorrun the DFS procedure

Joanna Biega Social Network Analysis Dynamics

Page 42: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (2-clique clustering)

(u, v)+Input: G, F, u, vOutput: updated G and F

Joanna Biega Social Network Analysis Dynamics

Page 43: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (2-clique clustering)

(u, v)+Input: G, F, u, vOutput: updated G and F

Case 1

(u, v) is an edge betweentwo nodes in one DFS tree

the DFS order does not getviolated

→ No changes.

Joanna Biega Social Network Analysis Dynamics

Page 44: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (2-clique clustering)

(u, v)+Input: G, F, u, vOutput: updated G and F

Case 2

(u, v) is an edge betweentwo nodes in one DFS tree

the DFS order gets violated.

Joanna Biega Social Network Analysis Dynamics

Page 45: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (2-clique clustering)

(u, v)+Input: G, F, u, vOutput: updated G and F

Case 3

(u, v) is a an edge crossing twoDFS trees in F.

Joanna Biega Social Network Analysis Dynamics

Page 46: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (2-clique clustering)

Case 2Adding an edge (u, v)+ violating the DFSorder.

DFS on the tree to which the“shortcut” is added.

Joanna Biega Social Network Analysis Dynamics

Page 47: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (2-clique clustering)

Case 3Adding an edge (u, v)+ crossing two DFStrees.

DFS on the smaller tree.

Joanna Biega Social Network Analysis Dynamics

Page 48: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (2-clique clustering) - complexity

2-clique edge addition (u, v)+

Best case: O(1) (backward edge)

Worst case: O(log(N) + |tree[v ]|)find the closest ancestorrun the DFS procedure

Joanna Biega Social Network Analysis Dynamics

Page 49: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Incremental K-Clique clustering

Incremental K-Clique Clustering

Joanna Biega Social Network Analysis Dynamics

Page 50: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (k-clique clustering)

Input: G, C, H, F, cOutput: updated G, C, H, F

1: if c = (uv)− then2: call KED(G, C, H, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call KED(G, C, H, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call KEA(G, C, H, F, u, v)11: end if12: if c = (u)+ then13: add u into G14: end if

- Graph (social network) G

a

b

c

d

e

f

g

h

- Set C of maximal cliques in G of size ≥ k:C1 = (a, c, b, d), C2 = (c, d, e),C3 = (d, e, f ), C4 = (f , g, h)

- Graph H = (C, E) where(i, j) ∈ E ⇐⇒ Ci and Cj have ≥ k − 1 common nodes.

1 2 3 4

(k-clique clusters!)

- Forest F - DFS(H)- Change c

Joanna Biega Social Network Analysis Dynamics

Page 51: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (k-clique clustering)

Input: G, C, H, F, cOutput: updated G, C, H, F

1: if c = (uv)− then2: call KED(G, C, H, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call KED(G, C, H, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call KEA(G, C, H, F, u, v)11: end if12: if c = (u)+ then13: add u into G14: end if

Problem?

- Graph (social network) G

a

b

c

d

e

f

g

h

- Set C of maximal cliques in G of size ≥ k:C1 = (a, c, b, d), C2 = (c, d, e),C3 = (d, e, f ), C4 = (f , g, h)

- Graph H = (C, E) where(i, j) ∈ E ⇐⇒ Ci and Cj have ≥ k − 1 common nodes.

1 2 3 4

(k-clique clusters!)

- Forest F - DFS(H)- Change c

Joanna Biega Social Network Analysis Dynamics

Page 52: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (k-clique clustering)

Input: G, C, H, F, cOutput: updated G, C, H, F

1: if c = (uv)− then2: call KED(G, C, H, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call KED(G, C, H, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call KEA(G, C, H, F, u, v)11: end if12: if c = (u)+ then13: add u into G14: end if

Problem?

Maximal clique discovery is a NP-Complete problem.

- Graph (social network) G

a

b

c

d

e

f

g

h

- Set C of maximal cliques in G of size ≥ k:C1 = (a, c, b, d), C2 = (c, d, e),C3 = (d, e, f ), C4 = (f , g, h)

- Graph H = (C, E) where(i, j) ∈ E ⇐⇒ Ci and Cj have ≥ k − 1 common nodes.

1 2 3 4

(k-clique clusters!)

- Forest F - DFS(H)- Change c

Joanna Biega Social Network Analysis Dynamics

Page 53: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (k-clique clustering)

Input: G, C, H, F, cOutput: updated G, C, H, F

1: if c = (uv)− then2: call KED(G, C, H, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call KED(G, C, H, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call KEA(G, C, H, F, u, v)11: end if12: if c = (u)+ then13: add u into G14: end if

KED(G, C, H, F, u, v)k-clique edge deletion

Joanna Biega Social Network Analysis Dynamics

Page 54: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (k-clique clustering)

Input: G, C, H, F, cOutput: updated G, C, H, F

1: if c = (uv)− then2: call KED(G, C, H, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call KED(G, C, H, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call KEA(G, C, H, F, u, v)11: end if12: if c = (u)+ then13: add u into G14: end if

KED(G, C, H, F, u, v)k-clique edge deletion

Joanna Biega Social Network Analysis Dynamics

Page 55: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (k-clique clustering)

Input: G, C, H, F, cOutput: updated G, C, H, F

1: if c = (uv)− then2: call KED(G, C, H, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call KED(G, C, H, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call KEA(G, C, H, F, u, v)11: end if12: if c = (u)+ then13: add u into G14: end if

KEA(G, C, H, F, u, v)k-clique edge addition

Joanna Biega Social Network Analysis Dynamics

Page 56: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Input (k-clique clustering)

Input: G, C, H, F, cOutput: updated G, C, H, F

1: if c = (uv)− then2: call KED(G, C, H, F, u, v)3: end if4: if c = (u)− then5: for all neighbours v of u in G do6: call KED(G, C, H, F, u, v)7: end for8: end if9: if c = (uv)+ then

10: call KEA(G, C, H, F, u, v)11: end if12: if c = (u)+ then13: add u into G14: end if

Joanna Biega Social Network Analysis Dynamics

Page 57: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering)

Input: G, C, H, F, u, vOutput: updated G, C, H, F

1: for Ci in C containing u and v do2: if size(Ci ) > k then3: n← size(C) + 14: Cn ← Ci − u5: Ci ← Ci − v6: add node n into H and F7: for all neighbour j of i in H do8: if |Ci ∩ Cj | < k − 1 then9: call TED(H, F, i, j)

10: end if11: if |Cn ∩ Cj | ≥ k − 1 then12: call TEA(H, F, n, j)13: end if14: end for15: call TEA(H, F, i, n)16: else17: delete Ci from C18: delete i from H and F19: end if20: end for

Case 1

No clique in C containins bothu and v: C , H unchanged.

Joanna Biega Social Network Analysis Dynamics

Page 58: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering)

Input: G, C, H, F, u, vOutput: updated G, C, H, F

1: for Ci in C containing u and v do2: if size(Ci ) > k then3: n← size(C) + 14: Cn ← Ci − u5: Ci ← Ci − v6: add node n into H and F7: for all neighbour j of i in H do8: if |Ci ∩ Cj | < k − 1 then9: call TED(H, F, i, j)

10: end if11: if |Cn ∩ Cj | ≥ k − 1 then12: call TEA(H, F, n, j)13: end if14: end for15: call TEA(H, F, i, n)16: else17: delete Ci from C18: delete i from H and F19: end if20: end for

Joanna Biega Social Network Analysis Dynamics

Page 59: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering)

Input: G, C, H, F, u, vOutput: updated G, C, H, F

1: for Ci in C containing u and v do2: if size(Ci ) > k then3: n← size(C) + 14: Cn ← Ci − u5: Ci ← Ci − v6: add node n into H and F7: for all neighbour j of i in H do8: if |Ci ∩ Cj | < k − 1 then9: call TED(H, F, i, j)

10: end if11: if |Cn ∩ Cj | ≥ k − 1 then12: call TEA(H, F, n, j)13: end if14: end for15: call TEA(H, F, i, n)16: else17: delete Ci from C18: delete i from H and F19: end if20: end for

Case 2

size(Ci ) = k .

Joanna Biega Social Network Analysis Dynamics

Page 60: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering)

Input: G, C, H, F, u, vOutput: updated G, C, H, F

1: for Ci in C containing u and v do2: if size(Ci ) > k then3: n← size(C) + 14: Cn ← Ci − u5: Ci ← Ci − v6: add node n into H and F7: for all neighbour j of i in H do8: if |Ci ∩ Cj | < k − 1 then9: call TED(H, F, i, j)

10: end if11: if |Cn ∩ Cj | ≥ k − 1 then12: call TEA(H, F, n, j)13: end if14: end for15: call TEA(H, F, i, n)16: else17: delete Ci from C18: delete i from H and F19: end if20: end for

Case 3

size(Ci ) > k .

Joanna Biega Social Network Analysis Dynamics

Page 61: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering)

Case 3size(Ci ) > k.

1: if size(Ci ) ≥ k then2: n← size(C) + 13: Cn ← Ci − u4: Ci ← Ci − v5: add node n into H and F6: for all neighbour j of i in H

do7: if |Ci ∩Cj | < k−1 then8: call TED(H, F, i, j)9: end if

10: if |Cn∩Cj | ≥ k−1 then11: call TEA(H, F, n, j)12: end if13: end for14: end if

(a, b)−, i = 1C1 = (a, c , b, d),C2 = (c, d , e),C3 = (d , e, f ),C4 = (f , g , h)

G

a

b

c

d

e

f

g

h

H

1 2 3 4

Joanna Biega Social Network Analysis Dynamics

Page 62: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering)

Case 3size(Ci ) > k.

1: if size(Ci ) ≥ k then2: n← size(C) + 13: Cn ← Ci − u4: Ci ← Ci − v5: add node n into H and F6: for all neighbour j of i in H

do7: if |Ci ∩Cj | < k−1 then8: call TED(H, F, i, j)9: end if

10: if |Cn∩Cj | ≥ k−1 then11: call TEA(H, F, n, j)12: end if13: end for14: end if

(a, b)−, i = 1C1 = (a, c , b, d),C2 = (c, d , e),C3 = (d , e, f ),C4 = (f , g , h)

G

a

b

c

d

e

f

g

h

a

b

c

d

C1 = (a, c, d), C5 = (b, c , d)

H

1 2 3 4

5

Joanna Biega Social Network Analysis Dynamics

Page 63: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering)

Case 3size(Ci ) > k.

1: if size(Ci ) ≥ k then2: n← size(C) + 13: Cn ← Ci − u4: Ci ← Ci − v5: add node n into H and F6: for all neighbour j of i in H

do7: if |Ci ∩Cj | < k−1 then8: call TED(H, F, i, j)9: end if

10: if |Cn∩Cj | ≥ k−1 then11: call TEA(H, F, n, j)12: end if13: end for14: call TEA(H, F, i, n)15: end if

(a, b)−, i = 1C1 = (a, c, d),C2 = (c , d , e),C3 = (d , e, f ),C4 = (f , g , h)

C5 = (b, c , d)

G

a

b

c

d

e

f

g

h

a

b

c

d

H

1 2 3 4

5

??1 2

5

Joanna Biega Social Network Analysis Dynamics

Page 64: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering)

Case 3size(Ci ) > k.

1: if size(Ci ) ≥ k then2: n← size(C) + 13: Cn ← Ci − u4: Ci ← Ci − v5: add node n into H and F6: for all neighbour j of i in H

do7: if |Ci ∩Cj | < k−1 then8: call TED(H, F, i, j)9: end if

10: if |Cn∩Cj | ≥ k−1 then11: call TEA(H, F, n, j)12: end if13: end for14: call TEA(H, F, i, n)15: end if

(j = 2)

(a, b)−, i = 1C1 = (a, c, d),C2 = (c , d , e),C3 = (d , e, f ),C4 = (f , g , h)

C5 = (b, c , d)

G

a

b

c

d

e

f

g

h

a

b

c

d

H

1 2 3 4

5

Joanna Biega Social Network Analysis Dynamics

Page 65: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge deletion (k-clique clustering) - complexity

k-clique edge deletion (u, v)−Best case: O(1) (backward edge)

Worst case: O(ndx)

n - number of cliques of size > k containing u and vd - average degree of nodes in Hx - complexity of ’2-clique’ local updating

Joanna Biega Social Network Analysis Dynamics

Page 66: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (k-clique clustering)Input: G, C, H, F, u, vOutput: updated G, C, H, F

1: CN ← common neighbours of u and v2: C ′ ← the maximal cliques in G(CN)3: for all C ′i in C ′ do4: C ′i ← C ′i + {u, v}5: end for6: for all C ′i in C ′ do7: for all Cj in C do8: if C ′i ⊇ Cj then9: delete Cj from C

10: for all neighbour l of j in H do11: call TED(H, F, l, j)12: end for13: delete j from H and F14: end if15: end for16: n← size(C) + 117: Cn ← C ′i18: for all Cj in C do19: if |Cn ∩ Cj | ≥ k − 1 then20: call TEA(H, F, n, j)21: end if22: end for23: end for

(b, d)+C1 = (a, c , b),C2 = (a, c , d),

G

a

b

c

d

H

1 2

Joanna Biega Social Network Analysis Dynamics

Page 67: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (k-clique clustering)Input: G, C, H, F, u, vOutput: updated G, C, H, F

1: CN ← common neighbours of u and v2: C ′ ← the maximal cliques in G(CN)3: for all C ′i in C ′ do4: C ′i ← C ′i + {u, v}5: end for6: for all C ′i in C ′ do7: for all Cj in C do8: if C ′i ⊇ Cj then9: delete Cj from C

10: for all neighbour l of j in H do11: call TED(H, F, l, j)12: end for13: delete j from H and F14: end if15: end for16: n← size(C) + 117: Cn ← C ′i18: for all Cj in C do19: if |Cn ∩ Cj | ≥ k − 1 then20: call TEA(H, F, n, j)21: end if22: end for23: end for

(b, d)+C1 = (a, c , b),C2 = (a, c , d),

G

a

b

c

d

a c

H

1 2

Joanna Biega Social Network Analysis Dynamics

Page 68: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (k-clique clustering)Input: G, C, H, F, u, vOutput: updated G, C, H, F

1: CN ← common neighbours of u and v2: C ′ ← the maximal cliques in G(CN)3: for all C ′i in C ′ do4: C ′i ← C ′i + {u, v}5: end for6: for all C ′i in C ′ do7: for all Cj in C do8: if C ′i ⊇ Cj then9: delete Cj from C

10: for all neighbour l of j in H do11: call TED(H, F, l, j)12: end for13: delete j from H and F14: end if15: end for16: n← size(C) + 117: Cn ← C ′i18: for all Cj in C do19: if |Cn ∩ Cj | ≥ k − 1 then20: call TEA(H, F, n, j)21: end if22: end for23: end for

(b, d)+C1 = (a, c , b),C2 = (a, c , d),

G

a

b

c

d

a

b

c

d

H

1 2

Joanna Biega Social Network Analysis Dynamics

Page 69: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (k-clique clustering)Input: G, C, H, F, u, vOutput: updated G, C, H, F

1: CN ← common neighbours of u and v2: C ′ ← the maximal cliques in G(CN)3: for all C ′i in C ′ do4: C ′i ← C ′i + {u, v}5: end for6: for all C ′i in C ′ do7: for all Cj in C do8: if C ′i ⊇ Cj then9: delete Cj from C

10: for all neighbour l of j in H do11: call TED(H, F, l, j)12: end for13: delete j from H and F14: end if15: end for16: n← size(C) + 117: Cn ← C ′i18: for all Cj in C do19: if |Cn ∩ Cj | ≥ k − 1 then20: call TEA(H, F, n, j)21: end if22: end for23: end for

Fix the maximality of cliques

C = {C1 = (a, c , b),C2 =(a, c , d)}

→ C = {C3 = (a, b, c , d)}

G

a

b

c

d

H

1 2 → 3

Joanna Biega Social Network Analysis Dynamics

Page 70: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

Edge addition (k-clique clustering) - complexity

k-clique edge addition (u, v)+

Best case: O(|CN|3|CN|/3)

Worst case: O(|CN|3|CN|/3 + c)

O(|CN|3|CN|/3) - maximal clique discovery (Etsuji Tomita andTanaka, 2004)c - complexity of TEA

Joanna Biega Social Network Analysis Dynamics

Page 71: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-clique clustering - summary

Models the dynamic social network using change streams.

Translates network changes into elegant operations on aDFS forest structure.

Guarantees accuracy of the clustering.

Allows avoiding the problem of granularity of networksnaphots.

Does not lose the historical evolution information.

Joanna Biega Social Network Analysis Dynamics

Page 72: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-clique clustering - summary

Success?

Not suitable for large networks with frequent updates.

Joanna Biega Social Network Analysis Dynamics

Page 73: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

K-clique clustering - summary

Success?

Not suitable for large networks with frequent updates.

Joanna Biega Social Network Analysis Dynamics

Page 74: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

References

Duan, D. et al.Incremental K-Clique Clustering in Dynamic Social Networks.Artificial Intelligence Review, 38(2):129-147, 2011.

Joanna Biega Social Network Analysis Dynamics

Page 75: Social Network Analysis Dynamicsklusch/SAWE-seminar-ss13/Biega.pdf · Social Network Analysis Dynamics Joanna Biega April 23, 2013 Joanna Biega Social Network Analysis Dynamics ...

The end

Thank you for your attention!

Joanna Biega Social Network Analysis Dynamics