当前位置: 首页 > 专利查询>湖南大学专利>正文

一种二分图的(p,q)-二分团枚举和计数方法技术

技术编号:32331790 阅读:59 留言:0更新日期:2022-02-16 18:39
本发明专利技术提供一种二分图的(p,q)

【技术实现步骤摘要】
一种二分图的(p,q)

二分团枚举和计数方法


[0001]本专利技术属于图像分析
,具体涉及一种二分图的(p,q)

二分团枚举方法。

技术介绍

[0002]近年来,二分图上的BC和BE是图数据挖掘领域的基础问题和研究热点。B(p,q)是一种更一般化的二分团类型,BC(p,q)和BE(p,q)是一种新兴的二分团问题,有着重要的研究和应用价值。一方面,随着移动互联网的发展,人们以社交平台和移动应用为载体进行信息交互,产生了大量的二分图数据,例如用户订购电影票,用户在线购物等行为都可以抽象成以用户群体为左部顶点集、电影(或商品)为右部顶点集、用户和电影(或商品)之间的订购关系为边的二分图。在现实场景中,用户群组画像,用户好友推荐,商家用户群体推荐等应用,都可以通过设定参数p和q来分别限定左部用户和右部电影(或商品)的相似性程度和规模对用户历史的二分图数据进行BC(p,q)和BE(p,q)分析来实现不同相似性粒度和规模的应用需求。另一方面,随着人工智能技术在工业界和学术界的兴起,神经网络技术被广泛应用于各种问题的建模和求解,GNN(graph neural network)是其中一种重要的神经网络连接模型,是GNN中的一个关键步骤,BE(p,q)可以用来对信息聚合过程进行计算优化。
[0003]目前的二分团的计数和枚举方法,主要针对BTF和MB这两种特殊类型的二分团进行研究和设计。
[0004]针对BTF的BC(2,2)问题,最基础的精确算法是基于单层枚举的计算框架,首先随机选择给定二分图的左部(或者右部),然后对于左部(或者右部)顶点集中的每个顶点u,去计算它的两跳邻居集N_2,对N_2中的每个顶点w,计算u和w邻居集的交集的顶点个数N_uw,则包含u,w的BTF个数为N_uw*(N_uw

1)/2,累加得到包含u的BTF个数为T_u,最后累加T_u,得到二分图中所有的BTF个数的两倍为2*T。近些年,BC(2,2)相关精确方法都是对计算框架进行优化,主要包括以下几个方面:1)layer

based,通过分别对左部和右部单层枚举的计算开销进行预计算,选择开销较小的一侧进行枚举,来避免随机选择可能引发的较大计算开销。2)vertex priority based,通过顶点优先的策略,来选择当前过程中计算开销更小的一侧顶点进行枚举,以进一步减小计算开销。
[0005]针对MB的MBE问题,经典的BK(Bron

Kerbosch)算法,设计了一种回溯递归算法来解决MBE问题,定义了目前找到的团集合R、候选顶点集合P和已经被访问过的顶点集合X,用这三个集合来描述当前的搜索状态,每次从P中选择一个顶点到R中进行递归搜索,搜索过程结束后将该顶点移入X中,依次递归直到结束。基于BK算法的启发,iMBEA(improved maximal biclique enumeration algorithm)方法,结合回溯法和分支定界法框架,通过引入有效的剪枝策略提前剪除无法生成MB的无效分支,来提高算法的效率。PMBE(pivot

based maximal biclique enumeration)方法,通过引入基于枢纽的搜索策略,在递归时先选定一个枢纽点pivot,则下一步的递归调用被限定在pivot的非邻居顶点中,以此来尽早删除无效分支,从而进一步提高递归效率并减少枚举空间。
[0006]BTF和MB这两种特殊类型的二分团在解决图任务场景的应用中有着自身的局限
性:在现实场景下的大规模用户历史数据二分图中,BTF限定了左、右部各为2个顶点,规模太小而无法表达用户的群体行为,MB不限定左、右的顶点数,规模太大而模糊了群体中的个体特征。这种两级规模的二分团难以满足用户个性化的定制需求,而造成二分团在实际应用中的普适性不高。
[0007]现有的BC(2,2)和MBE方法是针对BTF和MB这两种特殊类型的二分团设计的高效算法,无法直接用于解决BC(p,q)和BE(p,q)问题,通过上述方法间接解决BC(p,q)和BE(p,q)问题的计算效率较低,难以适配现有任务的时效性要求。

技术实现思路

[0008]针对现有技术的改进需求和不足,本专利技术提供了一种二分图的(p,q)

二分团计数和枚举方法,通过设定二分团的左、右部规模参数p和q,来提供不同规模的二分团类型,从而解决用户个性化的定制需求问题。同时,针对BC(p,q)和BE(p,q)问题设计了基于顶点排序的分支定界算法以及提出了基于局部二分团的候选集约束规则、基于τ

强度二跳邻居的候选集约束规则、基于规模的二分团有效性约束规则等剪枝策略来减少搜索树的搜索空间,以解决现有技术计算效率较低,无法满足时效性要求的问题。
[0009]一种二分图的(p,q)

二分团枚举和计数方法,包括以下步骤:
[0010](1)获取左部顶点集U、右部顶点集V和边集E的二分图G,并从用户处接收指定的二分团规模参数p和q;
[0011](2)以G、p、q为函数参数,执行计算τ

