Page 167 - 《软件学报》2020年第12期
P. 167

潘敏佳  等:面向时序图数据的快速环枚举算法                                                           3833


         加的内存和减少的内存的差值.但是在使用布隆过滤器的算法内均没有出现内存增加的现象,这是因为布隆过
         滤器的正向遍历阶段已经将范围缩小的很多,导致继承的数量变少,hop 值占用也变少.
             虽然不使用布隆过滤器的算法在较坏的情况下会出现一定的内存增加,但是由于 hop 值本身占用内存较
         小,因此预计增加的内存会在可接受的范围内.表格中有些情况下,2SCENT 算法和本文算法占用的内存相同.这
         是由于在使用布隆过滤器时,正向遍历时所占的内存比反向遍历时所占的小,hop 值会被用于正向遍历;而我们
         记录的是两阶段中占用内存的最大值.
                                    Table 5    Comparison between memory usage
                                        表 5   获取元组算法内存比较表
                                                        2SCENT        本文
                                数据集      窗口及最大长度
                                                      Exact  Bloom  Exact  Bloom
                                          24h        4   1324  124   1143  120
                               Wiki-talk
                                          36h        4   2787  230   1704  125
                                          40h        5   31   38   17    16
                               CollegeMsg
                                          50h        5   56   70   25    30
                                          10h        4   254   421   84   421
                                 Higgs
                                          20h        4   529   521   125   521
                                          8day       4   1049  377   1219  377
                              Stackoverflow
                                          10day      4   1228  390   1338  390

         4.5   总体比较
             图 5 为算法在 4 个图上的总体运行时间比较图,其中,4 个图的长度限制分别为 4,5,4,4.我们取不同的窗口
         大小作为横坐标,来衡量算法的时间表现.其中,2exact 表示 2SCENT 算法不使用布隆过滤器来获得四元组,
         2bloom 表示 2SCENT 算法用布隆过滤器获得四元组,同理,exact 和 bloom 对应本文算法获取五元组的方式.由
         图可见:在获取小于一定长度的环路时,本文算法的运行时间总是比 2SCENT 算法的运行时间短.且从折线的斜
         率变化可得:图越大,2SCENT 算法所增加的时间越大,而本文算法可以使消耗时间的增加保持一个相对较为平
         稳的趋势.也就是说,这样的时间差距会随着图的增大变得更为显著.因此,我们的算法对于图的扩大具有良好
         的稳定性.


                           Time (s)                       Time (s)




                                     (a) Wiki-talk                          (b) College


                            Time (s)                     Time (s)





                                      (c) Higgs                        (d) Stackoverflow
                                   Fig.5    Comparison with different time windows
                                          图 5   不同时间窗口比较图
   162   163   164   165   166   167   168   169   170   171   172