01信息基础_基于MIT 6.004计算机组成原理

谷歌机翻中文字幕
课堂录播生肉
幻灯片、LAB等

信息

消除不确定性的数据

消除的不确定性越多,信息量越大

量化

信息量
I ( x i ) = log ⁡ 2 ( 1 p i ) I(x_i)=\log_2(\frac{1}{p_i}) I(xi​)=log2​(pi​1​)
例如52张扑克牌,收到的信息是“卡片花色为红心”,
I ( h e a r t ) = log ⁡ 2 ( 1 13 / 52 ) = 2 b i t I({\rm heart})=\log_2(\frac{1}{13/52})=2\rm bit I(heart)=log2​(13/521​)=2bit
即需要两位编码才可以消除足够的不确定性。

两位编码恰好可以表示四种情况

非整数

两个魔方投出第一个红第二个绿面朝上需要的信息量为
I ( x i ) = log ⁡ 2 ( 1 1 / 36 ) = 5.17 I(x_i)=\log_2({\frac{1}{1/36}})=5.17 I(xi​)=log2​(1/361​)=5.17
这意味着需要六位编码。然而对于十个连续情况的编码,我们不需要 ⌈ 5.17 ⌉ × 10 = 60 \lceil 5.17\rceil\times 10=60 ⌈5.17⌉×10=60位,仅需要 ⌈ 5.17 × 10 ⌉ = 52 \lceil 5.17\times 10\rceil=52 ⌈5.17×10⌉=52位。

定义

随机变量的熵是是了解这个随机变量的值时,所收到每份数据中包含的信息量的期望。
H ( X ) = E ( I ( X ) ) = ∑ i = 1 N p i ⋅ log ⁡ 2 ( 1 p i ) H(X)=E(I(X))=\sum_{i=1}^N p_i\cdot \log_2(\frac{1}{p_i}) H(X)=E(I(X))=i=1∑N​pi​⋅log2​(pi​1​)
例如

01信息基础_基于MIT 6.004计算机组成原理

这告诉我们相较于简单地用两位编码,存在一个更优的编码方式

意义

  • 熵是我们需要传输位数的下限
  • 为数据传输的优化提供方向

编码

准确的映射

固定长度编码

当每个选择出现的可能性相等

  • 支持随机访问:只需要跳过固定长度的编码

H ( x ) = ∑ i = 1 N 1 N log ⁡ 2 ( 1 1 / N ) = log ⁡ 2 N H(x)=\sum_{i=1}^N\frac{1}{N}\log_2(\frac{1}{1/N})=\log_2N H(x)=i=1∑N​N1​log2​(1/N1​)=log2​N

例如对0-9十进制整数编码,需要四位,而熵为 log ⁡ 2 10 = 3.322 \log_2 10=3.322 log2​10=3.322,对1000位十进制整数进行固定长度编码需要4000位,大于可能的最小值。

有符号整数

二进制补码定义

01信息基础_基于MIT 6.004计算机组成原理

取反计算

取反+1

01信息基础_基于MIT 6.004计算机组成原理

-1的补码为全1,-1-A相当于对A的每一位取反(1-1=0,1-0=1)

可变长度编码

当每个选择的可能性不相等

最优长度编码:哈夫曼编码

检错

存在单位或多位错误时,仅经过简单编码的信息可能发生错误传输

H a m m i n g   D i s t a n c e \rm Hamming \ Distance Hamming Distance

在两个相同长度的编码中,相应数字不同的位置数

当汉明距离为0时,两个编码相同

奇偶校验码

解决单位错误( S i n g l e − b i t   e r r o r \rm Single-bit \ error Single−bit error)

做法:使得单位错误无法产生一个新的有效编码,所以需要至少相差两位的编码,也就是我们希望任意编码间的汉明距离至少为2

偶数校验码:在原编码末尾加上一位校验码,使得编码中的1的位数为偶数

01信息基础_基于MIT 6.004计算机组成原理

有效编码的1的位数均为偶数,当出现01或10的情况时,1的位数为奇数,所以发生了奇偶错误。

同时,当偶数个位上发生了损坏,偶数校验码将无法探测到错误。

推广

为了探测E位错误,最小汉明距离位E+1

01信息基础_基于MIT 6.004计算机组成原理

从000/111出发,任何长度为2的路径都无法达到一个有效编码。

纠错

E位错误产生的编码集不重叠,即最小汉明距离为2E+1.

01信息基础_基于MIT 6.004计算机组成原理

上一篇:软件测试周刊(第52期):世事多难料,唯独花期会如期。


下一篇:第52篇-即时编译器