
Maximum Clique Set 在圖論中已是相當知名的NP-Complete ( Richard Karp 於1972年證明) , 如果把它丟在原圖的補圖來看得話 , 它所對應的最大獨立集(Maximum Independent Set ,
簡寫 MIS) 當然也成了NP大魔頭 , 碰到NP的問題通常實在很不受歡迎 , 就如同一個病人背診斷成癌症末期準備等死 , 當然 , 每個要壯烈犧牲的烈士在歷史上總是多少留下一些令人緬懷的事蹟 , Maximum Independent Set 在圖論上最有名的定理是由 Konig 在 1916 年證的 :
If G is a bipartite graph , then MIS 的大小 = minimum size of edge cover注意喔 !! 這個是在 Biparite Graph 的條件下 , 那一般的 Simple Graph呢 ?? 抱歉!! 當然沒有 , 廢話 , 如果有的話它還會是一個NP-Complete的重病患嗎 , 它只差等N≠NP 得證後(在量子電腦尚未出現前 , 我是堅信NP不為P , ) , 它就可以跟其他NP-Complete的英雄一起安樂死 , 話說到這 , 今天當然要說點不同的東西 , 提到Shannon在當年發表的 Information Theory , 今天所有學通訊的大學生可以說對它可是又愛又恨(恨的應該是比較多啦!!尤其對台灣學生.....) , 當年的Shannon在界定Channal Capacity時 , 他可能知道但...也可能不知道 , 在這無形中將圖論的最大獨立集問題 , 偷偷地隱藏在Mutual Information I(X;Y) , 喔!﹖ Really !? , 老實說 , 這是我的觀點 , 但需要費點口舌 , 畢竟已經癌症末期的病患要給他新的藥物試試 , 的確要冒一點險 , 而我要將MIS的問題丟進一般的 Simple Graph , 並嘗試用Mutual Information I(X ; Y) 去表現 , 他的式子將如下 :size of MIS(G) = 2max I(X;Y) , G is any simple graph ;挖靠! 真的是有夠唬爛 , 怎麼可能化約到這麼的簡單 , 其實這可不簡單 , 但先看看下面這個我稱它為 Bipartite Transform 的圖形轉換動作 , 我要將任合Simple Graph 轉成一個Bipartite Graph :G(V,E) is a set of simple graphs and there's a subset of G(V,E) denote G'(A x B , E) which is a set of bipartite graphsThen we define a function F : G(V,E) -> G'(A x B , E)s.t V=A 且 B=E 並滿足下列for all x , y ∈ V if (x,y)∈E(G) => N(x)∩ N(y) ∈ B 註: N(x) is the set of vertices which connect to xif (x,y)∈E(G) => N(x)∩ N(y) = Φif (x,y)≠(x',y') => N(x)∩ N(y) ≠N(x')∩ N(y')we say F is a bipartite transform 上面這些零零總總的數學定義 , 簡單用白話說就是 , 我對於處理 Simple Graph 我有一個策略 : 就是把所有的 Simple Graph G 都轉成一個 Bipartite Graph G' , 但注意這個轉換不會是一對一 ,但不影響我們接下來的論述 , 那其中G'(A X B , E)的 A 及 B是bipartite graph 的兩個 subvertex set , 所以 A 及 B 本身就成了G'下的一個 Independent Set , 其中 A 這個部份對應的是原來G的全部的vertices , 至於B這個部份對應到原來G中所有的Edges , 所以要是原來圖中G有四個點及五個邊 , 轉換過去G'就是 A有四個點 , B 有五個點 , 且 在原圖G中有邊相連的點 , 則在G'的A中他們就有共同的相連點於B中(或稱作有共同的 Neighborhood) , 反之 , 在原圖中不互相連的點 , 則在G'終究不會有共同的Neighborhood , 最後還要注意 , 任意在B中的點只會跟A中某唯一兩點相連 , 說完了 , 想看例子嗎 , 看看上圖吧 :
沒錯 , 就是這麼簡單的一個轉換 , 但現在說到這我們必須暫時離開一下圖論 , 我們進入Shannon的Channel Capacity, 參照Thomas Cover的Elements of Information Theory 的第八章的第P.186的 Figure 8.4 , 喔.....好眼熟的圖喔 , 對 , 但暫時先不要想圖論 , 我們套一下股市唬爛大師張國治的語調 , 看到沒呀 , 老師有沒有說啦 , 阿!! , 老師是不是跟你說 , Shannon跟我們講不能怎樣!?
傳送時不能兩點送到一點啦, 不然就會有Error呀 , "有Error , 有Error , 有Error " (又甩筆 數 123456789 秒...) 結束!!
啥!﹖這樣就結束 , 有沒有搞錯 , 張國治有沒有搞錯我不知道 , 但Shannon絕對沒說錯 , 你現在很清楚對於Decoder端收到的Message如果來自兩個以上的Message , 肯定它在解碼的時候就糗大 ,除非它是上帝 , 我們先假設傳送端及接收端都不是上帝 , 所以 , 要避免Error發生 , 傳送端就不應把兩個Message 送到同一個Symbol給Decoder , 所以 ,
把傳送端要傳的訊息看成 G' 的 A , 把Decoder會收到的相對應的Message Symbol看成G' 的 B , 如果不要有Error , 就是相當於傳送A中不會有共同的Neighborhood , 就如同上圖的B點跟D點 , 但可以在找更多點來傳嗎 , 在這個圖中是沒有辦法的 , 所以最大傳輸量就是這兩點 , 所以套句Shannon的語言 , 你每次傳輸最多就是傳兩個Symbol , 也就是一次最多傳一個bit ,
C = maxI(A ; B) = 1 , 所以 , 各位還記得Capacity要求的是最多的傳輸下不會Error的數量 , 再說一次喔 , 是最多 最多..... , 這表示什麼 , 就是找 G'的A中最大點的數量使他們之間都不會有共同的Neighborhood在B中 , 現在我們來看我們定義的 Bipartite Transform F , 不過這時候要看它的Inverse , 在原圖G中 , 什麼樣的點集(vertex set)轉換至G'中不會有共同的Neighborhood , 沒錯就是互相不會有邊相連的Independent Set , 但
Shannon說Capacity就是要找最Maximum的傳輸量 , 這不就是告訴我們 ,
就是找原圖G的 Maximum Independent Set , 所以簡單的推敲後 , 你是不是也看出對於所有的Simple Graph G , 在Bipartite Transform的概念下 ,我們得到
size of MIS(G) = 2max I(A;B)
其實說到這 ,差不多說完了 , 但眼尖的人一定發現把訊息理論的訊息傳輸看成圖論的一條單純的Edge相連 , 總是覺得怪怪的, 沒錯 , 訊息理論的每個訊息傳遞都有所屬的機率 , 但如果你在圖論的edge來看 , 他們每個邊相對於任何一個相連的點 , 地位都是相同的 , 也就是 uniform distribution , 所以這裡簡單的說 , 我引進圖論的最大獨立集的觀點 , 其實遠遠不足以覆蓋Channal Capacity的問題 , 我們對於上面最後的公式應該還要假設 , A對於B點傳輸的conditional probability都是 uniformly , 這個前提對於引進圖論觀點是很重要的 , 當然我們知道 , 大部分的Channel的特性不可能都是uniformly , 所以Information Theory在Maxiumu Mutual Information的難度是遠遠超過圖論的Maximum Independent Set , 這部份是應該還有空間去討論 , 這個討論包括我們必須可能對圖的每一邊要視為有各自的weight , 不過 , 最近讀完Shannon的另一項在Source Coding 的貢獻 Rate Distortion ,它在圖論幾何的性質 , 我預估將是對應到圖得 Mininmum Vertex Cover 或是 Minimum Dominating Set , 這一連串Max-Min Relation是數學與應用科學中相當值得去刻畫的性質........