PCP 6 — Expanders: góc nhìn đại số

8.c. Algebraic graph theory và spectral expansion

Để định nghĩa expanders từ góc nhìn đại số, ta cần biết một chút về algebraic graph theory và đại số tuyến tính. Về AGT thì tôi giới thiệu 2 quyển sau đây: Algebraic Graph Theory của Biggs, Spectral Graph Theory của Fan Chung. Về đại số tuyến tính thì quyển tôi thích nhất vẫn là Matrix Analysis của Horn và Johnson, kế đến là Introduction to Linear Algebra, Fourth Edition của Strang. Nếu bạn nóng lòng thì có thể đọc lecture note này của tôi cũng đủ.

Trong bài này, chúng ta sẽ chứng minh cái gọi là bất đẳng thức Cheeger-Alon-Milman. Bất đẳng thức này cho thấy sự “tương đương” của hai số đo: edge-expansion rate và spectral gap, theo nghĩa là: h(G) càng lớn thì spectral gap của G càng lớn và ngược lại.

Spectral gap là gì? Gọi \bf A là adjacency matrix của G. Do ma trận này là ma trận thực và đối xứng, nó có đủ bộ eigenvectors vuông góc nhau và các eigenvalues đều là số thực. (Xem thêm bài Trị đặc trưng và vector đặc trưng.) Gọi các eigenvalues của \bf A\lambda_1 \geq \lambda_2 \dots \geq \lambda_n. Chúng ta cũng sẽ gọi chúng là eigenvalues của đồ thị G. Khi Gd-regular graph thì \lambda_1 = d. Spectral gap là khoảng cách giữa d\lambda_2, nghĩa là d-\lambda_2.

Định lý Cheeger-Alon-Milman. Với mọi đồ thị d-regular G, ta có

\frac{d-\lambda_2}{2} \leq h(G) \leq \sqrt{2d(d-\lambda_2)}

8.c.1. Hai định lý quan trọng của đại số tuyến tính

Định lý. (Tính eigenvalues dùng Rayleigh quotient)

Xét một ma trận thực và đối xứng {\bf A} với eigenvalues \lambda_1 \geq \dots \geq \lambda_n. Gọi các orthonormal eigenvectors tương ứng là {\bf u}_1, \dots, {\bf u}_n. Định nghĩa thương số Rayleigh như sau:

\displaystyle R_{{\bf A}}({\bf x})  = \frac{{\bf x}^T{\bf A}{\bf x}}{{\bf x}^T{\bf x}}, \ \ {\bf x} \in \mathbb R^n

Ta có

\displaystyle \lambda_1 = \max_{{\bf x} \neq {\bf 0}} R_{{\bf A}}({\bf x})\displaystyle \lambda_n = \min_{{\bf x} \neq {\bf 0}} R_{{\bf A}}({\bf x})

Tổng quát hơn, với mọi 1 \leq k \leq n ta có

\displaystyle \lambda_k = \max_{\substack{{\bf x} \neq {\bf 0} \\ {\bf x} \perp {\bf u}_1,\dots, {\bf u}_{k-1}}} R_{{\bf A}}({\bf x}) = \min_{\substack{{\bf x} \neq {\bf 0} \\ {\bf x} \perp {\bf u}_{k+1},\dots, {\bf u}_{n}}} R_{{\bf A}}({\bf x})

Định lý thứ hai gọi là định lý Perron-Frobenius có hai phiên bản, phiên bản cho các ma trận dương, và phiên bản cho các ma trận không âm. Chúng tương tự nhau. Trong bài này chúng ta chỉ cần phiên bản cho các ma trận không âm. Cho một ma trận không âm \bf A tùy ý, định nghĩa spectral radius của {\bf A} \rho({\bf A}) := \max \{ |\lambda| \}modulus lớn nhất của các eigenvalues của {\bf A}. (Các eigenvalues có thể phức.)

Định lý Perron-Frobenius cho các ma trận không âm. Cho một ma trận không âm \bf A với spectral radius \rho. Ta có

  • \rho là một eigenvalue của {\bf A}
  • Tồn tại một \rho-eigenvector không âm

