CN111597664A - 一种社交网络布局方法、系统及其存储介质 - Google Patents
一种社交网络布局方法、系统及其存储介质 Download PDFInfo
- Publication number
- CN111597664A CN111597664A CN202010262618.0A CN202010262618A CN111597664A CN 111597664 A CN111597664 A CN 111597664A CN 202010262618 A CN202010262618 A CN 202010262618A CN 111597664 A CN111597664 A CN 111597664A
- Authority
- CN
- China
- Prior art keywords
- node
- social network
- force
- mass
- point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 40
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 238000010586 diagram Methods 0.000 claims description 49
- 238000010276 construction Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 11
- 238000003672 processing method Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 5
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims 4
- 239000002994 raw material Substances 0.000 abstract description 9
- 238000005265 energy consumption Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 238000000329 molecular dynamics simulation Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种社交网络布局方法、系统及其存储介质,解决海量节点的复杂社交网络的图形化问题,通过本技术的应用实施,BH算法在社交网络方面的应用可以进一步优化,以提升计算速度,同时提高产率、质量、精度和效率;采用质量距离比控制Node和非叶节点两点距离之间是否产生有效作用力,降低了计算精度,减少了计算次数,从而提高了计算效率,计算精度和次数的降低,节省了能耗、原材料、工序,使得加工、操作、控制、使用更为简便。
Description
技术领域
本申请涉及社交网络图形处理技术领域,具体而言,涉及一种社交网络布局方法、系统及其存储介质。
背景技术
社交网络由人和人际关系构成,将社交网络图形化,就得到代表人的点和代表关系的线组成的网络图。
改变图的布局,把存在关系的点拉近,不存在关系的点推远,通过这种变化,可以让图中的重要点,主要关系,关系网,聚集群等更加明显。
力导向布局图,又叫力学图,是一种建立在力学仿真模型基础上的图,图形中的点在系统中的各种力的作用下不断运动,达到图形变化的效果。
Links力,连接两个点的边,对两个点存在牵引力,牵引力的大小跟点之间的距离成正比。
N-Body力来源于N-Body问题,设定了初始位置,质量,速度的N个点(天体或粒子)在相互作用力下的运动过程,节点间的相互作用力可以是宏观的万有引力,
也可以是微观的库伦斥力。N-Body问题广泛用于天体物理,等离子体物理,分子动力学等。
由上可知,力导向图同时施加Links力,和N-Body力可以很好的完成社交网络的这个布局变化。
目前已经有人将力导向图用于社交网络数据的可视化应用上,并取得了不错的效果,但是在N-Body力上,采用的是PP算法,即计算所有点两两间的作用力,这种算法的优点是精度高,实现简单,在N的数量小的情况下有不错的效果。而随着N增大,PP算法的时间消耗成几何增长,让人无法承受。
发明内容
本申请的主要目的在于提供一种社交网络布局方法、系统及其存储介质,通过低精度高效率Barnes-Hut(BH)算法来实现N-Body力的模拟,以解决目前的问题。
为了实现上述目的,本申请提供了如下技术:
本发明的第一目的在于提出一种社交网络图布局方法,包括如下步骤:
S100、数据点初始化处理:初始化社交网络图的的所有点,根据点总数确定图的范围(W,H),并将点随机分布到社交网络图中,保证点不重叠,并为每个点设置质量;计算图总质量M;
S101、构造四叉树:利用BH算法将图形空间递归的等分为四个小区域,直到每个区域仅包含一个点Node;根据上述社交网络图划分原则创造四叉树,树的根节点代表区域,叶节点代表Node,自下而上计算每个区域的总质量和区域的质心,同时记录在根节点;
S102、计算BH四叉树根节点的质量和质心:对BH树,从根节点按照深度优先的顺序,依次计算每个非叶节点的质量m,质心(x,y),在社交网络图中质量占比Rm;
S103、计算每个节点N-Body力:从ROOT开始遍及BH树,对每一个网络连接端点计算其作用力,从根节点出发遍历四叉树,计算合力;为了判断确定远近不同的Node和非叶节点两点距离之间是否产生有效作用力,采取质量距离比进行判定,质量距离比为Rml,质量距离比Rml的计算公式为:Rml=RM/RL,其中RM为区域质量和图形总质量的比值,RL为点和区域质心距离和图形宽度的比值,设定其阀值为a;如果Rml>a,则计算区域对点的作用力;
S104、计算每个节点的Links力;
S105、根据合力移动:在单位时间根据作用力移动每个点;
S106、如果得到移动后的社交网络图,即结束,如果没有得到移动后的社交网络图,则返回S101步骤的前一步,重新构造四叉树。
其中,在步骤S103中,计算合力时:如果Node和非叶节点的质心距离远,则把此非叶节点包含的分支作为整体,位置为质心,质量为分支总质量,来计算合力;如果Node和非叶节点的质心距离近,则递归遍历此节点的所有子节点;如果为叶子节点,则直接计算作用力。
进一步地,在步骤S100中,对任意一个点Node,根据距离远近,可以认为一部分点距离Node较近,剩余的点距离Node较远:距离较近的点,两点间互相作用力大,直接计算作用力;距离较远的点,可以认为相互作用力较小,把距离较远的点看作一个整体,联合起来计算作用力。
进一步地,在步骤S101中,四叉树的构造方法采用四分法,根据步骤S100的图信息创建一个空的四叉树,根节点为ROOT,依照图划分原则把图上的点依次放到建立的四叉树上,四叉树建造步骤具体为:
从ROOT节点开始检查;
如果节点不包含节点,也不包含分支,就把新的点放到当前节点;
如果节点包含分支,根据四分法确定新的点属于第几象限,然后递归进入对应的分支安放新的点;
如果节点包含一个其他的图形点,就将此节点对应的区域划分成四个象限,分别将原来包含的点和新的点递归的放到对应的分支。
进一步地,质量距离比Rml的范围为0.8-1.2。
进一步地,在步骤S102中,BH四叉树根节点的质量和质心的计算步骤具体为:
在此设:根节点的质量为m,子节点的质量即为m1、m2、m3和m4,x是根节点在x轴上的坐标,y是根节点在y轴上的坐标,4个子节点的位置坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),质量分布为m1,m2,m3,m4,则有:
m=m1+m2+m3+m4;
x=(x1×m1+x2×m2+x3×m3+x4×m4)/m;
y=(y1×m1+y2×m2+y3×m3+y4×m4)/m;
Rm=m/M。
进一步地,在步骤S103中,计算每个点N-Body力的步骤为:
在此设:点的质量为m0,点在x方向的移动速度Vx,点在y方向的移动速度Vy,计算图点和数节点的距离r,则有:
dx=x2-x0,
dy=y2-y0,
r=sqrt(dx×dx+dy×dy),
RL=r/W,
Rml=RM/RL,
如果Rml>a,计算区域对点的作用力;
同时,计算库伦系数k:k=100×w×w/N,
Fk=k×(m0×m)/(r×r),
Vk=Fk×t/m0,
vx=vx+Vk×dx,
vy=vy+Vk×dy。
进一步地,在步骤S104中,Links力的计算步骤包括:
胡克系数:h=0.005×w×w/N,
Fh=h×r,
vx=vx+Vh×dx,
vy=vy+VK×dy。
进一步地,在步骤S105中,单位时间内根据作用力移动的每个点的位移计算公式为:
x0=x0+vx×t,
y0=y0+vy×t。
本发明的第二目的在于提出一种社交网络图处理系统,包括:节点初始化模块、构造四叉树模块、节点质量和质心计算模块、节点N-Body力计算模块、节点的Links力计算模块和判断模块;
节点初始化模块:初始化社交网络图的的所有点,根据点总数确定图的范围(W,H),并将点随机分布到社交网络图中,保证点不重叠,并为每个点设置质量;
构造四叉树模块:利用BH算法将图形空间递归的等分为四个小区域,直到每个区域仅包含一个节点Node;
节点质量和质心计算模块:对BH树,从根节点按照深度优先的顺序,依次计算每个非叶节点的质量m,质心(x,y),在社交网络图中质量占比Rm;
节点N-Body力计算模块:从ROOT开始遍及BH树,对每一个网络连接端点计算其作用力,从根节点出发遍历四叉树,计算合力;
节点的Links力计算模块:用于计算每个节点的Links力;
判断模块:根据合力移动每个节点后,对比是否能够得到移动后的社交网络图,能够得到即结束,不能得到返回构造四叉树模块,再次重新构造四叉树。
本发明的第三目的在于提出一种社交网络图处理的存储介质,存储有可执行指令,用于引起处理器执行时,实现权利要求1至10中任一项所述的社交网络图处理方法。
与现有技术相比较,本申请能够带来如下技术效果:
1、通过本技术的应用实施,BH算法在社交网络方面的应用可以进一步优化,以提升计算速度,同时提高产率、质量、精度和效率;
2、采用质量距离比控制Node和非叶节点两点距离之间是否产生有效作用力,降低了计算精度,减少了计算次数,从而提高了计算效率,使用质量距离比来判断是否计算两点作用力,可以省略质量很小但距离在距离阈值内的点的作用力计算,同时又能将质量较大,距离超出距离阈值的点的作用力计算,更加符合实际情况,计算结果让点分布更合理;
3、计算精度和次数的降低,节省了能耗、原材料、工序,使得加工、操作、控制、使用更为简便。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明的实施流程图;
图2是简单社交网的初始点分布图;
图3是根据算法创建好的四叉树模型图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
另外,术语“多个”的含义应为两个以及两个以上。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需注意N-Body算法需要经过多次迭代得到最终的形态,每次迭代计算出每个点的合力,并在合力作用下,在单位时间内移动相应的距离。是否达到预设条件,是算法执行前设置的结束条件,通常设置为迭代的次数,或者算法运行的最大时间。
如附图1、2和3所示,一种具备改进性N-Body计算方法的社交网络图布局方法,根据算法开始设置的结束条件,判断算法是否完成。在实例中可以设置迭代次数为1000,计数器初始为0,每次迭代计数器i加1,那么次处的判断就是i是否大于等于1000。在实际应用中,算法结束判断可以是复杂的条件,不应该仅限于使用计数器。包括如下步骤:
S100、数据点初始化处理:初始化社交网络图的的所有点,根据点总数确定图的范围(W,H),并将点随机分布到社交网络图中,保证点不重叠,并为每个点设置质量;计算图总质量M;
S101、构造四叉树:利用BH算法将图形空间递归的等分为四个小区域,直到每个区域仅包含一个点Node;根据上述社交网络图划分原则创造四叉树,树的根节点代表区域,叶节点代表Node,自下而上计算每个区域的总质量和区域的质心,同时记录在根节点;
S102、计算BH四叉树根节点的质量和质心:对BH树,从根节点按照深度优先的顺序,依次计算每个非叶节点的质量m,质心(x,y),在社交网络图中质量占比Rm;
S103、计算每个节点N-Body力:从ROOT开始遍及BH树,对每一个网络连接端点计算其作用力,从根节点出发遍历四叉树,计算合力;为了判断确定远近不同的Node和非叶节点两点距离之间是否产生有效作用力,采取质量距离比进行判定,质量距离比为Rml,质量距离比Rml的计算公式为:Rml=RM/RL,其中RM为区域质量和图形总质量的比值,RL为点和区域质心距离和图形宽度的比值,设定其阀值为a;如果Rml>a,则计算区域对点的作用力;
S104、计算每个节点的Links力;
S105、根据合力移动:在单位时间根据作用力移动每个点;
S106、如果得到移动后的社交网络图,即结束,如果没有得到移动后的社交网络图,则返回S101步骤的前一步,重新构造四叉树。
其中,在步骤S103中,计算合力时:如果Node和非叶节点的质心距离远,则把此非叶节点包含的分支作为整体,位置为质心,质量为分支总质量,来计算合力;如果Node和非叶节点的质心距离近,则递归遍历此节点的所有子节点;如果为叶子节点,则直接计算作用力。
进一步地,在步骤S100中,对任意一个点Node,根据距离远近,可以认为一部分点距离Node较近,剩余的点距离Node较远:距离较近的点,两点间互相作用力大,直接计算作用力;距离较远的点,可以认为相互作用力较小,把距离较远的点看作一个整体,联合起来计算作用力。
进一步地,在步骤S101中,四叉树的构造方法采用四分法,根据步骤S100的图信息创建一个空的四叉树,根节点为ROOT,依照图划分原则把图上的点依次放到建立的四叉树上,四叉树建造步骤具体为:
从ROOT节点开始检查;
如果节点不包含节点,也不包含分支,就把新的点放到当前节点;
如果节点包含分支,根据四分法确定新的点属于第几象限,然后递归进入对应的分支安放新的点;
如果节点包含一个其他的图形点,就将此节点对应的区域划分成四个象限,分别将原来包含的点和新的点递归的放到对应的分支。
进一步地,质量距离比Rml的范围为0.8-1.2。
进一步地,在步骤S102中,BH四叉树根节点的质量和质心的计算步骤具体为:
在此设:根节点的质量为m,子节点的质量即为m1、m2、m3和m4,x是根节点在x轴上的坐标,y是根节点在y轴上的坐标,4个子节点的位置坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),质量分布为m1,m2,m3,m4,则有:
m=m1+m2+m3+m4;
x=(x1×m1+x2×m2+x3×m3+x4×m4)/m;
y=(y1×m1+y2×m2+y3×m3+y4×m4)/m;
Rm=m/M。
进一步地,在步骤S103中,计算每个点N-Body力的步骤为:
在此设:点的质量为m0,点在x方向的移动速度Vx,点在y方向的移动速度Vy,计算图点和数节点的距离r,则有:
dx=x2-x0,
dy=y2-y0,
r=sqrt(dx×dx+dy×dy),
RL=r/W,
Rml=RM/RL,
如果Rml>a,计算区域对点的作用力;
同时,计算库伦系数k:k=100×w×w/N,
Fk=k×(m0×m)/(r×r),
Vk=Fk×t/m0,
vx=vx+Vk×dx,
vy=vy+Vk×dy。
进一步地,在步骤S104中,Links力的计算步骤包括:
胡克系数:h=0.005×w×w/N,
Fh=h×r,
vx=vx+Vh×dx,
vy=vy+VK×dy。
进一步地,在步骤S105中,单位时间内根据作用力移动的每个点的位移计算公式为:
x0=x0+vx×t,
y0=y0+vy×t。
进一步地,在步骤S105中,单位时间内根据作用力移动的每个点的位移计算公式为:
x0=x0+vx×t,
y0=y0+vy×t。
一种社交网络图处理系统,包括:节点初始化模块、构造四叉树模块、节点质量和质心计算模块、节点N-Body力计算模块、节点的Links力计算模块和判断模块;
节点初始化模块:初始化社交网络图的的所有点,根据点总数确定图的范围(W,H),并将点随机分布到社交网络图中,保证点不重叠,并为每个点设置质量;
构造四叉树模块:利用BH算法将图形空间递归的等分为四个小区域,直到每个区域仅包含一个节点Node;
节点质量和质心计算模块:对BH树,从根节点按照深度优先的顺序,依次计算每个非叶节点的质量m,质心(x,y),在社交网络图中质量占比Rm;
节点N-Body力计算模块:从ROOT开始遍及BH树,对每一个网络连接端点计算其作用力,从根节点出发遍历四叉树,计算合力;
节点的Links力计算模块:用于计算每个节点的Links力;
判断模块:根据合力移动每个节点后,对比是否能够得到移动后的社交网络图,能够得到即结束,不能得到返回构造四叉树模块,再次重新构造四叉树。
一种社交网络图处理的存储介质,存储有可执行指令,用于引起处理器执行时,实现权利要求1至10中任一项所述的社交网络图处理方法。
与现有技术相比较,本申请能够带来如下技术效果:
1、通过本技术的应用实施,BH算法在社交网络方面的应用可以进一步优化,以提升计算速度,同时提高产率、质量、精度和效率;
2、采用质量距离比控制Node和非叶节点两点距离之间是否产生有效作用力,降低了计算精度,减少了计算次数,从而提高了计算效率,使用质量距离比来判断是否计算两点作用力,可以省略质量很小但距离在距离阈值内的点的作用力计算,同时又能将质量较大,距离超出距离阈值的点的作用力计算,更加符合实际情况,计算结果让点分布更合理;
3、计算精度和次数的降低,节省了能耗、原材料、工序,使得加工、操作、控制、使用更为简便。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种社交网络图布局方法,其特征在于,包括如下步骤:
S100、数据点初始化处理:初始化社交网络图的的所有点,根据点总数确定图的范围(W,H),并将点随机分布到社交网络图中,保证点不重叠,并为每个点设置质量;计算图总质量M;
S101、构造四叉树:利用BH算法将图形空间递归的等分为四个小区域,直到每个区域仅包含一个点Node;根据上述社交网络图划分原则创造四叉树,树的根节点代表区域,叶节点代表Node,自下而上计算每个区域的总质量和区域的质心,同时记录在根节点;
S102、计算BH四叉树根节点的质量和质心:对BH树,从根节点按照深度优先的顺序,依次计算每个非叶节点的质量m,质心(x,y),在社交网络图中质量占比Rm;
S103、计算每个节点N-Body力:从ROOT开始遍及BH树,对每一个网络连接端点计算其作用力,从根节点出发遍历四叉树,计算合力;为了判断确定远近不同的Node和非叶节点两点距离之间是否产生有效作用力,采取质量距离比进行判定,质量距离比为Rml,质量距离比Rml的计算公式为:Rml=RM/RL,其中RM为区域质量和图形总质量的比值,RL为点和区域质心距离和图形宽度的比值,设定其阀值为a;如果Rml>a,则计算区域对点的作用力;
S104、计算每个节点的Links力;
S105、根据合力移动:在单位时间根据作用力移动每个点;
S106、根据算法开始设置的结束条件,判断算法是否完成:如果符合预设条件,即得到移动后的社交网络图,即结束;如果不符合预设条件,没有得到移动后的社交网络图,则返回S101步骤的前一步,重新构造四叉树。
2.如权利要求1所述的一种社交网络图布局方法,其特征在于,在步骤S100中,对任意一个点Node,根据距离远近,可以认为一部分点距离Node较近,剩余的点距离Node较远:距离较近的点,两点间互相作用力大,直接计算作用力;距离较远的点,可以认为相互作用力较小,把距离较远的点看作一个整体,联合起来计算作用力。
3.如权利要求1所述的一种社交网络图布局方法,其特征在于,在步骤S101中,四叉树的构造方法采用四分法,根据步骤S100的图信息创建一个空的四叉树,根节点为ROOT,依照图划分原则把图上的点依次放到建立的四叉树上,四叉树建造步骤具体为:
从ROOT节点开始检查;
如果节点不包含节点,也不包含分支,就把新的点放到当前节点;
如果节点包含分支,根据四分法确定新的点属于第几象限,然后递归进入对应的分支安放新的点;
如果节点包含一个其他的图形点,就将此节点对应的区域划分成四个象限,分别将原来包含的点和新的点递归的放到对应的分支。
4.如权利要求1-3任一所述的一种社交网络图布局方法,其特征在于,质量距离比Rml的范围为0.8-1.2。
5.如权利要求1所述的一种社交网络图处理方法,其特征在于,在步骤S102中,BH四叉树根节点的质量和质心的计算步骤具体为:
在此设:根节点的质量为m,子节点的质量即为m1、m2、m3和m4,x是根节点在x轴上的坐标,y是根节点在y轴上的坐标,4个子节点的位置坐标分别为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),质量分布为m1,m2,m3,m4,则有:
m=m1+m2+m3+m4;
x=(x1×m1+x2×m2+x3×m3+x4×m4)/m;
y=(y1×m1+y2×m2+y3×m3+y4×m4)/m;
Rm=m/M。
6.如权利要求1所述的一种社交网络图处理方法,其特征在于,在步骤S103中,计算每个点N-Body力的步骤为:
在此设:点的质量为m0,点在x方向的移动速度Vx,点在y方向的移动速度Vy,计算图点和数节点的距离r,则有:
dx=x2-x0,
dy=y2-y0,
r=sqrt(dx×dx+dy×dy),
RL=r/W,
Rml=RM/RL,
如果Rml>a,计算区域对点的作用力;
同时,计算库伦系数k:k=100×w×w/N,
Fk=k×(m0×m)/(r×r),
Vk=Fk×t/m0,
vx=vx+Vk×dx,
vy=vy+Vk×dy。
7.如权利要求1所述的一种社交网络图处理方法,其特征在于,在步骤S104中,Links力的计算步骤包括:
胡克系数:h=0.005×w×w/N,
Fh=h×r,
vx=vx+Vh×dx,
vy=vy+VK×dy。
8.如权利要求1所述的一种社交网络图处理方法,其特征在于,在步骤S105中,单位时间内根据作用力移动的每个点的位移计算公式为:
x0=x0+vx×t,
y0=y0+vy×t。
9.一种社交网络图处理系统,其特征在于,包括:节点初始化模块、构造四叉树模块、节点质量和质心计算模块、节点N-Body力计算模块、节点的Links力计算模块和判断模块;
节点初始化模块:初始化社交网络图的的所有点,根据点总数确定图的范围(W,H),并将点随机分布到社交网络图中,保证点不重叠,并为每个点设置质量;
构造四叉树模块:利用BH算法将图形空间递归的等分为四个小区域,直到每个区域仅包含一个节点Node;
节点质量和质心计算模块:对BH树,从根节点按照深度优先的顺序,依次计算每个非叶节点的质量m,质心(x,y),在社交网络图中质量占比Rm;
节点N-Body力计算模块:从ROOT开始遍及BH树,对每一个网络连接端点计算其作用力,从根节点出发遍历四叉树,计算合力;
节点的Links力计算模块:用于计算每个节点的Links力;
判断模块:根据合力移动每个节点后,对比是否能够得到移动后的社交网络图,能够得到即结束,不能得到返回构造四叉树模块,再次重新构造四叉树。
10.一种社交网络图处理的存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至10中任一项所述的社交网络图处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010262618.0A CN111597664B (zh) | 2020-04-03 | 2020-04-03 | 一种社交网络布局方法、系统及其存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010262618.0A CN111597664B (zh) | 2020-04-03 | 2020-04-03 | 一种社交网络布局方法、系统及其存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597664A true CN111597664A (zh) | 2020-08-28 |
CN111597664B CN111597664B (zh) | 2021-12-31 |
Family
ID=72190442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010262618.0A Active CN111597664B (zh) | 2020-04-03 | 2020-04-03 | 一种社交网络布局方法、系统及其存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597664B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110283205A1 (en) * | 2010-05-14 | 2011-11-17 | Microsoft Corporation | Automated social networking graph mining and visualization |
CN103678671A (zh) * | 2013-12-25 | 2014-03-26 | 福州大学 | 一种社交网络中的动态社区检测方法 |
CN106919584A (zh) * | 2015-12-26 | 2017-07-04 | 华为技术有限公司 | 一种拓扑图的布局方法及装置 |
CN109829337A (zh) * | 2019-03-07 | 2019-05-31 | 广东工业大学 | 一种社会网络隐私保护的方法、系统及设备 |
-
2020
- 2020-04-03 CN CN202010262618.0A patent/CN111597664B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110283205A1 (en) * | 2010-05-14 | 2011-11-17 | Microsoft Corporation | Automated social networking graph mining and visualization |
CN102893275A (zh) * | 2010-05-14 | 2013-01-23 | 微软公司 | 自动社交网络图挖掘和可视化 |
CN103678671A (zh) * | 2013-12-25 | 2014-03-26 | 福州大学 | 一种社交网络中的动态社区检测方法 |
CN106919584A (zh) * | 2015-12-26 | 2017-07-04 | 华为技术有限公司 | 一种拓扑图的布局方法及装置 |
CN109829337A (zh) * | 2019-03-07 | 2019-05-31 | 广东工业大学 | 一种社会网络隐私保护的方法、系统及设备 |
Non-Patent Citations (3)
Title |
---|
JOSH BARNES 等: "A hierarchical O (N log N)force-calculation algorithm", 《NATURE》 * |
MYLOVELYLYDIA: "Barnes-Hut算法", 《HTTPS://BLOG.CSDN.NET/MYLOVELYLYDIA/ARTICLE/DETAILS/52910588》 * |
赵润乾 等: "大规模社交网络社区发现及可视化算法", 《计算机辅助设计与图形学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111597664B (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105676642B (zh) | 一种六自由度机器人工位布局与运动时间协同优化方法 | |
CN102831306B (zh) | 一种用于喷涂机器人的分层喷涂轨迹规划方法 | |
CN104318056B (zh) | 基于位置动力学的软组织变形和切割模拟方法 | |
CN110181508B (zh) | 水下机器人三维航路规划方法及系统 | |
CN104548597B (zh) | 导航网格的自动生成方法和装置 | |
CN109871021B (zh) | 一种基于粒子群优化算法的机器人导航方法 | |
CN103394430A (zh) | 一种基于片间盲区优化工艺的复杂曲面均匀喷涂制造方法 | |
CN101593366A (zh) | 一种基于平衡二叉树的大规模虚拟场景碰撞检测方法 | |
CN103268634B (zh) | 一种外存模型基于顶点聚类的快速并行自适应简化方法 | |
CN106362897A (zh) | 一种自动化喷涂系统集成喷涂工艺的喷涂路径规划算法 | |
CN101408991A (zh) | 一种插值型细分和逼近型细分相融合的曲面造型方法 | |
CN113110412B (zh) | 一种基于Voronoi-APF算法的群组机器人路径规划方法 | |
CN105261062A (zh) | 一种人物分段建模方法 | |
CN113722821B (zh) | 一种航天器交会对接轨迹规划事件约束的凸化方法 | |
CN106981097A (zh) | 一种基于分区局部光顺权因子的t样条曲面拟合方法 | |
CN108297105A (zh) | 一种机械臂任务级时间最优轨迹规划方法 | |
CN107886569A (zh) | 一种基于离散李导数的测度可控的曲面参数化方法及系统 | |
CN103366402A (zh) | 三维虚拟服饰的快速姿态同步方法 | |
CN103480534A (zh) | 机器人喷涂工件曲面造型方法 | |
CN101276483B (zh) | 一种实现平移敏感的Laplacian网格编辑方法 | |
CN111597664B (zh) | 一种社交网络布局方法、系统及其存储介质 | |
CN107123138A (zh) | 基于vanilla‑R点对剔除策略的点云配准算法 | |
CN106709601A (zh) | 基于元胞量子遗传算法与ph曲线相结合的无人机三维航迹规划方法 | |
CN103903304B (zh) | 用于产品三维数据处理的任意四边形曲面中轴线生成方法 | |
CN106934853A (zh) | 一种基于点云模型的汽车工件表面法向量的求取方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |