加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

最近在图书馆借了很多书,拜很多大牛

(2011-06-10 17:50:25)
标签:

杂谈

    清华图书馆是最有feel的地方,每次来到这里,我都感觉自己是个虔诚的学徒,在排山倒海的知识面前毕恭毕敬,不敢亵渎。

    最近借的再看的图书包括

    Database System Implementation

    Introduction to Data Compression

    Information and Coding Theroy

    The theory of Information and coding

    Information theory with applications

    越看越不敢发论文,每每都已经有先知占坑了,今天看到一个例子,我感觉很好写下来。

    例如有这样的一个数列(可能有人认为不可能出现这么好的数列去压缩,但我想懂行的人应该知道什么情况下会出现这种情况)

    1 2 1 2 3 3 3 3 1 2 3 3 3 3 1 2 3 3 1 2

    如果单纯去压缩,那么这里面有3个数字,1,2,3,其概率分别为P(1)=P(2)=1/4,P(3)=1/2

    按照shannon公式,那么这个序列每个符号需要1.5bit,全部数列需要30bit。

    但是如果我们将(1 2)看做一个symbol,(3 3)看做一个symbol,则每个符号需要1bit(信息熵)。全部数列需要10bit(注意(1,2),(3,3)看做一个symbole,因此一共有10个symbole,而不是20个symbol)。

   

    从30到10,这个压缩是惊人的,什么是冗余,我总结下来有这么三点

    (1)可以通过计算来得到,而不需要存储下来的。如果计算足够快,而存储足够大的话。

    (2)为不确定性而增加的冗余,例如一个int 32位,因为我们不知道这个数将来是否会增加,因此需要有更多的bit来保持对这种不确定性的支持。

    (3)重复而得到的冗余,例如图像,例如上面举的例子

   

     也许以后有新的认识,先写到这里。

 

  

 

   

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有