8.c.2. Giới thiệu Algebraic Graph Theory

Để chứng minh định lý Cheeger-Alon-Milman, trước hết hãy duyệt qua algebraic graph theory một chút. Bộ eigenvalues \lambda_1 \geq \lambda_2 \geq \dots \geq \lambda_n được gọi là spectrum của đồ thị G. Ta dùng {\bf u}_i để ký hiệu eigenvector tương ứng với \lambda_i. Không mất tính tổng quát, giả sử bộ vector {\bf u}_1, \dots, {\bf u}_n là một hệ cơ sở trực chuẩn (orthonormal). Cái spectrum của một đồ thị chứa khá nhiều thông tin về cái đồ thị đó.

Định lý. Gọi \Delta(G) là max-degree của G. Nhớ là ta vẫn giả sử \lambda_1 \geq \lambda_2 \geq \dots \geq \lambda_n. Ta có:

  • (i) |\lambda_i| \leq \lambda_1, với mọi i
  • (ii) \displaystyle \frac{2|E(G)|}{n} \leq \lambda_1 \leq \Delta(G).
  • (iii) Spectrum của G đối xứng xung quanh 0 nếu và chỉ nếu G là bipartite. (Đối xứng quanh 0 nghĩa là \lambda_1 = -\lambda_n, \lambda_2 = - \lambda_{n-1}, vân vân.) Do đó, nếu |\lambda_n| < \lambda_1 thì đồ thị G không phải là bipartite.

Chứng minh. Theo định lý Perron-Frobenius thì \lambda_1 chính là spectral radius của \bf A — phần (i) đã được chứng minh.

Để chứng minh phần (ii), lưu ý rằng việc \bf x là một \lambda-eigenvector của \bf A (nghĩa là {\bf Ax} = \lambda \bf x\bf x \neq 0) tương đương với đẳng thức sau đây:

\displaystyle \lambda x_u = \sum_{v \in \Gamma(u)} a_{uv} x_v, \forall u \in V(G).

Sở dĩ ta phải để a_{uv} ở đó là vì đồ thị G có thể có nhiều cạnh giữa u,v, và a_{uv} là số cạnh giữa uv. Nếu G là đồ thị đơn thì không cần a_{uv} trong biểu thức trên, vì ta đã tính tổng qua các v \in \Gamma(u) rồi. (Cũng nhớ là \Gamma(u) là tập các đỉnh kề với u.) Từ đây chứng minh (ii) rất dễ. Gọi u là đỉnh mà |x_u| lớn nhất trong các đỉnh. Dĩ nhiên x_u\neq 0\bf x là eigenvector. Ta có

\displaystyle |\lambda| |x_u| \leq \sum_{v \in \Gamma(u)} a_{uv} |x_v| \leq \text{deg}(u) |x_u| \leq \Delta(G) |x_u|.

Do bất đẳng thức đúng với mọi eigenvalue \lambda của G, ta kết luận |\lambda_1| \leq \Delta(G). Bây giờ ta chặn dưới \lambda_1. Ta dùng định lý tính eigenvalues bằng thương số Rayleigh như đã phát biểu ở trên. Gọi \bf 1 là vector mà tất cả các tọa độ đều bằng 1. Ta có

\displaystyle \lambda_1 \geq \frac{{\bf 1}^T{\bf A 1}}{{\bf 1}^T{\bf 1}} = \frac{2|E(G)|}{n}

Chú ý rằng chặn dưới này là degree trung bình của đồ thị, và nó chặt vì chặn dưới bằng chặn trên khi đồ thị là regular. Thật ra chúng ta vừa chứng minh một bất đẳng thức cơ bản của bất kỳ ma trận thực đối xứng nào: \displaystyle \lambda_{\max}({\bf A}) \geq \frac 1 n \sum_i \sum_j a_{ij}.

