第一次作业
1-1:数据压缩的一个基本问题是“我们要压缩什么”,对此你是怎样理解的?
答:我们为了尽量使数字信息在传输过程中不出错或少出错,以最少的数码表示信源所发的信号,减少容纳给定消息集合或数据采样集合的信号空间。所谓信号空间即被压缩对象。
1-2:数据压缩的另一个基本问题是“为什么进行压缩”,对此你又是怎样理解的?
答:数据压缩的作用及其社会效益将越来越明显,如果不进行数据压缩,则无论传输或存储都很难实用化。而数据压缩的好处:
1、较快的传输各种信源(降低信道占有费用)——时间域的压缩
2、频率域的压缩
3、能量域的压缩
4、空间域的压缩
1-6:数据压缩是如何分类的?
答:可逆压缩(无损压缩)和不可逆压缩(有损压缩)。
可逆压缩也叫无失真、无差错编码或无噪声编码。不可逆压缩就是有失真编码,信息论中称熵压缩。
参考书《数据压缩导论(第4版)》Page 8 1.4
答:1、
2、它表征信源信息率的多余程度,是描述信源客观统计特性的一个物理量,但我们并不能对冗余度进行定量论述。不同信源的冗余度不同。
三、参考书《数据压缩导论(第4版)》Page 30
3、给定符号集A={a1,a2,a3,a4},求一下条件下的一阶熵:
(a)P(a1)=P(a2)=P(a3)=P(a4)=1/4
(b)P(a1)=1/2 , P(a2)=1/4 , P(a3)=P(a4)=1/8
(c)P(a1)=0.505 , P(a2)=1/4 , P(a3)=1/4 , P(a4)=0.12
答:(a)一阶熵为:
H(x)=4*(1/4)*log24=2(bit)
(b)一阶熵为:
H(x)=1/2*log22+(1/4)*log24+2*(1/8)*log28=1.75(bit)
(c)一阶熵为:
0.505*log2101/200+2*(1/4)log24+0.12*log233/25=
5、考虑以下序列:
ATGCTTAACGTGCTTAACCTGAAGCTTCCGCTGAAGAACCTG
CTGAACCCGCTTAAGCTTAAGCTGAACCTTCTGAACCTGCTT
(a)根据此序列估计各概率值,并计算这一序列的一阶、二阶、三阶和四阶熵。
(b)根据这些熵,能否推断此序列具有什么样的结构?
答:此序列总共有84个字母,其中字母A有21,字母T有23,字母G有16,字母C有24个
因此
P(A)=21/84=1/4;P(T)=23/84;P(G)=16/84=4/21;P(C)=24/84=2/7;
则这一序列的一阶熵为
H(x)=1/4*log24-23/84*log2(23/84)-4/21*log2(4/21)-2/7*log2(2/7)
=1/2+1/2+2.22*1/5+0.514
=1+0.44+0.514
=1.954(bit)
P(AT)=1/42,P(GC)=5/42,P(AA)=5/42,P(CG)=2/42=1/21,P(TT)=5/42,P(TG)=2/42=1/21,P(CT)=7/42,P(TA)=1/42,P(AC)=3/42=1/14,P(GA)=4/42=2/21,P(AG)=2/42=1/21,P(TC)=1/42,P(CC)=3/42=1/14,P(TG)=1/42;
这一序列的二阶熵为
H(x)=-4*(1/42)*log2(1/42)-3*(5/42)*log2(5/42)-4*(1/21)log2(1/21)-2*(1/14)log2(1/14)
=2/21*5.39+3/8*3+4/21*4.39+1/7*3.81
=3.02(bit)
由于P(ATG)=1/28,P(CTT)=1/4,P(AAC)=3/14,P(GTG)=1/28,P(CTG)=1/4,P(AAG)=1/7,P(CCG)=1/14
则这一序列的三阶熵为
H(x)=2*( 1/28)*log228-2*(1/4)*log2(1/4)-1/7*log2(1/7)-1/14*log2(1/14)
=1/14*4.81+1/2*2+1/7*2.81+1/14*3.81
=2.02(bit)
(b)由(a)的结果可以推断此序列具有的结构是:由越多字母组成序列的信息量越少,相应的,越少的字母组成的序列所包含的信息量越多
7、做一个实验,看看一个模型能够多么准确地描述一个信源。
(a)编写一段程序,从包括26个字母的符号集{a,b,...,z}中随机选择字母,组成100个四字母单词,这些单词中有多少是有意义的?