Top-k overlapping densest subgraphs: approximation algorithms and computational complexity
给定图GVE,令GV1和GV2是G的两个子图。当V1∩V2∅V1∖V2∅且V2∖V1∅时,称GV1和GV2是G的交叉子图。
概念
交叉子图
给定图 G=(V,E)G = ( V, E )G=(V,E),令 G[V1]G[ V_{1} ]G[V1] 和 G[V2]G[V_{2}]G[V2] 是 GGG 的两个子图。当 V1∩V2≠∅V_{1} \cap V_{2} \neq \varnothingV1∩V2=∅,V1∖V2≠∅V_{1} \setminus V_{2} \neq \varnothingV1∖V2=∅ 且 V2∖V1≠∅V_{2} \setminus V_{1} \neq \varnothingV2∖V1=∅时,称 G[V1]G[ V_{1} ]G[V1] 和 G[V2]G[V_{2}]G[V2] 是G的交叉子图
子图的稠密度 dense of subgraph
给定图G(V,E)和子图G[V′]=(V′,E′),其中V′∈V,G[V′]的稠密度为dens(G[V′])=∣E′∣∣V′∣给定图G(V, E)和子图G[V']=(V',E'),其中V' \in V,G[V']的稠密度为 dens(G[V'])=\frac{|E'|}{|V'|}给定图G(V,E)和子图G[V′]=(V′,E′),其中V′∈V,G[V′]的稠密度为dens(G[V′])=∣V′∣∣E′∣。
densest subgraph
图G=(V,E)中dens(G[U])最大的子图G[U]图G=(V,E)中dens(G[U])最大的子图G[U]图G=(V,E)中dens(G[U])最大的子图G[U]
一组子图的稠密度
给定图G(V,E)和一组k个不同的子图W={G[W1],…,G[Wk]},W的稠密度定义为给定图G(V,E)和一组k个不同的子图W=\{G[W_{1}], \ldots , G[W_{k}]\},W的稠密度定义为给定图G(V,E)和一组k个不同的子图W={G[W1],…,G[Wk]},W的稠密度定义为
dens(W)=∑i=1kdens(G[Wi]) dens(W) = \sum_{i=1}^kdens(G[W_i]) dens(W)=i=1∑kdens(G[Wi])
两个子图间距离函数
给定图G=(V,E)G=(V,E)G=(V,E)和两个不同的子图G[U],G[Z]G[U],G[Z]G[U],G[Z],其中U,Z⊆V,两个子图间距离定义为U,Z\subseteq V,两个子图间距离定义为U,Z⊆V,两个子图间距离定义为
d(U,Z)={2−∣U∩Z∣2∣U∣∣Z∣ifU≠Z0else d(U,Z) = \{\begin{matrix} 2 - \frac{|U\cap Z|^2}{|U||Z|} & if U \neq Z\\ 0 & else \\ \end{matrix} d(U,Z)={2−∣U∣∣Z∣∣U∩Z∣20ifU=Zelse
引理1 两子图间距离的上下界
给定图G=(V,E)G=(V,E)G=(V,E)的两个不同的子图G[U],G[Z]G[U],G[Z]G[U],G[Z],有1⩽d(U,Z)⩽21 \leqslant d(U,Z) \leqslant 21⩽d(U,Z)⩽2
问题1 Top-k-overlapping Densest Subgraphs
输入:
图G=(V,E)G=(V,E)G=(V,E),参数λ>0\lambda>0λ>0
输出:
k对不同的子图集W={G[W1],…,G[Wk]}W = \{ G[W_1],\ldots , G[W_k] \}W={G[W1],…,G[Wk]},其中 1⩽k⩽∣V∣1 \leqslant k \leqslant |V|1⩽k⩽∣V∣ 且 Wi⊆V,1⩽i⩽kW_i \subseteq V, 1 \leqslant i \leqslant kWi⊆V,1⩽i⩽k,使下式达到最大。
r(W)=dens(W)+λ∑i=1k−1∑j=i+1kd(Wi,Wj) r(W) = dens(W)+\lambda \sum_{i=1}^{k-1}\sum_{j=i+1}^{k}d(W_i,W_j) r(W)=dens(W)+λi=1∑k−1j=i+1∑kd(Wi,Wj)
近似k重叠最稠密子图
当 kkk 是固定值时,提供一个23\frac{2}{3}32-近似的算法;当 kkk 不是固定值时,提供一个12\frac{1}{2}21-近似的算法
常数k的近似算法
性质2
考虑一个图 G=(V,E)G=(V,E)G=(V,E) 和子图集合 W={G[W1],…,G[Wt]}W=\{G[W_1], \ldots , G[W_t]\}W={G[W1],…,G[Wt]},其中 1⩽t⩽k−11 \leqslant t \leqslant k-11⩽t⩽k−1 。给定一个和 WWW中的子图不同的子图 G[Z]G[Z]G[Z] 。存在k个顶点u1,…,utu_1,\ldots ,u_tu1,…,ut,这 ttt 个顶点可以有重叠,其中ui∈V,1⩽i⩽tu_i \in V,1 \leqslant i \leqslant tui∈V,1⩽i⩽t 。这 ttt 个顶点可以划分为两个集合 U1,U2U_1,U_2U1,U2 ,使得 Z⊇U1,Z∩U2=∅Z \supseteq U_1,Z \cap U_2 = \emptysetZ⊇U1,Z∩U2=∅ 且 W 中不存在 G[Wj],1⩽j⩽tG[W_j],1\leqslant j \leqslant tG[Wj],1⩽j⩽t 使得 WJ⊇U1,Wj∩U2=∅W_J \supseteq U_1, W_j \cap U_2 = \emptysetWJ⊇U1,Wj∩U2=∅。
算法1 计算出一个密度不同子图的最优解
定理1
令 G[Z]G[Z]G[Z] 是算法1的解。那么G[Z]G[Z]G[Z] 是实例 (G,W)(G,W)(G,W) 上的Densest-Distinct-Subgraph的最优解。
23\frac{2}{3}32近似算法
引理3 令 W={G[W1],…,G[WK]}W = \{ G[W_1],\ldots,G[W_K]\}W={G[W1],…,G[WK]} 是算法2返回的子图集合,W0={G[W10],…,G[WK0]}W^0 = \{ G[W_1^0],\ldots,G[W_K^0]\}W0={G[W10],…,G[WK0]}是实例 (G,λ)(G,\lambda)(G,λ) 上重叠k最稠密子图(Top-k-Overlapping Densest Subgraphs)的最优解,有:
dens(W)⩾dens(W0),λ∑i=1k−1∑j=i+1kd(G[Wi],G[Wj])≥12λ∑i=1k−1∑j=i+1kd(G[Wi0],G[Wj0]) dens(W) \geqslant dens(W^0), \\ \lambda \sum_{i=1}^{k-1}\sum_{j=i+1}^{k}d(G[W_i],G[W_j]) \ge \frac{1}{2} \lambda \sum_{i=1}^{k-1}\sum_{j=i+1}^{k}d(G[W_i^0],G[W_j^0]) dens(W)⩾dens(W0),λi=1∑k−1j=i+1∑kd(G[Wi],G[Wj])≥21λi=1∑k−1j=i+1∑kd(G[Wi0],G[Wj0])
当k是变量时算法
更多推荐
所有评论(0)