Bây giờ đến phần (iii). Giả sử G là bipartite trước. Có thể thêm vào một số đỉnh đơn lẻ để hai bên của G có số đỉnh bằng nhau. (“Hậu quả” của việc thêm vào một số đỉnh lẻ là thêm một số eigenvalues bằng 0, không ảnh hưởng đến kết luận.) Khi đó, có thể viết \bf A dưới dạng {\bf A} = \begin{bmatrix} 0 & {\bf B}\\ {\bf B}^T & 0 \end{bmatrix}. Dễ thấy rằng \begin{bmatrix} {\bf x} \\ {\bf y} \end{bmatrix} là một \lambda-eigenvector của \bf A nếu và chỉ nếu \begin{bmatrix} {\bf x} \\ {\bf -y} \end{bmatrix} là một (-\lambda)-eigenvector của \bf A. Từ đó kết luận rằng \lambda-\lambda có cùng multiplicity trong spectrum. (Bài tập: tại sao?)

Ngược lại, giả sử cái spectrum của G đối xứng qua 0. Chú ý rằng, với mọi số nguyên dương k, bộ eigenvalues của {\bf A}^k\lambda_1^k, \dots, \lambda_n^k — vẫn đối xứng qua 0 nếu k lẻ. Do đó, trace({\bf A}^k) = 0 với mọi k lẻ. Nếu G không phải là bipartite thì G phải có một cycle chiều dài lẻ, do đó trace({\bf A}^k) \neq 0 với k lẻ nào đó. (Bài tập: tại sao?)

QED

Bài tập. Chứng minh rằng spectrum của K_nn-1,-1,\dots,-1

Bài tập. Hai đồ thị là co-spectral nếu chúng có cùng spectrum. Xây dựng một ví dụ hai đồ thị co-spectral nhưng không isomorphic.

Định lý. Xét một đồ thị d-regular G.

  • (i) \lambda_1=d, và \bf u_1 = \frac{\bf 1}{\sqrt n}. Trong đó \bf 1 ký hiệu vector mà tất cả các tọa độ đều bằng 1.
  • (ii) d > \lambda_2 nếu và chỉ nếu G là đồ thị liên thông.

Chứng minh. Phần (i)bài tập. Ta chứng minh phần (ii). Xét một d-eigenvector \bf x. Gọi x_u là tọa độ có giá trị tuyệt đối lớn nhất. Bằng cách thay \bf x bởi - \bf x nếu cần, ta có thể giả sử rằng x_u>0. Từ đó, dùng cùng cái mẹo như trong chứng minh trước, ta có

\displaystyle d x_u \leq \sum_{v \in \Gamma(u)} a_{uv} |x_v| \leq \text{deg}(u) |x_u| \leq d x_u.

Ta kết luận rằng x_v = x_u với mọi v \in \Gamma(u). Do đó, các giá trị x_u phải bằng nhau trong mỗi thành phần liên thông của G. Dimension của d-eigenspace bằng chính tổng số thành phần liên thông (connected component) của G. Vì thế, G liên thông nếu và chỉ nếu eigenvalue d có multiplicity bằng 1.

QED

8.c.3 Chứng minh định lý Cheeger-Alon-Milman

Spectral gap lớn thì expansion rate lớn

Định lý này có hai phần. Phần dễ là bất đẳng thức đầu tiên \frac{d-\lambda_2}{2} \leq h(G) và ta chứng minh nó trước. Có thể hiểu bất đẳng thức này một cách nôm na là giá trị tối thiểu của một biểu thức trên các vector nguyên thì lớn hơn giá trị tối thiểu của cùng một biểu thức trên các vectors thực. (Kỹ thuật này gọi là relaxation, rất phổ biến trong optimization.)

Trước hết, chúng ta “symmetrize” định nghĩa của h(G). Thay vì \partial S ta viết là E(S,\bar S) để biểu thị định nghĩa của \partial S là tập các cạnh giữa S và phần bù \bar S. Ký hiệu E(S,\bar S) trông sẽ “symmetric” hơn.

\displaystyle{h(G) = \min_{|S|\leq n/2} \frac{|E(S,\bar S)|}{|S|} \geq \min_{|S|\leq n/2} \frac{|E(S,\bar S)|}{|S|\frac{2|\bar S|}{n}}} = \frac 1 2 \min_{\emptyset \neq S \subset V} \frac{|E(S,\bar S)|}{\frac 1 n |S||\bar S|}

