資訊理論與編碼基礎
某二元資訊源以機率0.8輸出0、以機率0.2輸出1,且彼此獨立。把每2個符號合成的00、01、10、11這4種分別視為1個符號,以霍夫曼編碼進行編碼。原本每個符號的平均碼長為下列何者?
- A約0.72位元
- B0.78位元
- C1位元
查看答案與解析
正確答案:B. 0.78位元
4種的機率為00 0.64、01與10 0.16、11 0.04。把0.04與0.16合併為0.2,0.2與0.16合併為0.36,最後與0.64合併,因此碼長為1、2、3、3位元,每2個符號的平均為 0.64 × 1 + 0.16 × 2 + 0.16 × 3 + 0.04 × 3 = 1.56 位元。換算成原本每個符號為 1.56 ÷ 2 = 0.78 位元。逐一編碼時只能對0與1各分配1位元,但合併編碼後,可以接近熵的約0.72位元。
- A. 約0.72位元是此資訊源的熵,是平均碼長的下限。以2個符號合併的方式還達不到這個值。
- B. 正確。1.56 ÷ 2 = 0.78 位元。
- C. 1位元是逐一對符號編碼時的值。逐一對二元符號編碼時,兩者都需要1位元。