譜圖理論

現在我們想用線性代數的方法來研究組合數學問題。

鄰接矩陣的特徵值

對於任意的無向圖\(G=(V,E)\)(假設不帶邊權),它可以用鄰接矩陣\(A_G\)來表示。\(A_G\)是一個對稱矩陣,因此它一定有\(n\)個實數特徵值。我們把它們記爲\(\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_n\)

比如,我們來解完全圖\(K_n\)的特徵值。此時的鄰接矩陣除了對角線以外是全1的。我們當然可以採取解特徵方程\(|A_G-\lambda I|=0\)的方法來暴力解出特徵值,但在這裏我們有更簡單的方法。我們立即觀察到\(A_G x=\lambda x\)\(x\)全1時是成立的,因爲乘以全1的向量相當於給矩陣的每行求和,而此時矩陣每行的和都爲\(n-1\)。因此我們發現了特徵向量\((1,1,\cdots,1)\)和特徵值\(n-1\)。如果存在其它的特徵向量,那麼它必須垂直於\((1,1,\cdots,1)\),因爲不同的特徵子空間是正交的。這樣的向量必須滿足\(x_1+\cdots+x_n=0\),代入\(A_Gx\)得到的向量正好是\((-x_1,-x_2,\cdots,-x_n)\)。因此我們又發現\(-1\)是特徵值,並且這個矩陣只有\(n-1\)\(-1\)這兩個特徵值,不可能再有別的特徵值了。

範數:\(\lambda_1\)與圖的度數

\(K_n\)恰好是一個每個點度數都相等的圖,也就是\(d\)-regular graph。我們在上學期的線性代數課上其實已經證明過\(d-\)regular graph的最大特徵值\(\lambda_1\)就一定等於\(d\)。當時我們用的方法直接深入到了底層的運算當中,用放縮和夾逼的方法證明了我們的結論。現在我們從更高的角度來給出一種更簡單的證明方法,爲了使用這種方法,我們首先要引入範數的概念。

向量的\(p\)範數定義爲\(\|x\|_p=\left(\sum\limits_{i=1}^{n}|x_i|^p\right)^\frac{1}{p}\),當\(p=0\)時,特別地定義爲非零位的個數。 當\(p=1\)時,這就是向量間的曼哈頓距離。當\(p=2\)時,它就是我們最熟悉的Euclid距離。當\(p=+\infty\)時,我們利用放縮和夾逼定理(我們將會看到這就是爲什麼“巧合地”我們在上學期的線性代數課的證明中也用到了放縮和夾逼)可以證明它就等於最大的\(|x_i|\),即\(\|x\|_\infty=\max\limits_{1\leq i\leq n}|x_i|\)。所謂“範數”就是給出對象的一種長度的度量,p-範數是我們所熟悉的“Euclid距離(2-範數)”的一般情形。

現在我們希望能給矩陣也定義一個“範數”。怎麼理解矩陣的“長度”呢?我們知道矩陣對應着一個線性映射, 因此我們把矩陣的範數定義爲這個線性映射最多可以把某個向量拉長多少倍,而對向量長度的度量可以採用上面定義的向量的範數。因此矩陣的p-範數就定義爲\(\|A\|_p=\max\limits_{x}\dfrac{\|Ax\|_p}{\|x\|_p}\)。由於\(x\)的數乘不會影響放大的倍數,所以我們完全只需要取單位向量就能定義矩陣的範數了,所以它可以更簡單地寫爲\(\|A\|_p=\max\limits_{\|\omega\|_p=1}\|A\omega\|_p\)。基於這樣的定義我們也直接地得到了一個不等式\(\forall x\)\(\|A\|_p \geq \dfrac{\|Ax\|_p}{\|x\|_p}\),也就是\(\|Ax\|_p \leq \|A\|_p\|x\|_p\)

對於矩陣的無窮範數,可以直接計算得到一個簡單的結果:由於\(\|A\|_\infty=\max\limits_{\|\omega\|_\infty=1}\|A\omega\|_\infty\),其中\(\|A\omega\|_\infty\)就是指向量\(A\omega\)中絕對值最大的那一個座標,也就是\(A\)中特定某一行與\(\omega\)的內積的絕對值。而\(\|\omega\|_\infty=1\)要求的就是最大那一維座標的絕對值爲1,也就是每一維座標的絕對值都不能超過1,因此\(A\omega\)的最大座標一定不能超過\(A\)中某一行元素的絕對值之和,而顯然我們是可以取到這樣一個\(\omega\)使得\(A\omega\)恰好就是這行元素的絕對值之和的。因此我們證明了\(\|A\|_\infty\)就是\(A\)的絕對值之和最大的那一行元素的絕對值之和,即\(\|A\|_\infty=\delta=\max\limits_{i}\sum\limits_{j=1}^{n}|A_{ij}|\)