Định nghĩa sparsity của G như sau

\displaystyle{\phi(G) = \min_{\emptyset \neq S \subset V} \frac{|E(S,\bar S)|}{\frac 1 n |S||\bar S|}}

Như thế, chúng ta mới vừa chứng minh rằng h(G) \geq \frac 1 2 \phi(G). Còn phải chứng minh \phi(G) \geq d - \lambda_2 nữa là xong. Để làm điều này, đầu tiên ta viết lại biểu thức của \phi(G) cho có vẻ đại số hơn. (Biểu thức hiện nay có tính tổ hợp.) Tưởng tượng gán giá trị 1 cho mỗi đỉnh trong S0 cho mỗi đỉnh trong \bar S, chúng ta có một vector \mathbf x \in \{0,1\}^n. Dễ thấy rằng

\displaystyle \phi(G) = \min_{\substack{\bf x \in \{0,1\}^n\\ {\bf x} \neq {\bf 0}, \ {\bf x} \not\parallel {\bf 1}}}\ \frac{\sum_{uv\in E}(x_u-x_v)^2}{\frac{1}{2n} \sum_u\sum_v (x_u-x_v)^2}

Trong đó, {\bf x} \not\parallel {\bf 1} nghĩa là vector \bf x không song song với vector \bf 1. Do đó, \phi(G) chính là giá trị tối ưu của một bài toán tối thiểu hóa trên tập các vectors \{0,1\}^n \subseteq \mathbb R^n. Giá trị tối thiểu dĩ nhiên là lớn hơn hoặc bằng giá trị tối thiểu của cùng biểu thức trên tập các vectors thực. Cụ thể hơn, ta có

\displaystyle{\phi(G) \geq \min_{\substack{\bf x \in \mathbb R^n\\ {\bf x} \neq {\bf 0}, \ {\bf x} \not\parallel {\bf 1}}} \frac{\sum_{uv\in E}(x_u-x_v)^2}{\frac{1}{2n} \sum_u\sum_v (x_u-x_v)^2}}

Lưu ý rằng, nếu ta cộng (hay trừ) cùng một đại lượng vào (ra khỏi) mỗi tọa độ x_u thì giá trị biểu thức không đổi. Do đó, có thể thay mỗi vector \mathbf x \in \mathbb R^n bằng \mathbf z \in \mathbb R^n trong đó z_u = x_u - \frac 1 n \sum_v x_v. Chú ý rằng, \sum_u z_u = 0, hay nói cách khác \mathbf z \perp \mathbf 1. Vì thế,

\displaystyle \phi(G) \geq \min_{\substack{{\bf 0} \neq \mathbf z \in \mathbb R^n\\ \mathbf z \perp \mathbf 1}} \frac{\sum_{uv\in E}(z_u-z_v)^2}{\frac{1}{2n} \sum_u\sum_v (z_u-z_v)^2}

Đến đây, viết lại tử số

\displaystyle \sum_{uv\in E}(z_u-z_v)^2 = d\mathbf z^T\mathbf z - \mathbf z^T\mathbf A\mathbf z

Hơn nữa, do \mathbf z \perp \mathbf 1 có thể viết lại mẫu số thành \frac{1}{2n} \sum_u\sum_v (z_u-z_v)^2 = \mathbf z^T\mathbf z. Vì vậy,

\displaystyle \phi(G) \geq \min_{\substack{{\bf 0} \neq \mathbf z \in \mathbb R^n\\ \mathbf z \perp \mathbf 1}} \left( d - \frac{\mathbf z^T\mathbf A\mathbf z}{\mathbf z^T\mathbf z} \right) = d - \max_{\substack{{\bf 0} \neq \mathbf z \in \mathbb R^n\\ \mathbf z \perp \mathbf 1}} \frac{\mathbf z^T\mathbf A\mathbf z}{\mathbf z^T\mathbf z} = d-\lambda_2

QED

Expansion rate lớn thì spectral gap lớn

