第一次作业

一、教材习题1-1,1-2,1-6,

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

                答:数据压缩,就是以最少的数码表示信源所发的信号,减少容纳给定消息集合或数据采样集合的信号空间。

                      我们要压缩的对象就是信号空间,即物理空间,时间区间,电磁频段,也就是指某信号集合所占的空域、时域和频域空间。

                     

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

               答:减少信息存储空间,提高其传输、存储和处理效率。

习题1-6    数据压缩技术是如何分类的?

               答:数据压缩的分类方法繁多,尚未统一。可以将其分为可逆压缩和不可逆压缩。可逆压缩也叫作无失真、无差错编码或无噪声编码。不可逆压缩就是有失真编码,信息论中称熵压缩。

二、 参考书《数据压缩导论(第4版)》Page 8     1.4

1.4    项目与习题

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

答:我用了我的计算机来分别压缩了图片,视频,音乐和文档,结果是文档的压缩文件与原文件大小相差最大,其次是音乐,然后是视频,最后是图片。

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

答:我们不能对于摘自不同来源的文字就其冗余度做出定量的论述,因为不同的文件在压缩时的比例不同,压缩虽然能够解决冗余问题,但是不同的文件有不同的冗余度,除了冗余之外,还有部分信息是重复出现的,这样的话有可能会导致缺失,所以不能就其冗余度做出定量论述。

三、 参考书《数据压缩导论(第4版)》Page 30

          3, 5, 7(a)

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=-4*(1/4)*log2(1/4)

                               =-log2(1/4)

                               =2(bit)

 

(b)一阶熵为:  H=-(1/2)*log2(1/2)+[-(1/4)*log2(1/4)]+[-2*(1/8)*log2(1/8)]

                      =1/2+1/2+3/4

                      =1.75(bit)

 

(c)一阶熵为:  H=-0.505*log20.505+[-2*(1/4)*log2(1/4)]+(-0.12*log20.12)

                      =0.5+1-0.12*log20.12

                      =1.74(bit)

 

 

5、考虑以下序列:

ATGCTTAACGTGCTTAACCTGAAGCTTCCGCTGAAGAACCTG

CTGAACCCGCTTAAGCTTAAGCTGAACCTTCTGAACCTGCTT

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

(b)根据这些熵,能否推断此序列具有什么样的结构?

解:(a)由题意得:   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)

                  =0.5+0.52+0.46+0.52

                  =2(bit)

(b)我们只算了一阶熵,无法判断此序列的结构。

7、做一个实验,看看一个模型能够多么准确地描述一个信源。

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

答:

#include<stdio.h>
#include <stdlib.h>
#include<time.h>
int main()
{
char a[100][100];
int R;
srand((int)time(NULL));
for(int i=1;i<=100;i++)
{
for(int j=1;j<=5;j++)
{

R=rand()%26;
a[i][j]=R+'b';
}
}

for( i=1;i<=100;i++)
{
for(int j=1;j<=4;j++)
{
printf("%c",a[i][j]);
}
printf(" ");
}

return 0;
}

 

 

                           

原文地址:https://www.cnblogs.com/555888jzr--/p/4765911.html