由此可見,對於任意一個鄰接矩陣,它的無窮範數就是圖的最大度數,因爲鄰接矩陣的每一行的元素絕對值之和就是這個點的度數,其最大值就是圖的最大度數。那麼對於鄰接矩陣\(A_G\),假設它的\(\lambda\)對應特徵向量\(x_0\),那麼\(A_Gx_0=\lambda x_0\)。兩邊同時取無窮範數,得\(\|A_Gx_0\|_\infty=\|\lambda x\|_\infty\)。根據我們不等式放縮,左邊\(\leq \|A_G\|_\infty\|x_0\|_\infty\),而右邊就等於\(|\lambda| \cdot \|x_0\|_\infty\),同時約去\(\|x_0\|_{\infty}\),我們就得到了一個有趣的結論:\(|\lambda| \leq \|A_G\|_{\infty}\)。最大的特徵值一定不超過圖的最大度數!

那麼我們就直接可以證明\(d\)-regular情形下的結論了。此時有\(|\lambda| \leq d\),而顯然對於向量\(x=(1,1,\cdots,1)\)來說一定滿足\(A_Gx=dx\),因此最大的特徵值就等於\(d\),即\(\lambda_1 =d\)

變分刻畫:\(\lambda_2\)與圖的連通性

根據對稱矩陣一定有實數特徵值,我們知道它一定可以對角化,因此一定可以寫成譜分解的形式\(A = \sum\limits_{i=1}^{n}\lambda_iv_iv_i^\top\),其中\(v_1,\cdots,v_n\)可以恰好形成\(\R^n\)的一組標準正交基。有了這樣的分解讓我們的計算變得很方便。

我們可以把特徵值的計算轉化爲最優化問題,這樣刻畫特徵值的方法稱爲“變分刻畫”。下面這個定理告訴我們\(\lambda_1 = \max\limits_{x \neq 0}\dfrac{\lang Ax,x\rang}{\lang x,x\rang}\),由於我們會反覆用到這個結構,我們專門用一個符號\(R_A(x)\)來表示\(\dfrac{\lang Ax,x\rang}{\lang x,x\rang}\)(稱爲Rayleigh Quotient)。我們在線性代數課上已經嘗試過,把向量\(x\)按照我們的標準正交基分解\(x=c_1v_1 +\cdots+c_nv_n\),那麼很容易寫出\(\lang x,x\rang=\left(\sum\limits_{i=1}^{n}c_iv_i\right)\left(\sum\limits_{i=1}^{n}c_iv_i\right)=\sum\limits_{i=1}^{n}c_i^2v_i^2=\sum\limits_{i=1}^{n}c_i^2\)。把\(A\)做譜分解,乘上做了正交分解的\(x\),得到\(Ax=\left(\sum\limits_{i=1}^{n}\lambda_iv_iv_i^\top\right)\left(\sum\limits_{i=1}^{n}c_iv_i\right)=\sum\limits_{i=1}^{n}\lambda_ic_iv_i\),因此\(\lang Ax,x\rang=\left(\sum\limits_{i=1}^{n}\lambda_ic_iv_i\right)\left(\sum\limits_{i=1}^{n}c_iv_i\right)=\sum\limits_{i=1}^{n}\lambda_i c_i^2\)。所以\(\dfrac{\lang Ax,x\rang}{\lang x,x\rang}=\dfrac{\sum\limits_{i=1}^{n}\lambda_i c_i^2}{\sum\limits_{i=1}^{n}c_i^2}\),我們要找出它的最大值。我們發現分母是個常數,如果把它寫成\(\sum\limits_{i=1}^{n}\left(\dfrac{c_i^2}{\sum\limits_{i=1}^{n}c_i^2}\right)\lambda_i\)的形式,我們發現它剛好構成了\(\lambda_i\)的一個分佈(因爲係數之和加起來是個常數1)。對於這樣一個可以任意選擇係數的分佈,爲了讓它儘量大當然是把所有的係數都分配給\(\lambda_1\)。這意味着\(c_2,c_3,\cdots,c_n\)全都取0,所以我們證明了\(\max\limits_{x \neq 0}\dfrac{\lang Ax,x\rang}{\lang x,x\rang}=\lambda_1\),當\(x=c_1v_1\)時取到最大值。