Đây là phần khó của định lý. Tôi theo chứng minh của Luca Trevisan, tự nhiên hơn chứng minh của Alon-Milman một chút. Muốn hiểu chứng minh của Alon-Milman thì phải hiểu chứng minh bất đẳng thức Cheeger trong hình học Riemann. Chúng ta phải chứng minh rằng h(G) \leq \sqrt{2d(d-\lambda_2)}. Chứng minh này gồm hai bước. Bước một là viết lại định nghĩa tổ hợp của h(G) thành giá trị tối thiểu của một hàm liên tục, chuyển từ rời rạc sang liên tục. Bước hai về cơ bản là tí toáy với bất đẳng thức Cauchy-Schwarz là xong.

Bước 1. Với một vector {\bf x} \in \mathbb R^n bất kỳ, định nghĩa med({\bf x}) là median của tập \{x_1,\dots,x_n\}. Ta sẽ chứng minh rằng

\displaystyle \min_{\substack{\emptyset \neq S \subseteq V\\ |S| \leq n/2}} \frac{|E(S,\bar S)|}{|S|} = \min_{\substack{{\bf 0 \neq x} \in \mathbb R^n \\ \text{med}({\bf x}) = 0}} \frac{\sum_{ij \in E}|x_i-x_j|}{\sum_i |x_i|}.

Thứ nhất, giả sử S là tập tối thiểu hóa biểu thức bên vế trái, nghĩa là h(G) = \frac{|E(S,\bar S)|}{|S|}. Đặt {\bf x} là characteristic vector của tập S. Do |S| \leq n/2, med(x)=0. Dễ thấy |E(S,\bar S)| = \sum_{ij \in E}|x_i-x_j||S| = \sum_i |x_i|. Do đó, vế trái \geq vế phải.

Thứ hai, gọi P là giá trị của vế phải cho tiện. Ta sẽ chứng minh rằng tồn tại S để cho \frac{|E(S,\bar S)|}{\min(|S|, |\bar S|)} \leq P là hoàn tất bước 1. Xét vector {\bf x} tối thiểu hóa biểu thức bên trong vế phải. Không mất tính tổng quát, ta giả sử \max_i x_i - \min_i x_i = 1. Chọn một số t \in [\min_i x_i, \max_i x_i] ngẫu nhiên (uniformly). Định nghĩa S = \{i \ | \ x_i \geq t\}. Như vậy tập S này là một tập đỉnh ngẫu nhiên. (Cái mẹo tạo tập ngẫu nhiên kiểu này rất phổ biến trong các thiết kế thuật toán ngẫu nhiên cho các loại cut problems.) Ta muốn chứng minh rằng

\displaystyle \mathbb E\left[ |E(S,\bar S)| - P \cdot \min(|S|, |\bar S|) \right] \leq 0

Từ đó suy ra rằng tồn tại S thỏa điều kiện cần thỏa. (Đây là ý tưởng của phương pháp dùng “argument from expectation” của phương pháp xác suất.) Trước hết,

\displaystyle \mathbb E\left[ |E(S,\bar S)| \right] = \sum_{ij \in E} \text{Prob}[ (i\in S, j\in \bar S) \vee (i \in \bar S, j\in S)] = \sum_{ij \in E} |x_i-x_j|

Kế tiếp, không mất tính tổng quát, giả sử rằng x_1 \leq x_2 \leq \dots \leq x_n. Lưu ý rằng med({\bf x})=0, ta có

\displaystyle \mathbb E\left[ \min(|S|, |\bar S|) \right] = \sum_{k=1}^{n/2} \text{Prob}[ \min(|S|, |\bar S|) \geq k] = \sum_{k=1}^{n/2} |x_{n-k}-x_k| = \sum_{i=1}^n |x_i|

Nhờ linearity of expectation, ta có kết luận (mạnh hơn cần thiết) rằng

\displaystyle \mathbb E\left[ |E(S,\bar S)| - P \cdot \min(|S|, |\bar S|) \right] = \sum_{ij \in E} |x_i-x_j| - P \cdot \sum_{i=1}^n |x_i| = 0

