8. Expanding graphs, còn gọi là expanders
Hôm nay chúng ta “de-tour” một chút để nói về expanders. Đã dùng một loại expander đặc biệt trong bài trước. Bây giờ cần giới thiệu kỹ hơn để dùng vào nhiều việc sau. Chắc sẽ cần ít nhất 3 bài để nói về expanders. Bài survey của S. Hoory, N. Linial , A. Wigderson trên Bulletin of the AMS là tham khảo chính trong KHMT về expanders. Bài này được giải Levi L. Conant 2008 cho exposition tốt. Có vẻ như họ đang viết một quyển sách về expander.
8.a. Trực quan
Expanders là một họ các đồ thị hữu dụng vô cùng tận trong KHMT hiện đại. Có thể nói là nhìn đâu cũng thấy expanders. Nó là cái gì ghê vậy? Về mặt trực quan, có ba cách tương đương nhau để mô tả expanders.
- Góc nhìn tổ hợp (combinatorial view). Một expander là một đồ thị thưa nhưng lại liên thông mạnh (sparse yet highly connected). Thường thì ta giới hạn max-degree là hằng số để lượng hóa khái niệm “thưa”. Còn “liên thông mạnh” thì đo bằng số cạnh hoặc đỉnh cần loại bỏ để cắt liên thông (disconnect) đồ thị. Nói cách khác, một expander là một đồ thị có max-degree bị chặn; và, bất kỳ một tập “nhỏ” các đỉnh nào cũng có neighborhood “lớn” (có biên giới lớn).
Khi nhìn expander theo cách này chúng ta sẽ thấy nó nhiều ứng dụng rất tự nhiên: dùng nó để nối mạng P2P (hoặc để phân tích connectivity), để thiết kế worm propagation schemes hoặc thiết kế botnet command propagation, để thiết kế topology cho switching networks (xem bài này về WDM network, hay bài này về telephone switching networks), để chứng minh hardness of approximation như ta đã làm trong bài trước, để xây dựng error-correcting codes, vân vân.
- Góc nhìn xác suất (probabilistic view). Một expander là một đồ thị mà nếu ta bước ngẫu nhiên dọc theo các cạnh (take a random walk on it) thì ta sẽ tiến đến cái stationary distribution rất nhanh (rapidly mixing walks).
Khi nhìn expander theo cách này, cũng có nhiều ứng dụng tự nhiên. Ta dùng nó để thiết kế cryptographic hash function, tiết kiệm tổng số random bits cho một thuật toán ngẫu nhiên hóa, để khuếch đại gap giữa soundness và completeness, để de-randomize, để sampling hiệu quả, để chứng minh complexity results (như kết quả lừng danh gần đây L=SL của Omer Reigngold), để chứng minh định lý PCP (theo cách của Dinur như đã nói), vân vân. Dĩ nhiên, các ứng dụng đều phần nào chuyển qua chuyển lại giữa hai góc nhìn tổ hợp và xác suất. Cho nên, phân loại ứng dụng của expanders theo góc nhìn là hơi khiên cưỡng một chút.
- Góc nhìn đại số (algebraic view). Một họ expanders là một họ đồ thị mà khoảng cách giữa eigenvalue lớn nhất và lớn nhì bị chặn dưới bởi một hằng số. Cái khoảng cách này còn được gọi là spectral gap của họ đồ thị này. Đại khái, spectral gap càng lớn thì tốc độ mở rộng (expand) càng lớn, tốc độ hội tụ về equilibrium của random walk càng lớn. Góc nhìn đại số cũng có các ứng dụng riêng, nhưng ứng dụng quan trọng nhất đối với chúng ta là dùng để phân tích các expanders theo hai góc nhìn kia. Ví dụ: việc xác định expansion rate của một đồ thị là NP-hard, cho nên cái expansion rate do phương pháp đại số cung cấp, dù yếu hơn expansion rate thật sự, lại rất quan trọng trong các ứng dụng.
8.b. Combinatorial expansion và sự tồn tại của các expanders
Trước hết, hãy định nghĩa expanders từ góc nhìn tổ hợp. Cho một đồ thị (có thể có multi-edges). Với một tập con
bất kỳ, ta dùng
để ký hiệu tập tất cả các cạnh “đâm ra” từ
(nghĩa là nối
với
), và
để ký hiệu tập các đỉnh kề với ít nhất một đỉnh của
. Chú ý rằng
có thể giao với
.
Định nghĩa. (Isoperimetric numbers và edge/vertex expanders)
Đại lượng
được gọi là edge-isoperimetric number của
. (Đây là phiên bản rời rạc của hằng số Cheeger trong hình học Riemann.)
Đại lượng
được gọi là vertex-isoperimetric number của
.
Một
-edge expander là một đồ thị
-regular, có
đỉnh, và
.
Một
-vertex expander là một đồ thị
-regular, có
đỉnh, và
.
Khi nghĩ về expanders, ta nên nghĩ đến lớn, còn
là các hằng số. Con số
thường được gọi là expansion rate của đồ thị. Hai bài tập sau cho thấy hai khái niệm edge-expansion và vertex-expansion là tương đương.
Bài tập. Chứng minh rằng nếu là một
-edge expander, trong đó
là các hằng số, thì
cũng là một
-vertex expander với một hằng số
nào đó.
Bài tập. Chứng minh rằng nếu là một
-vertex expander, trong đó
là các hằng số, thì
cũng là một
-edge expander với một hằng số
nào đó.
Bài tập. Chứng minh rằng nếu là một
-vertex expander trong đó
là một hằng số thì đường kính của đồ thị là
. Chú ý rằng một đồ thị với
đỉnh phải có đường kính
. Do đó expanders có đường kính tối ưu (trong vòng một tỉ lệ hằng số).
Bài tập. Cho một -expander, ít nhất phải “cắt” đi bao nhiêu cạnh để disconnect đồ thị?
Do hai khái niêm edge/vertex expanders gần như tương đương, hãy chỉ xét edge-expanders. Trước hết, câu hỏi tự nhiên nhất là với bộ tham số như thế nào thì một
-edge expander tồn tại? Phương pháp xác suất cho ta câu trả lời. Đó là liên kết đến bộ bài giảng của tôi về PPXS. Nếu các bạn muốn đọc sách về PPXS thì tôi giới thiệu 3 quyển, từ dễ đến khó:
- Probability and Computing: Randomized Algorithms and Probabilistic Analysis
- Randomized Algorithms
- The Probabilistic Method (Wiley-Interscience Series in Discrete Mathematics and Optimization)
Đại khái, Bella Bolobas trong bài này và Noga Alon trong bài này cho ta biết rằng:
Định lý.
Khi
đủ lớn, nếu ta chọn ngẫu nhiên một đồ thị
-regular, với
, thì với xác suất cao edge-isoperimetric number sẽ lớn hơn
. Ngoài ra, tồn tại một hằng số
sao cho mọi đồ thị
-regular đều có edge-isoperimetric number bị chặn trên bởi
. Do đó, có thể nói là expansion rate tốt nhất cho một
-regular graph là
.
Với các giá trị nhỏ thì ta có các kết quả cụ thể hơn nữa. Bollobas chứng minh được, với mọi
đủ lớn, tồn tại
-
-edge expanders
-
-edge expanders
-
-edge expanders
-
-edge expanders
-
-edge expanders
Bài tập. Cho một -regular graph
bất kỳ, chọn ngẫu nhiên một tâp
các đỉnh với
. Chứng minh rằng
Từ đó, kết luận rằng với
Bài tập. Chứng minh rằng, với bất kỳ nào thì không tồn tại một họ vô hạn các
-edge expanders. (Do đó, điều kiện
ở định lý trên là cần thiết nếu ta muốn expansion rate lớn hơn một hằng số.)
Mặc dù có thể chứng minh là tuyệt đại đa số các regular graphs là expanders, việc xây dựng một họ expanders trong poly-time thật sự là vấn đề cực kỳ nan giải. Cái khó nhất là tìm một chặn cho expansion rate cho của các đồ thị mà chúng ta xây dựng. Trong nhiều ứng dụng, điều chúng ta cần là một họ vô hạn các expanders với expansion rate lớn hơn một hằng số nào đó. Sẽ nói về vài phép xây dựng expanders trong bài tới.
Định lý trên cho ta biết rằng với mọi , tồn tại vô hạn các
-expander với expansion rate
cỡ khoảng
. Thử đặt câu hỏi ngược lại: cho trước một expansion rate
nào đó, có tồn tại một số vô hạn các
-edge expanders với
là một hằng số nào đó không? Câu trả lời dĩ nhiên là CÓ. Ví dụ, chọn
để cho
và áp dụng định lý trên là xong.
Tuy nhiên, chúng ta sẽ trả lời trực tiếp câu hỏi trên, không cần Bollobas và Alon giúp, bằng cách chứng minh định lý sau đây. Kết quả của Bollobas ở trên cũng dùng kỹ thuật tương tự. Tôi chọn định lý này và trình bày chứng minh của nó vì đây là một bài tập tôi thiết kế cho lớp randomized algorithms and probabilistic analysis. Chắc bạn sẽ không tìm được chứng minh này ở chỗ khác. Chứng minh này là minh họa tốt cho kỹ thuật dùng union bound và ép các tổng binomials trong phương pháp xác suất.
Định lý. (Nôm na: tồn tại vô hạn các
-expanders với
cho trước tùy ý và
là hằng số phụ thuộc vào
).
Với mọi
, tồn tại một hằng số
thỏa điều kiện sau đây: với mọi
, tồn tại
sao cho một
-edge expander tồn tại với mọi
.
Chứng minh. Không mất tính tổng quát, ta có thể giả sử , tại vì một
-expander cũng là một
-expander với mọi
.
Ý tưởng của phương pháp xác suất là chọn một đồ thị -regular ngẫu nhiên. Chứng minh rằng nó là
-edge expander với xác suất dương, nếu
đủ lớn. Xong! Hai vấn đề cần giải quyết là: (a) chọn đồ thị
-regular ngẫu nhiên như thế nào, và (b) làm thế nào để chặn xác suất nó là expander.
(a) Để chọn đồ thị -regular ngẫu nhiên, ta dùng cái gọi là configuration model của Bollobas. (Xem bài survey này về các models cho random regular graphs.) Không mất tính tổng quát, ta giả sử
đủ lớn và
là số chẵn. Như thế nào là đủ lớn thì sẽ chỉ định sau. Việc bớt một đỉnh khỏi một expander có ảnh hưởng rất ít đến expansion rate của nó. Do đó, giả định
là chẵn không ảnh hưởng đến tính chính xác của chứng minh.
Trong configuration model, đầu tiên ta có một tập gồm
đỉnh. “Chẻ” mỗi đỉnh
thành
đỉnh con
. Gọi tập các đỉnh con này là tập
. Thì,
. Bây giờ, chọn một perfect matching trên
. (Nói cách khác, ghép cặp ngẫu nhiên các đỉnh của
thành
cặp.) Rồi gom các đỉnh con lại thành đỉnh lớn trong
như cũ. Chúng ta được một đồ thị
-regular. Xem hình dưới đây với
. Đồ thị
có thể có loop và multi-edges, và điều đó không ảnh hưởng gì.

