用编码长度解释熵?

机器算法验证 信息论
2022-03-26 07:52:37

当使用消息的最佳编码时,将熵ipilog2pi

现在,如果我们使用简单的 3 字母情况 A (80%)、B (10%) 和 C(10%),熵小于 1 位,这看起来很奇怪(从幼稚的角度来看)。这怎么能与上面的解释相协调(如果可以的话)?

1个回答

代码:

AAA as 0
AAB,AAC,ABA,ACA,BAA,CAA as 1000...1101
12 triplets with 1 letter "A" as 1110000...1111011
8 triplets without "A" as 11111000...11111111

每个三元组平均占用 0.512*1+0.384*4+0.096*7+0.008*8=2.784 位,或每个字符 0.928 位。通过对 4 字符、5 字符等组进行编码,您可以进一步减少每个字符的位数。使用长字符组和最佳编码,您可以使每个字符的位数尽可能接近熵,但不能小于熵。