Page 453 - 《软件学报》2025年第9期
P. 453

4364                                                       软件学报  2025  年第  36  卷第  9  期


                                                                                        *
                                                                *                     ξ(δ ) 都非  的概率需要
                 里我们做了一定近似, 忽略了样本边被替换的情况). 若                δ 与  δ  有一条公共边  e, 则  ξ(δ) 与      0
                                                                                                  *
                             *                                ∗       ∗         ∗              ξ(δ ) 都非
                                                                  s
                 根据组成   δ 与   δ  的 5 条边的时间顺序而定. 当    e ∈ s 且  e ∈ s  时,   和  s  有交集,  s∪ s  中只有 3  条边, 与   0
                 的充要条件是这 3 条边被采样, 概率为          p(3), 否则, 概率依然为    p(4). 假设边的时间戳与拓扑无关时,        e ∈ s 且  e ∈ s ∗
                 的概率为   8/15, 因此有:

                                                 
                                                  p(4)
                                                                       ∗
                                                                   δ与δ 没有公共边
                                                      ,
                                                 
                                                      2
                                                  p(2)
                                                 
                                              ∗                                                     (16)
                                      E (χ(δ)χ(δ )) = 
                                                  8× p(3)+7× p(4)
                                                 
                                                 
                                                                       ∗
                                                                ,  δ与δ 有一条公共边
                                                 
                                                            2
                                                       15× p(2)
                                                 
                    因此公式    (15) 可以进一步展开为:

                                             (      )    (      )   (                )
                                              1         p(4)       8× p(3)+7× p(4)
                                   Var(τ ind ) =  ¯ ∆  −1 +2η  −1 +2λ            −1                (17)

                                              p(2)        p(2) 2        15× p(2) 2
                      ¯
                 其中,  |∆| 与  ,                     d +1 个区间内的有效三角形数目, 没有公共边的互异三角形对的数目
                          ¯ η ¯ λ 分别表示与滑动窗口相交的
                                                                 ¯
                                                                          ,
                                                                      ,
                 和有一条公共边的互异三角形对的数目, 当             d → K  时, 我们有  |∆| ≈ |∆| ¯η ≈ η ¯ λ ≈ λ.

                                                         (      )   (      )    (                )
                                         (  )              1         p(4)        8× p(3)+7× p(4)
                     Var(τ cbs ) ⩽ Var(τ ind )+Var τ exp ≈ Var(τ ind ) = |∆|  −1 +2η  −1 +2λ  −1     (18)
                                                          p(2)       p(2) 2         15× p(2) 2
                                                                                                m
                                                                                       i
                                                                                       r
                    为了直观对比 CBS 算法和 SWTC 算法的方差, 在         |W| 和   m 足够大的情况下, 将   p(i) 近似为  , 其中  r =  , 此时有:
                                                                                               |W|

                                                           (    )   (    )
                                                            1        1
                                                Var(τ swtc ) = |∆|  −1 +2λ  −1                       (19)
                                                            r  3     r

                                                        (    )    (   )
                                                          1        1     8
                                              Var(τ cbs ) ≈ |∆|  −1 +2λ  −1 ×                        (20)
                                                         r  2      r     15
                    对比可以发现      Var(τ cbs ) < Var(τ swtc ). 在第  4  节中的实验也证实了以上分析.

                 3.3.3    空间复杂度分析
                    定理  3. 假设图流划分的子流数目为 K, CBS 算法的空间复杂度为 O(K), 而时间复杂度为 O(|E|K), 其中 |E| 为
                 图流中到达的总边数, 平均在图流中每一条边更新上的均摊复杂度为 O(K).
                                                                                                  O(d), 而
                    证明: 与 SWTC 算法相比, CBS 算法新增的数据结构只有                d +1  个三角形计数器, 其空间占用为
                 SWTC 算法产生的样本图中的大小为            O(K), 实验设置中, d   是一个小于     K  的常数, 所以合计空间复杂度依然为
                 O(K). 在时间复杂度上, 每次在新边到达时, 我们需要计数它在样本图中产生的三角形数目, 这一过程需要计算该
                                                                O(K). 而仅当该边被采样时, 其过期时会再触发一次
                 边两个端点的邻居交集, 复杂度与样本图大小成正比, 也就是
                 三角形计数, 再次引入      O(K) 的代价. 因此, 图流中每条新边产生的时间代价为               O(K), 而图流中边到达的边总数为
                 |E| 时, 总计时间复杂度为 O(|E|K).

                 3.4   有向三角形计数
                    在上文中, 将三角形计数中的边都视为无向边, 这也是大部分现有工作的问题定义方式. 而考虑边方向后, 有
                 向三角形计数事实上属于一种更广泛的被称为范式计数                    (motif counting) 的研究问题. 有向三角形可以被 7 种范
                 式, 如图  7  所示. 前  2  种范式只包含单向边, 后    5  种则包含单向边和双向边. 注意这里定义的双向边是被标记为双
                 向的单一边, 并非图流中两条反向边的组合, 否则其组成的范式将为四边范式而非三边的三角形范式. 此定义与之
                 前的工作相同     [14] . 本文的 CBS 算法和 SWTC 算法均可以扩展到有向三角形计数中, 只需要在算法计数三角形时
                 计数不同的有向三角形即可, 其他步骤和无向三角形计数相同.

                                           A     B     C    D     E    F     G
                                                 图 7 不同的有向三角形范式
   448   449   450   451   452   453   454   455   456   457   458