Bước 2. Chúng ta cần chứng minh rằng

\displaystyle \min_{\substack{{\bf 0 \neq x} \in \mathbb R^n \\ \text{med}({\bf x}) = 0}} \frac{\sum_{ij \in E}|x_i-x_j|}{\sum_i |x_i|} \leq \sqrt{2d \min_{\substack{\mathbf 0 \neq \mathbf z \in \mathbb R^n\\ \mathbf z \perp \mathbf 1}} \frac{\sum_{ij\in E}(z_i-z_j)^2}{\frac{1}{2n} \sum_i\sum_j (z_u-z_v)^2}}

Chiến lược khá rõ ràng: gọi {\bf z} là vector tối thiểu hóa biểu thức bên trong vế phải. Xây dựng một vector {\bf x} từ \bf z sao cho {\bf x} \neq 0, med({\bf x})=0, và

\displaystyle \frac{\sum_{ij \in E}|x_i-x_j|}{\sum_i |x_i|} \leq \sqrt{2d \frac{\sum_{ij\in E}(z_i-z_j)^2}{\frac{1}{2n} \sum_i\sum_j (z_i-z_j)^2}}.

(Để cho tiện dùng về sau, định nghĩa \displaystyle Z = \frac{\sum_{ij\in E}(z_i-z_j)^2}{\frac{1}{2n} \sum_i\sum_j (z_i-z_j)^2}.)

Làm thế nào để “xây dựng” một vector {\bf x} như thế? Phản ứng đầu tiên là thử {\bf x=z} rồi dùng Cauchy-Schwarz, nhưng thử vài lần không được. Phản ứng thứ hai là chọn {\bf x} sao cho |x_i-x_j| “xấp xỉ” (z_i-z_j)^2|x_i| “xấp xỉ” z_i^2 rồi xem ép được đến đâu. Có vẻ như x_i = |z_i|z_i có lý. (Đây chính là phát kiến thứ hai của Luca Trevisan. Phát kiến thứ nhất là bước 1.) Khi gán x_i = |z_i|z_i, ta có

\displaystyle |x_i-x_j| \leq |z_i-z_j|(|z_i|+|z_j|)

Do đó, Cauchy-Schwarz cho ta

\displaystyle \sum_{ij \in E} |x_i-x_j| \leq \sqrt{ \sum_{ij \in E} (z_i-z_j)^2 } \sqrt{ \sum_{ij \in E} (|z_i|+|z_j|)^2}

Đến đây, nhớ lại định nghĩa của Z như trên, ta có

\displaystyle \sum_{ij \in E} (z_i-z_j)^2 = \frac{Z}{2n} \sum_{i,j} (z_i-z_j)^2 = \frac{Z}{2n} \left( \sum_{i,j} (z_i^2+z_j^2) - 2\left[ \sum_i z_i \right]^2 \right) \leq Z \sum_i |x_i|

và Cauchy-Schwarz lần nữa cho ta

\displaystyle \sum_{ij \in E} (|z_i|+|z_j|)^2 \leq \sum_{ij \in E} 2(z_i^2 + z_j^2) = 2d \sum_i z_i^2 = 2d\sum_i |x_i|
.

Gom tất cả lại, ta hoàn tất chứng minh:

\displaystyle \displaystyle \sum_{ij \in E} |x_i-x_j| \leq \sqrt{Z \sum_i |x_i|} \sqrt{2d\sum_i |x_i|} = \sqrt{2dZ} \sum_i |x_i|

QED

Chủ đề : Lý thuyết tính toán, Thuật Toán and tagged , , , . Bookmark the permalink. Trackbacks are closed, but you can post a comment.

2 Comments

  1. Thinh Nguyen
    Posted 23/05/2009 at 9:48 pm | Permalink

    Tiec la khong co file AGT-intro.pdf :( :)
    Cafe mot te.o cai da…
    He vui.

  2. Posted 24/05/2009 at 5:21 pm | Permalink

    Thử Ajax comment preview xem sao. Có vẻ được rồi. Có vấn đề gì các bạn cho tôi biết nhé.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>