技术基础作业2:熵与哈夫曼编码分析.pdfVIP

  • 0
  • 0
  • 约9.78千字
  • 约 14页
  • 2026-01-27 发布于四川
  • 举报

技术基础作业2:熵与哈夫曼编码分析.pdf

技术基础作业2

学号:S:

问题1

1.令P(x=a)=0.99,P(x=b)=0.01。

a)求X的熵:H(x)

:熵H(x)=0.99*log2(1/0.99)+0.01*log2(1/0.01)=0.0808;

b)求X的哈夫曼编码及其平均码长L(x)。:我们可以

轻松得到X的哈夫曼编码为a‑0b‑1(或a‑1b‑0)。编

码的平均长度为:L(x)=0.99*1+0.01*1=1;

c)对三个独立的随量{x1,x2,x3}进行编码,每个变量的概率分布与X相同,

设计一个哈夫曼编码并计算每个随量的平均码长。

这些变量可以是aaa、aab、aba、abb、baa、bab、bba、bbb。我们可以计算每种情

况的概率:

Codeaaaaababaabbbaababbbabbb

p0.97030.00980.00989.9e‑050.00989.9e‑059.9e‑051e‑06

我们可以通过概率分布获得编码:

Codeaaaaababaabbbaababbbabbb

huff100101000000011000010001100010

因此,每个随量的平均码长为L=1/3*(5*(0.01^3+3*0.99*0.01^2)

+3*(3*0.01*0.99^2)+1*0.99^3)=0.3533

d)讨论:

该变量的熵仅为0.0808,但(a)的平均码长为1,(b)的平均码长为0.3533。

这是因为,在编码中,每个变量的码长都是整数,因此可以很好地适应

像1/2、1/4、1/8⋯⋯1/2^n这样的概率。平均码长非常接近变量的熵。然而,如

果概率接近0.99,远离1/2,编码

2ofbasisoftechnology

Studentid:S

Name:

Problem1

1.LetP(x=a)=0.99,P(x=b)=0.01.

a)FindtheentropyofX:H(x)

Answer:

TheentropyH(x)=0.99*log2(1/0.99)+0.01*log2(1/0.01)=0.0808;

b)FindtheHuffmancodeofXanditsaveragecode-lengthL(x)

Answer:

WecaneasilygettheHuffmancodeofX

a-0b-1(ora-1b-0)

Theaveragelengthofthecodeis:

L(x)=0.99*1+0.01*1=1;

c)Tocodethreetrandomvariable{x1,x2,x3}witheachhavingthesame

probabilitydistributionasthatofX,designaHuffmancodeandcalculatetheaverage

code-lengthperrandomvariable.

Answer:

Thevariablecouldbeaaa,aab,aba,abb,baa,bab,bba,bbb.Andwecouldcalculate

theprobabilityofeverycondition:

Codeaaaaababaabbbaababbba

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档