那麼如何表示\(\lambda_2\)呢?依然考慮\(\sum\limits_{i=1}^{n}\left(\dfrac{c_i^2}{\sum\limits_{i=1}^{n}c_i^2}\right)\lambda_i\)這個式子,如果我們限制\(x\)必須垂直於\(v_1\),那麼也就是\((c_1v_1+\cdots+c_nv_n)v_1=0\),那麼就相當於直接限制了\(c_1\)必須等於0。在這種情況下考慮\(R_A(x)\)的最大值,其結果就是把所有係數都分配給\(\lambda_2\)了,因此得出結論\(\lambda_2 = \max\limits_{x \perp v_1}R_A(x)\)。依此類推,\(\lambda_3=\max\limits_{x \perp v_1,v_2} R_A(x)\)。一般地,\(\lambda_k=\max\limits_{x \perp v_1,\cdots,v_{k-1}}R_A(x)\)。也就是求任何一個特徵值都可以轉化爲在一定限制條件下求\(R_A(x)\)的最大值的問題。

我們也可以倒過來,由於當我們用最大值表示\(\lambda_n\)時,\(x\)必須垂直於\(v_1,\cdots,v_{n-1}\)所有這些向量,這意味着\(x\)只能和\(v_n\)共線,也就是我們把係數全都分配給了最後一個\(\lambda\)。這等價於\(\lambda_n=\min\limits_{x \neq 0} R_A(x)\)。倒着推回來,就有\(\lambda_{k}=\min\limits_{x \perp v_{k+1},\cdots,v_n}R_A(x)\)

我們還可以用min-max來寫出特徵值:\(\lambda_k = \max\limits_{k維子空間V} \min\limits_{x \in V} R_A(x)\)。因爲外層我們爲了最大化一定會選擇\(v_1,\cdots,v_{k}\)張成的子空間,而內層的最小值又會迫使我們把所有的係數都分配給最後一個向量,也就是\(v_k\)

現在回到\(d\)-regular graph中。我們在線性代數課上已經證明過特徵值\(d\)在特徵方程中的重數就等於圖的連通塊的個數。因此\(\lambda_2\)是否等於\(d\)刻畫的就是圖是否是一個連通圖。下面我們就用我們的變分刻畫來再次驗證這件事。\(\lambda_2 = \max\limits_{x \perp v_1}R_A(x)\),而在\(d\)-regular graph中,\(A_G v_1=dv_1\)要求\(v_1\)的方向就是\((1,1,\cdots,1)\)。所以有\(x_1+x_2+\cdots+x_n=0\)\(R_A(x)=\dfrac{\lang Ax,x\rang}{\lang x,x\rang}\),其中分母就是\(\sum\limits_{i=1}^{n}x_i^2\),分子是二次型\(x^\top Ax\),它恆等於\(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}A_{ij}x_ix_j\),在鄰接矩陣上\(A_{ij}\)表示的是\((i,j)\)這條邊是否存在,因此可以把它寫作\(\sum\limits_{(i,j)\} \in E}x_ix_j\)。(注意我們枚舉的是有序數對\((i,j)\))這樣就有\(R_A(x)=\dfrac{\sum\limits_{(i,j) \in E}x_ix_j}{\sum\limits_{i=1}^{n}x_i^2}\)。我們把\(d\)與它作差,\(d-R_A(x)=\dfrac{\sum\limits_{i=1}^{n}dx_i^2-\sum\limits_{(i,j) \in E}x_ix_j}{\sum\limits_{i=1}^{n}x_i^2}\),由於圖是\(d\)-regular的,對於每個固定的\(i\)恰好只有\(d\)\(j\)保證\(\{i,j\} \in E\),因此我們把\(dx_i^2\)拆成\(d\)個分配給每個\(j\),分子就等於\(\sum\limits_{i=1}^{n}\sum\limits_{(i,j)\in E}x_i(x_i-x_j)\)。其中對於每條“單方向的”邊\((i,j)\),分別會產生一個\(x_i^2\)和一個\(-x_ix_j\),因此如果把兩個方向綜合起來每條邊恰好產生\(x_i^2+x_j^2-2x_ix_j\)\(=(x_i-x_j)^2\)。綜上分子可以寫成\(\sum\limits_{\{i,j\} \in E} (x_i-x_j)^2\)。我們注意我們的條件是要使得在\(\sum\limits_{i=1}^{n}x_i=0\)的前提下\(R_A(x)\)取最大值,因此也就是讓\(\sum\limits_{\{i,j\} \in E} (x_i-x_j)^2\)取最小值。我們自然希望所有\(x_i\)都取相同的值,這樣它就能取到0了,沒有值能比它更小了,因爲它是非負的。這個式子爲0意味着圖上的每個連通塊內的\(x_i\)都必須取相同的值,這是因爲我們會沿着邊延拓,上式爲0要求每條邊兩端的點取值都要相等。如果整個圖都是連通的,那麼所有的\(x_i\)最終都有相同的取值,這樣\(x\)就與\(v_1\)平行了,顯然不滿足我們的要求。因此如果整張圖都連通,必然有\(d-R_A(x)>0\),即\(\lambda_2<d\)。而如果整張圖不是連通的,那麼它取0就變得可能了,此時有\(\lambda_2=d\)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章