zoukankan      html  css  js  c++  java
  • 第一次作业续

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

    答:

    1. 视频文件的大小一般是和质量有关的,常见的有帧率码率等数据就是描述视频质量的一般来说,rmvb格式的相对较小,但是质量有一定损失

          2.  并不是全部文件压缩率都大的,以图片来说BMP格式的图片用Winrar压缩可以达到非常大的压缩率。如果你是压缩MP3,rm,jpg等本身就已经是高度压缩的文件类型的话那就不会压缩多少的,
    jpg格式的图片因为其本身就已经是一种压缩率很大的图片格式,所以就算用Winrar来压缩也不会缩小多。更甚至有的本来就压缩的很固实的rar格式文件,如果再用Winrar来压缩还可能出现体积增大的情况。

     

        从一本通俗杂志中摘录几段文字,并删除所有不会影响理解的文字,实现压缩。例如,在“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

    (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 

    解:(a):由于P(a1)=P(a2)=P(a3)=P(a4)=1/4,所以

    H=-4*1/4*log21/4

          =- log21/4

          = log24=2(bit)

     

    (b)H= -(1/2*log21/2+1/4*log21/4+1/8*log21/8+1/8*log21/8)

            =-1/2*log21/2-1/4*log21/4-1/8*log21/8-1/8*log21/8)

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

           =1.75

     (c)H=-(0.505*log20.505+1/4*log21/4+1/8*log21/8+0.12*log20.12)

    =-0.505*log20.505-1/4*log21/4-1/8*log21/8-0.12*log20.12

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

     

    4、考虑以下序列:

    ATGCTTAACGTGCTTAACCTGAAGCTTCCGCTGAAGAACCTG

    CTGAACCCGCTTAAGCTTAAGCTGAACCTTCTGAACCTGCTT

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

    三阶和四阶熵。

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

     解:(a)总的有84个字母,A出现的次数为21次,C出现的次数为24,G出现的次数为16次,T出现的次数为23次,那么

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

    P(T)=23/84

    H=-(1/4*log21/4+2/7*log22/7+4/21*log24/21+23/84*log223/84)

     =-1/4*log21/4-2/7*log22/7-4/21*log24/21-23/84*log223/84

     =2(bit)

    (b)、
     答:由这些熵可以推断此序列具有的结构是:

     (1)序列的阶数越大,熵值就会越大,相应的平均自信息信息就低;

     (2)序列的阶数越小,熵值就会越小,相应的平均自信息信息就高。

    所以要想多了解序列的信息,就需要把序列少分一点,求它的低阶熵

      7、做一个实验,看看一个模型能够多么准确地描述一个信源。
      (a)、编写一段程序,从包括26个字母的符号集{a,b,...,z}中随机选择字母,组成100个四字母单词,这些单词中有多少是有意义的?

    答:源程序为:

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
    int p,i,j;
    char m[100][100];
    for(i=0;i<100;i++)
    {
    for(j=0;j<4;j++)
    {
    p=rand()%26;
    m[i][j]=p+'a';
    }
    m[i][4]='';
    printf("%d: %s ",i+1,m[i]);
    }
    return 0;
    }

     
     
  • 相关阅读:
    D11 列表 list 元祖 字典dict
    D10 基本数据类型(各种职业的技能分析) 主要为 int 和 str
    Python D9 学习
    面向对象方法传参实现数组求和,求平均值
    用带参数的方法给空数组放元素,寻找数组里面的值是否存在。
    两种方法把类和对象写在同一个文件内
    创建一个管理员对象,输入正确用户名和密码,可以修改密码(类和对象分为两个文件,区别于放在一个文件内)
    创建一个游客对象,输入信息判断游客年龄是否免费游览
    建立一个学生对象,输出学生信息
    把输入的数字转为数组,拿出其中的最小值
  • 原文地址:https://www.cnblogs.com/nieguilin/p/4777992.html
Copyright © 2011-2022 走看看