CN109033191A - 一种面向大规模幂律分布图的分割方法 - Google Patents
一种面向大规模幂律分布图的分割方法 Download PDFInfo
- Publication number
- CN109033191A CN109033191A CN201810683562.9A CN201810683562A CN109033191A CN 109033191 A CN109033191 A CN 109033191A CN 201810683562 A CN201810683562 A CN 201810683562A CN 109033191 A CN109033191 A CN 109033191A
- Authority
- CN
- China
- Prior art keywords
- vertex
- subregion
- degree
- take
- taken
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000003993 interaction Effects 0.000 claims description 10
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000002922 simulated annealing Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 abstract description 15
- 230000011218 segmentation Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 abstract description 7
- 238000000638 solvent extraction Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000007812 deficiency Effects 0.000 abstract description 2
- 238000003012 network analysis Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 abstract 1
- 238000000547 structure data Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000005204 segregation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向大规模幂律分布图的分割方法,具体涉及图数据分割技术领域,其解决了现有的分割算法严重影响分布式图计算方法的效率的不足。该面向大规模幂律分布图的分割方法更加适应社交网络图,针对其具体的图结构特性,能够得到较好的分割结果;分割后的各子图一方面能够满足负载均衡,另一方面能够最小化通信开销,此方法能够应用于多种实际场合,比如进行社交网络分析、社区发现、知识或消息传播。
Description
技术领域
本发明涉及图数据分割技术领域,具体涉及一种面向大规模幂律分布图的分割方法。
背景技术
随着社交网络、交通网络、通信网络等的飞速发展,图结构数据分析的重要性日益突出。同时,图结构数据的规模越来越大,分布式计算成为处理大规模图数据的有效手段。在分布式图计算中,如何对图数据进行分割,以使得各个并行计算节点之间的通信量达到最小且保障各个计算节点的负载均衡,是进行分布式图计算的基础。
目前,常用的算法有KL算法、FM算法、谱划分方法等集中式分割算法,Hash算法、BLP算法等分布式分割算法。集中式算法计算复杂度高,难以适用于分布式计算环境;而现有的分布式算法没有考虑图的特点,导致计算节点间的通信量过大。
实际上,由社交网络、交通网络、通信网络等构建的图数据,通常都是一种大规模幂律分布图,即图的顶点数和边数庞大、顶点度服从幂律分布。此时,传统的分割算法将严重影响分布式图计算算法的效率。
发明内容
本发明的目的是针对上述不足,提出了一种通过根据图的结构特性进行合理分割,实现分割后各计算节点的负载均衡,并降低分布式运算的通信开销,提高计算效率的面向大规模幂律分布图的分割方法。
本发明具体采用如下技术方案:
一种面向大规模幂律分布图的分割方法,具体包括以下步骤,
输入图G=(V,E),其中,V={v1,v2,…,vn},E={(u,v)|u∈V∧v∈V},V为图的顶点集合,E为图的边集合,D={di|di=|{u|(u,vi)∈E}|}为顶点的度的集合,di为顶点vi的度;
步骤一:对图中所有顶点按度数进行排序,使得排序之后顶点的度数满足di≥dj,i<j;
步骤二:取Vlarge={vi|di≥λ},其中λ为给定的一个顶点度的阈值,设Vlarge={u1,u2,…,um};
步骤三:假设将图分为k个子图{P1,P2,…,Pk},且m≥k,将Vlarge中的顶点ui放入Pj中,其中j=i mod k;
步骤四:对于每个分区Pj(j=1,2,…,k)中的每一个顶点v,对{u|(u,v)∈E}中的每一个顶点u,如果u尚未放入任何一个分区中,则将u放入分区Pj中;
步骤五:使用模拟退火算法对上述分区结果进行调优,具体包括:
⑤:设定温度初始值T,温度最小值Tmin,每个T值迭代次数的迭代次数L;
⑥:取l=1;
⑦:取j=1;
⑧:取i=min{a|a∈[0,k]∧i≠j};
⑤:对于顶点v∈Pj,计算能量差ΔE=OE(Pnew)-OE(Pold),其中OE(Pold)是指未调整分区前交互边的条数,OE(Pnew)是将顶点v移动到分区Pi(i≠j)后交互边的条数;交互边是指满足((u,v)∈E∧u∈Pi∧v∈Pj∧i≠j)的边;
⑥:若ΔE<0,则将v转移到Pi中,否则计算转移概率若p>Random[0,1),则将v转移到Pi中,否则不转移;
⑦:取i=i+1,若i=j,则继续取i=i+1;
⑧:若i≤k,则转至⑤,否则取j=j+1,若j≤k,则转至④,否则继续进行⑨;
⑨:l=l+1,若l≤L,则转至③,否则进行⑩;
⑩:取T=αT(0<α<1),若T<Tmin,则输出当前的分区结果,否则进行②;
步骤六:取j=1;
步骤七:对于每个顶点v∈Pj,对{u|(u,v)∈E}中的每一个顶点u,如果u尚未放入任何一个分区中,则将u放入分区Pj中,若u已在其他分区Pi(i≠j)中,则进行步骤八;
步骤八:判断Pj和Pi中的顶点个数,如果两个分区中的顶点个数相差超过δ,则u移动到Pj中,否则u保留在Pi中;
步骤九:取j=j+1,若j≤k,则进行步骤七,否则继续步骤十;
步骤十:若仍有顶点未划分,则进行步骤六,否则结束。
本发明具有如下有益效果:
本发明与现有图分割算法相比,具有以下优势:
相较于集中式分割算法,此发明能够处理更大规模的图数据。
与传统的分布式分割方法相比,该面向大规模幂律分布图的分割方法更加适应社交网络图,针对其具体的图结构特性,能够得到较好的分割结果;分割后的各子图一方面能够满足负载均衡,另一方面能够最小化通信开销,此方法能够应用于多种实际场合,比如进行社交网络分析、社区发现、知识或消息传播。
附图说明
图1为面向大规模幂律分布图的分割方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明的具体实施方式做进一步说明:
如图1所示,一种面向大规模幂律分布图的分割方法,具体包括以下步骤,
输入图G=(V,E),其中,V={v1,v2,…,vn},E={(u,v)|u∈V∧v∈V},V为图的顶点集合,E为图的边集合,D={di|di=|{u|(u,vi)∈E}|}为顶点的度的集合,di为顶点vi的度;
步骤一:对图中所有顶点按度数进行排序,使得排序之后顶点的度数满足di≥dj,i<j;
步骤二:取Vlarge={vi|di≥λ},其中λ为给定的一个顶点度的阈值,设Vlarge={u1,u2,…,um};
步骤三:假设将图分为k个子图{P1,P2,…,Pk},且m≥k,将Vlarge中的顶点ui放入Pj中,其中j=i mod k;
步骤四:对于每个分区Pj(j=1,2,…,k)中的每一个顶点v,对{u|(u,v)∈E}中的每一个顶点u,如果u尚未放入任何一个分区中,则将u放入分区Pj中;
步骤五:使用模拟退火算法对上述分区结果进行调优,具体包括:
⑨:设定温度初始值T,温度最小值Tmin,每个T值迭代次数的迭代次数L;
⑩:取l=1;
取j=1;
取i=min{a|a∈[0,k]∧i≠j};
⑤:对于顶点v∈Pj,计算能量差ΔE=OE(Pnew)-OE(Pold),其中OE(Pold)是指未调整分区前交互边的条数,OE(Pnew)是将顶点v移动到分区Pi(i≠j)后交互边的条数;交互边是指满足((u,v)∈E∧u∈Pi∧v∈Pj∧i≠j)的边;
⑥:若ΔE<0,则将v转移到Pi中,否则计算转移概率若p>Random[0,1),则将v转移到Pi中,否则不转移;
⑦:取i=i+1,若i=j,则继续取i=i+1;
⑧:若i≤k,则转至⑤,否则取j=j+1,若j≤k,则转至④,否则继续进行⑨;
⑨:l=l+1,若l≤L,则转至③,否则进行⑩;
⑩:取T=αT(0<α<1),若T<Tmin,则输出当前的分区结果,否则进行②;
步骤六:取j=1;
步骤七:对于每个顶点v∈Pj,对{u|(u,v)∈E}中的每一个顶点u,如果u尚未放入任何一个分区中,则将u放入分区Pj中,若u已在其他分区Pi(i≠j)中,则进行步骤八;
步骤八:判断Pj和Pi中的顶点个数,如果两个分区中的顶点个数相差超过δ,则u移动到Pj中,否则u保留在Pi中;
步骤九:取j=j+1,若j≤k,则进行步骤七,否则继续步骤十;
步骤十:若仍有顶点未划分,则进行步骤六,否则结束。
很多领域中的图都是大规模幂律分布图。以某大学公开的SNAP图数据库中的部分表征社交网络等关系的图数据为例,设定每个图中顶点度数的最大值为dmax,采用该分隔方法阈值λ=0.1×dmax,表1给出了它们的顶点数、边数和顶点集合Vlarge中的顶点数量。
表1
图名称 | 顶点数量 | 边数量 | Vlarge中的顶点数量 |
p2p-Gnutella04 | 10876 | 39994 | 5 |
p2p-Gnutella25 | 22687 | 54705 | 7 |
p2p-Gnutella30 | 36682 | 88328 | 9 |
p2p-Gnutella31 | 62586 | 147892 | 17 |
email-EuAll | 265214 | 420045 | 32 |
web-NotreDame | 325729 | 1497134 | 52 |
wiki-Talk | 2394385 | 5021410 | 263 |
从表1中可以得出,只有极少数顶点的度数很高,大多数顶点的度数很低。利用本分隔方法,设需将图分布在K=10台计算机上,即将图分为10个子图(也就是分区),以wiki-Talk图为例,具体的分割过程为:
1.根据步骤一,对图中的顶点按照度数排成非增序。
2.根据步骤二,取λ=0.1×dmax,其中dmax是wiki-Talk中的顶点度数的最大值,此时,Vlarge={u1,u2,…,u263}。
3.根据步骤三,对上述Vlarge中的263个顶点分布在10个子图中,结果为表2:
表2
4.根据步骤四,将与u1相邻的、没有被分割的顶点放在P1中,将与u2相邻的、没有被分割的顶点放在P2中,以此类推,直至将图中所有与Vlarge中的顶点连通的顶点分割完毕。
5.根据步骤五,对上述初步分割的结果进行调优,目标为减少不同分区之间交互边的数量。
6.根据步骤六至步骤十,将与Vlarge中的顶点不连通的顶点进行分割,目标是保持各分区间的顶点数量尽量相同。
经分割,最终各个分区间的交互边数量为10876条。
传统的基于Hash函数的分割算法,仅仅是根据顶点编号,根据一个预先给定的Hash函数进行分割,虽然能够实现各个分区的顶点数量相近,但是各个分区间的交互边数量很大。这里采用f(di)=i mod 10作为分割函数,分割后交互边数量为341708条。显然比本发明公开的面向大规模幂律分布图的分割方法产生了更多的交互边,也就使得在图计算过程中,通信量急剧增大。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (1)
1.一种面向大规模幂律分布图的分割方法,具体包括以下步骤,其特征在于,
输入图G=(V,E),其中,V={v1,v2,…,vn},E={(u,v)|u∈V∧v∈V},V为图的顶点集合,E为图的边集合,D={di|di=|{u|(u,vi)∈E}|}为顶点的度的集合,di为顶点vi的度;
步骤一:对图中所有顶点按度数进行排序,使得排序之后顶点的度数满足di≥dj,i<j;
步骤二:取Vlarge={vi|di≥λ},其中λ为给定的一个顶点度的阈值,设Vlarge={u1,u2,…,um};
步骤三:假设将图分为k个子图{P1,P2,…,Pk},且m≥k,将Vlarge中的顶点ui放入Pj中,其中j=i mod k;
步骤四:对于每个分区Pj(j=1,2,…,k)中的每一个顶点v,对{u|(u,v)∈E}中的每一个顶点u,如果u尚未放入任何一个分区中,则将u放入分区Pj中;
步骤五:使用模拟退火算法对上述分区结果进行调优,具体包括:
①:设定温度初始值T,温度最小值Tmin,每个T值迭代次数的迭代次数L;
②:取l=1;
③:取j=1;
④:取i=min{a|a∈[0,k]∧i≠j};
⑤:对于顶点v∈Pj,计算能量差ΔE=OE(Pnew)-OE(Pold),其中OE(Pold)是指未调整分区前交互边的条数,OE(Pnew)是将顶点v移动到分区Pi(i≠j)后交互边的条数;交互边是指满足((u,v)∈E∧u∈Pi∧v∈Pj∧i≠j)的边;
⑥:若ΔE<0,则将v转移到Pi中,否则计算转移概率若p>Random[0,1),则将v转移到Pi中,否则不转移;
⑦:取i=i+1,若i=j,则继续取i=i+1;
⑧:若i≤k,则转至⑤,否则取j=j+1,若j≤k,则转至④,否则继续进行⑨;
⑨:l=l+1,若l≤L,则转至③,否则进行⑩;
⑩:取T=αT(0<α<1),若T<Tmin,则输出当前的分区结果,否则进行②;
步骤六:取j=1;
步骤七:对于每个顶点v∈Pj,对{u|(u,v)∈E}中的每一个顶点u,如果u尚未放入任何一个分区中,则将u放入分区Pj中,若u已在其他分区Pi(i≠j)中,则进行步骤八;
步骤八:判断Pj和Pi中的顶点个数,如果两个分区中的顶点个数相差超过δ,则u移动到Pj中,否则u保留在Pi中;
步骤九:取j=j+1,若j≤k,则进行步骤七,否则继续步骤十;
步骤十:若仍有顶点未划分,则进行步骤六,否则结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810683562.9A CN109033191A (zh) | 2018-06-28 | 2018-06-28 | 一种面向大规模幂律分布图的分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810683562.9A CN109033191A (zh) | 2018-06-28 | 2018-06-28 | 一种面向大规模幂律分布图的分割方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109033191A true CN109033191A (zh) | 2018-12-18 |
Family
ID=65520556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810683562.9A Pending CN109033191A (zh) | 2018-06-28 | 2018-06-28 | 一种面向大规模幂律分布图的分割方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033191A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110264467A (zh) * | 2019-06-26 | 2019-09-20 | 西安电子科技大学 | 基于顶点切割的动态幂律图实时重划分方法 |
CN111552844A (zh) * | 2020-04-24 | 2020-08-18 | 山东科技大学 | 一种求解大规模多段图最短路径的分布式方法 |
WO2021027745A1 (zh) * | 2019-08-13 | 2021-02-18 | 华为技术有限公司 | 一种图重构方法及装置 |
WO2021238305A1 (zh) * | 2020-05-27 | 2021-12-02 | 深圳大学 | 一种基于强化学习的通用分布式图处理方法及系统 |
-
2018
- 2018-06-28 CN CN201810683562.9A patent/CN109033191A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110264467A (zh) * | 2019-06-26 | 2019-09-20 | 西安电子科技大学 | 基于顶点切割的动态幂律图实时重划分方法 |
CN110264467B (zh) * | 2019-06-26 | 2022-12-06 | 西安电子科技大学 | 基于顶点切割的动态幂律图实时重划分方法 |
WO2021027745A1 (zh) * | 2019-08-13 | 2021-02-18 | 华为技术有限公司 | 一种图重构方法及装置 |
US11914648B2 (en) | 2019-08-13 | 2024-02-27 | Huawei Technologies Co., Ltd. | Graph refactorization method and graph refactorization apparatus |
CN111552844A (zh) * | 2020-04-24 | 2020-08-18 | 山东科技大学 | 一种求解大规模多段图最短路径的分布式方法 |
CN111552844B (zh) * | 2020-04-24 | 2023-07-04 | 山东科技大学 | 一种求解大规模多段图最短路径的分布式方法 |
WO2021238305A1 (zh) * | 2020-05-27 | 2021-12-02 | 深圳大学 | 一种基于强化学习的通用分布式图处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033191A (zh) | 一种面向大规模幂律分布图的分割方法 | |
CN107231255B (zh) | 一种复杂系统的能控性对相继故障的鲁棒性建模方法 | |
CN111210432B (zh) | 一种基于多尺度多级注意力机制的图像语义分割方法 | |
CN105976048A (zh) | 一种基于改进人工蜂群算法的输电网扩展规划方法 | |
CN108876016B (zh) | 一种多阶段多目标给水管网优化分区方法 | |
CN105005583A (zh) | 一种社交网络中信息转发增量的预测方法及系统 | |
CN111382320A (zh) | 一种面向知识图谱的大规模数据增量处理方法 | |
CN102999876B (zh) | 一种电力系统全网负荷模型库的构建方法 | |
CN109697206A (zh) | 一种分布式函数依赖关系挖掘方法 | |
CN104700311B (zh) | 一种社会网络中的邻域跟随社区发现方法 | |
CN117235950B (zh) | 基于牛顿迭代法的天然气管网稳态仿真方法、介质及设备 | |
CN116662412B (zh) | 一种电网配用电大数据的数据挖掘方法 | |
CN112887943A (zh) | 一种基于中心度的缓存资源分配方法及系统 | |
CN115118591B (zh) | 一种基于联盟博弈的簇联邦学习方法 | |
Lan et al. | Tightening upper bounds for mining weighted frequent itemsets | |
CN113191486B (zh) | 基于参数服务器架构的图数据与参数数据的混合划分方法 | |
CN104268270A (zh) | 基于MapReduce挖掘海量社交网络数据中三角形的方法 | |
CN104462238B (zh) | 一种基于数据离散度无关性的数据立方体构建方法 | |
Abe et al. | Aggregation skip graph: A skip graph extension for efficient aggregation query over p2p networks | |
CN111767567A (zh) | 社交信息安全管理方法 | |
CN106934489B (zh) | 一种面向复杂网络的时序链路预测方法 | |
CN111813542A (zh) | 一种并行处理大规模图分析任务的负载均衡方法及其装置 | |
裴小兵 et al. | Permutation flow shop scheduling problem based on hybrid binary distribution estimation Algorithm | |
Li et al. | Virtual network embedding based on multi-objective group search optimizer | |
Koshti et al. | Online partitioning of large graphs for improving scalability in recommender systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |
|
RJ01 | Rejection of invention patent application after publication |