第九個知識點:香農(Shannon)定義的熵和信息是什么
這是計算機理論的最后一篇.我們討論信息理論的基礎概念,什么是香農定義的熵和信息.
信息論在1948年被Claude E.Shannon建立.信息論最開始被應用於信號處理,但是經過幾十年的發展,它現在已經被應用到各個學科了.這篇文章嘗試簡潔的介紹兩個基礎的概念,熵(entropy)和信息(information).如果你對這個感興趣,我個人推薦你在這里學習更多.[1]
熵
熵是衡量一個或者多個變量不確定性的度量.
假設我們調查人們打開瀏覽器的時候打開的第一個網頁.我們用抽樣的方法將測試人員分出兩組.四個來自Bristol Cryptogroup的密碼學研究人員和在Bristol客車站被抽取的四個乘客.讓我們做一個激進的假設,假設四個密碼學研究者第一次都會訪問http://bristolcrypto.blogspot.co.uk/ .
現在讓我們評價一下他們的答案:顯然,密碼學家的答案是相當確定的(低不確定性),而如果答案來自乘客,則很難猜到(高不確定性).換句話說,我們說密碼學家組的答案熵低,而乘客組的答案熵高.
因此香農的一個最著名的貢獻就是香農熵的定義:
\(H = - \sum_ip_ilog_bp_i\)
其中\(p_i\)是一個之前答案出現的可能性.在計算機科學中,我們通常使用\(b = 2\)(bits).
如果我們計算熵值,我們就有
\(H_{cryptographer} = - \sum_i^41log_21=0\)
\(H_{passenger} = -\sum_1^4log_2(1/4)=2\)
所以乘客的答案的熵確實比密碼學家的高!
信息
形式上,Shannon信息的定義在[2]中給出:
信息是衡量一個人在選擇信息時的選擇自由.
為了解釋這個問題,讓我們對前面的事例做一個小的修改.讓我們從Bristol火車站再抓四個乘客,假設他們的答案也是隨機門戶,就像長途汽車站的乘客一樣.
問題是:給定一個答案\(y\),你能說答案來自哪一組?
如果\(y\)是http://bristolcrypto.blogspot.co.uk/,那么我們馬上就可以知道答案來自於我們的密碼編碼員組.但是如果y是隨機的,我們就會遇到困難.因此我們就可以說http://bristolcrypto.blogspot.co.uk/包含比隨機的更多的信息.
因此它們跟熵有什么關系?
擴展熵的定義,我們將條件熵定義為:
這個公式描述了當\(X=x\)條件\(Y\)的熵.更明確的說,因為熵是一個變量的不確定性.因此,先前條件熵的定義實際上是當給定條件為"線索"(條件)\(X\)的不確定的\(Y\).
觀察:考慮兩個變量\(X\)和\(Y\).如果\(X\)包括\(Y\)的最小信息,然后給出一個額外的\(X\)的精確值對我們推斷\(Y\)的值應該沒有多大幫助,也就是說,它並沒有明顯的降低\(Y\)的不確定性.另一方面,如果\(X\)包含了\(Y\)的基本信息.那么當\(X\)給定時,\(Y\)的熵應該是低了很多.因此,條件熵可以看作是看作是對\(X\)對\(Y\)的信息是一種合理的度量!
另一個重要的指標就是互信息(Mutual Information).它是兩個變量測量的度量.一種定義它的方法就是熵的減少值.
\(I(X;Y) = H(X)-H(X|Y)=H(Y)-H(Y|X)\)
密碼學實例
信息論的概念廣泛應用於密碼學.一個典型的例子就是把密碼學看作一個信道,明文是輸入,密文是輸出.側信道的研究也得益於信息論.
[1] Thomas M. Cover and Joy A. Thomas. Elements of Information Theory
2nd Edition. Wiley-Interscience, 2 edition, July 2006.
[2] S. Vajda, Claude E. Shannon, and Warren Weaver. The mathematical
theory of communication. The Mathematical Gazette, 34(310):312+,
December 1950.
[3] http://en.wikipedia.org/wiki/Entropy_(information_theory)