3. takemikamiʼs note ‒ http://takemikami.com/
Connected Componentsとは何か
Copyright (C) Takeshi Mikami. All rights reserved. 3
4. takemikamiʼs note ‒ http://takemikami.com/
Connected Components(連結成分)とは
• Connected Componentとは、
• 右のグラフで考えると、
3つのConnected Componentsがある
• a, b, d, e
• c, f, g, h, j
• i, k, l, m
Copyright (C) Takeshi Mikami. All rights reserved. 4
Connected Componentsとは何かを説明します
a b
d e
g h
f
c
j
k l
i
m
互いに接続される辺を持たない部分グラフ
(辺による接続で到達可能な頂点の集合)
Connected ComponentsConnected ComponentsConnected Components
5. takemikamiʼs note ‒ http://takemikami.com/
DataFrameでのグラフの表現⽅法 1/2
Copyright (C) Takeshi Mikami. All rights reserved. 5
DataFrameによるグラフの表現⽅法を⽰します
a b
d e
g h
f
c
j
k l
i
m
頂点1 頂点2
a b
a d
b e
c f
d e
f h
: :
頂点
a
b
c
d
e
f
:
• DataFrameでは
無向グラフを「頂点の集合」「辺の集合」で表現
頂点の集合 辺の集合
6. takemikamiʼs note ‒ http://takemikami.com/
DataFrameでのグラフの表現⽅法 2/2
• DataFrameでは
Connected Componentsを「頂点とConnected Componentの組」で表現
Copyright (C) Takeshi Mikami. All rights reserved. 6
DataFrameによるグラフの表現⽅法を⽰します
Connected Components
頂点 Connected
Component
a 1
b 1
c 2
d 1
e 1
: :
a b
d e
g h
f
c
j
k l
i
m
→以降のスライドで
「頂点・辺の集合」から「頂点とConnected Componentの組」の求め⽅を説明
Connected Component 1
Connected Component 2
Connected Component 3
7. takemikamiʼs note ‒ http://takemikami.com/
Connected Componentsのアルゴリズム
Copyright (C) Takeshi Mikami. All rights reserved. 7
12. takemikamiʼs note ‒ http://takemikami.com/
性能改善のために
Copyright (C) Takeshi Mikami. All rights reserved. 12
13. takemikamiʼs note ‒ http://takemikami.com/
性能改善の考え⽅
• small/large-star操作では、
辺の集合の⾃⼰結合を繰り返す
操作を繰り返すと、次数(接続する辺の数)が⾼い頂点が増える
Copyright (C) Takeshi Mikami. All rights reserved. 13
Connected Components の性能改善の考え⽅を⽰します
→頂点の次数に着⽬したJoin⽅法としてSkewed Joinを考える
a b
d e
g h
f
c
j
k l
i
m
a b
d e
g h
c
j
k l
i
m
f
変換
次数の⾼い頂点が
増える