[发明专利]一种有向图的最小割获取方法及设备有效
申请号: | 201310244090.4 | 申请日: | 2013-06-19 |
公开(公告)号: | CN104239126B | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 王蕾;崔慧敏;冯晓兵 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 张娜 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 最小 获取 方法 设备 | ||
技术领域
本发明涉及网络优化领域,尤其涉及一种有向图的最小割获取方法及设备。
背景技术
最大流最小割问题是网络优化领域中的经典问题,可以广泛的应用在以网络作为表现形式的应用背景中,目前针对该问题所提出的方法都是基于网络中的结点进行并行计算的,通过整体同步并行计算模型(Bulk Synchronous Parallel Computing Model,BSP模型)并行处理活跃结点,每个活跃结点均通过超步进行计算,直至整个网络中没有活跃结点时,计算结束。
发明人发现以上的方法有如下的问题:在每个超步进行计算的过程中,需要在活跃结点间进行大量的通信与同步,从而导致网络的拥堵,性能极低。
发明内容
本发明的实施例提供一种有向图的最小割获取方法及设备,减少了并行计算时的活跃结点间的通信次数和同步次数,提高了性能。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种有向图的最小割获取方法,包括:
按照预设策略,分别将所述有向图划分成至少两个汇点子图和至少两个源点子图,其中,全部所述汇点子图均包含所述有向图的汇点,且全部所述汇点子图之间为依次包含关系;全部所述源点子图均包含所述有向图的源点,且全部所述源点子图之间为依次包含关系;
并行计算全部所述汇点子图的最小割集并通过所述汇点子图之间的通信获得所述有向图的等效汇点,以及并行计算全部所述源点子图的最小割集并通过所述源点子图之间的通信获得所述有向图的等效源点,其中,所述等效汇点为最大的所述汇点子图的最小割集,所述等效源点为最大的所述源点子图的最小割集;
根据所述有向图的等效汇点和所述有向图的等效源点连接的所有边获取所述有向图的最小割。
在第一种可能的实现方式中,结合第一方面,所述按照预设策略,分别将所述有向图划分成至少两个汇点子图和至少两个源点子图,包括:
将所述有向图进行反向变化得到反向图,其中,所述反向变化包括,将所述有向图中的所有边进行反向,所述有向图的所述源点变成所述反向图的汇点,所述有向图的所述汇点变成所述反向图的源点;
分别从所述有向图和所述反向图的汇点出发,按照所述预设策略,分别将所述有向图和所述反向图划分成至少两个所述有向图的汇点子图以及至少两个所述反向图的汇点子图,并分别为每个所述有向图的汇点子图和所述反向图的源点子图建立副本,其中,所述至少两个所述反向图的汇点子图为所述至少两个所述有向图的源点子图。
在第二种可能的实现方式中,结合第一方面或者第一种可能的实现方式,在所述并行计算全部所述汇点子图的最小割集并通过所述汇点子图之间的通信获得所述有向图的等效汇点,以及并行计算全部所述源点子图的最小割集并通过所述源点子图之间的通信获得所述有向图的等效源点之前,还包括:
将所有所述有向图的汇点子图根据包含关系建立关系树,其中,被包含的所述有向图的汇点子图称为所述有向图的子汇点子图,包含的所述有向图的汇点子图称为所述有向图的父汇点子图,以及将所有所述反向图的汇点子图根据包含关系建立关系树,其中,被包含的所述反向图的汇点子图称为所述反向图的子汇点子图,包含的所述反向图的汇点子图称为所述反向图的父汇点子图。
在第三种可能的实现方式中,结合第一方面、第一种可能的实现方式或者第二种可能的实现方式中的任一项,所述并行计算全部所述汇点子图的最小割集并通过所述汇点子图之间的通信获得所述有向图的等效汇点,包括:
在全部所述有向图的汇点子图上根据最大流算法并行计算全部所述有向图的汇点子图的最小割;
任一个所述有向图子汇点子图计算完毕时,将其汇点所在的最小割通知其父汇点子图;
所述有向图的父汇点子图合并子汇点子图的汇点所在的最小割,去除所述有向图子汇点子图的汇点所在的最小割中的结点;
计算完成,得到所述等效汇点。
在第四种可能的实现方式中,结合第三种可能的实现方式,所述有向图的父汇点子图合并子汇点子图的汇点所在的最小割,去除所述有向图子汇点子图的汇点所在的最小割中的结点,包括:
所述有向图的父汇点子图在接收到所述有向图子汇点子图发送的所述有向图子汇点子图的汇点所在的最小割后,停止计算,并在所述有向图的父汇点子图上生成两个结点集合,其中,一个结点集合为由所述有向图子汇点子图的汇点所在的最小割组成的待去除结点集合,另一个结点集合为在所述有向图中所述有向图子汇点子图的汇点所在的最小割以外的第一非去除结点组成的非去除结点集合;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310244090.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种冷铺沥青低温流动性测试装置
- 下一篇:梳棉机棉条密度非接触检测装置