一种单图中近似频繁图挖掘的方法、装置、设备、介质和系统与流程

文档序号:15558424发布日期:2018-09-29 01:40阅读:135来源:国知局

本发明涉及图数据挖掘(graphdatamining)及图匹配(graphmatch)领域,特别涉及一种单图中近似频繁图挖掘的方法、装置、设备、介质和系统。



背景技术:

在现代社会中,数据成为了在任何领域都十分重要的资源,从科学研究,到经济学,甚至是社会学。随着社会发展,数据也变得越来越复杂,使得挖掘隐藏模式和提取有用信息变得十分重要。然而,数据挖掘一直以来都是一个困难的问题,尤其是当数据是图数据时。图数据由于保存数据之间的关系的能力,成为了一种强力的建模工具,常用于生物、化学、网络分析等领域。频繁图挖掘就是图数据挖掘中的一个重要问题,其给定一个图或图集合,以及频繁程度下限,在给定图或图集合中,挖掘所有出现次数超出频繁程度下限的子图。频繁图挖掘的主要应用在于有效结构信息提取,例如挖掘网络连接图中的常见网络连接模型,可以更有效地布局网络,提高网络利用效率,或发现网络中的常见问题,从而提出有效的解决方案;又例如挖掘蛋白质结构中的常见模型,从而可以通过常见模型的出现次数及种类,更好地分辨未知的蛋白质种类。

目前频繁图挖掘领域已经有了许多研究,其中主要分为两类,包括准确频繁图挖掘和近似频繁图挖掘。其中准确频繁图挖掘指的是,当评价一个子图是不是一个频繁图时,只统计与该子图完全一致的出现的次数。近似频繁子图挖掘指的是,在统计子图的频繁程度时,不仅统计与该子图完全一致的出现,同时统计与该子图相似度超出给定值,或区别度小于给定值的其他子图的出现。在衡量一个挖掘方法的优劣时,主要比较方法的运行时间以及运行结果中频繁子图的数量。如marisolfloresgarrido等人提出了一种近似频繁子图挖掘的方法,利用扩展并存储的方式加快搜索过程,可以在104秒内找到5000个以上的频繁子图。

现有的解决方法中,关于子图的区别程度大部分都利用图的编辑距离(ged),即对两个给定的图,其编辑距离为对其中一个图进行修改,使之成为另一个图的修改次数,此处的修改包含点或边的标签修改、点或边的删除、点或边的插入。但现有的解决方法中,图的区别程度都被定为一个确定的值(此处称为绝对值),即无论当前子图多大,其相似子图与当前子图的编辑距离都不会超过给定的绝对值,因此不够灵活。在实际应用中,更多的是比较两个子图的编辑距离的相对值,即比较两个子图之间的编辑距离与子图大小的比例,以此来判定两个子图是否相似。现有的解决方法无法有效地解决利用相对值判断子图相似度时的近似频繁子图挖掘问题。



技术实现要素:

针对现有技术的不足,本发明提供一种单图中近似频繁图挖掘的方法、装置、设备、介质和系统,利用编辑距离的相对值,根据当前判断是否是频繁子图的子图大小,动态地修改可容忍的编辑距离的范围,使得问题结果最符合实际情况,并且通过量化最优解的判定,以及对所有可能解用剪枝法进行计算,能够较好地解决近似频繁子图挖掘问题。

本发明的实施方式公开了一种单图中近似频繁图挖掘的方法,所述方法包括:

根据给定的单图的大小、给定的相似度和给定的频繁程度,计算所述单图的频繁子图的大小上限,所述频繁子图的大小上限为其中,|g|为所述单图的大小,s为所述相似度,f为所述频繁程度;

根据所述频繁子图的大小上限,遍历所述单图,搜索所述单图的所有子图,所述子图的大小小于等于所述频繁子图的大小上限;

对所述单图的每个所述子图,搜索所述子图的所有相似子图;

对所述子图的每个所述相似子图,在所述单图中进行匹配,搜索所述相似子图的所有匹配图;

将所述子图的所有所述相似子图的所述匹配图组成匹配图集合,计算所述匹配图集合中最大独立集的所述匹配图的数量;

比较所述最大独立集的所述匹配图的数量和所述频繁程度,如果所述最大独立集的所述匹配图的数量大于等于所述频繁程度,输出所述子图。

可选地,根据所述频繁子图的大小上限,遍历所述单图,搜索所述单图的所有子图,所述子图的大小小于等于所述频繁子图的大小上限包括:

采用广度优先搜索算法遍历所述单图,搜索所述单图的所有所述子图;

根据所述频繁子图的大小上限,删除大小大于所述频繁子图的大小上限的所述子图。

可选地,对所述单图的每个所述子图,搜索所述子图的所有相似子图包括:

