龙空技术网

信息论之父香农,20世纪伟大的科学家,一个理论改变了一个时代

路平说 70964

前言:

此时我们对“香农编码c语言”可能比较关心,各位老铁们都需要学习一些“香农编码c语言”的相关文章。那么小编在网上搜集了一些关于“香农编码c语言””的相关文章,希望朋友们能喜欢,我们一起来了解一下吧!

信息论的奠基之作

1687年7月5日,牛顿的《自然哲学的数学原理》首次出版发行,引爆了整个学术圈,从此奠定了他的江湖地位,而这本书也奠定了现代科学的范式。

1948年,香农发表了一篇英文名为《A Mathematical Theory of Communication》的论文,翻译过来就是《通信的一个数学原理》,这篇论文引起了巨大的轰动。要知道一篇专业的学术论文被引用1000次已经是非常了不起了,而香农的这篇文章至今已经达到了110536次,可见其在学术圈的江湖地位。

几年后,这篇论文要成书发行,已经更名为《The Mathematical Theory of Communication》,翻译过来就是《通信的数学原理》。这就意味着它已经被认为是信息论的奠基之作,这就好比《自然哲学的数学原理》在物理学界的起到的作用,而香农之于信息论,就像牛顿之于物理学。那这个香农是何许人?

今天,我们就来聊一聊:香农和他的《通信的数学原理》。

震惊世界

克劳德·艾尔伍德·香农1916年出生于美国密西根州的盖洛德镇。当时正值电气时代蓬勃发展,电报十分发达,不过电话还尚未普及,电话的价格还相对比较昂贵。于是,很多人把牧场的刺铁丝网彼此相连,并自己安装电话送话器,在很小的范围内实现了通话。

香农就是在这样的氛围下长大的,他从小就喜欢发明和玩耍,尤其爱摆弄一些机械装置,他尤其钟爱摩尔编码,常常利用编码发送讯息。后来,16岁的他进入了密歇根大学就读电气工程和数学。1936年,20岁的香农辗转来到麻省理工学院作为研究助理,跟随当时的工程院院长万内瓦尔·布什。

那个时候,香农主要做的是操作一台数百吨重的机器,这台机器叫做:微分分析机。

在每天繁复的工作中,香农发现:

机器中开关的切换,本质上并不是在传输电流,而是在传输状态。

或者说,也可以理解成是在传输一个事实,或者一个信息。

具体来说是这样的,当时微分分析机的控制器一共有两种开关,一种是普通的开关,另外一种是特殊的开关叫做继电器。这是一个由电直接控制的开关。那这个继电器有什么用呢?

香农发现继电器从一个电路向下一个电路传递的,并不是真的电,而是一个事实,也就是电路是闭合还是断开的事实。

于是,他就开始思考是不是任何电路都可以通过一套表达式来表示。在他的表达式里只需要2个数:0和1。

0代表断开电路,而1代表闭合电路。

然后,他开始推演,从最简单的开始,先对带有两个开关的电路进行分析,如果是串联电路就能对应:逻辑连接词“与”,如果是并联就能对应:逻辑连接词“或,当然,他还推演出很多更复杂的情况,比如:“如果....那么....”以及“星形”和“网状”网络。

除此之外,他设计了一个基于二进制的逻辑电路,仅仅依靠继电器和开关就可以实现两数的求和。于是,他发表了他的硕士论文《A Symbolic Analysis of Relay and Switching Circuits》。可以说是一战成名,这篇文其实就是未来计算机革命的核心。它被誉为20世纪最重要的论文之一。

之所以香农可以这么做,其实是基于两点:模块化和等价性,这后来也成为了现代计算机设计的两大核心思想。

模块化其实我们可以理解成把复杂问题简单化的过程,香农发现任何一个复杂问题都可以无限拆分下去。比如:要实现一个微积分运算,我们可以把这个复杂的计算拆解成若干个加、减、乘、除,再变成更加单的逻辑运算。

其次,模块化的前提是等价性。我们可以这么理解:

即使再复杂的计算机都共用一套逻辑运算。也就是说任意一台计算机都可以等价于很多的加减乘除运算,等价于很多逻辑运算。

这里再补充一下,可能很多人都不太明白为什么二进制就可以实现这些操作,这实际上和摩斯电码是一个道理的。

我们常常看到电影里有人在敲一个机器,用“·”和“-”来表示信息,很远处的人就知道了具体的意思。这是因为他们有一张对照表,通过这张表比对一下就知道了对方都说了些什么。

我们其实还可以想象一下古代的烽火台。古代的传递敌军来了,靠的不是嘶吼,而是烽火。“敌军来了”=“烽火”,这实现了一次编码的过程。

二进制也是同样的道理,只是这里把烽火换成了二级制而已,然后通过汇编语言实现编码。

