过滤
过滤类型
一轮过滤方法:只利用单个节点的局部特征。这些方法简单快速,但可能产生较多的误报<br>
传播过滤技术:一个顶点过滤后的结果可以用于优化其邻居的过滤结果<br>
领域的使用
不同的算法会设计了不同的辅助数据结构来考虑过滤中的邻域<br>
最新的工作<br>
集中在设计严格的过滤规则,以实现具有较少误报的候选集。<br>
匹配顺序<br>
数据无关顺序<br>
依赖于查询图的结构,不依赖于数据图的内容,eg:例如,RI(Reverse Iteration)算法选择查询图中度数最大的顶点作为起始顶点,然后迭代选择具有最多后向邻居的顶点。
数据相关顺序<br>
结合了查询图和数据图的信息来生成有效的匹配顺序。eg:VF2++算法首先选择具有最小标签选择性的顶点,并迭代选择具有最多后向邻居的顶点。<br>
动态顺序<br>
顶点标签的分布可能在不同区域是不均衡的。所以一边迭代一边选择匹配顺序<br>
之前有一篇论文的配对顺序可以类比,1首先快速估计各个区间的运算时间2.优先匹配时间短的,这样在如果支持度提前达标或者r+n-u<s(n=所有的个数,u=匹配对的个数,s=支持度,r=已经的带的支持度)的情况下提前终止运算。
实验
评定指标
平均候选规模<br>
过滤后的平均候选大小,表示过滤算法的有效性。一个优秀的过滤技术应该能够显著减少候选集的大小,同时保留所有可能的匹配。<br>
每秒嵌入数(EPS)<br>
考虑到经过的时间和报告的嵌入数量,EPS被定义为每秒返回的平均嵌入数量,并提供跨时间和输出大小限制的算法性能的一致评估。由于EPS是一种效率度量(如速度),因此需要注意的是,较大的EPS分数不一定与较大数量的结果相关。<br>
实验过程
测试了各种各样的算法在相同数据集下的情况,部分算法在哪种情况下运行的情况最好,以及算法在不同的类型的数据集合下各个表现的优劣和原因。同时将过滤、排序、枚举算法之间分类比较性能和将三种类别组合起来在相同数据集下比较。<br>
其他方法
通过改变迭代时候的树宽去比较算法
评估技术组合的可伸缩性::通过改变顶点数V、边数E和顶点标签大小Σ在合成数据集上进行实验<br>