根据所述子图的大小和所述相似度,计算所述子图与所述相似子图的最大编辑距离,所述最大编辑距离为ged=(1-s)*|g|,其中|g|为所述子图的大小,s为所述相似度;

根据所述最大编辑距离,对所述单图的每个所述子图,搜索所述子图的所有所述相似子图,所述相似子图通过对所述子图进行编辑操作而获得,所述子图与所述相似子图的编辑距离小于等于所述最大编辑距离。

可选地,所述编辑操作由删除操作和修改操作组成。

可选地,将所述删除操作造成的所述编辑距离由所述最大编辑距离向0递减;将所述修改操作造成的所述编辑距离由0向所述最大编辑距离递增;在所述删除操作造成的所述编辑距离为ged-k时,所述修改操作造成的所述编辑距离对应为0,1,2…k,其中k为自然数。

可选地,对所述子图进行所述修改操作时,如果某个点被删除后得到的所述相似子图与所述子图的所述编辑距离小于等于所述最大编辑距离,则不同时对所述点和与所述点相连的全部边进行所述修改操作。

可选地,对所述子图的每个所述相似子图,在所述单图中进行匹配,搜索所述相似子图的所有匹配图包括:

搜索所述子图的每个所述相似子图的某个点,所述点具有标签,使得在单图中具有相同所述标签的点的数量最少;

从所述子图的每个所述相似子图的所述点开始,依次对已有的限制最多的点进行匹配,其中,点的邻居点中已进行匹配的点越多,所述邻居点中未进行匹配的点越少,在所述单图中具有相同所述标签的点的数量越少,表示点的限制越多。

可选地,将所述子图的所有所述相似子图的所述匹配图组成匹配图集合,计算所述匹配图集合中最大独立集的所述匹配图的数量包括:

将所述子图的所有所述相似子图的所述匹配图组成匹配图集合,计算所述匹配图集合中最大独立集的所述匹配图的数量的上限,其中,对所述匹配图集合中的每个所述匹配图中的每个点,计算出现有所述点的所述匹配图的数量,从出现数量最多的点开始,保留其中一个所述匹配图,删除其他所有出现有所述点的所述匹配图,依次进行,直至浏览完所有点,此时所述匹配图集合中所述匹配图的数量为所述最大独立集的所述匹配图的数量的上限。

可选地,比较所述最大独立集的所述匹配图的数量和所述频繁程度,如果所述最大独立集的所述匹配图的数量大于等于所述频繁程度,输出所述子图包括:

比较所述最大独立集的所述匹配图的数量的上限和所述频繁程度,如果所述最大独立集的所述匹配图的数量的上限大于等于所述频繁程度,输出所述子图。

本发明的实施方式还公开了一种单图中近似频繁图挖掘的装置,所述装置包括:

上限计算模块,用于根据给定的单图的大小、给定的相似度和给定的频繁程度,计算所述单图的频繁子图的大小上限,所述频繁子图的大小上限为其中,|g|为所述单图的大小,s为所述相似度,f为所述频繁程度;

子图搜索模块,用于根据所述频繁子图的大小上限,遍历所述单图,搜索所述单图的所有子图,所述子图的大小小于等于所述频繁子图的大小上限;

相似子图搜索模块,用于对所述单图的每个所述子图,搜索所述子图的所有相似子图;

匹配图搜索模块,用于对所述子图的每个所述相似子图,在所述单图中进行匹配,搜索所述相似子图的所有匹配图;

最大独立集计算模块,用于将所述子图的所有所述相似子图的所述匹配图组成匹配图集合,计算所述匹配图集合中最大独立集的所述匹配图的数量;

输出模块,用于比较所述最大独立集的所述匹配图的数量和所述频繁程度,如果所述最大独立集的所述匹配图的数量大于等于所述频繁程度,输出所述子图。

本发明的实施方式还公开了一种单图中近似频繁图的搜索设备,所述设备包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行所述指令以实施单图中近似频繁图挖掘的方法。

本发明的实施方式还公开了一种使用计算机程序编码的非易失性计算机存储介质,所述计算机程序包括指令,当所述指令被一个以上的计算机执行以实施单图中近似频繁图挖掘的方法。

本发明的实施方式还公开了一种单图中近似频繁图挖掘的系统,包括单图中近似频繁图挖掘的装置。

本发明实施方式与现有技术相比,主要区别及其效果在于:

1、易用性:本发明比现有近似频繁图挖掘方法更加灵活易用,能够根据子图大小判断合适的图编辑距离,不受给定的绝对值影响,所以更加易用,适用范围更加广泛。

2、高效性:经过优化的算法,能够在较快的时间内得到结果。

3、实用性:本发明具有广泛的实际意义,能够为生物、网络等领域的工作者降低工作量,提高工作效率。

附图说明

