• 第一次作业


    第一次作业:

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

    我对数据压缩的理解是在这个大数据的时代,数据量实在是太大,信息在传输的过程中过于缓慢,因此我们需要对数据进行压缩。

    数据压缩我们要压缩的是信号空间,主要对象包括①物理空间②时间空间③电磁频段

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

    我个人理解的是进行压缩,可以减少存储空间,提高其传输、存储和处理效率。

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

    数据压缩的分类繁多,没有确定的。一般步骤如下

    原始数据→建模表达→模型参数→二次量化→熵编码→压缩码流

    按一般方法数据压缩分为可逆压缩和不可逆压缩

    1.4

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

        答:我在我的电脑上亲自体验了一下压缩文件,得出的结果是不同的文件受影响不一样,有一些文件压缩后大小没有变化,一些文件压缩后确实变小了。

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

        答:不能就其冗余度做出定量论述。对于摘自不同来源的文字,重复度不一样。有一些单词会重复出现多次。

     

     第二次作业:

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

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

    解:H= P(a1)㏒2P(a1)+P(a2)㏒2P(a2)+P(a3)㏒2P(a3)+P(a4)㏒2P(a4)

            = -4*1/4㏒2 (1/4)

             = 2  bits

           

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

      解:H= P(a1)㏒2P(a1)+P(a2)㏒2P(a2)+P(a3)㏒2P(a3)+P(a4)㏒2P(a4)

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

               = 1.7 bits

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

    解: H= P(a1)㏒2P(a1)+P(a2)㏒2P(a2)+P(a3)㏒2P(a3)+P(a4)㏒2P(a4)

                = -0.505㏒2 0.505-1/4㏒2 (1/4)-1/4㏒2 (1/4)-0.12㏒2 0.12

                           ≈ 1.3 bits 

           

       5、考虑以下序列:

                     ATGCTTAACGTGCTTAACCTGAAGCTTCCGCTGAAGAACCTG

                     CTGAACCCGCTTAAGCTTAAGCTGAACCTTCTGAACCTGCTT

            (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 bits

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

    解:由题意可知,共有四个字符集,由求出一阶熵,二阶熵,三阶熵的值,我们可以知道等概率时,熵最大。

            

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

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

    /*******************
    程序名:wang
    作者:王红英
    日期:2015年9月2日
    *********************/

    #include<stdio.h>
    #include<stdlib.h>

    int main()
    {
    int m,n;
    for(m=0;m<100;m++)
    {
    for(n=0;n<4;n++)
    {
    putchar(rand()%1?65+rand()%26:60+rand()%26);
    }
    putchar(' ');
    }
    return 0;

    }

  • 相关阅读:
    前端 整理的待学习技术点
    为Xamarin更好的开发而改写的库
    C#函数式编程之可选值
    C#函数式编程之序列
    C#函数式编程之标准高阶函数
    C#函数式编程之递归调用
    C#函数式编程之缓存技术
    C#函数式编程之惰性求值
    C#函数式编程之部分应用
    Xamarin.Android之动画
  • 原文地址:https://www.cnblogs.com/why17303-/p/4764955.html
Copyright © 2020-2023  润新知