第一次作业

作业一

1.1数据压缩的一个基本问题是“我们要压缩什么”,对此你是怎样理解的?

答:数据的压缩就是对数据冗余的压缩,我们要压缩占用比例过大,影响操作的事物。例如对时间的压缩,对空间的压缩,频域空间的压缩。

 

1.2 数据压缩的另一个基本问题是“为什么进行压缩”,对此你又是怎样理解的?

答:数据压缩是因为数据存储空间有限,数据指数增长,进行压缩可以减少存储空间,提高传输、存储和处理效率。

 

1.6 数据压缩技术是如何分类的?

答:数据压缩技术分类:冗余度压缩(熵编码)和熵压缩,其中冗余度压缩(熵编码)又分为:统计编码   其他编码,熵压缩主要有两大类:特征抽取和量化

 

2-1  用你的计算机上的压缩工具来压缩不同文件。研究原文件的大小和类型对于压缩文件与原文件大小之比的影响

答:当文件类型不同时,如视频、文档、图片等不同类型的文件,压缩后的文件与源文件大小之比的影响是不同的,一般文本文档的压缩成都比图片的压缩要小,而影响对大的是视频。

 

2-2  从一本通俗杂志中摘录几段文字,并删除所有不会影响理解的文字,实现压缩。例如,在“This is the dog that belongs to my friend”中,删除is、the、that和to之后,仍然能传递相同的意思。用被删除的单词数与原文本的总单词数之比来衡量文本中的冗余度。用一本技术期刊中的文字来重复这一试验。对于摘自不同来源的文字,我们能否就其冗余度做出定量论述?

答:不能。冗余度是表征信源信息率的多余程度,是描述信源统计特性的一个物理量,我们不能对冗余度进行定量论述。在处理文本时,除了冗余外,还会有重复的情况,对于不同来源的文字信息,重复度是不一样的,情况不同处理方式也不同。

 

作业二

参考书《数据压缩导论(第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=(-log2(1/4))*(1/4)*4=2(bit).

      (b)H=-1/2log21/2-1/4*log21/4-2*1/8*log21/8 =1.75(bit).

  (c) H= -0.505*log20.505-1/4*log21/4-1/4*log21/4-0.12*log20.12=1.2967-0.12*log20.12(bit).

5.考虑以下序列:

          ATGCTTACGTGCTTAACCTGAAGCTTCCGCTGAAGAACCTG

          CTGAACCCGCTTAAGCTGAACCTTCTGAAGCTTAACCTGCTT

(a)根据此序列估计个概率值,并计算这一序列的一阶、二阶、三阶、四阶熵。

答:

     由题意得:共有字母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=-1/4*log2(1/4)-23/84*log2(23/84)-4/21*log2(4/21)-2/7*log2(2/7)=1.98.

 

7.(a)编写一段程序,从包括26个字母的符号集{a,b,...,z}中随机选择字母,组成100个四字母单词,这些单词中有多少个是有意义的?

 

 1 #include <stdio.h>
 2 #include<stdlib.h>
 3 #include <windows.h>
 4  
 5 int main() 
 6 {
 7  int m,n;
 8  for(m=0;m<100;m++)
 9  {
10     for(n=0;n<4;n++) 
11     { 
12         putchar(rand()%2?65+rand()%26:97+rand()%26);
13     }
14     Sleep(1000);
15     putchar(' ');
16 }    
17      return 0;
18 }

 

 

 从运行的结果看出,这样得到的大多数单词都是无效的,没有意义。

 

posted @ 2015-08-28 11:42  茕白兔  阅读(173)  评论(0编辑  收藏  举报