图1是本发明第一实施方式中单图中近似频繁图挖掘的方法的流程示意图;

图2是本发明第一实施方式中给定的单图的示意图;

图3是本发明第一实施方式中采用广度优先搜索算法遍历单图,搜索单图的所有子图的过程示意图;

图4是本发明第一实施方式中对子图进行删除操作和修改操作的顺序示意图;

图5是本发明第一实施方式中对子图的每个相似子图,在单图中进行匹配,搜索相似子图的所有匹配图的示意图;

图6是本发明第二实施方式中单图中近似频繁图挖掘的装置的结构示意图。

具体实施方式

在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。

本发明所使用的单图为单图g(v,e,l,f),其中v为单图g中点的集合,e为单图g中边的集合,l为单图g中点和边的标签的集合,f为从点或边到标签的对应,每个点或边都有一个标签,不同的点或边可以有相同的标签,|g|为单图g的大小,单图g的大小为单图g中点与边的数量之和,即|g|=|v|+|e|。

本发明所使用的子图为子图g(v′,e′,l′,f′),其中v′为子图g中点的集合,e′为子图g中边的集合,l′为子图g中点和边的标签的集合,f′为从点或边到标签的对应,每个点或边都有一个标签,不同的点或边可以有相同的标签,当且仅当|g|为子图g的大小,子图g的大小为子图g中点与边的数量之和,即|g|=|v′|+|e′|。

本发明所使用的相似子图为相似子图g′,通过对子图g进行编辑操作而获得;编辑操作包括插入操作、删除操作和修改操作,可选地,编辑操作由删除操作和修改操作组成;编辑距离ged指对子图g进行编辑操作,使之成为相似子图g′的编辑操作次数;子图g与相似子图g′的相似度为其与子图g的大小相关;在给定相似度的情况下,子图g与相似子图g′的最大编辑距离为ged=(1-s)*|g|。

本发明所使用的匹配指在单图g中搜索与相似子图g′的结构完全一致的全部图结构。

本发明所使用的匹配图指相似子图g′在单图g中的同构图,当且仅当存在映射λ:图g1,g2称为同构。

本发明所使用的最大独立集指对集合中任意两个匹配图,都没有相同的点,使得集合中匹配图数量最多的集合;在给定相似度和频繁程度的情况下,根据最大独立集的定义,可知一个子图g的所有相似子图g′的匹配图没有任何重复的点,从而可知以下公式成立:(|g|-ged)*f≤|g|,其中ged=(1-s)*|g|,因此可知可能为频繁子图的子图g的大小为即频繁子图的大小上限为

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。

本发明第一实施方式涉及一种单图中近似频繁图挖掘的方法。图1为该方法的流程示意图,如图1所示,方法包括:

步骤101,根据给定的单图的大小、给定的相似度和给定的频繁程度,计算单图的频繁子图的大小上限,频繁子图的大小上限为其中,|g|为所述单图的大小,s为所述相似度,f为所述频繁程度;

步骤102,根据频繁子图的大小上限,遍历单图,搜索单图的所有子图,子图的大小小于等于频繁子图的大小上限;

步骤103,对单图的每个子图,搜索子图的所有相似子图;

步骤104,对子图的每个相似子图,在单图中进行匹配,搜索相似子图的所有匹配图;

步骤105,将子图的所有相似子图的匹配图组成匹配图集合,计算匹配图集合中最大独立集的匹配图的数量;

步骤106,比较最大独立集的匹配图的数量和频繁程度,如果最大独立集的匹配图的数量大于等于频繁程度,输出子图。

可选地,根据频繁子图的大小上限,遍历单图,搜索单图的所有子图,子图的大小小于等于频繁子图的大小上限包括:

采用广度优先搜索算法遍历单图,搜索单图的所有子图;

根据频繁子图的大小上限,删除大小大于频繁子图的大小上限的子图。

图2为给定的单图的示意图,图3为采用广度优先搜索算法遍历单图,搜索单图的所有子图的过程示意图,如图3所示,对一个点,优先处理其本身,然后将其邻居点依次添加进图中,在到达极限之后,从倒数第二层开始依次删减点;在找到全部子图后,由于任何大小超过频繁子图的大小上限的子图不可能是频繁子图,因此这些子图需要从中删除,减小算法复杂度。

可选地,对单图的每个子图,搜索子图的所有相似子图包括:

根据子图的大小和相似度,计算子图与相似子图的最大编辑距离,最大编辑距离为ged=(1-s)*|g|,其中|g|为所述子图的大小,s为所述相似度;

根据最大编辑距离,对单图的每个子图,搜索子图的所有相似子图,相似子图通过对子图进行编辑操作而获得,子图与相似子图的编辑距离小于等于最大编辑距离。

