说明书一种针对单个不确定图的频繁子图挖掘方法
技术领域
本发明涉及图挖掘技术,特别地,涉及一种针对单个不确定图的频繁子图挖掘方法。
背景技术
不确定性在现实应用中,无论是对内源还是外源,都是一种固有的属性。例如,在一个合作社交网络中,利用目前掌握的信息,我们未必能明确断言比尔和马修两人具有很好的合作关系,通常我们使用概率来衡量这种合作关系的可能性。假设这种关系存在的概率为p,p的值由本领域专家通过可用信息人工确定,或者由信息抽取或生成规则自动产生。在大数据时代的今天,对于管理不确定数据有更为强烈的需求,因此目前出现了各种质量不一的数据。特别地,我们专注于不确定图,尤其是图的边上具有存在概率的不确定图。不确定图模型具有广泛的应用领域,除了社会网络,不确定图模型还被应用于通信网络,无线传感器网络,蛋白质交互网络以及生物学中的调控网络等。
另一方面,频繁模式挖掘作为数据挖掘领域高度关注的主题,一直持续了近十年,相关研究也取得了长足的进展,其中频繁子图引起了特别的研究兴趣。所谓频繁子图是指从多个小确定图的集合或者单个大确定图中发现的支持度不小于用户给定阈值的子图。频繁子图再刻画确定图的数据特征、分类、聚类以及建立索引方面具有重要作用。
虽然目前对于频繁子图及其在确定图上挖掘的方法已经具有很好的理解,但在不确定图上,这一问题变得更加有趣但也更少被研究。一个不确定图时特殊的边加权图,其中每条边(u,v)上的权重是其存在的概率。最近,研究工作致力于在多个小的不确定图的图集上挖掘频繁子图。但是,该问题在单个大型不确定图中虽然同等重要,因为现实生活中的大型网络越来越多地出现了不确定性——比如,在社会网络中一个人对另一个人的影响是具有概率的;在生物网络中的蛋白质交互情况也有一定测量误差——但现有技术在本方面 是一片空白。
针对现有技术中缺乏针对单个不确定图的频繁子图挖掘技术方案的问题,目前尚缺乏有效的解决方案。
发明内容
针对现有技术中缺乏针对单个不确定图的频繁子图挖掘技术方案的问题,本发明的目的在于提出一种针对单个不确定图的频繁子图挖掘方法,能允许针对单个不确定图进行频繁子图挖掘,填补了本领域的技术空白。
基于上述目的,本发明提供的技术方案如下:
根据本发明的一个方面,提供了一种针对单个不确定图的频繁子图挖掘方法,包括:
获取单个不确定图;
根据单个不确定图枚举出单个不确定图的所有子图;
在单个不确定图的所有蕴含图中指定部分蕴含图为样本图;
分别计算单个不确定图的每个样本图的存在概率,以及每个子图在单个不确定图的样本图上的期望支持度;
根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图;
输出所有频繁子图。
其中,根据单个不确定图枚举出单个不确定图的所有子图包括:
从单个不确定图提取出多个蕴含图,每个蕴含图都是单个不确定图可能的存在方式;
分别计算每个蕴含图所包含的所有子图。
并且,提取出多个蕴含图的个数为2的单个不确定图中边的个数次幂。
并且,在单个不确定图的所有蕴含图中指定部分蕴含图为样本图,为在单个不确定图的所有蕴含图随机指定数个蕴含图为样本图,其中,样本图的数量与任一子图在单个不确定图的所有蕴含图的支持度最大值的平方成正比,与不置信度的自然对数成反比,与误差系数的平方成反比,与支持度阈值的平方成反比。
并且,分别计算单个不确定图的每个样本图的存在概率,以及每个子图在单个不确定图的样本图上的期望支持度包括:
根据单个不确定图中每条边的概率,计算出每个蕴含图的存在概率;
指定单个不确定图的所有子图中的一个;
分别计算被指定的子图在每个样本图上的支持度;
根据每个样本图的存在概率、被指定的子图在每个样本图上的支持度,计算被指定的子图在每个样本图上的支持度;
继续从单个不确定图中指定下一个子图并计算其在每个样本图上的支持度,直到单个不确定图的所有子图都被指定;
根据每个子图在每个样本图上的支持度,计算每个子图在单个不确定图上的期望支持度。
并且,分别计算被指定的子图在每个样本图上的支持度,为使用最大独立集法计算被指定的子图在每个样本图上的基于最小像的支持度。
并且,根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图包括:
获取期望支持度阈值;
根据单个不确定图的每个样本图的存在概率,计算子图在所有支持度等于一恒定值的蕴含图上的聚合概率;
根据子图在所有支持度等于一恒定值的蕴含图上的聚合概率,计算子图在单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率;
根据子图在单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率,计算当前概率观察值与结果区间;
根据结果区间与期望支持度阈值判定子图是否为频繁子图,将所有结果区间上限大于期望支持度阈值、且结果区间下限大于期望支持度阈值与非误差系数的乘积的子图判定为频繁子图,将所有结果区间上限小于期望支持度阈值的子图判定为不是频繁子图。
从上面所述可以看出,本发明提供的技术方案通过将单个不确定图划分为多个蕴含的确定图并将蕴含图视作确定图抽样计算子图的期望支持度的手段,能在单个不确定图上使用频繁子图挖掘技术,填补了本领域的技术空白。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种针对单个不确定图的频繁子图挖掘方法的流程图;
图2为根据本发明实施例的一种针对单个不确定图的频繁子图挖掘方法中,单个不确定图、确定图与子图的一个实施例;
图3为根据本发明实施例的一种针对单个不确定图的频繁子图挖掘方法中,根据布尔表达式获得的单个不确定图及其子图的一个实施例。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进一步进行清楚、完整、详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
一个确定图G是一个元组(VG,EG,lG,ΣG),其中,VG是节点集合,是边的集合,lG:VG∪EG→ΣG是为节点和边赋予标签的函数。|VG|和|EG|分别表示G中节点和边的数量。为了描述简便,我们假设图是无向的,且没有自循环和多重边。但是,本方法可以很容易的被拓展到具有多重边的有向图。
如果存在单射f:Vg→VG同时满足以下两个条件:
我们就用表示一个子图g同构于确定图G。我们称g是G的子图,G是g的超图,f(g)是g在G中的一个嵌入。如果g是g′的直接超图,那么且|Eg|=|Eg′|+1。直接超图是指仅比子图多一条边的超图。
对于以及支持度阈值τ,假设存在一个函数来衡量g在G中的支持度,那么最直接的想法是计算g在G中的同构次数。然而,该支持度计算方法不具有反单调性。反单调性对于开发能够有效剪枝搜索空间的算法是十分关 键的,如果没有此性质,则不得在整个空间进行穷举搜索。因此,目前的研究提出了很多具有反单调性的支持度计算法方法,包括最小映射法(MI),有害重叠法(HO),以及最大独立集法(MIS)。这些计算方法都是基于子图同构,但对延生的重叠兼容性有所不同,而导致计算复杂度不同。特别的,MI是唯一一个可以高效计算的方法,而HO和MIS都涉及解决NP完全的问题;MI得到的结果是HO/MIS得到结果的超集,因此,其结果可以从MI的结果通过进一步计算得到。因此,接下来我们使用MI作为支持度计算的标准,然而算法只需要简单改变即可拓展到另外两种计算方法。
考虑从g到G的一个子图同构集合F={f}。F(v)表示{v′},其中对于每个v′,存在映射f将v∈Vg映射到v′∈VG。基于最小像的支持度表示为下文中“支持度”是“基于最小像的支持度”的缩写。
图2示出了确定图G和子图g,该图建模了合作社交网络,其中节点表示人,边表示合作关系。每个人的研究领域作为标签,即Bio表示生物学家;为了图示的清晰,边的标签被省略了。容易发现在g和G之间有三个同构,分别是(u1,u2)到(v1,v2),(v3,v2)和(v3,v4)。结果是sup(g,G)=min{2,2}=2。
虽然在确定图上子图的重要性由支持度进行衡量,但此概念在不确定图上没有意义,因为图结构中存在概率,包含关系变得模糊或者不确定.现有的工作在多个小的不确定图的图集上定义了期望支持度,该定义计算不确定图来自所蕴含的确定图中支持度的贡献,只要当前子图被包含了一次.扩展此概念,我们定义单个大的不确定图上期望支持度为在所有可能图上支持度的聚合值,即支持度在所有由不确定图蕴含的确定图上的概率分布.子图超过一个给定阈值被认为是频繁的.由于定义的偏移,目前在多个小不确定图的图集上的算法不再适用于单个不确定图.我们提出了一个高效的具有精度保证的解决方案,解决了基于边的概率和基于点的支持度计算。
根据本发明的实施例,提供了一种针对单个不确定图的频繁子图挖掘方法。
如图1所示,根据本发明的实施例提供的针对单个不确定图的频繁子图挖掘方法包括:
步骤S101,获取单个不确定图;
步骤S103,根据单个不确定图枚举出单个不确定图的所有子图;
步骤S105,在单个不确定图的所有蕴含图中指定部分蕴含图为样本图;
步骤S107,分别计算单个不确定图的每个样本图的存在概率,以及每个子图在单个不确定图的样本图上的期望支持度;
步骤S109,根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图;
步骤S111,输出所有频繁子图。
其中,根据单个不确定图枚举出单个不确定图的所有子图包括:
从单个不确定图提取出多个蕴含图,每个蕴含图都是单个不确定图可能的存在方式;
分别计算每个蕴含图所包含的所有子图。
并且,提取出多个蕴含图的个数为2的单个不确定图中边的个数次幂。
并且,在单个不确定图的所有蕴含图中指定部分蕴含图为样本图,为在单个不确定图的所有蕴含图随机指定数个蕴含图为样本图,其中,样本图的数量与任一子图在单个不确定图的所有蕴含图的支持度最大值的平方成正比,与不置信度的自然对数成反比,与误差系数的平方成反比,与支持度阈值的平方成反比。
并且,分别计算单个不确定图的每个样本图的存在概率,以及每个子图在单个不确定图的样本图上的期望支持度包括:
根据单个不确定图中每条边的概率,计算出每个蕴含图的存在概率;
指定单个不确定图的所有子图中的一个;
分别计算被指定的子图在每个样本图上的支持度;
根据每个样本图的存在概率、被指定的子图在每个样本图上的支持度,计算被指定的子图在每个样本图上的支持度;
继续从单个不确定图中指定下一个子图并计算其在每个样本图上的支持度,直到单个不确定图的所有子图都被指定;
根据每个子图在每个样本图上的支持度,计算每个子图在单个不确定图上的期望支持度。
并且,分别计算被指定的子图在每个样本图上的支持度,为使用最大独立集法计算被指定的子图在每个样本图上的基于最小像的支持度。
并且,根据每个子图在单个不确定图的样本图上的期望支持度与单个不确定图的每个样本图的存在概率,判定该子图是否为频繁子图包括:
获取期望支持度阈值;
根据单个不确定图的每个样本图的存在概率,计算子图在所有支持度等于一恒定值的蕴含图上的聚合概率;
根据子图在所有支持度等于一恒定值的蕴含图上的聚合概率,计算子图在单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率;
根据子图在单个不确定图的所有蕴含图中期望支持度不小于该恒定值的聚合概率,计算当前概率观察值与结果区间;
根据结果区间与期望支持度阈值判定子图是否为频繁子图,将所有结果区间上限大于期望支持度阈值、且结果区间下限大于期望支持度阈值与非误差系数的乘积的子图判定为频繁子图,将所有结果区间上限小于期望支持度阈值的子图判定为不是频繁子图。
下面根据具体实施例进一步阐述本发明的技术方案。
一个不确定图是一个元组Gu=(G,P),其中G是一个确定图,P:EG→(0,1是一个概率函数,将每条边e映射为一个存在概率,由Pe表示,e∈EG。G是主干图。
一旦确定了每条边的存在情况,由Gu可以蕴含得到确定图Gi,称为蕴含图。因此一个不确定图Gu总共蕴含可能的确定图,每个蕴含图都是Gu可能的存在方式。
我们考虑的模型假设边之间的存在概率是相互独立的,这种模型有很多实际的应用,那么,Gu蕴含Gi的概率,或者Gi的存在概率,可以通过包括或不包括边来计算:
P(Gu⇒Gi)=Πe∈EGiP(e)Πe∈EG\EGi(1-P(e))]]>
既然经典的关于支持度的概率在不确定图上变得很有意义,我们求助于期望支持度,即在蕴含图上的概率分布情况。
我们将子图g在不确定图Gu上的期望支持度定义为:
esup(g,Gu)=Σi=12|EG|P(Gu⇒Gi)sup(g,Gi)]]>
其中,Gi是Gu的蕴含图。给定期望支持度阈值σ,子图g如果是频繁的,那么g在Gu中的期望支持度将不小于阈值,即esup(g,Gu)≥σ。
对每个Gu的蕴含图Gi,esup(g,Gi)≤esup(g′,Gi)。不等式在对i进行求和后仍然成立。因此,esup(g,Gu)≤esup(g′,Gu),期望支持度是反单调的。
在图2中,我们为G的每条边赋予一个存在概率并构造一个不确定图Gu,其中存在概率建模两个人合作关系的紧密程度。此时,G是主干图,同时Gu有8个蕴含图,P(Gu⇒G)=0.4×0.5×0.6=0.12.]]>我们在上文中已经计算出sup(g,G)=2,因此照此将所有来自蕴含图的值聚合起来,可以计算出esup(g,Gu)=1.12。如果给定的支持度阈值σ=1,则esup(g,Gu)≥1,g是频繁子图。
给定一个不确定图Gu=(G,P)和一个期望支持度阈值σ,单个不确定图上频繁子图挖掘问题是指发现所有期望支持度不小于给定阈值的子图g,即
我们在期望支持度的定义中给出了频繁子图的语义。假设sup(g,Gu)=10,Gr表示一个随机独立选择的蕴含图,那么我们有理由期望g在Gr中至少有10次不重复的出现。根据现有的分析,基于期望语义的频繁子图适合于在不确定图中进行主题发现。当不存在二义性时,在后文中省略领域Gu,即表示为sup(g)。
我们提出了一个枚举—评价的算法,取名为fanta(frequent subgraph mining on uncertain graphs)。fanta算法先枚举所有可能的候选子图,再对每个子图计算期望支持度,然后决定是否将其作为结果输出。任何利用了Apriori性质的枚举策略都可以使用。Apriori性质陈述的是,不频繁子图的超图也不可能是频繁的。特别地,不确定图中所有子图可以被组织为一个有根的有向无环图(DAG),其中节点代表候选子图(根表示为空)。DAG中从g′到g的一条弧表示g′是g的直接超图。我们从频繁的边开始,每次将一条新的边加到频繁子图中,枚举所有可能子图,因此可以在DAG的第n层找到包含n条边的子图。为了避免重复枚举同时保证完备性,我们使用方法gSpan给每个子图增加了词典顺序。
然而,通过比较期望支持度和阈值,决定一个被枚举出的子图是否是频繁的,其最简单的方式是产生所有蕴含图,计算并聚合子图在所有蕴含图上的支持度,得到期望支持度,再与支持度阈值进行比较。但这种方法因为会产生大量蕴含图,加上支持度计算的高复杂度,因此对终端用户而言是不可 接受的。为了达到更好的运行性能,我们尝试所有可能,在可接受时间内返回结果。
我们已经发现,使用定义计算期望支持度复杂度相当高,因为Gu存在个蕴含图。对每个候选子图,我们需要计算在指数级的确定图上计算其支持度,其中频繁涉及具有高昂时间代价的子图同构检测。我们研究这一问题并通过一个高效的算法来降低计算复杂度。
我们首先用另一种方式给出期望支持度的计算。假设P(sup(g)=j)表示子图g在所有支持度等于j的蕴含图上的聚合概率,即
P(sup(g)=j)=ΣGi∈Λj(g)P(Gu⇒Gi)]]>
其中,Λj(g)={Gi|sup(g,Gi)=j}。
因此有
esup(g)=Σj=1MsP(sup(g)=j)·j]]>
其中,Ms=sup(g,G)是g在Gu所有蕴含图中最大的支持度。
我们进一步定义,Pj(g)为g在Gu的蕴含图中支持度不小于j的聚合概率,即
Pj(g)=ΣGi∈Δj(g)P(Gu⇒Gi)]]>
其中,Δj(g)={Gi|sup(g,Gi)≥j}。
同时,对esup(g)公式右端展开可得
esup(g)=Σj=1Ms-1(Pj(g)-Pj+1(g))·j+PMs(g)·Ms=P1(g)+Σj=2Ms-1Pj(g)+PMs(g)]]>
因此又有
esup(g)=Σj=1MsPj(g)]]>
我们还注意到Pj(g)的两个性质:(1)Pj(g)≤Pj(g′),其中,(2)Pj(g)≤Pj′(g),其中,1≤j′≤j。
我们可以证明,计算是#P难的,其中是一个整型常数。可以将DNF计数问题在多项式时间内归约为此问题,以此证明该问题是#P难的。
考虑一个析取范式的一阶逻辑表达式(DNF)D=C1∨C2∨…∨Cm.Ci(i∈[1,m])的形式为l1∧l2∧…∧lk,其中,lj(j∈[1,k])是{x1,x2,…,xn}中的布尔变量。DNF计数问题是计算有多少种对变量的赋值可以满足D。设P(xi)表示xi被赋值为真的概率,P(D)是随机一组对变量的赋值满足D的概率,给定一个前述实例,下面构造了在Gu中计算的问题。
我们构造一个不确定图Gu,其节点集合为V1∪V2∪V3,其中:
其中,V1中节点的标签为α,V2∪V3中为β。边的构造方法如下:
(1)在和之间增加一条边,j∈[1,k],存在概率为1;
(2)如果D中xi包含在Ci中,则在(ci,uj)增加一条概率为1的边;
(3)对每个xi∈{x1,x2,…,xn},在(ui,vi)之间增加概率为P(xi)的一条边,所有Gu的边标签为γ。
两个问题之间的关联性为:
每个对{x1,x2,…,xn}的真值赋值π一对一对应于Gu的一个蕴含图Gi,即边(ui,vi)存在当且仅当xj赋值为真,每个真值赋值π的概率等于显然,在所有蕴含图Gi中,因此,如果一个真值赋值π满足D,当且仅当g在蕴含图Gi中的支持度超过因此
综上可知,计算是一个#P难问题。类似地,可以证明计算esup(g)也是#P难的。
图3示出的是布尔表达式D按照上述构造方法,得到的不确定图Gu和子图g,其中,D=(x1∧x2∧x3)∨(x2∧x3∧x4),x1,x2,x3,x4被赋值为真的概率分别是P(x1),P(x2),P(x3),P(x4)。
由于计算子图支持度问题具有#P难的时间复杂度,我们提出了一个近似评价算法,其误差为ε。作为近似算法,理想的结果是能够返回所有频繁的子图(真正);为了满足这一要求,则结果集中也会有不频繁的子图(假正)。根据这一目的,我们输出一个闭区间该区间包含esup真实值,然后对于子图g的支持度与支持度阈值σ之间关系的以下不同情况进行处理:
Case 1:如果不输出g,因为esup(g)<σ是确定的;
Case 2:如果且esup(g)‾≥σ,]]>则输出g,因为esup(g)≥(1-ε)σ是肯定的,而且很有可能esup(g)≥σ;
Case 3:如果esup(g)‾≥σ]]>且则不能决定是否输出g,因为我们不能决定是否esup(g)≥σ或者esup(g)<(1-ε)σ。
Case 3并不是我们想要的,因为Case 3我们无法决定。然而,我们观察到如果区间的宽度在εσ范围内,则Case 3不会出现。因此,通过限制区间宽度最大为εσ,则通过来估计esup是足够的,因为此时只有Case 1和Case 2会出现。这对于算法设计很重要,我们的算法依赖此来决定是否将g作为结果输出。
我们的近似算法基于蒙特卡洛方法。通过我们首先计算Pj(g)的近似值,其中,j∈[1,Ms];然后聚合该值得到区间为了保证区间不会大于εσ,我们要求每个Pj(g)近似值的绝对误差不会超过εσ/Ms。此要求来自一类随机算法——随机近似模式,可以提供精度保证。
给定一个置信系数δ∈[0,1],以及一个绝对误差范围ε′,我们可以使用由随机近似模式得到的近似值来估计p,如果其中,1-δ是置信程度。为了在δ和ε′的条件下近似得到Pj(g),我们依靠一个基于霍夫丁不等式的算法。
假设X1,X2,…,Xn是独立同分布的伯努利随机变量,其中Xi=1的概率为p,则有下述不等式成立:
P(|1nΣi=1nXi-p|≥ϵ′)≤2exp(-2ϵ′2n)]]>
n个样本观察值的平均可以提供一个具有精度保证关于p的近似,为提供置信度1-δ和绝对误差ε′=εσ/2Ms需要的样本量大小为:
N≥ln(2/δ)2ϵ′2=2Ms2ln(2/δ)ϵ2σ2]]>
算法1为评价一个子图的过程的封装。输入一个子图g,不确定图Gu误差系数ε以及实数δ;输出一个布尔值,表示g是否是频繁的。
算法第1行为Pj(g)的观察值分配一个空的数组,并计算Ms,即g在所有蕴含图中最大的支持度,也即在Gu的主干图G中的支持度,其中嵌入(embedding)被记录下来,并以其ID进行标识。第2行初始化变量,以及抽样次数N。接着,我们应用蒙特卡洛方法。第3行收集N个随机抽取的蕴含图,或者Gu的样本图Gi。注意到“样本图”与“蕴含图”是不一样的,因为两个样本图可能对应于同一个蕴含图。一个小的优化是,不用抽样图中所有的边,而是只考虑嵌入边,即εm={ei|ei∈F(g)},其中F是g到G同构的集合,i∈[1,|εm|]。这样便缩小了概率空间,而且相对在整个不确定图上进行抽样而言,并不影响正确性。我们仍然用Gu的样本来表示,虽然只包含嵌入边(部分边),第4-7行计算g在每个Gi上的支持度,并聚合对应的概率值即增加观察概率,或者Pj(g)的近似值(如果j不大于sup(g,Gi)的话)。在浏览了所有样本图后,第9行通过函数EvaluateSup评价支持度的近似值.
函数EvaluateSup工作流程为:输入Pj(g)的观察概率值P[j]、整数x,并输出Case 1或者Case 2(Case 3不应该出现)。特别地,当前概率观察值P^(g)=Σj∈[1,Ms]P[j],]]>输出结果在esup‾=P^(g)-Msϵσ2x]]>和esup‾=P^(g)+Msϵσ2x]]>之间。根据区间与支持度阈值σ之间的关系作出决定。
P(|1nΣi=1nXi-p|≥ϵ′)≤2exp(-2ϵ′2n)]]>证明,只要样本量足够,所有输出子图满足给定误差范围,算法1就是正确的。另一方面,由于在子图g增长的过程中存储了其嵌入(embedding),可以在O(|F(g)||Vg|)的时间复杂度下计算Ms,其中F(g)是g嵌入(embedding)的集合;接着,我们执行蒙特卡洛仿真,计算支持度和概率的复杂度分别为O(|F(g)||Vg|)和O(|Eg|)。因为总的抽样样本数量复杂度不超过则算法1的总复杂度是既然时间复杂度是关于和的多项式级,算法1属于完全多项式随机近似模式(FPRAS),该模式可以同时提供高效性和高准确度。
综上所述,为获得不仅频繁,而且在现实中具有高置信度的子图,我们定义了在单个不确定图上,基于期望支持度的频繁子图挖掘问题,基于期望语义的支持度对于在不确定网络中主题发现很有用。为了说明此问题的高复杂度,通过将DNF计数问题归约为此问题,我们证明了计算子图期望支持度是#P难的,我们提出了一种基于蒙特卡洛的近似算法来获取一个区间,并以给定精确度包含真实值,将获取的支持度区间与支持度阈值之间的关系分为三种情况,可以保证,以概率至少为1-δ,任何子图支持度不小于σ的子图都会被输出,同时任何期望支持度小于(1-ε)σ的子图都不会输出。此分类确定了我们枚举—评价的算法框架,即慎重地枚举候选子图并逐一评价。借助于本发明的上述技术方案,通过将单个不确定图划分为多个蕴含的确定图并将蕴含图视作确定图抽样计算子图的期望支持度的手段,我们能在单个不确定图上使用频繁子图挖掘技术,填补了本领域的技术空白。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。