信息论之父

我们说回到香农,二进制的逻辑电路其实已经足够让香农彪炳史册的了,不过他们并没有放下继续科学研究的念头。随后,他把他的研究运用到了遗传学上,撰写了一篇《理论遗传学的代数》,只可惜他后来并没有发表这篇论文。

博士毕业之后,香农来到了大名鼎鼎的普林斯顿高等研究院,成为了一名研究员。在这里的科学家在科学史上都是大神,比如:爱因斯坦和冯诺依曼。

在与众多的伟大科学家交流过程中,香农对于构建一套信息论的想法逐渐成形。

可能你要问为什么要构建一套信息论?这要从文字说起,在文字出现之前,我们用事实累计经验来描述生活,比如:老虎来了,那就赶紧跑。

而后来,文字出现之后,我们可以用文字记述。可问题就来了,文字是需要被思考和推敲的,越来越多人在文字中找到了悖论,比如:白马非马。

随后,科学家开始动用数和几何学,把大自然进行量化。而这方面的先驱就是牛顿。

他认为构建一套理论体系,首先要对研究对象进行定义和量化。在他之前“力”“质量”“运动”甚至是“时间”都是意义模糊的。而牛顿改变了这一切,他把研究对象都进行了精确地定义和量化,这当中使用的正是数学语言,即数和几何学。

如果你有机会去翻《自然哲学的数学原理》,你就会发现牛顿并不是一开始就上来讲牛顿三大定律,而是前20多页都在下定义。

所以,牛顿的伟大之处不仅在于他的三大定律和万有引力定律,而在于他奠定了现代科学的研究范式。麦克斯韦把数学引入了电磁学,终成电磁学的集大成者。而爱因斯坦则上打破了牛顿体系,利用黎曼几何构建了广义相对论。而他们做的都只是在物理层面。

我们都知道世界是由物质、能量、信息构成的。牛顿为首的物理学家们搞定了物质和能量的科学化,信息理论却迟迟无法科学化。

而打破僵局的人正是香农。他对信息做出了严格的定义,并且他也提出了信息论的三大定律,后人称之为香农定律。

那香农定律到底说了些什么呢?

信息本质是不确定性?

其实对信息进行量化,或者说要衡量一个信息的信息量大小其实还是挺难想象的。每回我读到香农定律的时候,我都会有一种匪夷所思的感觉。因为香农的洞见太过反常识,又太符合20世界科学发展的基调了。他认为

一个东西的信息量大小在于它克服了多少不确定性。

这句话如何理解呢?

为了帮助你理解,我来举一个生活中很常见的例子。我们当中大多数的人生活都极其规律,就比如说:我。每天就两点一线,准时上班,准时下班,要么在公司,要么在家。即使我不告诉你,我在哪里。你也能够大概猜到,反正就是二选一。所以,我告诉你的信息其实意义不大,因为我的位置信息对你而言不确定性很小。

可是如果有个人天天在全世界各处出差,他的位置信息对你来说就是一种不确定性,那这个信息量就很大。

可能你还不太能够理解,我们再来举两个例子:

很多人都爱看电影,尤其最近特别火爆的复仇者联盟4,为此很多人凌晨0点就去看第一场,这是为什么呢?

从第二天的走势上看,如果你没第一时间跑去电影院看,那你一定会被剧透。所以,你可以思考一下这个过程,其实复仇者联盟4的剧情对你来说是不确定性很高。而当你被剧透了之后,你已经知道了剧情的走势,这个不确定性降低了,这时候还是复仇者联盟4这部电影,其实你就不会那么着急去看了。

这也和近些年很多人喜欢看无限反转的剧是一个道理,因为之前有很多剧你看了开头就能猜到结尾,它的不确定性就很低,而无限反转的剧,每次都能够给你惊喜,信息量就很大。

所以,香农认为,

一个东西的信息量大小在于它克服了多少不确定性。

不过话说回来,我们常常感叹:信息量好大。其实会有信息量很大的感觉是因为你看到的信息对你来说不确定性很大的,所以你会有如此的感觉。如果全篇都是1+1=2这类的计算式,你可能压根不会觉得信息量有多大。

刚才,我们也说到,要提出一套信息论,其实就需要把信息和数学结合到一起。所以,为了量化信息,他提出了两个概念:信息熵和比特。

信息熵其实是借用了物理学里“熵”的概念,“熵”在物理学里主要是指一个系统的混乱程度。而我们之前也说过信息量的大小取决于不确定性,是不是和混乱程度很像呀?所以,香农相当于借用了“熵”的概念。而信息熵其实描述就是:

一条消息中出现的所有的字符,把它们进行加权平均。

公式如下,其实只是初中水平的计算,了解一下即可。

而它的单位是:比特。

所以,如果一定要用一句话概括信息熵:

