CN101741611A - 基于MLkP/CR算法的无向图分割方法 - Google Patents
基于MLkP/CR算法的无向图分割方法 Download PDFInfo
- Publication number
- CN101741611A CN101741611A CN200910073338A CN200910073338A CN101741611A CN 101741611 A CN101741611 A CN 101741611A CN 200910073338 A CN200910073338 A CN 200910073338A CN 200910073338 A CN200910073338 A CN 200910073338A CN 101741611 A CN101741611 A CN 101741611A
- Authority
- CN
- China
- Prior art keywords
- directed graph
- point
- subgraph
- division
- stage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于MLkP/CR算法的无向图分割方法,涉及到网络拓扑图的可视化技术领域。它解决了现有无向图分割方法中存在的不能够保证图形的自连通性的问题。所述方法分为三个阶段:规约阶段:对待分割的无向图G0(V0,E0)进行规约降低拓扑图的规模,获得无向图Gn(Vn,En);初始化分阶段:对无向图Gn(Vn,En)进行k划分获得k个子图,每个子图都是自连通的;优化求精阶段:分别对k个子图进行优化求精,并还原成原图G0(V0,E0),获得划分后的无向图G0(V0,E0)。本发明的方法能够保证每一个子图内部是连通的、并且子图间联系较少,使得图形中各个部分相对独立。本发明可应用于拓扑图形分割所应用在各个领域,包括并行计算、VISL设计、任务规划和地理信息系统GIS等领域。
Description
技术领域
本发明涉及到网络拓扑图的可视化技术领域,具体涉及到网络拓扑图的划分。
背景技术
网络拓扑图对网络管理有着巨大的作用,网络管理大多都是以网络拓扑图为操作核心的,即以图形化的方式显示网络、路由器等网络设备的逻辑连接关系和其它信息,操作员可以在网络拓扑中直接进行配置、性能、故障、计费、安全等管理操作。
互联网络拓扑一般是由几万个路由器组成,即其对应的网络拓扑图点和边的个数多,连接关系复杂,在这种规模下要想直接对它进行平面化异常困难,时空复杂度会非常高,效果也不会很好。要想使网络拓扑图清晰的显示,要对点合理的布局,使图形中的点尽可能的布局均匀,边交叉少。对于规模小的网络,由于点的个数少,拓扑结构简单,我们可以很容易的对它布局。而对规模很大的网络,点和边数量很大,拓扑结构复杂。因此,需要使其在利用其它可视化技术进行显示之前,根据其拓扑连接图的特点,对其进行预处理-划分优化。
国内的研究工作主要是针对小规模网络(局域网络)进行可视化,这种网络规模对于平面可视化来说也是比较容易处理的,不需要进行拓扑的划分优化处理。国内外,尚未有针对这种互联网的大规模的网络拓扑图进行可视化,更没有针对这一目的而进行逻辑拓扑图划分。另外,在已有的划分技术中,没有考虑到划分后的子图的连通性。针对于互联网络的实际,网络的连通性是一个很重要的要素需要考虑,尤其是在分割划分的时候。
现有的无向图分割方法中,解决图形分割问题经典算法是metis算法,它先给图一个随机的初始划分,然后对划分结果逐步求精优化来达到图形分割问题的目标。
现有的Multilevel k-way Graph Partitioning(MLkP)算法是一种基于metis思想求解图形分割问题算法,它不再采用传统的二分法。二分法是先将一个图分成两部分,这两部分求精优化后,再分别把每一部分继续分割成两个部分后再次求精优化,如此直到最后分解为k个部分。而MLkP则初始就将图分割为k个部分,然后在这k各部分之间对划分结果求精优化。这样就具有较高的速度,而且适合于并行计算。
Kirk Schloegel and George Kargpis.Multilevel k-way PartitioningScheme for Irregular Graphs.Journal of Parallel and DistributedComputing(不规则图形的多级k划分策略).1998:45-60。
大规模无向图平面可视化算法的第一个阶段分解阶段中,对图划分后的结果必须满足三个特性,其中前两个特性是与图形划分问题相同的,但第三个特性-自连通性是图形划分问题所没有的,现有的无向图分割方法中所采用的MLkP算法和其他的metis算法都不能保证这一特性。
发明内容
为了解决现有无向图分割方法中存在的不能够保证图形的自连通性的问题,本发明提出一种基于MLkP/CR算法的无向图分割方法。
基于MLkP/CR算法的无向图分割方法,所述方法分为下述三个阶段:
规约阶段(Coarsening Phase):对待分割的无向图G0(V0,E0)进行规约,将无向图G0(V0,E0)中的若干点合成一个点,规约成无向图Gn(Vn,En),降低拓扑图的规模,其中V0是无向图G0中的顶点的集合,E0是无向图G0中边的集合,Vn是无向图Gn中的顶点的集合,En是无向图Gn中边的集合;
初始化分阶段(Initial Partitionhing Phase):对规约阶段获得的无向图Gn(Vn,En)进行k划分获得k个子图Gi(Vi,Ei),划分获得的每个子图Gi(Vi,Ei)都是自连通的,每个子图Gi(Vi,Ei)中的点的数目基本相等,并且被切边数edge-cut最小;
优化求精阶段(Uncoarsening Phase):对初始化分阶段获得的划分后的各个子图进行优化求精,并还原成原始无向图G0(V0,E0),获得划分后的无向图G0=(V0,E0),所述划分后的无向图G0=(V0,E0)中,|V0|=n,V0的k个子集为V1,V2,…,Vk,其中i≠j,并且∪Vi=V0,|Vi|=|V0|/k;两个端点不在同一子集的边的总数最小,其中∪Vi=V0表示所有的Vi的并集为V0;k个子集为V1,V2,…,Vk之间的分割线的数量edge_cut=∑e(u,v) u∈Gi∧v∈Gj∧i≠j,所述点u和点v是分别属于两个子图中的点,所述e(u,v)表示分割边,是指点u和点v之间的连接边。
本发明的方法,根据分冶的思想,采用MLkP/CR(Multilevel k-way GraphPartitioning with Connectivity Restriction)算法实现把一个复杂的、规模很大的网络拓扑图分割成若干个规模小的、拓扑结构简单的子图。本发明的方法能够保证子图间联系较少,即连接子图的边尽量少,使图形中各个部分相对独立,使得在观察一个子图时,其它子图对其影响尽量少,达到更好的观察网络拓扑图的目的。本发明的方法还能够保证各子图的大小接近,减少子图的总数,并使整个图形分布均匀、美观。本发明的方法还能够保证每一个子图,既每一个子网内部是连通的。
本发明的无向图分割方法可以应用于图形分割所应用在各个领域,包括并行计算、VISL设计、任务规划和地理信息系统GIS等领域。
附图说明
图1是本发明的无向图分割方法的原理图;图2是在规约阶段点合并的过程示意图;图3、图4是在优化求精阶段中,移动点的过程示意图,其中图3表示移动一个点,虽然达到了减少了切割边数的目的,但却破坏了其中一个子图的连通性的情况;图4表示移动一个点,既保证了减少了切割边数,又确保每个子图的连通性的情况;图5是采用现有的K-Means实现划分与采用本发明的基于MLKP/CR算法实现划分的划分结果对比图,其中带有“o”的曲线表示采用现有K-Means实划分的结果;带有“*”的曲线表示采用本发明的基于MLKP/CR算法实现划分的结果。
具体实施方式
本实施方式所述的基于MLkP/CR算法的无向图分割方法分为下述三个阶段:
规约阶段(Coarsening Phase):对待分割的无向图G0(V0,E0)进行规约,将无向图G0(V0,E0)中的若干点合成一个点,规约成无向图Gn(Vn,En),降低拓扑图的规模,其中V0是无向图G0中的顶点的集合,E0是无向图G0中边的集合,Vn是无向图Gn中的顶点的集合,En是无向图Gn中边的集合;
初始化分阶段(Initial Partitionhing Phase):对规约阶段获得的无向图Gn(Vn,En)进行k划分获得k个子图Gi(Vi,Ei),划分获得的每个子图Gi(Vi,Ei)都是自连通的,每个子图Gi(Vi,Ei)中的点的数目基本相等,并且被切边数edge-cut最小;
优化求精阶段(Uncoarsening Phase):对初始化分阶段获得的划分后的各个子图进行优化求精,并还原成原始无向图G0(V0,E0),获得划分后的无向图G0=(V0,E0),所述划分后的无向图G0=(V0,E0)中,|V0|=n,V0的k个子集为V1,V2,…,Vk,其中i≠j,并且∪Vi=V0,|Vi|=|V0|/k;两个端点不在同一子集的边的总数最小,其中∪Vi=V0表示所有的Vi的并集为V0;k个子集为V1,V2,…,Vk之间的分割线的数量edge_cut=∑e(u,v) u∈Gi∧v∈Gj∧i≠j,所述点u和点v是分别属于两个子图中的点,所述e(u,v)表示分割边,是指点u和点v之间的连接边。
子图Gi(Vi,Ei)的自连通,是指对于属于Vi的任意两点,都存在一条通路相连通。
所述一条通路是指子图Gi(Vi,Ei)的内部通路,所述通路上任一点v的向量P[v]=i,并且对于所述通路上的任一条边e(u,v),都有P[u]=P[v]=i。
原始无向图G0的经过第i次规约后,分割后的子图Gi(Vi,Ei)中,Vi中的任一点v的分割向量为P[v]=i,如果边e(u,v)∈Ei,则有P[u]=P[v]=i。
下面对每一个阶段做进一步说明:
在规约阶段中,是对待分割的无向图G0(V0,E0)的规约的过程,具体过程为:
采用递归算法对待分割的无向图G0=(V0,E0)进行规约处理,其中|V0|=n,|E0|=m,裁减G0中度为1的点,得到无向图G1=(V1,E1),G1中的点是G0中度大于1的点;无向图G0经过上述n次递归裁减后分别得到无向图G1、G2、…、Gn和D1、D2、...、Dn,其中Di=Gi-1-Gi,0<k≤n,0<i≤n,Di是Gi-1中度为1的点以及与所述点有联系的边。
在所述规约阶段中,拓扑图Gi+1是由Gi中的某些点通过边塌缩合成的一个点集,并将所述点集作为Gi+1中的一个点构造获得的,即|Vi|>|Vi+1|,参见图1所示。每次裁减后的无向图中的点的总数都要减少,无向图的规模也随之减小,在对规约后的无向图Gi进行划分的时候,移动无向图所述Gi中的一个点就相当于移动原始无向图G0中的一个点集,加快了划分速度。
在初始化分阶段中,采用随机划分方法,也可以采用其它现有方法(例如:K-mean等传统划分方法),划分后获得的每一个子图中含有约|V0|/k个权重,所述权重表示含G0中的点的个数。
在优化求精阶段中,对初始化分阶段获得的划分后的各个子图进行优化求精,并还原成原图,具体过程为:
为规约阶段处理后获得的图Gn(Vn,En)设定一个初始划分向量P,所述划分向量P的长度为n,对每一个vi∈V,P[vi]是一个1至k之间的整数,表明vi属于哪个划分;
例如,在Gm中的一个点vi的权重wm[vi]=j,表明它是由G0中的j个点合并成的一个点。
将划分向量Pm通过Pm-1、Pm-2……反向映射到P0,从而求出了原图G0的划分向量P0,形成了对原图的k划分。
在反向映射的过程中,每映射到一个无向图上{Gm,Gm-1……G0},都要对映射后的划分结果进行优化,采用基于KL分割算法(Kernighan-Lin partitioningalgorithm)的一种贪心优化算法GR(Greedy Refinement)对映射后的划分结果进行优化,具体过程为:
对于第i次迭代获得的子图Gi,它的划分向量为Pi,对于子图Gi中任一点v,有P[v]=a,即点v属于分割部分a,如果点v是一个内点,则N(v)=Ф,不移动点v,如果点v是一个边界点,假设N′(v)是N(v)的子集,它包含了所有的分割部分b,则将点v移动而不违反平衡限制,其中,
N(vi)={P[vi]|vi与vj相邻,且P[vi]≠P[vj]};所述内点是指没有边和其所在分割部分之外的点相连的点,即没有与相邻划分的部分相邻的点,就是指所划分部分的内部的一个点。
减少edge-cut的数量的步骤:图Gi=(Vi,Ei)的划分向量为Pi,g[v]b是移动分割部分b中的一个点v带来的优化效果度量参数,所述g[v]b=ED[v]b,其中ED[v]b是所述点v的外度,ID(v)是所述点v的内度;
所述ID(v)=∑edge(u,v),P[u]=P[v];
所述ED[v]b=∑edge(u,v),P[u]=b,且b∈N(v);
如果g[v]b>0,那么把v划分到分割部分b中,edge-cut将减少g[v]b条边;
如果g[v]b<0,当点v不是割点时,如果点v移动后,能够减少edge-cut,即;ED[v]b>ID(v),并且ED[v]b>ED[v]c,则将点v移动到分割部分b;否则不移动;
其中c∈N′(v),c≠b;其中,ED[v]b表示点v的外度,ED[v]b=∑edge(u,v),并且P[u]=b,b∈N(v);ID(v)表示点v的内度,ID(v)=∑edge(u,v),并且P[u]=P[v];
当点v是割点时,如果点v移动后,不增加edge-cut,但能够改进平衡,即ED[v]b=ID(v),且Wi[a]-Wi[b]>w(v),可以移动点v到分割部分b;
其中Wi[a]表示划分后的无向图Gi中第a部分的权重;w(v)表示点v的权重;
当点v是割点时,如果点v移动后,ED[v]b<ID(v),则把Gi分成m个分支,{1,2,......,m},令K[v]j=∑e(v,u),u∈分支j,若存在一分支j满足:
K[v]j<ED[v]b,且W[j]>W[b],
则把割点v和除第j个分支以外的其他分支一起移入到划分b中。
这样,移动后j分支单独作为一个子图,它是自连通的,从而保证了连通性。即:移动点v后,edge-cut减少了ED[v]b-K[v]j条边,并且保证了移动后的平衡,使剩余分支不会太小而失去整个划分的平衡。
由于K[v]j<ID[v],所以,对于g[v]b<=0的点,ED[v]b-K[v]j可能大于0,因此,可以对那些g[v]b<=0的点判断它是否为割点,是否满足移动割点的两个条件,从而使算法有了更多的对分割效果优化求精的空间。
上述移动点的方法,是在保证连通和不违反平衡的前提下,把点v移动到最能edge-cut减少的划分b中,如果通过移动点v无法减少edge-cut,则把点v移动到一个不增加edge-cut但能改进平衡的划分b中。移动点v后,更新点v相邻点的内外度数来反映划分的变化。
在上述优化求精阶段中,通过限定移动点v的条件,实现了减少edge-cut的数量、保证分割后子图的平衡和自连通性。
在减少edge-cut的数量的步骤中引入参数g[v]b的目的,是为了找到能够减少子图间边的个数的点。
判断子图的平衡的方法是:当要移动的点v的权重w(v)满足公式
Wi[b]+w(v)≤Wmax and Wi[a]-w(v)≥Wmin的时候,认为移动点v后的子图是平衡的,
其中Wi[a]表示移动点v之前图Gi中a部分的权重;Wi[b]表示点v之前图Gi中b部分的权重;w(v)表示点v的权重;Wmax表示每个子图的权重的上限;Wmin表示每个子图的权重的下限。
由于移动一个点必然导致相关子图大小的改变,为了使各个子图的大小接近,保持平衡,必须加入平衡条件限制。只有当移动的点满足平衡条件,才可以移动点。
由于移动一个点,可能导致该点所在部分自身不连通。如图3-4所示,图中所有点划分为两个部分,标记为第一部分1和第二部分2。由于点va的g(va)=1,将点va移动到第二部分2时,可以使edge-cut数目减少1,但移动后,第一部分1内部不连通。例如b点和c点之间没有一条只通过第一部分的内部通路相连通。为了保证移动后子图内部的自连通,本发明通过加入移动的限制条件来保证连通。
又由于移动一个点必然导致划分后的各子图大小的改变,为了使划分后的各子图的大小接近,保持子图的平衡,本发明加入了关于平衡条件的限制,只有当移动的点满足平衡条件,才可以移动点。
在上述优化求精阶段(Uncoarsening Phase)包括了一系列的迭代过程,每一次迭代都检查所有的点,看它们能否移动,来使部分间边的总数edge-cut减少,或则能改进平衡。
由于即使Gm的划分是局部最优的情况,映射后Gm-1的划分也不一定是局部最优的,因此,在优化求精阶段中,对每次映射后获的图Gm-1的划分进行优化处理,以保证还原后的图G0的划分是最优的。
上述过程可以采用下述程序段描述
输入:网络骨干层拓扑图G=(V,E)
//Coarsening Phase
for V中的每一个点vi
if degree(vi)>CENTERDEGREE
初始化一个类,该类只有一个成员vi;//以类为规约单位
并把vi作为类的中心点;
end if
end for
for V中的点
if vi不是中心点
把vi划分到与它距离最近的中心点所在类中;
end if
end for
//Initial Partitioning Phase
按类的大小排序;
选出k个最大的类作为保留类;//定义k个保留类
for每一个类i
if不是保留类
把他合并到与其相联边最多的保留类中;
Partition[i]=保留簇号;
end if
end for
//Uncoarsening Phase
//在点集的层次上优化求精
for每一个类i
计算该类的ED(i)和ID(i);
end for
while存在g[i]b>0的类
begin
找出g[j]b值最大且满足平衡和连通约束的尚未移动类j;
P[j]=b;
W[b]+=w[j];
W[P[j]]-=w[j];
更新与j相邻类的内外度ED[i]p[j]和ID[i];
move[i]=1;//标志该类移动,以防止摆动。
end
while存在g[i]b=0的类
begin
if(W[P[j]]-w[j]>W[b])
P[j]=b;
W[b]+=w[j];
W[P[j]]-=w[j];
更新与j相邻类的内外度ED[i]p[j]和ID[i];
move[i]=1;//标志该类移动,以防止摆动
end if
end
//在点的层次上优化求精
while还有点移动
begin
for V中的每一个点vi
计算g[vi]b;
if g[vi]b>0
if vi不是割点
partition[vi]=b;
把vi移动到类b中;
end if
else if vi满足移动割点的两个条件
移动vi和它的其他分支到b;
end if
end if
if g[vi]b=0&&W[P[j]]-w[j]>W[b]
partition[vi]=b;
把vi移动到类b中;
end if
if g[vi]b<0&&vi是割点
if vi满足移动割点的两个条
移动vi和它的其他分支到b;
end if
end if
end for
end
采用本实施方式所述的基于MLkP/CR算法的无向图分割方法对无向图进行分割,能够达到把一个图分割成k个连通子图,并且每个子图大小接近,连接子图的边最少的效果。
我们对一个规模为20000个点的拓扑图的骨干图作划分,用核心路由器筛选技术裁减后,它的骨干层有5986个点,10850条边。先给出k划分的结果,表3-2列出了划分后簇(子图)和每个簇包含点的数目,表3-3列出了簇间边的数目,例如表T[1,2]=10,表示簇1和簇2间有10条边相连。
表3-2 k划分结果
簇号 | 包含点的个数 | 连通性 |
C1 | 548 | 连通 |
C2 | 665 | 连通 |
C3 | 520 | 连通 |
C4 | 324 | 连通 |
C5 | 777 | 连通 |
C6 | 191 | 连通 |
簇号 | 包含点的个数 | 连通性 |
C7 | 200 | 连通 |
C8 | 454 | 连通 |
C9 | 431 | 连通 |
C10 | 605 | 连通 |
C11 | 266 | 连通 |
C12 | 307 | 连通 |
C13 | 280 | 连通 |
C14 | 264 | 连通 |
C15 | 154 | 连通 |
表3-3 K划分后子图间的连接关系
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | C12 | C13 | C14 | C15 | |
C1 | 0 | 58 | 36 | 89 | 15 | 4 | 2 | 14 | 9 | 19 | 21 | 1 | 103 | 2 | 1 |
C2 | 58 | 0 | 29 | 6 | 12 | 3 | 4 | 33 | 5 | 26 | 2 | 0 | 13 | 5 | 3 |
C3 | 36 | 29 | 0 | 6 | 19 | 0 | 0 | 15 | 2 | 1 | 7 | 5 | 0 | 0 | 0 |
C4 | 89 | 6 | 6 | 0 | 13 | 8 | 31 | 0 | 14 | 5 | 12 | 0 | 21 | 0 | 0 |
C5 | 15 | 12 | 19 | 13 | 0 | 22 | 13 | 24 | 8 | 47 | 14 | 23 | 2 | 2 | 36 |
C6 | 4 | 3 | 0 | 8 | 22 | 0 | 4 | 0 | 3 | 3 | 2 | 0 | 10 | 0 | 0 |
C7 | 2 | 4 | 0 | 31 | 13 | 4 | 0 | 0 | 18 | 2 | 0 | 0 | 1 | 0 | 0 |
C8 | 14 | 33 | 15 | 0 | 24 | 0 | 0 | 0 | 4 | 2 | 1 | 7 | 7 | 1 | 2 |
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | C12 | C13 | C14 | C15 | |
C9 | 9 | 5 | 2 | 14 | 8 | 3 | 18 | 4 | 0 | 73 | 33 | 0 | 7 | 1 | 5 |
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | C12 | C13 | C14 | C15 | |
C10 | 19 | 26 | 1 | 5 | 47 | 3 | 2 | 2 | 73 | 0 | 13 | 1 | 3 | 3 | 3 |
C11 | 21 | 2 | 7 | 12 | 14 | 2 | 0 | 1 | 33 | 13 | 0 | 0 | 0 | 0 | 2 |
C12 | 1 | 0 | 5 | 0 | 23 | 0 | 0 | 7 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
C13 | 103 | 13 | 0 | 21 | 2 | 10 | 1 | 7 | 7 | 3 | 0 | 0 | 0 | 2 | 0 |
C14 | 2 | 5 | 0 | 0 | 2 | 0 | 0 | 1 | 1 | 3 | 0 | 0 | 2 | 0 | 3 |
C15 | 1 | 3 | 0 | 0 | 36 | 0 | 0 | 2 | 5 | 3 | 2 | 0 | 0 | 3 | 0 |
下面给出MLkP/CR算法的划分结果,表3-4的含义同表3-2,表3-5的含义同表3-3。
表3-4 MLkP/CR算法的划分结果
簇号 | 包含点的个数 | 连通性 |
C1 | 437 | 连通 |
C2 | 271 | 连通 |
C3 | 522 | 连通 |
C4 | 331 | 连通 |
C5 | 647 | 连通 |
C6 | 205 | 连通 |
C7 | 387 | 连通 |
C8 | 438 | 连通 |
C9 | 549 | 连通 |
C10 | 263 | 连通 |
C11 | 647 | 连通 |
C12 | 307 | 连通 |
簇号 | 包含点的个数 | 连通性 |
C13 | 330 | 连通 |
C14 | 371 | 连通 |
C15 | 281 | 连通 |
表3-5 MLkP/CR算法划分后子图间的连接关系
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | C12 | C13 | C14 | C15 | |
C1 | 0 | 1 | 9 | 16 | 12 | 5 | 7 | 6 | 4 | 14 | 13 | 1 | 50 | 5 | 1 |
C2 | 1 | 0 | 2 | 0 | 10 | 0 | 0 | 2 | 8 | 1 | 6 | 0 | 0 | 4 | 4 |
C3 | 9 | 2 | 0 | 3 | 2 | 0 | 3 | 4 | 0 | 0 | 22 | 1 | 1 | 8 | 2 |
C4 | 16 | 0 | 3 | 0 | 2 | 1 | 7 | 2 | 0 | 3 | 3 | 0 | 19 | 11 | 0 |
C5 | 12 | 10 | 2 | 2 | 0 | 21 | 15 | 5 | 21 | 12 | 8 | 5 | 3 | 4 | 1 |
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | C12 | C13 | C14 | C15 | |
C6 | 5 | 0 | 0 | 1 | 21 | 0 | 7 | 0 | 0 | 2 | 3 | 0 | 3 | 2 | 0 |
C7 | 7 | 0 | 3 | 7 | 15 | 7 | 0 | 0 | 8 | 5 | 7 | 0 | 2 | 5 | 0 |
C8 | 6 | 2 | 4 | 2 | 5 | 0 | 0 | 0 | 1 | 1 | 10 | 5 | 3 | 1 | 1 |
C9 | 4 | 8 | 0 | 0 | 21 | 0 | 8 | 1 | 0 | 4 | 9 | 0 | 3 | 2 | 4 |
C10 | 14 | 1 | 0 | 3 | 12 | 2 | 5 | 1 | 4 | 0 | 1 | 0 | 3 | 12 | 0 |
C11 | 13 | 6 | 22 | 3 | 8 | 3 | 7 | 10 | 9 | 1 | 0 | 0 | 19 | 8 | 5 |
C12 | 1 | 0 | 1 | 0 | 5 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
C13 | 50 | 0 | 1 | 19 | 3 | 3 | 2 | 3 | 3 | 3 | 19 | 0 | 0 | 7 | 2 |
C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | C12 | C13 | C14 | C15 | |
C14 | 5 | 4 | 8 | 11 | 4 | 2 | 5 | 1 | 2 | 12 | 8 | 0 | 7 | 0 | 1 |
C15 | 1 | 4 | 2 | 0 | 1 | 0 | 0 | 1 | 4 | 0 | 5 | 0 | 2 | 1 | 0 |
标准差公式
期望公式
根据表3-2至表3-5中的数据,得到表3-6:
表3-6 两种算法的结果对比
K-means | MLkP/CR | |
标准差 | 189.74 | 138.57 |
期望 | 9.61 | 4.5 |
edge-cut | 2162 | 1032 |
结果比较:
我们从两种数据可以看到采用k划分和采用MLkP/CR算法的划分结果比较:
1.方差反映了一组数据波动大小的特征数,方差越小,波动越小,说明划分结果越均匀。由表3-6得到:采用MLkP/CR算法的方差是k划分方差的0.73,说明MLkP/CR算法比k划分算法划分后的结果均匀程度提高了近25%
2.edge-cut是子图之间边的总数,它越小反映了子图间的独立性越高,由表3-6得到:采用MLkP/CR算法划分后edge-cut比采用k划分减少一半,即子图间的独立性提高一倍。
3.定义子图的平均初度OutDegree
OutDegree反映了一个子图与其他子图的平均联系紧密程度,OutDegree越小,子图与其他的子图联系就越少,子图的独立性就越高,由表3-3和表3-4可以得到图3-6。
从图中可以看出,MLkP/CR算法的平均出度整体低于K-Means方法,说明,采用MLkP/CR算法划分后,子图有很高的独立性。
采用MLkP/CR算法,子图间边的总数edge-cut与图边的总数的比例为
可见,子图之间的边很少,不到边总数的10%,说明了子图之间有很高的独立性。
本实施方式所述的基于MLkP/CR算法的无向图分割方法,适用于不同应用、不同规模、不同类型的网络,还适用于可以转换成无向图并遵循相同原则的各种网络的划分,例如:不等规模的网络划分,包括不同的逻辑拓扑结构,比如生物网络、社会网络等,只要能够建立起点与边的连接关系的无向逻辑拓扑结构图。
采用本实施方式所述的基于MLkP/CR算法的无向图分割方法对分割后子图的平均规模为N的图进行划分处理,实现了规模为k*N的无向图平面可视化,任何规模的无向图平面可视化都可以用该算法解决,只不过是k的取值不同,k=|G0|/N。特别的,当k=1,就变成了小规模无向图的平面可视化问题。算法具有很高的并行性,分割后子图的平面可视化可以并行实现。
Claims (8)
1.基于MLkP/CR算法的无向图分割方法,其特征在于所述方法分为下述三个阶段:
规约阶段:对待分割的无向图G0(V0,E0)进行规约,将无向图G0(V0,E0)中的若干点合成一个点,规约成无向图Gn(Vn,En),降低拓扑图的规模,其中V0是无向图G0中的顶点的集合,E0是无向图G0中边的集合,Vn是无向图Gn中的顶点的集合,En是无向图Gn中边的集合;
初始化分阶段:对规约阶段获得的无向图Gn(Vn,En)进行k划分获得k个子图Gi(Vi,Ei),划分获得的每个子图Gi(Vi,Ei)都是自连通的,每个子图Gi(Vi,Ei)中的点的数目基本相等,并且被切边数edge-cut最小;
2.根据权利要求1所述的基于MLkP/CR算法的无向图分割方法,其特征在于,所述子图Gi(Vi,Ei)的自连通,是指对于属于Vi的任意两点,都存在一条通路相连通;
所述一条通路是指子图Gi(Vi,Ei)的内部通路,所述通路上任一点v的向量P[v]=i,并且对于所述通路上的任一条边e(u,v),都有P[u]=P[v]=i。
3.根据权利要求1所述的基于MLkP/CR算法的无向图分割方法,其特征在于,在规约阶段,原始无向图G0的经过第i次规约后获得的子图Gi(Vi,Ei)中,Vi中的任一点v的分割向量为P[v]=i,如果边e(u,v)∈Ei,则有P[u]=P[v]=i。
4.根据权利要求1所述的基于MLkP/CR算法的无向图分割方法,其特征在于,在规约阶段中,是对待分割的无向图G0(V0,E0)的规约的过程,具体过程为:
采用递归算法对待分割的无向图G0=(V0,E0)进行规约处理,其中|V0|=n,|E0|=m,裁减G0中度为1的点,得到无向图G1=(V1,E1),G1中的点是G0中度大于1的点;无向图G0经过上述n次递归裁减后分别得到无向图G1、G2、…、Gn和D1、D2、...、Dn,其中Di=Gi-1-Gi,0<k≤n,0<i≤n,Di是Gi-1中度为1的点以及与所述点有联系的边。
5.根据权利要求1所述的基于MLkP/CR算法的无向图分割方法,其特征在于,在初始化分阶段中,采用随机划分方法对无向图Gn(Vn,En)进行k划分获得k个子图Gi(Vi,Ei),划分后获得的每一个子图中含有约|V0|/k个权重,所述权重表示含G0中的点的个数。
6.根据权利要求1所述的基于MLkP/CR算法的无向图分割方法,其特征在于,在优化求精阶段中,对初始化分阶段获得的划分后的各个子图进行优化求精,并还原成原图,具体过程为:
为规约阶段处理后获得的图Gn(Vn,En)设定一个初始划分向量Pn,所述划分向量Pn的长度为n,对每一个vi∈V,P[vi]是一个1至k之间的整数,表明vi所属的划分;
将划分向量Pm通过Pm-1、Pm-2……反向映射到P0,从而求出了原图G0的划分向量P0,形成了对原图的k划分。
7.根据权利要求6所述的基于MLkP/CR算法的无向图分割方法,其特征在于,在反向映射的过程中,每映射到一个无向图上{Gm,Gm-1……G0},都要对映射后的划分结果进行优化,采用基于KL分割算法的一种贪心优化算法GR对映射后的划分结果进行优化,具体过程为:
对于第i次迭代获得的子图Gi,它的划分向量为Pi,对于子图Gi中任一点v,有P[v]=a,即点v属于分割部分a,如果点v是一个内点,则N(v)=Φ,不移动点v,如果点v是一个边界点,假设N′(v)是N(v)的子集,它包含了所有的分割部分b,则将点v移动而保证子图的平衡,其中,N(vi)={P(vi)|vi与vj相邻,且P(vi)不等于P(vj)};所述内点是指没有边和其他部分相连的点,即没有与相邻划分的部分相邻的点,就是指所划分部分的内部的一个点
减少edge-cut的数量的步骤:图Gi=(Vi,Ei)的划分向量为Pi,g[v]b是移动分割部分b中的一个点v带来的优化效果度量参数,所述g[v]b=ED[v]b,其中ED[v]b是所述点v的外度,ID(v)是所述点v的内度;
所述ID(v)=∑edge(u,v),P[u]=P[v];
所述ED[v]b=∑edge(u,v),P[u]=b,且b∈N(v);
如果g[v]b>0,那么把v划分到分割部分b中,edge-cut将减少g[v]b条边;
如果g[v]b<0,当点v不是割点时,如果点v移动后,能够减少edge-cut,即;ED[v]b>ID(v),并且ED[v]b>ED[v]c,则将点v移动到分割部分b;否则不移动;
其中c∈N′(v),c≠b;其中,ED[v]b表示点v的外度,ED[v]b=∑edge(u,v),并且P[u]=b,b∈N(v);ID(v)表示点v的内度,ID(v)=∑edge(u,v),并且P[u]=P[v];
当点v是割点时,如果点v移动后,即ED[v]b=ID(v),且Wi[a]-Wi[b]>w(v),移动点v到分割部分b;
其中Wi[a]表示划分后的无向图Gi中第a部分的权重;w(v)表示点v的权重;
当点v是割点时,如果点v移动后,ED[v]b<ID(v),则把Gi分成m个分支,{1,2,......,m},令K[v]j=∑e(v,u),u∈分支j,若存在一分支j满足:
K[v]j<ED[v]b,且W[j]>W[b],
则把割点v和除第j个分支以外的其他分支一起移入到划分b中。
8.根据权利要求7所述的基于MLkP/CR算法的无向图分割方法,其特征在于,所述子图的平衡的判断方法是:当要移动的点v的权重w(v)满足公式
Wi[b]+w(v)≤Wmax and Wi[a]-w(v)≥Wmin的时候,认为移动点v后的子图是平衡的,
其中Wi[a]表示移动点v之前图Gi中a部分的权重;Wi[b]表示点v之前图Gi中b部分的权重;w(v)表示点v的权重;Wmax表示每个子图的权重的上限;Wmin表示每个子图的权重的下限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100733389A CN101741611B (zh) | 2009-12-03 | 2009-12-03 | 基于MLkP/CR算法的无向图分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100733389A CN101741611B (zh) | 2009-12-03 | 2009-12-03 | 基于MLkP/CR算法的无向图分割方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741611A true CN101741611A (zh) | 2010-06-16 |
CN101741611B CN101741611B (zh) | 2012-04-18 |
Family
ID=42464546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100733389A Active CN101741611B (zh) | 2009-12-03 | 2009-12-03 | 基于MLkP/CR算法的无向图分割方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741611B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314606A (zh) * | 2011-07-13 | 2012-01-11 | 温州大学 | 无向图结点定位方法 |
CN102999788A (zh) * | 2012-11-06 | 2013-03-27 | 天津大学 | 基于多层图分割的电力系统主动解列断面快速搜索方法 |
CN104954477A (zh) * | 2015-06-23 | 2015-09-30 | 华中科技大学 | 一种基于并发改进的大规模图数据流式划分方法及系统 |
CN106454558A (zh) * | 2015-08-07 | 2017-02-22 | 中国电信股份有限公司 | 一种多onu分组方法、设备以及系统 |
CN106919584A (zh) * | 2015-12-26 | 2017-07-04 | 华为技术有限公司 | 一种拓扑图的布局方法及装置 |
CN107526785A (zh) * | 2017-07-31 | 2017-12-29 | 广州市香港科大霍英东研究院 | 文本分类方法及装置 |
CN113780295A (zh) * | 2021-09-13 | 2021-12-10 | 东北大学 | 一种基于lac-floss算法和ier算法的时间序列分割方法 |
CN114239198A (zh) * | 2021-12-06 | 2022-03-25 | 国网湖北省电力有限公司电力科学研究院 | 一种基于并行优化的电网子图划分方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1104132B1 (en) * | 1999-11-23 | 2004-04-14 | Northrop Grumman Corporation | Automated configuration of internet-like computer networks |
JP2003132106A (ja) * | 2001-10-24 | 2003-05-09 | Bogenpfeil:Kk | 適切ネットワーク形状である準最小の木の形成・探索・生成方法及びそのプログラムを記録した情報記録媒体 |
-
2009
- 2009-12-03 CN CN2009100733389A patent/CN101741611B/zh active Active
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314606A (zh) * | 2011-07-13 | 2012-01-11 | 温州大学 | 无向图结点定位方法 |
CN102999788A (zh) * | 2012-11-06 | 2013-03-27 | 天津大学 | 基于多层图分割的电力系统主动解列断面快速搜索方法 |
CN102999788B (zh) * | 2012-11-06 | 2016-03-30 | 天津大学 | 基于多层图分割的电力系统主动解列断面快速搜索方法 |
CN104954477A (zh) * | 2015-06-23 | 2015-09-30 | 华中科技大学 | 一种基于并发改进的大规模图数据流式划分方法及系统 |
CN104954477B (zh) * | 2015-06-23 | 2018-06-12 | 华中科技大学 | 一种基于并发改进的大规模图数据流式划分方法及系统 |
CN106454558A (zh) * | 2015-08-07 | 2017-02-22 | 中国电信股份有限公司 | 一种多onu分组方法、设备以及系统 |
CN106919584B (zh) * | 2015-12-26 | 2020-07-07 | 华为技术有限公司 | 一种拓扑图的布局方法及装置 |
CN106919584A (zh) * | 2015-12-26 | 2017-07-04 | 华为技术有限公司 | 一种拓扑图的布局方法及装置 |
CN107526785A (zh) * | 2017-07-31 | 2017-12-29 | 广州市香港科大霍英东研究院 | 文本分类方法及装置 |
CN107526785B (zh) * | 2017-07-31 | 2020-07-17 | 广州市香港科大霍英东研究院 | 文本分类方法及装置 |
CN113780295A (zh) * | 2021-09-13 | 2021-12-10 | 东北大学 | 一种基于lac-floss算法和ier算法的时间序列分割方法 |
CN113780295B (zh) * | 2021-09-13 | 2024-02-20 | 东北大学 | 一种基于lac-floss算法和ier算法的时间序列分割方法 |
CN114239198A (zh) * | 2021-12-06 | 2022-03-25 | 国网湖北省电力有限公司电力科学研究院 | 一种基于并行优化的电网子图划分方法及装置 |
CN114239198B (zh) * | 2021-12-06 | 2023-03-10 | 国网湖北省电力有限公司电力科学研究院 | 一种基于并行优化的电网子图划分方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101741611B (zh) | 2012-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101741611B (zh) | 基于MLkP/CR算法的无向图分割方法 | |
CN104657418B (zh) | 一种基于隶属度传播的复杂网络模糊社团挖掘方法 | |
Moreira et al. | Polynomial time verification of decentralized diagnosability of discrete event systems | |
Wollan | The structure of graphs not admitting a fixed immersion | |
Radicchi et al. | Beyond the locally treelike approximation for percolation on real networks | |
He | On floor-plan of plane graphs | |
Ananth et al. | Rainbow connectivity: Hardness and tractability | |
Thilikos et al. | Constructive linear time algorithms for small cutwidth and carving-width | |
CN107092977A (zh) | 一种求解多目标带时间窗异构车型选址‑路径问题的算法 | |
CN108614932B (zh) | 基于边图的线性流重叠社区发现方法、系统及存储介质 | |
Grimmett et al. | Extendable self-avoiding walks | |
Ottosen et al. | Honour thy neighbour: clique maintenance in dynamic graphs | |
CN108509531B (zh) | 一种基于Spark平台的不确定数据集频繁项挖掘方法 | |
Yang et al. | Search numbers in networks with special topologies | |
Matula | Subgraph connectivity numbers of a graph | |
Chimani et al. | Algorithms for the hypergraph and the minor crossing number problems | |
CN113626657A (zh) | 一种多值属性图结构发现密集连接的子网络的方法 | |
Laarhoven et al. | A randomized Delaunay triangulation heuristic for the Euclidean Steiner tree problem in ℜ. | |
Singh et al. | An approximate algorithm for degree constraint minimum spanning tree | |
Hartmann et al. | Dynamic Gomory-Hu Tree Construction--fast and simple | |
Witkowski | Random lifts of graphs are highly connected | |
CN112909926B (zh) | 一种配电系统优化问题的辐射状约束集生成方法及装置 | |
Zehavi | Algorithms for k-internal out-branching and k-tree in bounded degree graphs | |
Van Laarhoven et al. | A randomized Delaunay triangulation heuristic for the Euclidean Steiner tree problem in ℜ d | |
De Bartolo et al. | Approximations on the peano river network: Application of the horton-strahler hierarchy to the case of low connections |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230822 Address after: 100085 4th floor, building 3, yard 1, Shangdi East Road, Haidian District, Beijing Patentee after: Beijing Topsec Network Security Technology Co.,Ltd. Patentee after: Topsec Technologies Inc. Patentee after: BEIJING TOPSEC SOFTWARE Co.,Ltd. Address before: 150001 No. 92 West straight street, Nangang District, Heilongjiang, Harbin Patentee before: HARBIN INSTITUTE OF TECHNOLOGY |
|
TR01 | Transfer of patent right |