相关资源
问题
本文的问题是:动态时序图中挖掘motif,可以认为是在时序图中挖掘频繁子图。子图中的边满足相同的顺序。
在有向、无标签、有重边、有时序的图中,挖掘频繁出现的模式。
时序图
对于节点的连通性,论文中仅提到存在一个序列,以及序列上的边满足时序关联,未强调序列是否为通路。在毕业论文中,则强调了是通路。文中其他时序图中的定义不在赘述。
算法仅在两处用到时间信息,一是在判断时序连通性上,二是确定模式内部边排列的顺序。
在一个模式中,时间的作用是给出各边的顺序。
主要贡献
算法主要包括三部分:将图映射为序列,在序列中挖掘时序频繁项,将挖掘到的序列转回图。算法主要的优势有两点:
- 粗粒度的映射,计算代价较小
- 将挖掘从图空间转到序列空间,挖掘代价较小
核心的贡献是:一种将图映射序列的方法,以及映射后对应的模式扩展的方法。
1. 映射为序列
对映射的要求如下。由于映射是粗粒度的,所以只能保证同构的图会映射到同一个序列,但一个序列对应的图未必都是同构的,所以需要在最后序列转为图时需要进行一定的过滤。
将图映射为序列,可以简单认为是将边按照特定顺序进行排序。那么需要解决两个问题:边的表示,以及边的顺序。边的表示使用了节点来表示,边顺序按照时间来排序。
为了满足第一条要求,需要找到同构图中的不变量,这里采用节点的度。这里度包括入度和出度。
但这样的映射不满足第二条要求,子图对应的序列未出现在超图中。
为了解决该问题,重新定义了包含。包括边包含和序列包含,使得当前映射满足要求。
支持度的计算。这里借助了支持集的概念,包含identically overlapping的支持集计算是NP hard的,所以支持度是最大无包含identically overlapping的支持集中包含实例数。求最大支持集是基于 右移序 来实现的。
这里的支持集没有使用真实的支持集,而是近似的,故最终的结果也是近似结果,并非精确解。
2. 序列增长
序列增长部分,不仅仅是要满足close,也需要满足特定的包含关系。
算法中的el是floor后的标签。b是指边中节点的位置,这里仅有普通图,故b取值仅为0,1。最初的调用中b为0。
3. 伪码
缺点
准确性