【技术实现步骤摘要】
一种二分图的(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)问题,最基础的精确算法是基于单层枚举的计算框
【技术保护点】
【技术特征摘要】
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...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。