Page 397 - 《软件学报》2025年第4期
P. 397

代强强 等: 面向二部图的极大缺陷二团高效枚举算法                                                       1803


                 等于  3  的所有顶点, 则  (A,B) 一定存在于   G v  中.
                    由于同一个极大      k-缺陷二团   (A,B) 同时包含在多个子图      G v  中, 从而造成了重复枚举. 为了避免该情况, 可以利
                 用排序进行子图划分. 设       O = {v 1 ,v 2 ,...,v n } 为二部图  G 中所有顶点  (包括   L 和  R ) 按照某种规则由低到高的排序. 令
                  ≻2                v i  距离为  2                                  ≻2

                 N (G)  表示  G  中与顶点           且基于排序    O  比  v i  排名高的顶点集合, 即  N (G) = {v j ∈ O∧ L|i < j,N v i  (G)∩
                  v i                                                            v i
                                                 2
                                                        2
                   (G) , ∅}  . 设  G ≻   表示  G  中由顶点集合  Γ (G) = N (G)∪{v i }  与  ∪ u∈Γ 2 (G) N u (G)  组成的诱导子图, 则有如下结论.
                 N v j
                              v i                v i    v i         v i
                    定理  4. 给定  G 中任意极大   k-缺陷二团   (A,B) , 若  |A| ⩾ k +1 且   |B| ⩾ k +1 , 则  (A,B) 一定包含在子图  G  中, 其中
                                                                                                 ≻
                                                                                                 v
                 v 为   A 中基于排序  O 排名最低的顶点.
                                                        2                                        A 中至少
                    证明: 因为   v 为   A 中基于   O 排名最低顶点, 则   Γ (G) 包含了   A 中所有的顶点. 此外,   B 中任意顶点都与
                                                        v
                                            ≻     (A,B) .
                 某一个顶点存在邻居关系, 则子图          G  包含
                                            v
                    定理   5. 给定  G  中任意极大  k-缺陷二团   (A,B) , 若  |A| ⩾ k +1 且  |B| ⩾ k +1 , 若   不是  A 中基于排序  O 排名最低
                                                                               v
                                              ≻
                 的顶点, 则  (A,B) 一定不包含于子图     G  中.
                                              v
                                                                        2
                    证明: 因为   v 不是   A 中基于   O 排名最低的顶点, 则   A 一定不包含于    Γ (G) 中, 因此   A 不包含  (A,B) .
                                                                        v
                                           G  中枚举所有极大                             G  中枚举所有极大     k-缺陷二
                                                                                   ≻
                    基于上述结论, 从原始二部图                        k-缺陷二团等价于从各个子图
                                                                                   v
                 团, 其中  v 属于  O∩ L (或者  O∩R ) 中. 本文利用传统图中广泛使用的退化排序           (degeneracy ordering) [20] 对  G 进行排
                 序, 其定义如下.
                    定义  5 (退化排序). 给定二部图     G , 退化排序为   G 中所有顶点    (包括  L 和   R ) 的一种排列  {v 1 ,v 2 ,...,v n } 使得任意
                 v i  在由   {v i ,v i+1 ,...,v n } 组成的诱导子图中度最小, 其中   i 为  [1,n] 中的整数.
                    基于一种传统的迭代删除方法           [31,32] , 退化排序可在线性时间内完成计算. 具体地, 给定二部图            G  , 依次删除在
                 剩余顶点组成的子图中度数最小的顶点, 顶点的删除顺序组成了一种退化排序.

                 4.2   基于上界的剪枝技术
                        G  中枚举大小    (顶点数) 约束的极大      k-缺陷二团时, 其中可能存在某些顶点一定不包含于任何满足条件
                          ≻
                    当从
                          v
                 的极大                            ≻                                                   (α,β) -
                       k-缺陷二团中. 为此, 还需要对
                                              G  进行进一步的削减以减少不必要的计算. 下面首先介绍一种基于
                                                v
                 核  [21] 的剪枝方法.                      |B|−q . 此外, 若
                    定义  6 (   (α,β) -核). 给定二部图  G  , 若子图  G(A,B) 为  G  中的一个  (α,β) -核, 则对于  ∀v ∈ A  (以及  ∀u ∈ B ) 均满
                                (
                 足  d v (G(A,B)) ⩾ α d u (G(A,B)) ⩾ β ).
                    基于  k-缺陷二团的定义, 显然有如下定理.
                    定理  6. 给定任意   k-缺陷二团   (A,B) G(A,B) 一定为一个   (  |B|−k |A|−k )-核.
                                                                      ,
                                                ,
                           ≻          v 的极大  k-缺陷二团之前, 可以基于定理          使子图成为一个       q−k q−k )-核. 为进一步
                    为此从   G  中枚举包含                                   6              (    ,
                           v
                                                                                v
                 减少冗余顶点, 本文发现, 在枚举包含          v 且大小约束的极大解时, 任何其他顶点与   至少存在               q−k  个共同邻居. 则
                 可以得到如下结论.
                    定理  7. 给定任意   k-缺陷二团   (A,B) , 对于任何两个顶点    v,u ∈ A , 一定有  |N v (G)∩ N u (G)| ⩾ |B|−q ; 若  v,u ∈ B , 同
                     |N v (G)∩ N u (G)| ⩾ |A|−q .
                 样有
                    证明: 因为顶点     v,u ∈ A 包含在同一个   k-缺陷二团中, 表明     (A,B) 中最多允许有    k 个顶点在   v 与  u 的非共同邻
                 居中. 为此  v 与  u 的共同邻居的数量一定不小于                     v,u ∈ B , 也有类似结论.
                    基于定理                                          ≻   ≻            ≻       L  中删除与   共
                                                                                                     v
                                                                                            ≻
                            7, 本文设计了一种新的剪枝技术. 即给定子图
                                                                 G = (L ,R v ,E v ) , 若
                                                                                   v
                                                                  v   v         v ∈ L  , 首先从   v
                                                        q−k  的顶点, 之后迭代重复上述操作直到所有顶点不能删除为
                 同邻居数量小于      q−k  的顶点, 然后从   R v  删除度数
                 止. 基于现有的剥离算法       [31,32] , 该剪枝技术的时间与子图的顶点数和边数成线性关系.

                 4.3   线性时间的更新技术
                    在算法   1  中, 当利用某个顶点    v 扩展当前解   (S L ,S R ) 时, 需要更新候选集和排除集以保持剩余顶点仍然可以扩展
                 新的当前解. 然而传统方法的时间复杂度与             (S L ,S R ) 的大小成多项式关系. 为提高更新效率, 本节介绍一种线性时间
                 的更新方法. 设候选集      (C L ,C R ) 中每个顶点是一个对结构, 即任何顶点      u ∈ C L  (或者   u ∈ C R  ) 包含了元素  id  与  nnd  , 其
   392   393   394   395   396   397   398   399   400   401   402