概念

交叉子图

给定图 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 \varnothingV1V2=V1∖V2≠∅V_{1} \setminus V_{2} \neq \varnothingV1V2=V2∖V1≠∅V_{2} \setminus V_{1} \neq \varnothingV2V1=时,称 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),其中VVG[V]的稠密度为dens(G[V])=VE

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=1kdens(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,ZV,两个子图间距离定义为
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)={2U∣∣ZUZ20ifU=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 21d(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|1kVWi⊆V,1⩽i⩽kW_i \subseteq V, 1 \leqslant i \leqslant kWiV,1ik,使下式达到最大。
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=1k1j=i+1kd(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-11tk1 。给定一个和 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 tuiV1it 。这 ttt 个顶点可以划分为两个集合 U1,U2U_1,U_2U1,U2 ,使得 Z⊇U1,Z∩U2=∅Z \supseteq U_1,Z \cap U_2 = \emptysetZU1ZU2= 且 W 中不存在 G[Wj],1⩽j⩽tG[W_j],1\leqslant j \leqslant tG[Wj]1jt 使得 WJ⊇U1,Wj∩U2=∅W_J \supseteq U_1, W_j \cap U_2 = \emptysetWJU1,WjU2=

算法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近似算法

在这里插入图片描述
引理3W={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=1k1j=i+1kd(G[Wi],G[Wj])21λi=1k1j=i+1kd(G[Wi0],G[Wj0])

当k是变量时算法

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