Page 433 - 《软件学报》2024年第6期
P. 433

徐兰天 等: 面向超图数据的最大独立集算法                                                           3009


                        0.18
                        0.16   BA                                  60 000   BA
                       运行时间 (s)  0.12  MA2                        算法内存占用 (KB)  40 000  MA1
                        0.14
                                                                   50 000
                               MA1
                                                                            MA2
                        0.10
                                                                   30 000
                        0.08
                        0.06
                        0.04                                       20 000
                        0.02                                       10 000
                          0                                           0
                             Primary  High  Email  Bills  NDC           Primary High Email Bills  Math  NDC
                        700                                      1 200 000
                               BA
                        600    MA1                               1 000 000  BA
                       运行时间 (s)  400  MA2                       算法内存占用 (KB)  800 000  MA2
                                                                            MA1
                        500
                                                                  600 000
                        300
                        200                                       400 000
                        100                                       200 000
                                                              89 382
                          0                                           0
                             Math  DAWN   Stack  MAG  DBLP               DAWN   Stack  MAG   DBLP
                                                  图 9 运行时间及内存占用

                    表  3  展示了  4  种剪枝策略在   10  个超图数据集上的应用效果. 剪枝           1  在较为稠密的图上的效果有限, 比如
                 contact-primary-school 和  contact-high-school, 这两个图中没有  one-degree  点, 则剪枝  1  失效. 而在较为稀疏的
                 coauth-DBLP  和  coauth-MAG-Geology  图上, 剪枝  1  可以在不损失准确度的情况下, 快速将     one-degree 点加入独立
                 集并将包含    one-degree 点的边删除来减小后续的搜索空间. 剪枝           2  是  4  种剪枝中唯一的一种近似剪枝, 为了保重
                 算法的效率和准确性, 剪枝        2  既需要删除高度点来为精确的剪枝           3  和剪枝  4  创造使用条件, 又需要尽量少的使用,
                 避免产生更多的误差. 在多数情况下, 剪枝            3  的删边数量要高于剪枝       4, 这是由于剪枝    3  的使用条件在搜索时更容
                 易满足. 剪枝   3  和  4  可以精确的剪边和降低高度点的度, 使得剪枝           2  删点时可以选择更准确的高度点.


                                                    表 3    4  种剪枝的效果

                          数据集                剪枝1删边           剪枝2删点           剪枝3删边           剪枝4删边
                     contact-primary-school     0              224            106 838           25
                      contact-high-school       0              278            171 848          142
                          email-Eu              46             597            219 076          1 556
                        congress-bills          1              1 626          259 939          176
                        tags-math-sx            36             957            659 429          1 194
                          DAWN                 296             747            575 795          3 822
                       NDC-substances          1 063           706            32 178          35 484
                      tags-stack-overflow      2 045          21 331         8 247 828        60 194
                     coauth-MAG-Geology       516 790         26 348          134 611         168 942
                        coauth-DBLP           683 676                         693 472         444 166

                    图  10  展示了  3  种算法搜索到的最大独立集点数与真实结果的比值. 从图中可以看出在所有搜索过程中的, 3
                 种算法的准确率都超过了         50%. 同时在所有超图数据集上, MA1        和  MA2  算法的准确率都大幅超过了         BA  算法, 在
                 数据集   congress-bills 上准确率的差异甚至达到了     40%  左右. 而  BA  算法在不同数据集上的表现不太稳定, 差异较
                 大, 在  congress-bills 上的准确率只有不足  55%, 而在数据集    DAWN  上则可超过     90%. MA1  和  MA2  算法则比  BA
                 算法稳定的多, 在所有的数据集上的准确率都超过了                 90%, 甚至在一些数据规模较小的数据集上可以接近                 100%,
                 比如数据集    contact-primary-school.
   428   429   430   431   432   433   434   435   436   437   438