Page 230 - 《软件学报》2020年第11期
P. 230

尹子都  等:基于采样的在线大图数据收集和更新                                                         3545


                    IF |A|>1 AND  ρ ≥ ρ min    THEN
                      S←Divide(A,K)  //分为 K 个子空间,得到集合 S
                      FOR EACH s IN S DO  //s 为子空间
                        mass←0
                        W←HaltonSeq(s,R samp )   //生成采样点集合 W
                        FOR EACH w IN W DO
                                 c
                          IF w∉Ψ  THEN
                            obj←Collect(w)
                             c
                                  c
                            Ψ ←Ψ ∪obj
                          END IF
                          mass←mass+NumInfo(obj)   //加入新增的目标信息数量
                        END FOR
                        IF |s|>1 THEN
                          density←mass/|W|
                          P cand .Add([s,density])
                        END IF
                      END FOR
                      A←P cand .PickMax(⋅)   //取出密度最大的子空间
                      HD-QMC(⋅)   //下一次迭代
                    END IF
                    算法 1 中的 FOR 循环可并行完成.算法迭代执行,对子空间进行分割并产生一棵 K 叉树,每个非叶子节点代
                 表一次迭代并对应一个子空间,每次迭代将从一个非叶子节点产生 K 个分支,对原来子空间进一步划分,并产生
                 新的子空间.子空间不可分,则为叶子节点且不产生新的分支.例 2 给出了基于算法 1 的 OBG 数据收集过程.
                    例 2:基于例 1 得到的高维空间 A 及其子空间,以社交行为“关注”“转发”“评论”“点赞”作为目标信息,则子空
                 间的重要性取决于对象的出度,整个数据收集过程将进行多次 QMC 采样迭代并生成一棵二叉树,其上部为子
                 空间内的所有对象,下部表示子空间的目标信息密度,分支上标注了 QMC 采样点对应的对象,如图 3 所示.二叉

                 树中的第 1 层~第 3 层节点对应的子空间,分别由上层节点对应的子空间经过分割向量 ,,kk k 分割得到.算法优
                                                                                       2
                                                                                     1
                                                                                         3
                                                                                            c
                 先选择目标信息密度最大的节点进行迭代,执行顺序为图中序号,最终得到所有对象数据集合Ψ .
                                                          1
                                                              --
                                                           o 0~o 7
                                                            --
                                                         o 1,o 3 o 5,o 7
                                                    2              6
                                                     o 0~o 3    o 4~o 7
                                                      =1         =0.5
                                                     o 0  o 1   o 4 o 5
                                                 3         5     7     9
                                                   o 0,o 2  o 1,o 3  o 4,o 6  o 5,o 7
                                                    =2   =1    =1   =1
                                                    o 2         o 6
                                                    4              8
                                                      o 2        o 6
                                                      --         --

                                               Fig.3  Example of data collection
                                                  图 3   数据收集过程举例
   225   226   227   228   229   230   231   232   233   234   235