第一次作业

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

以最少的数码来表示信源所发出的的信号,减少容纳给定信息集合或数据采样集合的信号空间。物理空间,时间区间,电磁频段都可能成为数据压缩的对象。

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

数据在压缩后,能够缩减数据量以减少存储空间,提高其传输、存储和处理效率。

1-6:数据压缩技术是如何进行分类的?

数据压缩,就是用最少的数码来表示信号,分为可逆压缩和不可逆压缩。

1:可逆压缩(无失真、无差错编码、无噪声编码)--冗余度压缩编码。

2:不可逆压缩--熵压缩

对它们的认识是:数据有冗余度就可以压缩;压缩只可能在一定限度内可逆;超过一定的限度,压缩就会失真;允许的失真越大、压缩的限度就可以越大。

参考书  1-4

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

文件类型不同,压缩前的文件大小与压缩后的文件大小只比也就不同,有的文件压缩后变化很小不是甚至几乎不会变化,有的文件压缩后文件会变小很多。同类型不同大小的文件的压缩也有区别,一般越大的数据压缩程度稍微更大。这也许就是不同的文件类型有的能够有损压缩,而有的却只能无损压缩。

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

冗余度它表征源信息率的多于程度,是描述信源客观统计特性的一个物理量。也可以说是从多余的一个量,它不影响数据的完整,也正是因为这一个多余量的存在,才能对其信源进行压缩,压缩后不会影响传递信息。信源=信息+冗余度。在这里不能对摘自不同来源的文字的冗余度做定量论述,因为对于不同的信息来说,重复度是不一样的。

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/8 , P(a4)=0.12 

H=-ЕP(ai)logP(Ai)

=-( P(a1)log2P(a1)+P(a2)log2P(a2)+P(a3)log2P(a3)+P(a4)log2P(a4) )

= -1/4log2 (1/4)-1/4log2 (1/4)-1/4log2 (1/4)-1/4log2 (1/4)

= 2 (bits)

H=-ЕP(ai)logP(Ai)

= -( P(a1)log2P(a1)+P(a2)log2P(a2)+P(a3)log2P(a3)+P(a4)log2P(a4) )

= -1/2log2(1/2)-1/4log2(1/4)-1/8log2(1/8)-1/8log2(1/8)

= 1/2+1/2+3/8+3/8

= 7/4

=1.75(bits)

H=-ЕP(ai)logP(Ai)

= -( P(a1)log2P(a1)+P(a2)log2P(a2)+P(a3)log2P(a3)+P(a4)log2P(a4) )

= -0.505log20.505-1/4log2(1/4)-1/8log2(1/8)-0.12log20.12

= -0.505log20.505+1/2+3/8-0.12log20.12

=1.74(bits)

5、考虑以下序列:

ATGCTTAACGTGCTTAACCTGAAGCTTCCGCTGAAGAACCTG

CTGAACCCGCTTAAGCTTAAGCTGAACCTTCTGAACCTGCTT

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

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

(a)由题意得:

P(A)=21/84=1/4 、P(G)=16/84=4/21 、P(C)=24/84=2/7、P(T)=23/84

H=-ЕP(ai)logP(Ai)

= -( P(A)log2P(A)+P(C)log2P(C)+P(G)log2P(G)+P(T)log2P(T) )

 -1/4log2(1/4)-2/7log2(2/7)-4/21log2(4/21)-23/84log2(23/84)

=1/2+ 0.52+0.46+0.52

=2(bits)

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

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

#include<iostream>
using namespace std;
#include<cstdlib>
#include<ctime>
#include<iomanip>
int main()
{
int r,i,j;
char z[100][100];
srand(time(NULL));
cout<<setfill('0');
for(i=0;i<100;i++)
{
for(j=0;j<4;j++)
{
r=rand()%26;
z[i][j]=r+'a';
}
z[i][4]='';
cout<<setw(3)<<i+1<<" "<<z[i]<<"
";
}
return 0;
}

调试结果、

发现其中只有3个单词是有意义的:

hips (臀部)

ions (离子)

ncee(高考)

原文地址:https://www.cnblogs.com/iyuyong/p/4759917.html