Page 134 - 《软件学报》2025年第10期
P. 134

刘莹 等: 正则图上对称双态自旋系统相关的细密度二分定理                                                    4531


                                    k
                    一个定义在     [q] 上的   元函数  F  总可以写成列向量的形式, 即选取某个变量作为列标, 其余变量作为行标, 按
                                                   3 元布尔相等函数      (对称函数值与变量顺序无关) 可写作:
                 照字母序展开, 相应位置填入对应函数值. 如

                                                                 
                                                             1 0
                                                                 
                                                                 
                                                                 
                                                            0 0  
                                                                 
                                                                 ,
                                                                  
                                                     (= 3 ) =    
                                                            0 0  
                                                                 
                                                                 
                                                                 
                                                             0 1
                 其中, 行标展开为     00, 01, 10, 11; 列标展开为  0, 1. 对任意矩阵  T ∈ C q×q ,  T F  即为   F  被  T  作用后的转换函数. 类似
                                                                         ⊗k
                       ⊗k                                        ⊗k                 ⊗k
                 定义   FT , 其中   F  写作行向量. 对于  [q] 上的函数集  ,                  FT = {FT |F ∈ F}.
                                                         F TF = {T F|F ∈ F} 且
                      ,              [q] 上的函数集, 一个可逆矩阵      T ∈ C q×q   定义的全息变换为: 对于   Holant q (F|H) 的一个二
                     H F  为两个定义在
                                                 −1                  ′   ′                       F ∈ F (或
                 部图实例   Ω(G,π), 构建一个   Holant q (FT|T H)  的一个二部图实例  Ω (G,π ); 若  π 将  v ∈ V(G) 映射到函数
                                                                                   T # q (Ω) = # q (Ω ), 故容易得
                                                 −1 ⊗d(v)
                          ′             FT  ⊗d(v)  (T )  H). Valiant [31] 证明了, 对任意可逆矩阵  ,      ′
                 H ∈ H), 则  π  将  v 映射到函数    (或
                 到以下结论.
                    引理  3.  ,                             q 为大于  1                       T ∈ C q×q , 有:
                          H F  为两个定义在     [q] 上的函数集, 其中            的正整数. 对于任意可逆矩阵
                                                        −1
                                                                                     −1
                                Holant q (F|H)≡ poly Holant q (FT|T H)且Holant q (F|H)≡ serf Holant q (FT|T H).
                  3.3   插 值
                    构件构造和全息变化这两个归约方法, 对于输入实例都一对一的构造一个新的等值实例. 插值方法与它们不
                 同, 插值方法生成多个新的实例, 利用这多个实例的值来计算原始输入实例的值. A                        和  B  是两个图上的问题, 利用
                 插值方法构造     A  到  B  的归约一般分两步.
                    (1) 根据  A  的输入实例  G, 构造一个多项式     µ, 满足在某个点    a  上  µ(a) = A(G).
                    (2) 根据  G 构造一系列   B  的实例   G 1 ,G 2 ,... 满足  B(G 1 ) = µ(b 1 ),B(G 2 ) = µ(b 2 ),..., 利用  B  的神谕得到  µ 在多个不
                 同点的值, 根据拉格朗日插值恢复出           µ 内每项的系数, 从而计算得到        µ(a) = A(G).
                    以下例子展示了通过插值方法构建多项式时间归约                  [4,6] 和亚指数时间归约   [25] .
                    引理  4.  F  为一个布尔函数集,    m 为正整数,  H = {[1,a i ]|a i ∈ C,i ∈ [m]} 为  m 个布尔一元函数构成的集合. 对于任
                 意正整数   N, 若能构造出一系列       poly(N) 规模的  F  门以实现   N  个形如   [1, x] 的一元函数, 其中   x ∈ C, 且这  N  个函数
                 两两线性无关, 则:

                                      Holant(F ∪H)⩽ poly Holant(F)且Holant(F ∪H)⩽ serf Holant(F).
                    若涉及的    F  门都是平面的, 则以上结论在平面限制下仍成立.
                    证明: (1) 多项式时间插值: 构造多项式时间归约来证明              Holant(F ∪H)⩽ poly Holant(F).
                    令  G(V,E)  为  Holant(F ∪H)  的一个实例.  V  中每个点都对应  F  内某个函数或     H  内某个函数    h i = [1,a i ], 记
                                                        ∑
                                                 ′
                                        ′
                                       V
                 对应   h i  的点构成的集合为   , 不妨设     |V | = n i  且    n i = n ⩽ |V| . 为   E  的每组布尔赋值都设计一个标签   t =
                                        i        i
                                                           i∈[m]
                 (t 1 ,...,t m ) ∈ {0,1,...,n 1 }×...×{0,1,...,n m }: 该组赋值下,  V i  内有  t i  个点的邻边被赋值为  1. 根据定义:
                                                            ′

                                             ∑    ∏          ∏           ∑ ∏
                                                                                 t i
                                       #(G) =        F v (σ| E(v) )  h i (σ| E(v) ) =  ρ t  a ,
                                                                                 i
                                                     ′        ′
                                                            v∈V i ,i∈[m]  t  i∈[m]
                                            σ:E→[q] v∈V−∪ i V i
                           ∑   ∏
                                                         t
                 其中,  ρ t =          ′ F v (σ| E(v) ), 即有相同标签   的所有可能赋值下的  V −∪ i V  中点对应函数值的积. 定义     n
                                                                                 ′
                                 v∈V−∪ i V i                                     i
                         σ with label t
                 次  m 元多项式:

                                                              ∑ ∏
                                                                      t i
                                                  µ(z 1 ,z 2 ,...,z m ) =  ρ t  z .
                                                                      i
                                                               t  i∈[m]
                    有   µ(a 1 ,a 2 ,...,a m ) = #(G). 根据假设, 存在   (n+1) 个大小为  poly(n+1) 的  F  门实现了  (n+1) 个两两线性无关的
                                                                                            l
                 一元函数    {g j = [1, x j ]|x j ∈ C, j ∈ [n+1]}. 定义  l = (l 1 ,l 2 ,...,l m ) ∈ [n 1 +1]×[n 2 +1]×...×[n m +1]. 任取   对  G  作以下操
                 作:   ∀i ∈ [m], 将  V  内点对应函数由  h i  替换成  (本质上是替换成实现    g l i   的  F  门), 得到新的  Holant(F) 的实例  G l .
                              ′
                              i
                                                    g l i
                 G l  的规模为  poly(|V|). 根据定义, 可知:
   129   130   131   132   133   134   135   136   137   138   139