[发明专利]一种基于二跳图的超图迭代方法及其应用在审
申请号: | 201910345024.3 | 申请日: | 2019-04-26 |
公开(公告)号: | CN110110157A | 公开(公告)日: | 2019-08-09 |
发明(设计)人: | 谷峪;于凯强;姚硕 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 李在川 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于二跳图的超图迭代方法及其应用,通过构建二跳图,使超边之间直接进行通信并完成超边的更新,从而加快超图任务的迭代处理速度。构建二跳图步骤:在含有公共顶点的超边之间搭建一条边,超边保存其度的大小和分配的顶点信息;顶点分配步骤:分配仅被一条超边包含的顶点,再配超边的公共顶点;获取公共顶点信息步骤:分析不同的超图任务,确定适用于二跳图的消息值公式和超边值公式,确定每条超边要保存的公共顶点信息;将基于二跳图进行迭代处理分别与基于Push和Pull的消息获取机制结合本发明在多个数据集和超图学习算法上进行实验,实验结果验证了其高效性和可扩展性。 | ||
搜索关键词: | 公共顶点 迭代处理 迭代 构建 分配 顶点信息 可扩展性 消息获取 信息步骤 学习算法 保存 高效性 数据集 条边 应用 验证 更新 通信 分析 | ||
【主权项】:
1.一种基于二跳图的超图迭代方法,其特征在于:包括:步骤1:将原始超图转化成二跳图;由原始超图G=(V,H)转化成的二跳图为G*=(V*,H*),若两个超边有公共的顶点,则在这两个超边之间构造一条边得到二跳图的拓扑结构,对于二跳图中的每个超边hi需要保存其度的大小以及分配给超边hi保存的顶点;此外,超边hi需要保存hi和其邻居超边hj所包含的公共顶点u的信息;其中,hj∈N(hi),V*=H,H*={{hi,hj}:u∈hi,u∈hj,hi∈H,hj∈H};V是一个有限集合,该集合的元素被称为顶点,即V={v0,v1,…vm};H是V的非空子集的集合,该集合的元素被称为超边,即H={h0,h1,…hn},hj∈N(hi),N(hi)为与每个顶点相关的所有超边构成超边hi的邻居超边集合;在顶点v的相关超边集合Γ(v)中,每个超边包含的全部顶点,构成顶点v的邻居顶点集合N(v),即N(v)={vk:vk∈Γ(h)∧vk≠v,h∈Γ(v)};在超边h的相关顶点集合Γ(h)中,与每个顶点相关的所有超边构成超边h的邻居超边集合N(h),即N(h)={hk:hk∈Γ(v)∧hk≠h,v∈Γ(h)},与超边h相关的所有顶点构成的集合记作Γ(h),顶点v相关的所有超边构成的集合记作Γ(v);步骤2:将二跳图的各顶点分配到相关超边;若共执行N个超步,在执行最后一个超步时,每个超边保存的顶点需要进行更新,因此需要将顶点vi分配到与它相关的超边hi中;步骤2‑1:找到只存在于唯一一个超边中的所有顶点,遍历所有超边,将当前正在处理的超边记作curH,将当前正在处理的超边curH包含的所有顶点记作Γ(curH),若Γ(curH)中的顶点vi满足vi.deg=1,则顶点vi只有1个相关超边,顶点vi只存在于当前超边curH中;对于只存在于当前超边curH的顶点vi,该顶点需要由当前超边curH保存;使用长度为|H|的数组assignArr记录每个超边已经保存的顶点;使用长度为|H|的数组keepArr记录每个超边已经保存的顶点数量;使用长度为k的数组rangeArr记录每个partition中已经保存的顶点数量,其中k是Range划分时指定的partition数量;如果超边curH需要保存一个新的顶点,那么keepArr[curH]和rangeArr[curH]需要增加1;遍历所有超边,找到只存在于一个超边中的所有顶点;步骤2‑2:遍历所有的顶点,将当前正在处理的顶点记为curV;如果curV只存在于一个超边中,则跳过对该顶点的处理;否则,对于与curV相关的每个超边hi,首先找到已经保存顶点数量最少的partition,记作Min(rangeArr[Γ(curV)]),然后在Min(rangeArr[hi])对应的partition中找到已经保存顶点数量最少的超边minH,minH就是保存当前顶点curV的超边;步骤2‑3:所有顶点得到需要保存它们的超边之后,在步骤2‑1中得到的顶点当获取它所在的超边的消息时进行更新,而在步骤2‑2中得到的顶点当获取它所在的超边的消息以及它所在超边的邻居超边的消息时进行更新;步骤3:基于二跳图进行迭代处理;在执行第1个超步时,每个超边利用自己保存的顶点信息计算出超边的初始值,然后生成消息发送给邻居超边;在执行第2至第N‑1个超步时,每个超边使用得到的邻居超边的消息更新自己的超边值,然后为邻居超边生成相应的消息;在执行第N个超步时,每个超边中的顶点使用其相关超边的消息进行更新。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910345024.3/,转载请声明来源钻瓜专利网。