张量网络(1)

张量积定义

  • M d d , N d d M_{dd},N_{dd} Mdd?,Ndd?
  • d 2 × d 2 d^2\times d^2 d2×d2
    M ? N = ( m 11 N m 12 N ? m 1 d N m 21 N m 22 N ? m 2 d N ? ? ? ? m d 1 N m d 2 N ? m d d N ) M\otimes N= \left( \begin{array}{cccc} m_{11}N& m_{12}N& \cdots& m_{1d}N\\ m_{21}N& m_{22}N& \cdots& m_{2d}N\\ \vdots& \vdots& \ddots& \vdots\\ m_{d1}N& m_{d2}N& \cdots& m_{dd}N\\ \end{array} \right) M?N=??????m11?Nm21?N?md1?N?m12?Nm22?N?md2?N??????m1d?Nm2d?N?mdd?N???????
  • M M M行标记 x 1 x_1 x1?和 N N N行标 x 2 x_2 x2?联合为 M ? N M\otimes N M?N行标。
    ( M ? N ) x 1 x 2 , x 3 x 4 = M x 1 , x 3 N x 2 , x 4 (M\otimes N)_{x_1x_2,x_3x_4}=M_{x_1,x_3}N_{x_2,x_4} (M?N)x1?x2?,x3?x4??=Mx1?,x3??Nx2?,x4??
    • 下图是一张量积
    • ( )
    • x 1 就 是 个 标 记 x_1就是个标记 x1?就是个标记
    【张量网络(1)】-张量网络(1)
    文章图片

    • 下图也是一个张量积
    • ( )
    • x 1 就 是 个 标 记 x_1就是个标记 x1?就是个标记
张量网络(1)
文章图片

广义矩阵形式
  • F F F是 n + m n+m n+m元布尔函数, x 1 , . . . , x n , y 1 , . . . , y m x_1,...,x_n,y_1,...,y_m x1?,...,xn?,y1?,...,ym?是输入
    对应 2 n × 2 m 矩 阵 M = ( M x 1 , . . . , x n , y 1 , . . . , y m ) 2^n\times 2^m矩阵M=(M_{x_1,...,x_n,y_1,...,y_m}) 2n×2m矩阵M=(Mx1?,...,xn?,y1?,...,ym??)
    M x 1 , . . . , x n , y 1 , . . . , y m = F ( x 1 , . . . , x n , y 1 , . . . , y m ) M_{x_1,...,x_n,y_1,...,y_m}=F(x_1,...,x_n,y_1,...,y_m) Mx1?,...,xn?,y1?,...,ym??=F(x1?,...,xn?,y1?,...,ym?)
    m = 0 → 列 。 n = 0 → 行 。 m=0\rightarrow列。n=0\rightarrow行。 m=0→列。n=0→行。
  • 下面的图,显然等于 F ? H F\cdot H F?H
    • 就是 ( F x 1 x 2 , y 1 y 2 ) ( H y 1 y 2 , z 1 z 2 z 3 ) (F_{x_1x_2,y_1y_2})(H_{y_1y_2,z_1z_2z_3}) (Fx1?x2?,y1?y2??)(Hy1?y2?,z1?z2?z3??)
      张量网络(1)
      文章图片
  • 行标画左,列标画右
向量张量积与矩阵乘法
  • 下面这俩个做矩阵乘法
  • ( M N ′ ) x 1 , x 2 = M x 1 N x 2 (MN' )_{x_1,x_2}=M_{x_1}N_{x_2} (MN′)x1?,x2??=Mx1??Nx2??
    张量网络(1)
    文章图片
  • 下面这俩个做张量积
  • ( M ? N ) x 1 , x 2 = M x 1 N x 2 (M\otimes N)_{x_1,x_2}=M_{x_1}N_{x_2} (M?N)x1?,x2??=Mx1??Nx2??
    张量网络(1)
    文章图片
张量积与矩阵乘法
  • 下图可写成
  • ( )
  • ( )
张量网络(1)
文章图片

结合律的证明
  • 显然定义了 F = A B C F=ABC F=ABC
张量网络(1)
文章图片

  • 按定义
    F ( x 1 , x 2 ) = ∑ e 1 , e 2 A ( x 1 , e 1 ) B ( e 1 , e 2 ) C ( e 2 , x 2 ) F(x_1,x_2)=\sum_{e_1,e_2}A(x_1,e_1)B(e_1,e_2)C(e_2,x_2) F(x1?,x2?)=∑e1?,e2??A(x1?,e1?)B(e1?,e2?)C(e2?,x2?)
    张量网络(1)
    文章图片
  • = ∑ e 2 C ( e 2 , x 2 ) ∑ e 1 A ( x 1 , e 1 ) B ( e 1 , e 2 ) =\sum_{e_2}C(e_2,x_2)\sum_{e_1}A(x_1,e_1)B(e_1,e_2) =∑e2??C(e2?,x2?)∑e1??A(x1?,e1?)B(e1?,e2?)
  • = ∑ e 1 A ( x 1 , e 1 ) ∑ e 2 B ( e 1 , e 2 ) C ( e 2 , x 2 ) =\sum_{e_1}A(x_1,e_1)\sum_{e_2}B(e_1,e_2)C(e_2,x_2) =∑e1??A(x1?,e1?)∑e2??B(e1?,e2?)C(e2?,x2?)
    张量网络(1)
    文章图片
    ∑ e ∈ E 1 ∪ E 2 ∏ v ∈ V 1 ∪ V 2 F v \sum_{e\in E_1\cup E_2}\prod_{v \in V_1\cup V_2}F_v e∈E1?∪E2?∑?v∈V1?∪V2?∏?Fv?
    ∑ e ∈ E 2 ( ∏ v ∈ V 2 F v ∑ e ∈ E 1 ∏ v ∈ V 1 F v ) \sum_{e\in E_2}(\prod_{v \in V_2}F_v\sum_{e\in E_1}\prod_{v \in V_1}F_v) e∈E2?∑?(v∈V2?∏?Fv?e∈E1?∑?v∈V1?∏?Fv?)
张量网络(1)
文章图片

张量网络(1)
文章图片

张量网络(1)
文章图片

张量网络(1)
文章图片

矩乘和张量积联合用
  • ( )
张量网络(1)
文章图片

  • ( )
张量网络(1)
文章图片

零元函数张量积 ( M ? N ) = M N (M\otimes N)=MN (M?N)=MN
无外部边的张量网络的值=( )
布尔变量对称函数F
  • F值取决于有多少个1?
  • F = [ f 0 , f 1 , . . . , f n ] F=[f_0,f_1,...,f_n] F=[f0?,f1?,...,fn?]
#CSP与张量网络
  • 布尔变量时 " = k " = [ 1 , 0 , . . . , 0 , 1 ] " =k" =[1,0,...,0,1] "=k"=[1,0,...,0,1]
  • 对一个 # C S P \#CSP #CSP问题改造下,得到如下啥呢?
    张量网络(1)
    文章图片
  • F i 相 当 于 是 约 束 函 数 哦 ! F_i相当于是约束函数哦! Fi?相当于是约束函数哦!
  • 问题答案是张量网络的值。
  • 不连通的话就是每个连通分支的乘积,思考为啥乘呢?

    推荐阅读