一种复杂网络目标节点的搜索方法及装置的制造方法

文档序号:9238053阅读:491来源:国知局
一种复杂网络目标节点的搜索方法及装置的制造方法
【技术领域】
[0001] 本发明涉及节点搜索领域,特别涉及一种复杂网络目标节点的搜索方法及装置。
【背景技术】
[0002] 复杂网络搜索策略通常用一个消息传递的过程来描述。从一个给定的源节点开 始,为了寻找所需要的信息,按照一定的规则向它的一个或多个邻居传递查询消息。如果收 到查询的邻居节点上不含有源节点所需的信息,那么这些邻居节点再将查询传递给它们各 自的邻居,重复这个过程直到存储着指定信息的目标节点被寻找到为止。然后目标节点将 信息传递给源节点。
[0003] 传统的方法是通过BFS策略来遍历,在源节点应用BFS策略搜索目标节点t时,源 节点首先判断自己的邻居节点中有无目标节点。若有,则中止搜索;若无,则向每个邻居查 询它们的邻居节点中有无目标节点。重复这个过程一直到寻找到目标节点的任一个邻居为 止。如果网络规模相当大,这样的处理方式会产生大量的查询消息流量,造成网络堵塞,严 重影响查询的速度,其搜索速度较慢。

【发明内容】

[0004] 本发明要解决的技术问题在于,针对现有技术的上述搜索速度较慢的缺陷,提供 一种搜索速度较快的复杂网络目标节点的搜索方法及装置。
[0005] 本发明解决其技术问题所采用的技术方案是:构造一种复杂网络目标节点的搜索 方法,包括如下步骤:
[0006] A)初始时,用户选取源节点和目标节点;
[0007] B)从所述源节点开始,搜索所述源节点的周围邻居节点,并比较所述源节点的周 围邻居节点的度数,选择出最大度节点和次最大度节点;
[0008] C)判断所述周围邻居节点中是否存在所述目标节点,如是,执行步骤F);否则,执 行步骤D);
[0009] D)记录所述最大度节点,并从所述最大度节点开始继续搜索其周围邻居节点,然 后记录所述次最大度节点,并从所述次最大度节点开始继续搜索其周围邻居节点;
[0010] E)比较所述最大度节点的周围邻居节点和次最大度节点的周围邻居节点中每个 节点的度数,选择出最大度节点和次最大度节点,并返回步骤C);
[0011] F)合并所有层次上的节点,输出搜索路径。
[0012] 在本发明所述的复杂网络目标节点的搜索方法中,所述步骤F)进一步包括:
[0013] F1)当找到目标节点后,把之前的所有层次上的节点按层次有序放入一个点集 中;
[0014] F2)由所述点集相应生成一条链路。
[0015] 在本发明所述的复杂网络目标节点的搜索方法中,所述周围邻居节点为与当前节 点相隔一条边的节点。
[0016] 在本发明所述的复杂网络目标节点的搜索方法中,所述源节点的个数为一个,所 述目标节点的个数至少为一个。
[0017] 本发明还涉及一种实现上述复杂网络目标节点的搜索方法的装置,包括:
[0018] 节点选取单元:用于初始时,用户选取源节点和目标节点;
[0019] 邻居节点搜索比较单元:用于从所述源节点开始,搜索所述源节点的周围邻居节 点,并比较所述源节点的周围邻居节点的度数,选择出最大度节点和次最大度节点;
[0020] 目标节点判断单元:用于判断所述周围邻居节点中是否存在所述目标节点;
[0021] 记录搜索单元:用于记录所述最大度节点,并从所述最大度节点开始继续搜索其 周围邻居节点,然后记录所述次最大度节点,并从所述次最大度节点开始继续搜索其周围 邻居节点;
[0022] 度数比较选择单元:用于比较所述最大度节点的周围邻居节点和次最大度节点的 周围邻居节点中每个节点的度数,选择出最大度节点和次最大度节点;
[0023] 节点合并输出单元:用于合并所有层次上的节点,输出搜索路径。
[0024] 在本发明所述的装置中,所述节点合并输出单元进一步包括:
[0025] 节点有序存放模块:用于当找到目标节点后,把之前的所有层次上的节点按层次 有序放入一个点集中;
[0026] 链路生成模块:用于由所述点集相应生成一条链路。
[0027] 在本发明所述的装置中,所述周围邻居节点为与当前节点相隔一条边的节点。
[0028] 在本发明所述的装置中,所述源节点的个数为一个,所述目标节点的个数至少为 一个。
[0029]实施本发明的复杂网络目标节点的搜索方法及装置,具有以下有益效果:由于通 过选择出最大度节点和次最大度节点,然后分别从最大度节点开始继续搜索其周围邻居节 点,以及从次最大度节点开始继续搜索其周围邻居节点,这样通过分支最大度搜索方法来 搜索源节点到目标节点的路径,其搜索速度更快,所以其搜索速度较快。
【附图说明】
[0030] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0031] 图1为本发明复杂网络目标节点的搜索方法及装置一个实施例中方法的流程图;
[0032] 图2为所述实施例中合并所有层次上的节点,输出搜索路径的具体流程图;
[0033] 图3为所述实施例中装置的结构示意图。
【具体实施方式】
[0034] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其 他实施例,都属于本发明保护的范围。
[0035] 在本发明复杂网络目标节点的搜索方法及装置实施例中,其复杂网络目标节点的 搜索方法的流程图如图1所示。图1中,该复杂网络目标节点的搜索方法包括如下步骤:
[0036] 步骤S01初始时,用户选取源节点和目标节点:本步骤中,用户选取源节点和目标 节点,系统通过查询数据库获取起始的源节点和目标节点,并记录下来源节点和目标节点 的属性信息。值得一提的是,源节点的个数为一个,目标节点的个数至少为一个。
[0037] 步骤S02从源节点开始,搜索源节点的周围邻居节点,并比较源节点的周围邻居 节点的度数,选择出最大度节点和次最大度节点:本步骤中,从源节点开始,搜索源节点的 周围邻居节点,并比较源节点的周围邻居节点的度数,选择出最大度节点和次最大度节点。 值得一提的是,周围邻居节点指的是与当前节点相隔一条边的节点。例如:源节点的周围邻 居节点就是与源节点之间相隔一条边的节点。
[0038] 具体的,若两个点之间有一条边,则这两个点相邻。关联一个点v的边的条数称为 是v度数(degree)或价(valency)。特别的,若网络图G不是多重图时,它等于这一点的邻 点个数。一个顶点被称作孤立顶点,它的度数为〇。
[0039]G的最小度记为a(G) :=min{d(v)|veV},其中,a(G)为G的最小度,v为 点,V为点集,d(v)为求导数,
[0040]G的最大度记为A(G) : =max{d(v) |vGV},其中,A(G)为G的最大度。
[0041]当网络图G的所有顶点都有相同的顶点度k时,称G为k-正则的。
[0042] 值得一提的是,可以多次访问同一个节点,但是同一条边只能被访问一次,如果与 当前节点相连的所有的边都被访问过,则返回到上一个节点。
[0043] 步骤S03判断周围邻居节点中是否存在目标节点:本步骤中,判断上述周围邻居 节点中是否存在目标节点,如果判断的结果为是,则找到源节点和目标节点的关系为相邻 关系,则执行步骤S06;否则,执行步骤S04。
[0044] 步骤S04记录最大度节点,并从最大度节点开始继续搜索其周围邻居节点,然后 记录
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1