【技术实现步骤摘要】
一种分布式极大独立集查找方法、装置和存储介质
[0001]本专利技术涉及图计算
,尤其是涉及一种分布式极大独立集查找方法。
技术介绍
[0002]在现实世界的应用中,如社交网络、网页搜索、协作网络和生物学等,图被广泛用于表示实体之间的关系。极大独立集的查找问题是一个经典NP难问题,是图论中的一个难点,已引起了人们的广泛关注。独立集是满足集中的任意两点之间没有边的集。对于一个图,最大独立集是所有的独立集中包含最多点的独立集,也就是说该独立集不是任意一个独立集的真子集。
[0003]真实世界中的图规模都非常的大,因此大多采用分布式的方式对图进行存储;而且真实世界的图模型随时间不断变化,这些都给极大独立集的查找带来极大的挑战。
[0004]现有的极大独立集查找算法大多专注于解决单机的场景,不适用于分布式场景;对于分布式场景现有最优的算法MIS,强依赖节点顺序排序,因此很难扩展到动态图的场景下;另外MIS需要经过多轮的步骤循环效率较低;且MIS对相同输入,最终输出的极大独立集结果可能不一致。
专利技术内 ...
【技术保护点】
【技术特征摘要】
1.一种分布式极大独立集查找方法,其特征在于,包括以下步骤:S1、获取初始图;S2、对初始图进行静态查找,得到第一极大独立集;S3、对初始图执行变化操作,所述变化操作为增加边或删除边中的一种或多种,对执行变化操作后的初始图进行动态查找,更新第一极大独立集;S4、将最近时刻的第一极大独立集作为结果极大独立集输出;其中,S2的具体步骤包括:S21、对初始图中的每一个节点设置标签标记和状态标记,初始化标签标记和状态标记;S22、基于邻居节点信息对初始图的每一个节点进行更新,基于更新后的标签标记得到第一极大独立集;S3的具体步骤包括:S31、对初始图执行变化操作,对于给定的时刻,确定执行变化操作后的受影响节点;S32、更新S31中所有受影响节点的状态标记;S33、采用S22中的方法,对所有受影响的节点进行更新,基于更新后的标签标记更新第一极大独立集。2.根据权利要求1所述的一种分布式极大独立集查找方法,其特征在于,所述初始化标签标记和状态标记为:将初始图中的每一个节点的标签标记设置为真,初始图中的每一个节点的状态标记设置为激活。3.根据权利要求2所述的一种分布式极大独立集查找方法,其特征在于,基于邻居节点信息对初始图的每一个节点进行更新具体为:S221、根据节点ID大小遍历一遍初始图的中的每一个节点,将被遍历的每一个节点的状态标记都变为未激活;S222、如果对于一个节点,满足第一条件和第二条件,则,将该节点的标签标记更新为假,其中,第一条件为:存在一个该节点的邻居节点,邻居节点的度数小于该节点的度数,或邻居节点的度数与该节点的度数相等且邻居节点的ID小于该节点的ID;第二条件为:邻居节点的标签标记为真;将节点的标签标记更新为假后,若该节点的标签标记发生了变化,则将满足第三条件和第四条件的邻居节点的状态标记更新为激活,其中,第三条件为:邻居节点度数大于该节点的度数,或邻居节点的度数与该节点的度数相等且邻居节点的ID大于节点的ID,第四条件为:邻居节点的标签标记与该节点相同;返回S221,重复上述步骤,直至所有的节点的状态标记都为未激活,得到第一极大独立集。4.根据权利要求3所述的一种分布式极大独立集查找方法,其特征在于,所述第一极大独立集由图中标签标记为真的节点组成。5.根据权利要求3所述的一种分布式极大独立集查找方法,其特征在于,所述受影响节点包括增加边或删除边时涉及的所有节点和涉及的所有节点的邻居节点。6.根据权利要求5所述的一种分布式极大独立集查找方法,其特征在于,更新受影响节点的状态标记为:将S31中所有受影响节点的状态标记更新为激活。7.根据权利要求2所述的一种分布式极大独立集查找方法,其特征在于,所述采用S22中的方法,对所有受影响的节点进行更新具体为:
S331、根据节点ID大小遍历一遍受影响节点中的每一个节点,将被遍历的每一个受影响节点的状态标记都变为未激活;S332、受影响节点中,如果对于一个节点,若满足第一条件和第二条件,则,将该节点的标签标记更新为假,其中,第一条件为:存在一个该节点的邻居节点,邻居节点的度数小于该节点的度数,或邻居节点的度数与该节点的度数相等且邻居节点的ID小于该节点的ID;第二条件为:邻居节点的标签标记为真;将该节点的标签标记更新为假后,若该节点的标签标记发生变化,则将满足第三条件和第四条件的邻居节点的状态标记更新为激活,其中,第三条件为:邻居节点的度数大于该节点的度数,或邻居节点的度数与该节点的度数相等且邻居节点的ID大于节点的ID,第四条件为:邻居节点的标签标记与该节点相同;返回S331,重复上述步骤,直至所有的受影响节点的状态标记都为未激活,更新第一极大独立集。8.一种分布式极大独立集查找装置,其特征在于,装置包括数据输入模块、静态查找模块、动态更新模块和输出模块;其中,数据输入模块1用于获取初始图;静态查找模块2用于对初始图进行静态查找,得到第一极大独立集,具...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。