图的相似度计算系统、方法以及程序技术方案

技术编号:7131824 阅读:256 留言:0更新日期:2012-04-11 18:40
以适当的计算时间求出SNS、WWW的链接等具有很多节点的图之间的相似度。对图的节点,向该节点的标签值赋予唯一的值。优选,该值是固定长位串。此时的位串的长度选为比用于表现标签的种类足够的位数充分大的数。关于一个图,通过深度优先搜索、宽度优选搜索等原有的图搜索技术方法,依次访问该图的节点。此时,本发明专利技术的系统,在位于一个节点时,对与该节点相邻的所有节点的位串标签值和该节点的位串标签值实施计算,计算位串值。本发明专利技术的系统根据该计算出的位串值和该节点本来具有的位串标签值实施散列计算,计算另外的位串标签值,将其作为该节点的标签值。这样,结束访问一个图的所有节点时,所有节点的标签值被改写。对想要比较图的相似度的另外图也进行同样的处理后,其他的图中也改写所有节点的标签值。这样,在一个图中通过计算相对于所有节点数的与其他图一致的标签值的比例,能够求出相似度。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算或评价在计算机上作为图表现的数据结构的对象物的相似度。
技术介绍
图是包括具有用于相互识别的标签的顶点(也称为节点)和连接顶点的边(也称为边缘、支、链接)的数学对象,当考虑现实的对象物时,可知例如道路地图、化学式等通过图表示。例如,在道路地图中,可以视为交叉点是节点,路是边。在化学式中,可以视为元素是节点,元素间的结合是边。如果这样考虑,可知在基因、蛋白质构造、电路、地理学、建筑学等非常广的范围内发现图的应用。最近,在社会网络服务(SNQ中也逐渐适用图构造。即,通过将SNS的各个用户视为节点,将这些用户之间其他之间的友好关系等视为边,由此可以用图表现SNS的特定状态。按照同样的目的,www的链接构造也可以通过图表现。这样,在将现实的对象作为图表现时,想要评价两个图是否一致或相似成为自然出现的要求。例如,当可以评价某一化学品的化学式的图和其他化学品的化学式的图相似时,能够推定为该两个化学品的药效相似。但是,根据以往的研究,关于判别两个图是否相同的问题不知道多项式时间算法, 用于判别某一图是否包含于另一图的算法也是NP完全问题。关于这样的算法,如果是只有比较少数的节点的图,能够通过适当的计算时间求解,但处理基因排列的生物信息学中,节点数从数千到数万,在SNS中有数百万,大大超过单纯的图相似度计算技术方法以显示的计算量能够处理的范围。于是,现有技术中提出了用于以高速计算两个图的同一性或相似度的技术方法。Thomas Ε. Portegys, School of Information Technology, lllinnois State University, "General Graph Identification With Hashing,,http ://www. itk. ilstu. edu/faculty/portegys/research/graph/graph-hash, paf 公开了iEii MD5 f^^lj 1 两个图的同一性的技术方法。但是,在该技术方法中,仅能够判定图的同一性,不能适用于相似度的计算。尤其关于与该图相关的散列制作,日本特开平7-334366号公报中记载了 具有存储图S的所有部分图的散列值的散列表,存储过去存在的部分图和当前到达的其还原 (reduction)处的部分图的组。但是,在该技术方法中,递归地通过处理给予散列值,虽然能够适用于有向非循环图,但不能适用于包含环的更一般的图。美国专利第6473881号公开了如下技术晶体管级的设计自动化工具通过定时解析、电气规则的检查、噪声解析等进行电路设计的模式匹配。但是,该技术方法使用主节点等这些电路特有的性质,难以扩展到一般的图比较。专利文献1 日本特开平7-334366专利文献2 美国专利第6473881号非专利文献 1 ;Thomas Ε. Portegys, School of Information Technology, lllinnois State University,"General Graph Identification With Hashing^http // www. itk. ilstu. edu/faculty/portegys/research/graph/graph-hash, paf
技术实现思路
因此,本专利技术的目的是提供能够以适当的计算时间求出SNS、WWW的链接等具有很多节点的图之间的相似度的图比较技术方法。上述问题通过本专利技术极有利地解决。首先,作为前提,要比较的图的数据使用行列表现、列表表现等用于图表现的公知的数据结构表现,在计算机的硬盘等存储装置上保存。 图的各节点分别具有标签,预想标签具有离散值。例如,如果是基因,标签是腺嘌呤、胸腺嘧啶、鸟嘌呤、胞嘧啶四种,如果是蛋白质,标签是甘氨酸、色氨酸、异亮氨酸等二十种氨基酸, 如果是化学式,标签是氢、氦、锂、铍、硼、碳、氮、氧以下,最多100种程度。根据本专利技术,首先对图的节点,向该节点的标签纸赋予唯一的值。优选,该值是固定长位串。此时的位串的长度选为比用于表现标签的种类足够的位数充分大的数。这是为了减少后述的散列冲突的可能性。在这样的准备下,本专利技术的系统,关于一个图,通过深度优先搜索、宽度优选搜索等原有的图搜索技术方法,依次访问该图的节点。此时,本专利技术的系统,在位于一个节点时, 对与该节点相邻的所有节点的位串标签值和该节点的位串标签值实施计算,计算位串值。 本专利技术的系统根据该计算出的位串值和该节点本来具有的位串标签值实施散列计算,计算另外的位串标签值,将其作为该节点的标签值。这样,在对一个图的所有节点访问结束时,所有节点的标签值被改写。对想要比较图的相似度的另外图也进行同样的处理后,其他的图中也改写所有节点的标签值。于是,例如,在一个图中,计算相对于所有节点数的与其他图一致的标签值的比例,由此能够求出相似度。在后面的实施例中,说明稍微复杂的相似度的计算方法。根据本专利技术,作为根据相邻节点的标签值计算自节点的标签值的方法,可以使用多个方法中的一个。关于一个方法,对将所有相邻节点的标签值异或后的值与将自节点的标签值位旋转后的值计算异或,将其设为自节点的标签值。关于另外的方法,将所有相邻节点的标签值排序,其结果是连续出现同一标签值时,用一个标签值代表它们,对连续出现的次数(称为计数值)进行加法。将这样得到的标签值位旋转计数值的量,将所有结果异或后的值、与将自节点的标签值位旋转后的值计算异或,将其设为自节点的标签值。本专利技术除了上述之外,还可以使用根据所有相邻节点的标签值和自节点的标签值计算自节点的标签值的各种方法。根据本专利技术,基于通过一个节点及其相邻节点的标签值的散列计算该一个节点的新标签值的计算结果得到的标签值,计算图的相似度,由此获得如下效果在图的节点数设为N时以0(N2)以下的阶(order)的计算量能够计算图的相似度。在已知的其他图相似度比较技术方法中,要么是指数阶或者至少是0(N3)程度,所以在N特别大的情况下,本专利技术高速化的效果大。此外,由于是明确反映相邻节点的标签值的计算,所以结果的相似度的可靠性高。 附图说明图1是用于实施本专利技术的硬件结构的框图。图2是本专利技术涉及的逻辑功能框图。图3是表示本专利技术涉及的计算图的节点的标签值的处理的流程的图。图4是表示计算步骤涉及的图的节点的标签值变化的图。图5是表示根据自节点的标签和相邻的节点标签集合计算自节点的新标签值的处理的概念流程的图。图6是表示根据自节点的标签和相邻的节点标签集合计算自节点的新标签值的一个实施例的处理的流程的图。图7是表示根据自节点的标签和相邻的节点标签集合计算自节点的新标签值的另外实施例的处理的流程的图。图8是表示图6的具体处理的图。图9是表示图7的具体处理的图。图10是表示总括地比较多个图的处理的流程的图。图11是表示图10的处理中所称的相似度比较例程的处理的流程的图。具体实施例方式以下,基于附图说明本专利技术的实施例。只要没有特别说明,在所有附图中相同的参照编号指代相同的对象。以下说明的是本专利技术的一个实施方式,可以理解为没有意图将本专利技术限于该实施例说明的内容。参照图1,示出用于实现本专利技术的一个实施例涉及的结构和处理的计算机硬件的框图。图1中,C本文档来自技高网
...

【技术保护点】
1.一种方法,通过计算机的处理计算在各节点赋予离散标签的两个图之间的相似度,包括:在各自的所述两个图,向给定的节点及其相邻的节点赋予标签值使得不同的值对应于不同的离散标签的步骤;在所述两个图依次搜索节点的步骤;在搜索所述节点的期间,通过正访问的节点的标签值和与该正访问的节点相邻的节点的标签值的散列计算来计算新的标签值,通过该新的标签值更新该正访问的节点的标签值的步骤;以及基于向所述两个图的节点赋予的、一致的标签列的个数,计算所述两个图之间的相似度的步骤。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:比户将平
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1