1-1 数据压缩,我们要压缩什么?
压缩数据量特别庞大的数字化的多媒体信息,方便我们使用,不对其进行有效的压缩就难以得到实际的应用。
1-2 为什么要进行数据压缩?
我们使用的文本、数据、声音,图像以及视频经过数字化后数据非常量很大,如果不进行处理,计算机系统几乎不对他进行换取和交换,我们可能使用不了它们。还有去除数据中的冗余度。
1-6 数据压缩技术的分类
有可逆压缩和不可逆压缩。
1.4.1. 用你的计算机上的压缩工具来压缩不同文件。研究原文件的大小和类型对于压缩文件与原文件大小之比的影响。
文件的大小方面比较明显,文件越大的压缩比较慢,小的、一般的都很快。大小方面的话,越大越压缩的慢,文件夹和图片比较的时,图片压缩时时间比文件夹的时间要长。估计视频的压缩时间比文件夹和图片更长。
1.4.2 从一本通俗杂志中摘录几段文字,并删除所有不会影响理解的文字,实现压缩。例如,在“This is the dog that belongs to my friend”中,删除is、the、that和to之后,仍然能传递相同的意思。用被删除的单词数与原文本的总单词数之比来衡量文本中的冗余度。用一本技术期刊中的文字来重复这一试验。对于摘自不同来源的文字,我们能否就其冗余度做出定量论述?
用被删除的单词数与原文本的总单词数之比来衡量文本中的冗余度的话,冗余度变小了。对于用一本技术期刊中的文字来重复这一试验。对于摘自不同来源的文字,我们不能就其冗余度做出定量论述。案例分析表明,该冗余度指标合理、有效,能够准确反映传递的信息的准确度的冗余度变化,在同一本技术期刊中,某一句他表达的意思是确定的,摘自定量不同来源的文字时,表达的意思可能会不一样的。
P30.
3.求一阶熵,集合为A={a1,a2,a3,a4},
a. P(a1)=P(a2)=P(a3)=P(a4)=1/4,
H= -4*1/4 log2 (1/4) = 2bits;
b. P=1/2,P(a2)=1/4,P(a3)=P(a4)=1/8,
H = -1/2* log2 (1/2)- 1/4*log2(1/4)- 2*1/8 log2 (1/8) = 1.75bits;
c. P(a1)=0.505,P(a2)=1/4,P(a3)=1/8,P(a4)=0.12,
H = -0.505* log2(0.505) - (1/4)*log2(1/4) - (1/8)*log2(1/8) - 0.12 *log2 (0.12) = 1.74bits.
5。有序列
ATGCTTAACGTGTTAACCTGAAGCTTCCGCTGAAGAACCTG
CTGAACCCGCTTAAGCTGAACCTTCTGAAGCTTAACCTGCTT
(a) ,根据此序列估计各概率值,求一阶熵,
P(A)=21/84=1/4,P(T)=23/84,P(G)=4/21,P(C)=2/7.
求一阶熵为:H=1/4*log2(1/4)-23/84*log2(23/84)-4/21*log2(4/21)-2/7*log2(2/7)
(b)根据一阶熵值推断出序列的结构是熵值比较的大,因为各个字母的概率相差不大。根据课堂所学,应该能由二阶熵三阶熵四阶熵估计它们的熵值比一阶熵要小。
7.
(a)
#include<iostream> using namespace std; #include<cstdlib> #include<ctime> #include<iomanip> int main() { int w,m,n; char Word[100][100]; srand(time(NULL)); for(m=0;m<100;m++) { for(n=0;n<4;n++) { w=rand()%26; Word[m][n]=w+'a'; } Word[m][4]=' '; cout<<m+1<<" "<<Word[m]<<" "; } cout<<" "; return 0; }
调试得到的图片结果为
每次调试得到的四字英语单词是随机的,该图中有意义的单词,我找到了一个loot。