• 第一次作业


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

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

      所谓信号空间即被压缩对象,是指:

      1.物理空间,如存储器、磁盘、磁带、光盘、USB闪存盘(U盘)等数据存储介质;

      2.时间区间,如传输给定消息集合所需要的时间;

      3.电磁频段,如为传输给定消息集合所要求的频谱、带宽等。

      也就是指某信号集合所占的空域、时域和频域空间。信号空间的这几种形式是相互关联的:存储空间的减少也意味着传输效率的提高与占用带宽的节省。这就是说,只要采用某种方法来减少某一信号空间,就能压缩数据。

      所以我觉得,我们要压缩的就是那些占用空间大的各类数据。

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

      信息时代带来了“信息爆炸”。数据压缩的作用及其社会效益、经济效益将越来越明显。反之,如果不进行数据压缩,则无论传输或存储都很难实用化。而数据压缩的好处就在于:

      ①较快的传输各种信源(降低信道占有费用)——时间域的压缩;

      ②在现有通信干线上开通更多的并行业务(如电视、传真、电话、可视图文等)——频率域的压缩;

      ③降低发射功率(这对于依靠电池供电的移动通信终端,如手机、PDA、WSN等尤为重要)——能量域的压缩;

      ④紧缩数据存储容量(降低存储费用)——空间域的压缩。

      数据进行压缩后,就可以减小存储空间,加快传输/下载的速度,大大提高了数据的使用效率。

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

      分为可逆压缩和不可逆压缩。

      可逆压缩也叫做无失真、无差错编码或无噪声编码,而不同专业的文献作者还采用了另外一些术语,如冗余度压缩、熵编码、数据紧缩、信息保持编码,等等。

      不可逆压缩就是有失真编码,信息论中称熵压缩。

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

    1.4

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

       一个3.35M的文件夹,压缩后变成了3.20M,压缩文件与原文件大小之比为0.955

      一个166KB的word文档,压缩后变成了133KB,压缩文件与原文件大小之比为0.801

      一个13.8MB的avi文件,压缩后变成了1.12MB,压缩文件与原文件大小之比为0.081

      然后我发现avi的压缩率最高,文件夹的较低

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

      不能,因为不同文件的内容不一样,它们的文本中的冗余度也不一样,所以对于摘自不同来源的文字,我们不能就其冗余度做出定量论述。

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

    3.给定符号集A={a1,a2,a3,a4},求以下条件下的一阶熵。

    (a)p(a1)=p(a2)=p(a3)=p(a4)=1/4

      一阶熵为0.5+0.5+0.5+0.5=2(bit)

    (b) p(a1)=1/2,p(a2)=1/4,p(a3)=p(a4)=1/8

      一阶熵为:0.5+0.5+0.375+0.375=1.75(bit)

    (c)p(a1)=0.505,p(a2)=1/4,p(a3)=1/8,p(a4)=0.12

       一阶熵约为:0.5+0.5+0.375+0.367≈1.742(bit)

    5.考虑以下序列:

             ATGCTTAACGTGCTTAACCTGAAGCTTCCGCTGAAGAACCTG

             CTGAACCCGCTTAAGCTGAACCTTCTGAAGCTTAACCTGCTT

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

      共有84个字母,其中21个A,24个C,16个G,23个T

      p(A)=1/4, p(C)=2/7, p(G)=4/21, p(T)=23/84

      一阶熵为:0.5+0.52+0.46+0.51≈1.99(bit)

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

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

    #include <stdio.h>
    #include<stdlib.h>
    #include <windows.h>
     
    int main() 
    {
     int m,n;
     for(m=0;m<100;m++)
     {
        for(n=0;n<4;n++) 
        { 
            putchar(rand()%2?65+rand()%26:97+rand()%26);
        }
        Sleep(200);
        putchar(' ');
    }    
         return 0;
    }

  • 相关阅读:
    Codeforces Gym 101142C:CodeCoder vs TopForces(搜索)
    L2-011. 玩转二叉树
    zoj 2976 Light Bulbs(暴力枚举)
    ZOJ 2975 Kinds of Fuwas(暴力+排列组合)
    ZOJ-2972-Hurdles of 110m(线性dp)
    ZOJ 2971 Give Me the Number (模拟,字符数组的清空+map)
    zoj 2966 Build The Electric System(最小生成树)
    ZOJ 2965 Accurately Say "CocaCola"!(预处理)
    HDU 3452 Bonsai(树形dp)
    zoj 3212 K-Nice(构造)
  • 原文地址:https://www.cnblogs.com/xuyukun/p/4759929.html
Copyright © 2020-2023  润新知