(b) Ta sẽ chứng minh không là
-expander với xác suất nhỏ hơn
rất nhiều. Dó đó, đa số các
-regular graphs là
-expanders.
Nếu không phải là
-expander, thì phải tồn tại một tập con
với kích thước
sao cho
. Ở trong
có tất cả
đỉnh "con". Gọi
là tập các đỉnh con. Gọi
là tập các đỉnh của
được bắt cặp lẫn nhau, trong nội bộ chúng nó. Suy ra,
. Dĩ nhiên
với
là một số nguyên dương thỏa
(Bài tập: tại sao?).
Cho một tập con với
bất kỳ, và tập con
với
bất kỳ, định nghĩa
là sự kiện (probability event) mà các thành viên của
được bắt cặp lẫn nhau, nội bộ. Để cho
không là expander, sự kiện
phải xảy ra với
nào đó. Do đó, nhờ union bound, ta có
Tổng số perfect matchings trên đỉnh là cái “giai thừa kép”
. Do đó,
. Ta kết luận là xác suất mà
không là expander được chặn trên bởi
Trong đó, ta lấy tổng theo các chỉ số và
.
Làm thế nào để chứng minh cái tổng khổng lồ này là nhỏ hơn ? Trước hết, đặt
cho tiện. Ta "bẻ gãy" cái tổng này thành 2 tổng nhỏ hơn:
Trong đó là một hằng số sẽ xác định sau. Kế đến, chú ý rằng nếu
thì
với mọi
trong khoảng cho phép -- nghĩa là
. (Bài tập: chứng minh khẳng định này.)
Chúng ta chặn tổng trước. Chú ý là khi xét tổng này thì
. Dùng bất đẳng thức
với mọi
, ta chặn
như sau:
Do đó, với mọi , ta có
Chọn thì
. Sau khi sắp xếp lại các biến số, ta có:
Tăng một chút để cho
thì ta có
và
. Đặt
. Ta có thể chặn
. Đến đây, chặn trên cái tổng thứ nhất:
Muốn làm chặn trên này nhỏ đến (hằng số) bao nhiêu cũng được, nhưng như vậy là đủ cho mục đích của ta. Kế đến, ta chặn cái tổng thứ hai . Lần này ta dùng một mẹo khác: dùng bất đẳng thức
trong đó,
Khi ta chọn đủ lớn thì
tiến gần đến
và
tiến gần đến
. Do đó, có thể giả sử rằng
. (Chú ý rằng
là hằng số
đã chọn như trên.) Do đó,
. Còn khi
đủ gần
thì
đủ gần
. Có thể giả sử rằng
. Như vậy ta đã chặn được
Với , số mũ của
trong biểu thức trên sẽ ít nhất là một hằng số dương nhân với
. (Chú ý rằng
.) Do đó, toàn bộ biểu thức là exponentially small. Như vậy, cái tổng
cũng exponentially small (vì chỉ có polynomial number of terms). Do đó, với
đủ lớn, tổng
tiến đến
.
Bài tới chúng ta bàn về góc nhìn đại số của expanders. Bài sau đó là về góc nhìn xác suất.