强度二跳邻居的算法;
[0012](3)计算顶点优先度,生成有序顶点序列;
[0013](4)根据顶点有序顶点序列和二分图边集E,将二分图G转换为有向二分图DG;
[0014](5)初始化当前二分团左部顶点集L和右部顶点集R为空集,初始化当前左部顶点候选集CL为U、右部顶点候选集CR为V,初始化全局的所有B(p,q)的结果集合C为空,或者初始化全局的所有B(p,q)的总计数T=0;
[0015](6)以L、R、CL、CR为函数参数,执行基于顶点排序的分支定界算法VertexBasedListing;
[0016](7)输出全局的结果集合C或者计数结果T给用户。
[0017]进一步的,步骤(2)中,计算τ

强度二跳邻居的算法,具体步骤为:
[0018]2‑
1、遍历二分图G中左部顶点集U和右部顶点集V中的每个顶点u。
[0019]2‑
2、为顶点u创建一个对应的哈希表Hu,初始化H中每个键对应的值为0,创建一个对应的全局的τ

强度二跳邻居集合N(u,τ),初始化为空集。
[0020]2‑
3、遍历顶点u的邻居集Nu中的每个邻居v。
[0021]2‑
4、遍历邻居v的邻居集Nv中的每个邻居w。
[0022]2‑
5、判断w是否等于u,是则将u对应哈希表中以w为键的值Hu[w]加1,否则不做操作。
[0023]2‑
6、遍历u对应哈希表Hu的键集合中的每个顶点k。
[0024]2‑
7、判断u是否属于二分图G中左部顶点集L并且Hu[k]不小于二部团右部规模参数q,是则执行2

9,否则执行2...

【技术保护点】

【技术特征摘要】
1.一种二分图的(p,q)

二分团枚举和计数方法,其特征在于,包括以下步骤:(1)获取左部顶点集U、右部顶点集V和边集E的二分图G,并从用户处接收指定的二分团规模参数p和q;(2)以G、p、q为函数参数,执行计算τ

强度二跳邻居的算法;(3)计算顶点优先度,生成有序顶点序列;(4)根据顶点有序顶点序列和二分图边集E,将二分图G转换为有向二分图DG;(5)初始化当前二分团左部顶点集L和右部顶点集R为空集,初始化当前左部顶点候选集CL为U、右部顶点候选集CR为V,初始化全局的所有B(p,q)的结果集合C为空,或者初始化全局的所有B(p,q)的总计数T=0;(6)以L、R、CL、CR为函数参数,执行基于顶点排序的分支定界算法VertexBasedListing;(7)输出全局的结果集合C或者计数结果T给用户。2.根据权利要求1所述的一种二分图的(p,q)

二分团枚举和计数方法,其特征在于,步骤(2)中,计算τ

强度二跳邻居的算法,具体步骤为:2

1、遍历二分图G中左部顶点集U和右部顶点集V中的每个顶点u;2

2、为顶点u创建一个对应的哈希表Hu,初始化H中每个键对应的值为0,创建一个对应的全局的τ

强度二跳邻居集合N(u,τ),初始化为空集;2

3、遍历顶点u的邻居集Nu中的每个邻居v;2

4、遍历邻居v的邻居集Nv中的每个邻居w;2

5、判断w是否等于u,是则将u对应哈希表中以w为键的值Hu[w]加1,否则不做操作;2

6、遍历u对应哈希表Hu的键集合中的每个顶点k;2

7、判断u是否属于二分图G中左部顶点集L并且Hu[k]不小于二部团右部规模参数q,是则执行2

9,否则执行2

8;2

8、判断u是否属于二分图G中右部顶点集R并且Hu[k]不小于二部团左部规模参数p,是则执行2

9,否则执行2

10;2

9、将k添加到u对应的τ

强度二跳邻居集合N(u,τ)中;2

10、结束顶点u的遍历。3.根据权利要求1所述的一种二分图的(p,q)

二分团枚举和计数方法,其特征在于,步骤(3),具体过程为:对二分图G中左部顶点集U和右部顶点集V中的所有顶点,根据它们的度及邻居集的大小进行升序排序,度相同的顶点则根据顶点自然编号进行升序排序,自然编号相同的以属于左部顶点集U的顶点为较小序次,生成顶点序列η;自前到后进行用从1到|U∪V|整数对顶点序列η进行编号,越靠后的顶点等级越高编号越大。4.根据权利要求1所述的一种二分图的(p,q)

二分团枚举和计数方法,其特征在于,步骤(4)中,二分图G转换为有向二分图DG的处理,具体过程为:对二分图G中的边集E中的所有边(u,v),根据步骤(3)中生成的顶点序列η,如果u的编号大于v,则将为边(u,v)添加从u指向v的方向,否则添加从v指向u的方向。5.根据权利要求1所述的一种二分图的(p,q)

二分团枚举和计数方法,其特征在于,步骤(5)中,初始化左、右部候选顶点集CL、CR中的候选顶点,具体过程为:
分别根据步骤(3)中生成的顶点序列η中的顶点编号进行降序排列,形成有序的候选顶点序列。6.根据权利要求1所述的一种二分图的(p,q)

二分团枚举和计数方法,其特征在于,当步骤(5)为“初始化全局的所有B(p,q)的结果集合C为空”的时候,所述步骤(6)中,基于顶点排序的分支定界算法VertexBasedListing,具体步骤为:6

1、获取当前二分团左部顶点集L、右部顶点集R、当前左部顶点候选集CL、右部顶点候选集CR这四个参数;6

2、判断|L|是否不小于二分团左部规模参数p且|R|+|CR|是否不小于二分团右部规模参数q,是则执行6

3,否则执行6

4;6

3、在当前二分团右部顶点集R和候选集CR的并集R∪CR中,枚举所有的大小为q的子集S,以当前二分团左部顶点集L和S作为左、右部顶点集<L,S>组成B(p,q),并将该B(p...

【专利技术属性】
技术研发人员:杨建业
申请(专利权)人:湖南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1