增强的图遍历的制作方法_3

文档序号:8436166阅读:来源:国知局
被发现或者访问时终止,但是如果该特定节点在该图中不存在,则图遍历将继续进行直到图的所有边都被考虑以针对图的所有节点对该图穷尽地搜索为止。在块120,如果图遍历在这些条件的任一条件下完成或者终止,增强的图遍历100完成。
[0035]增强的图遍历100使用在块110标识的图内的节点数量来确定何时图中的所有节点都已经被访问,而不是依赖于通过考虑图的所有边来穷尽地对图进行遍历从而确定图的所有节点都已经被访问。换言之,图遍历响应于每节点的输出信息达到最终状态而中止。在该示例中,当每个节点都已经被访问时(例如,已经通过跟随边而被标识)所有的每节点输出信息达到最终状态。
[0036]换言之,在块120,在图内所访问的不同节点的数目被跟踪或者计数(例如,在实现增强的图遍历100的图分析模块的节点访问计数器处)。当节点数目(例如,节点访问计数器)满足了相对于节点数量的条件时,图遍历在块130处中止。例如,条件可以是相等条件。换言之,当所访问的不同节点的数目等于节点数量时,图遍历可以中止。图遍历可以被称为已经中止,因为即便不是图的所有边都已经被考虑(例如,一些节点或者边可以仍然在用来管理图遍历的队列中),但是图遍历还是被终止。换言之,图遍历可在那些边已经被考虑之前在块130处被终止(S卩,在块130中止),因为图中的所有节点都已经被访问。
[0037]作为另一个示例,条件可以是预定的百分比条件。换言之,图遍历可能尚未考虑图的所有边(例如,一些节点或者边可以仍然在用来管理图遍历的队列中),并且图遍历可在那些边已经被考虑之前在块130被终止,因为图中预定百分比的节点已经被访问。因此,图遍历可以在已经遍历了图的仅一部分之后中止。换言之,图遍历可以在已经考虑了图的边的仅一部分之后中止。
[0038]作为可以基于预定百分比条件而中止的图遍历的示例,本文讨论的系统和方法可以被应用,以确定社交网络环境中的中心性度量(centrality measure),从而标识社交网络环境中的有影响的、或者以其它方式令人感兴趣的个体。更具体地,宽度优先搜索(BFS)可以是中心性度量过程的内循环。过程100可以被应用到每个BFS,而不是针对每个BFS考虑从源节点开始的所有边。
[0039]预定百分比条件可以是表示社交网络环境或者其一部分的图中的节点数目的百分比。具体地,例如,预定百分比条件可以是图中的节点数目的90%。因此,每个BFS被执行,直到节点的90%被访问为止。通过从许多源节点中的每个节点(每个表示社交网络中的个体)开始重复执行BFS或者针对许多源节点中的每个节点重复执行BFS,可以通过聚合每个BFS的输出来确定连接度。
[0040]此外,这样的方法对于在社交网络环境中例外地标识外围(peripheral)个体可以是有用的。例如,从社交网络环境中的许多不同的随机选取的源节点发现通过重复搜索直到个体的90%为止而尚未被发现的个体(S卩,表示个体未被访问的节点)。这样的个体可以被视为是处于社交网络环境的外围的。
[0041]虽然增强的图遍历100具有与传统图遍历的复杂度等价的最坏情况渐进复杂度(即,所有的边可能都需要被考虑到以访问一些图的所有节点),但是增强的图遍历100可以针对一些图具有增强或者改进的性能。增强或者改进的性能可以由响应于节点访问计数器满足相对于图中节点数量的条件而中止图遍历引起,因为对于许多图结构(例如,节点之间的关系)而言,不是所有的边需要被考虑到以访问图的所有节点。通过跟踪图中的节点数量和在图遍历期间访问的节点数目,增强的图遍历100可以通过在节点访问计数器满足相对于图中的节点数量的条件之后中止图遍历来避免不必要地考虑边或者访问图的节点。这些特征对于具有许多边的密集图是特别有利的。
[0042]与当使用传统图遍历时相比,实现这样的方法的系统可以使用本文讨论的增强的图遍历来处理更多的信息,因为平均来说,通过响应于在节点访问计数器满足相对于图中的节点数量的条件之后中止图遍历而终止,这样的增强的图遍历更快地到达结束或者完成状态。图遍历的结束或者完成状态指代对边的附加考虑或者对节点的访问将不会改进或者更改图遍历的结果的图遍历的状态。换言之,结束或者完成状态指代对边的附加考虑或者对节点的访问对于图遍历的成果或者结果是不必要的图遍历的状态。
[0043]图4A-4H图示出根据实现方式的图的增强的图遍历。与图2中图示的无向图相对,在4A-4H中图不的图是有向图。具体地,在图4A-4H中图不图400的宽度优先搜索或者遍历。在其它实现方式中,增强的图遍历可以是另一种类型的图遍历类别,诸如深度优先搜索或者分区(partit1ning)遍历(诸如极大独立集(MIS)分区遍历)。图400包括节点N431、N432、N433、N434、N435、N436 和 N437 和边 411-415 和 421-425。在图 4A-4H 中中用虚线图示的节点和边分别尚未在增强的图遍历期间被访问或考虑。在图4A-4H中用实线图示的节点和边分别已经在增强的图遍历期间被访问或考虑。
[0044]在遍历图400之前,在图400中的节点的数量例如使用上文关于图1讨论的方法之一而被确定为七个。如在图4A中图示的,首先访问节点N431。也就是说,节点N431是增强的图遍历的源。响应于访问节点N431,节点访问计数器递增(例如从初始值零到一)以指示图400中的节点已经被访问。同样,节点访问计数器(或者节点访问计数器的当前值)与图400中的节点数量相比较以确定节点访问计数器是否满足相对于图400中的节点数量的条件。在该示例中,所述条件是相等条件。
[0045]在确定节点访问计数器不满足该条件之后,增强的图遍历(或者实现增强的图遍历的图分析模块)随后标识边411,并且如在图4B中图示的,跟随(或者考虑)边411来访问节点N432。类似地,如在图4C中图示的,增强的图遍历标识边421,并且跟随边421来访问节点N433。节点访问计数器响应于访问节点N432和N433中的每一个而递增。在本示例中,节点访问计数器当前具有三的值。附加地,响应于递增节点访问计数器,该节点访问计数器与图4中的节点数量相比较以确定节点访问计数器是否满足相对于图400中的节点数量的条件。
[0046]与图4B和4C中图示的操作类似:图4D图示出跟随边412来访问节点N434,节点访问计数器响应于访问节点N434而递增,并且节点访问计数器与图400中的节点数量相比较以确定节点访问计数器是否满足相对于图400中的节点数量的条件;图4E图示出跟随边413来访问节点N435,节点访问计数器响应于访问节点N435而递增,并且节点访问计数器与图400中的节点数量相比较以确定节点访问计数器是否满足相对于图400中的节点数量的条件;图4F图示出跟随边422来访问节点N436,节点访问计数器响应于访问节点N436而递增,并且节点访问计数器与图400中的节点数量相比较来确定节点访问计数器是否满足相对于图400中的节点数量的条件;并且图4G图示出跟随边423而访问节点N437,节点访问计数器响应于访问节点N437而递增。
[0047]在这点上,在增强的图遍历中,节点访问计数器当前具有七的值。节点访问计数器然后与图400中的节点数量相比较以确定节点访问计数器是否满足相对于图400中的节点数量的条件。因为节点访问计数器具有七的值并且图400中的节点数量具有七的值,所以该条件被满足。因此,增强的图遍历中止(或者终止)而不考虑边414、415、424和425。如在图4H中图示的,未被考虑的边414、415、424和425用虚线图示。
[0048]因为当增强的图遍历中止时,图400的所有节点都已经被访问,所以遍历的结果是相同的(此处,所有的节点以宽度优先的次序来访问),因为结果将会是图的所有边都已经被考虑。更具体地,在该示例中,考虑边414、415、424和425将不会改变图遍历的结果(此处宽度优先搜索),因为节点N431已经被访问或者发现。换言之,响应于确定节点访问计数器满足相对于图400中的节点数量的条件而中止不影响宽度优先遍历的结果,但是会减小被考虑的边的数目。此处,所考虑的边的数目从十减为六——40%的减少。
[0049]而且,考虑某个边包括在处理器处执行指令以访问该边的表示被存储在其处的存储器并且在处理器处执行附加指令以访问与该边相连接或者相关联的节点。此外,典型
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1