這是計算機理論的最後一篇.咱們討論信息理論的基礎概念,什麼是香農定義的熵和信息.瀏覽器
信息論在1948年被Claude E.Shannon創建.信息論最開始被應用於信號處理,可是通過幾十年的發展,它如今已經被應用到各個學科了.這篇文章嘗試簡潔的介紹兩個基礎的概念,熵(entropy)和信息(information).若是你對這個感興趣,我我的推薦你在這裏學習更多.[1]學習
熵是衡量一個或者多個變量不肯定性的度量.測試
假設咱們調查人們打開瀏覽器的時候打開的第一個網頁.咱們用抽樣的方法將測試人員分出兩組.四個來自Bristol Cryptogroup的密碼學研究人員和在Bristol客車站被抽取的四個乘客.讓咱們作一個激進的假設,假設四個密碼學研究者第一次都會訪問http://bristolcrypto.blogspot.co.uk/ .編碼
如今讓咱們評價一下他們的答案:顯然,密碼學家的答案是至關肯定的(低不肯定性),而若是答案來自乘客,則很難猜到(高不肯定性).換句話說,咱們說密碼學家組的答案熵低,而乘客組的答案熵高.spa
所以香農的一個最著名的貢獻就是香農熵的定義:orm
\(H = - \sum_ip_ilog_bp_i\)blog
其中\(p_i\)是一個以前答案出現的可能性.在計算機科學中,咱們一般使用\(b = 2\)(bits).ip
若是咱們計算熵值,咱們就有ci
\(H_{cryptographer} = - \sum_i^41log_21=0\)get
\(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/包含比隨機的更多的信息.
所以它們跟熵有什麼關係?
擴展熵的定義,咱們將條件熵定義爲:
\[ H(Y|X) = sum_{x \in X}p(x)H(Y|X=x) \]
這個公式描述了當\(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_%28information_theory%29