CN109033191A - 一种面向大规模幂律分布图的分割方法 - Google Patents

一种面向大规模幂律分布图的分割方法 Download PDF

Info

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
Application number
CN201810683562.9A
Other languages
English (en)
Inventor
崔焕庆
牛健
魏永山
张峰
徐强
荣炫宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University of Science and Technology
Original Assignee
Shandong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong University of Science and Technology filed Critical Shandong University of Science and Technology
Priority to CN201810683562.9A priority Critical patent/CN109033191A/zh
Publication of CN109033191A publication Critical patent/CN109033191A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social 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,则进行步骤七,否则继续步骤十;
步骤十:若仍有顶点未划分,则进行步骤六,否则结束。
CN201810683562.9A 2018-06-28 2018-06-28 一种面向大规模幂律分布图的分割方法 Pending CN109033191A (zh)

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)

* Cited by examiner, † Cited by third party
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 深圳大学 一种基于强化学习的通用分布式图处理方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
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