可供选择的范围越广,选择的信息了越大。

这其实就是香农第一定律。

克服噪声的办法:增加冗余

当然,香农的洞见还不止“信息熵”这一个,他提出了一个通信模型。

在这个模型中,噪声是无法被我们忽略的存在。为了解决远距离通信中信息失效的问题,工程师只能一次次放大信号,但这只会导致噪声的逐渐积累,但噪声始终不能消除。

香农想到了一个降噪的办法:增加额外的字词。

想要通俗地了解这个概念,还要从非洲的鼓手们说起,科学家发现非洲南部的人常常用鼓来传递信息,甚至会用鼓来说话,比如:一个女婴降生了,这个通知翻译过来是这样的:

接生的衬垫已经卷起,我们感到浑身充满力量,一个女人从森林里来,来到这个开放的村庄,这次就说到这里把。

你可能会很纳闷,为什么要这样?其实他们之所以增加这么多没有用的字词,就是为了把意思表达的更清楚。这是因为鼓声在传递过程可能会被噪音所干扰,或者有些声音对应的字词十分接近,不好区分。而如果加上额外的字词,就能够锁定要表达的意思。

而香农认为,如果要发送一个确定的信息,或者说不让信息在传输过程中失效,就可以用类似方法,通过增加额外的字词,也可以叫做增加冗余度,来实现降噪。

这其实就是香农第三定律。

香农在山上等你

“带宽”其实是我们现在经常说起的一个词,我们都知道带宽越大越好,那带宽可以无限增大么?要理解问题,我们要先知道带宽到底是什么意思?我们都知道信号是一个波形,不是一条直线,所以它就要占据一个有宽度的通道。这个占据的宽度就是带宽。也就是说:

无线电波的频率的范围决定了总的带宽。

要知道频率越高,所承载的的信息量就越大,这样其实速度就会越快。

但是如果一个地区同时在用网络的人很多,每个人能够分配到的带宽(频率的范围)就是有限的,如果超过了这个上限,传输就会出现错误。所以,上网的速度是有上限的,无论如何调试都无法突破香农给的这个极限。

看到这里,你可能已经有点看不懂了,没事,我们再来举个生活中的例子。这20多年来互联网发生了质的飞跃。最早我们使用的是拨号上网,如果用过的人会发现,这个速度慢得可怕,通常打开超过两个网页就不行了。这是因为当时的带宽不能超过56K,只要稍微快一点就会发生错误。后来,我们又能宽带,但是你要用宽带看高清电影也是想多了。再后来,我们有了光纤,于是,可以看高清电影了。

但是香农告诉我们,

只要传输的速度率达到或者超过带宽,无论你用什么办法,信息的传输错误一定是100%

这其实就是香农第二定律,信息论其实很有趣的一点就是别的科学理论都是发明了一个起点,而香农发明的是一个重点。就好比他在山上等你,你一直都在努力地去触达山顶,这个山顶就被我们称为香农极限。

香农给我们的启示

香农三大定律其实后来被运用到了各行各业当中。

实际上香农三大定律远比我讲述的要复杂的多,只是为了让大家能看懂,我做了相当多的简化和比喻。但是我们应该知道的是它已经不仅仅是一个理论,更重要的是它是一种思想。如果不是从业者,其实也能够从香农定律中获得一些难能可贵的思想。

香农第一定律告诉我们,意外才是信息。

香农第二定律告诉我们,带宽决定传输速率。

香农第三定律告诉我们,想把话说清楚,可以多加一点冗余度。

我们当然可以去演绎这三条的定律,就拿香农第二定律来说,带宽就好比生意上的人脉,人脉决定了生意的规模。比如:阿里,滴滴可以通过互联网触达全世界的带宽,这样阿里一定会比任何一家生产企业带宽更大,滴滴一定会比任何一个出租车司机带宽更大,所以它们的企业规模也会远胜于后者。

致敬香农

以上就是香农在信息论上的成就,实际上香农他是一个全能科学家,他对于信息论的洞见其实来源于他在二战时对于密码学的研究。除此之外,他还和爱德华·索普一起发明了第一个佩戴式计算机。平日里,他爱好杂耍、骑独轮脚踏车和下棋。

晚年的香农因为得了老年痴呆,备受煎熬。2001年2月24日,这位伟大的科学家离世。由于他的研究领域的原因,他并没有拿到诺贝尔奖。但是这丝毫不影响他的伟大。他对人类文明的贡献是不可估量的。时至今日,我们依然受益于信息时代带给我们的好处。相信数百年后,每当人类追忆起这个时代,香农定是这个时代少数能够名垂青史的科学家。

今年是香农诞辰103周年,让我们一起缅怀这位为人类文明做出伟大贡献的科学家。

标签: #香农编码c语言