UA MATH567 高維統計II 隨機向量6 亞高斯隨機向量的應用: 半正定規劃

一個不願透露姓名的孩子發表於2020-12-26

UA MATH567 高維統計II 隨機向量6 亞高斯隨機向量的應用: 半正定規劃

半正定規劃(semidefinite programming, SDP)是凸優化的一個分支:

max ⁡ X ⟨ A , X ⟩ s . t .   X ≥ 0 , ⟨ B i , X ⟩ = b i , i = 1 , ⋯   , m \max_X \langle A, X \rangle \\ s.t. \ X \ge 0,\langle B_i,X \rangle =b_i, i =1,\cdots,m XmaxA,Xs.t. X0,Bi,X=bi,i=1,,m

其中 X ≥ 0 X \ge 0 X0表示 X X X半正定,
⟨ A , X ⟩ = t r ( A T X ) = ∑ i , j = 1 n A i j X i j \langle A, X \rangle = tr(A^TX) = \sum_{i,j=1}^n A_{ij}X_{ij} A,X=tr(ATX)=i,j=1nAijXij

顯然目標函式是線性函式、可行域是凸集(所有的半正定矩陣形成的集合是凸集)與凸多面體( ⟨ B i , X ⟩ = b i , i = 1 , ⋯   , m \langle B_i,X \rangle =b_i, i =1,\cdots,m Bi,X=bi,i=1,,m)的交集,所以可行域也是凸集,因此這是一個凸優化。儘管這是一個凸優化,但它的求解難度也是非常大的,因為決策變數個數是隨著 X X X的維數平方增長的,比如 X X X 100 × 100 100 \times 100 100×100的矩陣,決策變數就有一萬個,所以半正定規劃很容易變成高維問題。


現在我們想用SDP來解決一個整數規劃(integer programming)的問題,記這個問題為(IP):

max ⁡ x x T A x x = ( x 1 , ⋯   , x n ) , x i = ± 1 , A T = A \max_x x^TAx \\ x = (x_1,\cdots,x_n),x_i = \pm 1,A^T = A xmaxxTAxx=(x1,,xn),xi=±1,AT=A

解決這個問題最粗暴的思路是遍歷所有可能的 x x x的取值,一共有 2 n 2^n 2n種,顯然這是一個NP演算法,於是我們需要設計一些更優的演算法來降低複雜度。

一種可行的方法是做semidefinite relaxation,考慮
max ⁡ ∥ X i ∥ 2 = 1 , i = 1 , ⋯   , n ∑ i , j = 1 n A i j ⟨ X i , X j ⟩ \max_{\left\| X_i \right\|_2 = 1,i=1,\cdots,n} \sum_{i,j=1}^n A_{ij} \langle X_i,X_j \rangle Xi2=1,i=1,,nmaxi,j=1nAijXi,Xj

這個問題可以看成是(IP)的一種鬆弛,接下來我們把這個relaxation改寫為SDP,定義 X = [ X i j ] , X i j = ⟨ X i , X j ⟩ X = [X_{ij}],X_{ij}=\langle X_i,X_j \rangle X=[Xij],Xij=Xi,Xj,於是relaxation等價於(SDP)
max ⁡ X ≥ 0 ⟨ A , X ⟩ s . t . X i i = 1 = ⟨ B i , X ⟩ \max_{X \ge 0}\langle A, X \rangle \\ s.t. X_{ii}=1 =\langle B_i,X \rangle X0maxA,Xs.t.Xii=1=Bi,X

其中 B i B_i Bi是selection matrix,只有第 i i i行第 i i i列的元素為1,其他元素為0,作用是選擇某矩陣第 i i i行第 i i i列的元素。記 I N T ( A ) INT(A) INT(A)為整數規劃的解,記 S D P ( A ) SDP(A) SDP(A)為它的semidefinite relaxation的解,根據relaxation的性質

I N T ( A ) ≤ S D P ( A ) INT(A) \le SDP(A) INT(A)SDP(A)

定理 I N T ( A ) ≤ S D P ( A ) ≤ 2 K × I N T ( A ) , K ≤ 1.783 INT(A) \le SDP(A) \le 2K \times INT(A),K \le 1.783 INT(A)SDP(A)2K×INT(A),K1.783

下界是自然成立的,但上界的證明極其複雜。為了證明這個定理,我們需要Grothendieck不等式,這裡先敘述一下,下一篇給出Grothendieck不等式的證明。

Grothendieck不等式
A A A m × n m \times n m×n的實矩陣, x i , y j ∈ { − 1 , 1 } x_i,y_j \in \{-1,1\} xi,yj{1,1},假設 ∣ ∑ i , j A i j x i y j ∣ ≤ 1 |\sum_{i,j}A_{ij}x_iy_j| \le 1 i,jAijxiyj1,則 ∀ H \forall H H(Hilbert space), ∀ u i , v j ∈ H \forall u_i,v_j \in H ui,vjH ∥ u i ∥ = ∥ v j ∥ = 1 \left\| u_i \right\|=\left\| v_j \right\|=1 ui=vj=1
∣ ∑ i , j A i , j ⟨ u i , v j ⟩ ∣ ≤ K , K ≤ 1.783 |\sum_{i,j}A_{i,j}\langle u_i,v_j \rangle| \le K,K \le 1.783 i,jAi,jui,vjK,K1.783

推論 假設 A A A是對稱矩陣, x i ∈ { − 1 , 1 } x_i \in \{-1,1\} xi{1,1},假設 ∣ ∑ i , j A i j x i x j ∣ ≤ 1 |\sum_{i,j}A_{ij}x_ix_j| \le 1 i,jAijxixj1,則 ∀ H \forall H H(Hilbert space), ∀ u i , v j ∈ H \forall u_i,v_j \in H ui,vjH ∥ u i ∥ = ∥ v j ∥ = 1 \left\| u_i \right\|=\left\| v_j \right\|=1 ui=vj=1
∣ ∑ i , j A i , j ⟨ u i , v j ⟩ ∣ ≤ 2 K , K ≤ 1.783 |\sum_{i,j}A_{i,j}\langle u_i,v_j \rangle| \le 2K,K \le 1.783 i,jAi,jui,vj2K,K1.783

說明
從Grothendieck不等式到它的推論,我們只需要說明 ∣ ∑ i , j A i j x i x j ∣ ≤ 1 |\sum_{i,j}A_{ij}x_ix_j| \le 1 i,jAijxixj1可以推出 ∣ ∑ i , j A i j x i y j ∣ ≤ 2 |\sum_{i,j}A_{ij}x_iy_j| \le 2 i,jAijxiyj2,然後根據Grothendieck不等式就可以得到推論了。

根據這個推論,我們可以直接得到上面的定理:
S D P ( A ) ≤ 2 K × I N T ( A ) , K ≤ 1.783 SDP(A) \le 2K \times INT(A),K \le 1.783 SDP(A)2K×INT(A),K1.783

相關文章