可选地,编辑操作由删除操作和修改操作组成。编辑操作包括插入操作、删除操作和修改操作,然而对子图进行的编辑操作如果包含任意次数的插入操作,以此得到的相似子图,是子图只进行前者的编辑操作中除插入操作以外的所有操作得到的相似子图的超图;由于超图在进行图匹配时会造成相同的点出现在不同的匹配图中,因此应取消插入操作。

图4为对子图进行删除操作和修改操作的顺序示意图,如图4所示,可选地,将删除操作造成的编辑距离由最大编辑距离向0递减;将修改操作造成的编辑距离由0向最大编辑距离递增;在删除操作造成的编辑距离为ged-k时,修改操作造成的编辑距离对应为0,1,2…k,其中k为自然数。

可选地,对子图进行修改操作时,如果某个点被删除后得到的相似子图与子图的编辑距离小于等于最大编辑距离,则不同时对点和与点相连的全部边进行修改操作。

可选地,对子图的每个相似子图,在单图中进行匹配,搜索相似子图的所有匹配图包括:

搜索子图的每个相似子图的某个点,点具有标签,使得在单图中具有相同标签的点的数量最少;

从子图的每个相似子图的点开始,依次对已有的限制最多的点进行匹配,其中,点的邻居点中已进行匹配的点越多,邻居点中未进行匹配的点越少,在单图中具有相同标签的点的数量越少,表示点的限制越多。

图5为对子图g的每个相似子图,在单图g中进行匹配,搜索相似子图的所有匹配图的示意图,如图5所示,特别地,相似子图实际上也是一个子图g。

可选地,将子图的所有相似子图的匹配图组成匹配图集合,计算匹配图集合中最大独立集的匹配图的数量包括:

将子图的所有相似子图的匹配图组成匹配图集合,计算匹配图集合中最大独立集的匹配图的数量的上限,其中,对匹配图集合中的每个匹配图中的每个点,计算出现有点的匹配图的数量,从出现数量最多的点开始,保留其中一个匹配图,删除其他所有出现有点的匹配图,依次进行,直至浏览完所有点,此时匹配图集合中匹配图的数量为最大独立集的匹配图的数量的上限。

如图5所示,子图g在单图g中的匹配图集合为{(1,3,4),(5,4,3),(6,8,9),(7,8,9)},其中点3出现在了两个不同的匹配图中,根据最大独立集的定义,只保留一个(1,3,4),点8也出现在了两个不同的匹配图中,只保留一个(6,8,9),则得到最大独立集的匹配图的数量的上限为{(1,3,4),(6,8,9)}。

可选地,比较最大独立集的匹配图的数量和频繁程度,如果最大独立集的匹配图的数量大于等于频繁程度,输出子图包括:比较最大独立集的匹配图的数量的上限和频繁程度,如果最大独立集的匹配图的数量的上限大于等于频繁程度,输出子图。

图6为根据本发明实施方式的单图中近似频繁图挖掘的装置的结构示意图,如图6所示,装置600包括:

上限计算模块601,用于根据给定的单图的大小、给定的相似度和给定的频繁程度,计算单图的频繁子图的大小上限,频繁子图的大小上限为其中,|g|为所述单图的大小,s为所述相似度,f为所述频繁程度;

子图搜索模块602,用于根据频繁子图的大小上限,遍历单图,搜索单图的所有子图,子图的大小小于等于频繁子图的大小上限;

相似子图搜索模块603,用于对单图的每个子图,搜索子图的所有相似子图;

匹配图搜索模块604,用于对子图的每个相似子图,在单图中进行匹配,搜索相似子图的所有匹配图;

最大独立集计算模块605,用于将子图的所有相似子图的匹配图组成匹配图集合,计算匹配图集合中最大独立集的匹配图的数量;

输出模块606,用于比较最大独立集的匹配图的数量和频繁程度,如果最大独立集的匹配图的数量大于等于频繁程度,输出子图。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第三实施方式涉及一种单图中近似频繁图的搜索设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施单图中近似频繁图挖掘的方法。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第四实施方式涉及一种使用计算机程序编码的非易失性计算机存储介质,计算机程序包括指令,当指令被一个以上的计算机执行以实施单图中近似频繁图挖掘的方法。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明第五实施方式涉及一种单图中近似频繁图挖掘的系统,包括单图中近似频繁图挖掘的装置。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

需要说明的是,本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(programmablearraylogic,简称“pal”)、随机存取存储器(randomaccessmemory,简称“ram”)、可编程只读存储器(programmablereadonlymemory,简称“prom”)、只读存储器(read-onlymemory,简称“rom”)、电可擦除可编程只读存储器(electricallyerasableprogrammablerom,简称“eeprom”)、磁盘、光盘、数字通用光盘(digitalversatiledisc,简称“dvd”)等等。

需要说明的是,本发明各设备实施方式中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。

需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1