9 Comments
Mới sửa lại vài typos. Hy vọng không còn lỗi nữa.
RC huynh hay có những suggestion rất theoritical giúp mở rộng, phát triển topic
Em thấy vấn đề “length-preserving witness” mà RC huynh raised trong phần comment của PCP4 cũng rất hay.
Em tinh ra so perfect matching tren
dinh la: 
Cai preview plugin chay ngon anh a.
Sorry, em nham
Hi anh Hưng,
. Khi đó có lẽ phuơng pháp này khó khả thi. Có lẽ nên dùng phương pháp này để tìm ra một số Graph với số đỉnh cỡ vừa vừa, rồi sau đó áp dụng một số phương pháp để nhân rộng Graph? Nhưng nhân rộng số đỉnh mà vẫn giữ cố định bậc của các đỉnh chắc phải cần các kỹ thuật hay (dùng Tensor product đơn giản nhưng nhân rộng cả số đỉnh lẫn số bậc
).
đỉnh chắc hơi lâu. Không biết có thể có cách kiểm thử hiệu quả hơn cho họ Graph đặc biệt được xây dựng trong bài hay không? (họ Graph này có những đặc điểm giúp việc tính trị riêng được dễ dàng hơn?)
Cách xây dựng expander anh giới thiệu rất trực quan và phù hợp để chứng minh định lý về sự tồn tại vô hạn các expander. Nhưng có lẽ đây không phải là cách giải quyết cho một vấn đề trọng tâm khác là xây dựng hiệu quả các expander? Tính không hiệu quả của phương pháp này có thể thể hiện ở 2 chỗ:
- Với mỗi n, phải xây dựng lại Graph từ đầu chứ không tận dụng được những Graph có số đỉnh <n đã xây dựng. Với n lớn để có thể thực hiện hiệu quả Random walk trên nó thì n cỡ phải
- Phương pháp này cho ta Expander với xác suất gần 1 chứ không tuyệt đối. Không biết việc kiểm thử xem nó thực sự có là Expander có dễ dàng hay không? Áp dụng thẳng bằng cách tính trị đặc trưng thứ hai cho một graph cỡ
Anh Hưng sẽ có giới thiệu cách xây dựng Expander qua Zig-Zag product không?
PS: Cảm ơn anh Hưng đã cài preview plugin, nếu không lại đã có 1 post 1 dòng chữa 1 cái typo ^^
Hello RongChoi, sẽ có bài về Zig-Zag. (Đặc biệt là sau giải Godel vừa rồi, không thể bỏ qua nó rồi.) Tôi có viết là kiểm tra expanding rate một cách chính xác thì NP-hard. Và nói chung, ngoài eigenvalue method ra thì tôi kô biết cách khác để verify expanders tổng quát. (Với các expanders đặc biệt — như xây dựng từ Cayley groups thì họa chăng có cách khác). Cái chứng minh xác suất trình bày ở trên có 3 điểm lợi:
Hi anh Hưng, RC huynh,
Về probabilistic method, em mới chỉ biết định nghĩa và vài ví dụ đơn giản (thực chất là counting + Markov, Chebysev inequality), em chưa quen sử dụng phương pháp này.
Bài trên đọc đến đoạn tách đôi tổng “khổng lồ” là em stop rồi
Không hiểu đến bài “Góc nhìn xác suất” thì sẽ thế nào
Thinh
Hi anh Hưng,
3 cách xây dựng các expanders anh nói là gì nhỉ? Cách thứ nhất hẳn là ppxs và như anh giải thích, cách này phù hợp cho các ứng dụng trong network. Cách thứ 2 liệu có phải là đầu tiên xây dựng các graph theo phương pháp đại số khi ta có thể chặn trên trị riêng thứ hai mà không cần tính chính xác (Cayley graphs, Gabber-Galil graphs…) rồi sau đó có thể nhân rộng (bằng zig-zag product chẳng hạn), cách này sẽ phù hợp cho nhiều ứng dụng mang tính lý thuyết như Derandomization…? Cách thứ 3 …?
Vì không chắc anh sẽ đề cập đến tất cả các phương pháp xây dựng (vì mục đích chính là chứng minh định lý PCP) nên RC hỏi để dễ tìm hiểu sâu hơi, bởi quả thực không ngờ là expanders lại có sưc mạnh khá là đặc biệt trong nhiều lĩnh vực khác nhau đến vậy.
Hi RongChoi, cách 1 là cách xây dựng của Margulis (hồi 72, 73); Gabber-Galil chỉ chứng minh một expansion rate cụ thể của Margulis graph thôi. Cách thứ hai là của Lubotzky-Phillips-Sarnak (hồi 88) xây dựng Ramanujan graphs. Ramanujan graphs là các đồ thị tối ưu về spectral gap (nhưng không tối ưu về expansion rate). Cách thứ 3 là Zig-Zag product (combinatorial construction), rất khác với các cách kia (đại số). Còn một số bài báo khác phân tích một số Cayley graphs, nhưng ứng dụng của chúng không universal như 3 constructions trên.