《偉大的計算原理》一資訊的測量

2021-09-23 15:06:54 字數 2258 閱讀 1851

夏農設計了乙個用於測量資訊源中所含資訊的方法,因為他想知道資訊源中最短碼的長度。編碼的位數量並不能作為乙個衡量標準,正如我們在上文中所看到的,單個資訊源可以用任意數量的不同編碼來表示。他的結論是乙個好的衡量標準應該是訊息集合中最短編碼的長度,若編碼再短一些則無法傳輸訊息源的所有資訊。

他認為衡量資訊不應該依賴人類所觀察到的編碼的含義,而應該忽略資訊的上下文,尋求編碼、傳輸和解碼的固定工作機制。郵政服務遵循相似的準則:他們的分發和傳輸系統從不依賴於所運輸的信封中的內容。夏農非凡的洞察力表現在「將資訊的接收等同於不確定性的減少」。他定義資訊為判斷資訊源正在傳送哪個訊息所需要回答的是非(yes-no)問題的最小數量。我們越了解某個資訊源可能會傳送什麼訊息,那麼看到這條訊息時所獲得的資訊量就越少。

假設你知道某人將會只回答乙個是非問題,但提前無法得知回答者的答案,那麼回答者通過回答解決了你的不確定性。夏農認為回答者只給了你一位的資訊(1或0),即從兩種可能答案中選擇其中乙個。當答案有兩個以上時,需要更多的位來區分傳送的訊息。

假設我們想在**簿中找到含有某個朋友名字的那一頁,那麼需要多少位來對頁數進行編碼呢?乙個聰明的方法回答了這個問題:我們從中間開啟**簿,然後詢問哪一半含有朋友的名字(由於使用字母順序編寫**簿,這個問題就很容易回答)。然後我們把含有名字的那一半**簿再分割成兩半,詢問同樣的問題。重複這個步驟,直到只剩一頁,這個朋友的名字就應該在那一頁上。這個重複的問題(「哪一半」或者說「是否在左邊一半」)讓我們快速定位。對於一本有512頁的**簿,第乙個問題留下了256頁來搜尋,第二個問題留下128頁,然後64,32,16,8,4,2,最後是1。需要9個「哪一半」問題來尋找包含名字的那一頁。因此,當找到包含朋友名字的那一頁時,我們獲取了9位的資訊量。

在構建編碼時,人們需要思考訊息的發生概率。塞繆爾·莫斯(samuel morse)發明了莫斯密碼,並將之應用於19世紀30年代他參與發明的電報中。他分配最短的編碼(單個點)來表示字母e,因為e是在英文中使用最頻繁的字母(大約12%)。他將最長的編碼分配給字母j,因為j是最少使用的字母之一(約0.15%)。這樣的分配減少了傳輸的平均長度。圖3.4說明了用以識別乙個訊息的問題可以用來定義資訊編碼,以及關於訊息發生概率的先驗知識會減少編碼量。

假設我們有一長度為li、概率為pi的碼字集合。那麼編碼的平均長度就是

對於圖3.4中的編碼,公式計算出第一種編碼的平均長度是2位,而第二種編碼的平均長度是1.75位。

在最優編碼中,碼字的長度即最小的l是多少呢?夏農在他2023年**的附錄中回答了這個問題。他表示最優碼字的長度是以2為底的碼字出現概率的對數的相反數,即-log2pi。因此,最優編碼的平均長度是

這個公式和熱力學的熵公式具有同樣的形式,也有著相似的解釋。熵是衡量系統狀態的混亂程度或是不確定性的指標。乙個系統的狀態越混亂,熵就越高。最大的混亂度發生在所有的狀態都有同等發生概率的情況下,最大的有序度則發生在某一種狀態非常確定而其他的狀態都絕不會發生的情況下。

夏農認為熵是資訊源中固有資訊的衡量標準。乙個資訊源由一組可能的訊息和訊息發生的概率構成。熵只取決於訊息的概率而不是它們的編碼,熵可以確定最短可能編碼的平均長度。任何更短的編碼都將導致混淆從而無法得到唯一的解碼結果。如下面的例子:

圖3.4 夏農將乙個訊息中的資訊量定義為將該訊息從訊息源中篩選出來需要回答的是非問題數,這些問題是用來減少「哪個是被傳送訊息」的不確定性的。試想,如果我們要從四個人中發現被某任務選中的人,則可以使用乙個簡單的決策樹(上圖),我們問:「是alice或者bob嗎?」如果答案為是,則決策選擇左邊的子樹。再問乙個問題「是alice嗎?」,答案就揭曉了。每個個體的編碼就是指向他/她的是非問題答案的路徑。如果知道某個個體被選中的概率(下圖括號裡的數字),那麼我們可以構造乙個等級決策樹,從而使得編碼長度不等。例如,如果alice是最有可能被選中的,我們就把編碼1分配給他。bob是下乙個最有可能的,則分配編碼為01,然後是charlie和diana,他們有相同的選中概率,則都被編碼為3位

如果以上這些訊息出現的概率分別是0.5、0.25、0.125和0.125,平均編碼長度就是1.25位。然而,接收方對於1001代表abba,abc,dba還是dc卻無法分辨。這條訊息的熵(根據上面的公式計算得出)是h = 1.75,界定了編碼是否能夠解析的閾值。這條編碼的平均長度是1.25位,低於此閾值,所以編碼無法解析。

哈夫曼(huffman)編碼是一種快速在熵閾值內進行位編碼的方法(圖3.5)。

《偉大的計算原理》一解決悖論

在上面的討論中,我們注意到一些關於資訊的看似矛盾的結論 1 工程師設計的通訊系統能夠在不理解資訊含義的情況下執行,那麼人類資訊接收者如何收到含義呢?2 工程師所設計的計算機系統能夠在不了解程式與二進位制模式資料含義的情況下轉換資訊,那麼這些系統如何生成新的資訊呢?3 程式設計師設計的程式能夠在對其資...

華師一資訊組的日常

由於暑期集訓開始了乙個星期,然後發生了一些特別好玩的事情,在這裡kamiya為了紀念這一切,寫了一篇日記來紀念這一段有趣的時光。學弟 未來之光 text 現充 體重 text text 張一van 四歲 體育全才 text 飯爺 text 學妹 未來之光 text 紅太陽 text 一等一大學姐 t...

資訊熵的計算公式 一起來學資訊理論(一) 資訊熵

引子 資訊是什麼?在夏農的劃時代 發表前,我們對 資訊 這個詞的含義只有乙個模糊的概念。夏農針對 資訊 給出了乙個令人信服的定義,並且說明了如何對資訊進行定量計算,並對這個定義給出了數學證明。之後,我們對 資訊 的識別 傳輸 儲存 加工等才有了堅實的數學基礎 有了堅實的數學基礎,才發展出各種工程應用...