[发明专利]基于稀疏二分图的极大二分团并行枚举方法有效
申请号: | 201910428364.2 | 申请日: | 2019-05-22 |
公开(公告)号: | CN110175172B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 何宇;李荣华;毛睿;荣钰;王毅;廖好 | 申请(专利权)人: | 深圳大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2458 |
代理公司: | 深圳市恒申知识产权事务所(普通合伙) 44312 | 代理人: | 袁文英 |
地址: | 518060 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 稀疏 二分 极大 并行 枚举 方法 | ||
本发明公开了一种基于稀疏二分图的极大二分团并行枚举方法,相较于现有技术而言,本发明采用并行计算的方式,能够使各个计算任务并行运算,包括均匀的初始化任务分配和高效的任务迁移,以及对单个任务的信息量做了去冗余操作,让冗余重复的信息存储在一个公共区域,每个任务只有执行的时候,才会去查询并获得所有参数信息,这样做既减少了对内存的压力,也加快了任务迁移的速度,在解决MBE问题时,能够有效提升计算效率。
技术领域
本发明涉及图数据挖掘技术领域,尤其涉及一种基于稀疏二分图的极大二分团并行枚举方法。
背景技术
近年来,基于二分图的MBE(maximal biclique enumeration,极大二分团枚举)问题是图数据挖掘领域的研究热点之一。MBE问题可应用于生物系统发生树、蛋白质相互作用网络结构的发现与分析、商品推荐及人物兴趣分析等。
目前在二分图上解决MBE问题,一般都采用串行计算的方式,这种计算方式没有办法充分利用硬件资源,提高计算效率较低。
发明内容
本申请提供了一种基于稀疏二分图的极大二分团并行枚举方法,可以解决现有技术中解决MBE问题的方式计算效率较低的技术问题。
具体的,本发明提供一种基于稀疏二分图的极大二分团并行枚举方法,所述稀疏二分图包括由用户与购买物品所组成的二分图G,所述方法包括:
步骤一、初始化所述二分图G对应的任务栈St与计算参数,所述计算参数包括候选集P、验证集Q、所述二分图G对应二分团的右部R与左部L;
步骤二、在线程t内遍历候选集P,所述候选集P包括若干个节点;
步骤三、从所述任务栈St的栈顶获取任务x;
步骤四、基于所述任务x、所述二分图G及预置的存储区域Dt,确定当前任务所需要处理的节点v,以及当前任务所需要的候选集P1、验证集Q1、所述二分图G对应二分团的右部R1与左部L1;
步骤五、根据所述二分图G、节点v及所述左部L1,计算所述节点v在所述左部L1中的邻居L’;
步骤六、判断所述节点v的flag属性是否为false,若为false,则返回执行步骤三;若为true,则继续执行步骤七;
步骤七、遍历验证集Q1,生成孩子检测集Q’,并在搜索到的子任务中判断是否存在极大二分团,若不存在极大二分团,则返回执行步骤三,若存在极大二分团,则继续执行步骤八;
步骤八、遍历候选集P1中的各个节点p,如果p在所述邻居L’中的邻居个数大于0,则将节点p加入候选集P1,生成新的候选集P’,并输出极大二分团L’,R’;其中,R’表示节点v在所述右部R1中的邻居;
步骤九、判断候选集P’是否为空,若候选集P’为非空,则根据逆序遍历候选集P’,生成新任务加入任务栈St,再根据候选集P’、孩子检测集Q’、邻居L’、R’更新所述存储区域Dt;若候选集P’为空,则继续执行步骤十;
步骤十、判断所述任务栈St是否为空,若所述任务栈St为空,则确定所述线程t执行结束。
可选地,所述初始化所述二分图G对应的任务栈St与计算参数的步骤,包括:
基于所述二分图G的线程总数,对所述二分图G的各个线程进行取模操作,得到各个线程初始化后的任务栈与计算参数。
可选地,所述若所述任务栈St为空,则确定所述线程t执行结束的步骤,包括:
若所述任务栈St为空,则通过预置的负载均衡装置请求新任务;
当所述负载均衡装置未接收到响应消息时,确定所述线程t执行结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳大学,未经深圳大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910428364.2/2.html,转载请声明来源钻瓜专利网。