推荐设计师、程序员都了解下熵,各领域适应~
目录
一、熵的起源
二、你的运气值多少钱?
三、信息熵,信息的无序性
四、如何降熵?
五、女神的心思不难猜
六、一切皆熵的世界观
正文共:6529 字 60 图预计阅读时间:17 分钟
一
熵的起源
历史上人们曾经热衷于研制各种类型的永动机,其中包括达芬奇、焦耳这样的学术大师。
但是事实上无论永动机设计得如何精巧,也无法永远动下去。目前,致力于永动机设计的除了希望打破现有科学体系的“民间科学家”外,更多的则是一些借永动机之名牟取钱财的骗子。
永动机无法永动的主要原因就和“熵”有关。人们发现,系统能量的转化是不能百分百的,例如重力势能不能百分百转化成动能,过程中还会遇到一些摩擦等因素,转化成热能丧失掉。损失的这些能量就叫做熵,可以用热能的变化量dQ除以温度T所得的商来表示,所以“熵”也是“商”:
英文里的熵“entropy”,是希腊语“变化”的意思,中文的“熵”是一个生造字,胡刚教授翻译时灵机一动,把“商”字加火旁来意译这个字。
热力学第二定律中关于熵表达为:在孤立系统内,任何变化不可能导致熵的总量减少。翻译成人话就是,人们无法解决能量无意义地散失。这种表述,听起来很绝对。但随后伟大的科学家玻尔兹曼,提出了著名的玻尔兹曼公式,指明了其中的奥妙:
S是宏观系统熵值,是分子运动或排列混乱程度的衡量尺度,k为玻尔兹曼常量。W是可能的微观态数。W越大,系统就越混乱无序。由此看出熵的微观意义:熵是系统内分子热运动无序性的一种量度。
例如,一个容器内上面是蓝色墨水,下面是红色的墨水,最开始两种墨水泾渭分明,但随着时间的推移分子相互扩散,最终混合均匀。如果要把两者再次分开,就要通另想办法。
用牛顿力学来解释物体内每一个分子的运动实际上是不可能的,玻尔兹曼运用统计的观念,只考察分子运动排列的概率,来对应到相关物理量的研究,对近代物理发展非常重要。由于观点新颖,一开始不为许多著名学者接受,玻尔兹曼为之付出了巨大代价,成为他个人悲剧(自杀)的重要原因。为了铭记他的贡献,玻尔兹曼公式刻在了他的墓碑上。
万物随着时间的发展,最终会从有序走向无序。宇宙也是如此,正像懒人的房间,若没有人替他收拾打扫,房间只会杂乱下去,绝对不会自然变得整齐。
宇宙最初的能量来自于大爆炸,随着时间的推移,整个宇宙的熵会一直增加,宇宙各处的温度会逐渐趋向于平衡,最终宇宙的其他有效能量全部转化为热能,从而达到热寂状态。也就是说到最后,所有恒星都将变成黑洞,当黑洞蒸发殆尽之时,就是宇宙的末日。
或许正是因为熵蕴含着如此终极的秘密,1948年,香农将熵的概念延伸到了信息领域。在虚拟的信息世界,熵依旧成立。熵成为衡量信息的重要方式,我们称之为信息熵。
02
你的运气值多少钱?
假设你去参加一个智商挑战节目《幸运大脑》,只要挑战成功能中百万大奖。
录制节目时,主持人给你一盒打乱小球,小球上分别标了“S、斯、卡、联、险、森、败、尔、纳、纽、阿、V”,如果你能破解出这盒小球的里的信息,就能中百万大奖:
虽然兴奋不已,但你肯定会一脸懵逼,甚至骂道:“这熵大得一脸懵逼”。因为字与字之间需要符合特定组合方式才能看得懂。
把无序的球排列成有序的球。最坏情况,你可能要尝试479001600次,才能破解其中的含义。
但是幸运的是,节目组提供了两个道具:
- 现场提示:提供提示信息,但是奖金将从100万变为3万;
- 神秘电话:神秘人告诉你最终答案,但是没有奖金;
因为时间紧迫,你选择了第一个道具“现场提示”。
主持人给你展示出了,你一张英超的球队的列表,如下图:
这时聪明的或许一眼看出,“阿森纳”“纽卡斯尔联”是两个球队,那这段文章很可能描述的是一场比赛。这样就把12个字组合的问题,变成化成了“阿森纳”、“纽卡斯尔联”、"VS"、“险败”的4个词的组合。
那问题来了!阿森纳和纽卡斯尔联,到底是谁胜了?
你还是没把握知道确切结果,好奇的你又用了第二个道具——“神秘电话”。
电话里面的人透露:“阿森纳VS纽卡斯尔联险败”。
这时,问题答案已经毫无悬念。所以,节目组不给你奖金了。
但你并不是没有机会发财了。因为,“阿森纳VS纽卡斯尔联”比赛要明天才开始。你完全可以打个飞的去中国澳门买明天比赛的体育彩票。因为常理上,在比赛开始之前是不可能知道谁胜谁负的。这条信息非常宝贵,你肯定也不希望别人知道。
但比赛结束后,大家都知道了结果,这条信息就分文不值了,也不会有人拿这条信息来打赌。
赌徒用信息的稀缺性来衡量信息的价值。这和信息论的基本想法是一致的:“稀缺的小概率事件能提供更多信息”。再如,“今天太阳都照常升起”和“今天出现日食”相比,显然日食的信息量会更大。因此,我们通过这个想法来量化信息,特别是:
- 较不可能发生的事件具有更高价值的信息量,如,比赛开始前是不可能知道比赛结果,但是你知道了;
- 非常可能发生的事件信息量要比较少,并且确保能够发生的事件应该没有信息量,如,比赛结束后没人会去打赌,因为已经发生了;
为了满足上面上个性质,我们定义一个事件x的自信息(self-information)为:
I(x)会随着概率的变大而递减,当这件事情绝对发生的时候,概率就等于1,自信息就等于0。如下图:
log的底数a取2(也有取其他值的情况,本文不做讨论),为单位“比特”Bit(在计算机中一个比特就是一个二进制数)。我们可以估算出这个信息至少需要多少Bit来保存,所以也称之为信息量。
一串混乱的文本中要得出“阿森纳VS纽卡斯尔联险败”这条信息的概率是 P(“阿森纳VS纽卡斯尔联险败”) = 1/479001600。
因此 我们可以计算出的信息量 I(“阿森纳VS纽卡斯尔联险败”) = 28.84bit
同理,引入“英超球队表”后,信息的范围返回进一步缩小,要么是阿森纳胜,要么纽卡斯尔联胜。所以概率 P(“阿森纳VS纽卡斯尔联险败”) =1/2,I(“阿森纳VS纽卡斯尔联险败”)= -log(1/2) =1bit。
也同理,当神秘人电话告诉你确切答案的时候,信息只有1种,P(“阿森纳VS纽卡斯尔联险败” ) =1, I(“阿森纳VS纽卡斯尔联险败”) = -log1 =0bit
从28.84,到1,再到0。自信息量直接与系统复杂程度正相关。这也说明系统越混乱找出有价值信息难度就越大。这样看来主办方设置奖金方式也是有道理的。
那么我们如何评估一个系统混乱程度呢?这时就可以用我们的信息熵的概念了。
03
信息熵,信息的无序性
“信息熵”表示信息的随机性和不确定性。这个和物理世界是一致的。从统计的角度看,信息熵是系统的自信息期望值,单位也是bit。信息熵的公式:
所以,三个系统对应的信息熵计算如下:
为何信息熵和自信息的数值是一样的?因为“自信息”是个体的水平,“熵”是系统中个体的平均水平。在这个案例中,事件的概率都是平均分布的,自信息也都是相等的,所以相等。
概率平均的情况也是熵最大情况,我们可以通过物理方式来直观理解,熵越大,分子就扩散得越平均。如图:
最大熵是一种思维模型,当你要猜一个概率分布时,如果你对所有情况的概率分布一无所知,那就猜这些概率是平均的,这样不容易有偏差。如你新知道一些情况,再利用新的已知条件重新切分概率,未知的部分依然猜测是均匀分布的。
例如,对于一个骰子,我们会天然的估计会每个面概率是1/6,熵为2.58bit。但如果告诉你“这是一个被灌铅的骰子,点数六的概率是1/2”,那么我们就猜剩下5个点数平分了另外的1/2的,所以剩下5点数分别是1/10,熵为2.16bit。如果你又获得了更多信息,你可以重新切分概率。随着认知迭代,不断的重新切分概率,熵值就会越来越低。
正如古人所说,“知之为知之,不知为不知”。我们可以通过我们已知的事实作出推断。但如遇到不了解的情况,我们需要保持中庸心态。但是同时也要保持开放心态,无知不可怕,可怕的是不懂迭代认知。
04
如何降熵
如果要降低熵,消除不确定性,那就必须要引入新的有序的信息,这是消除系统不确定的唯一办法。如上面将的抽奖的案例就是通过不断引入新的信息来把熵降为零的过程。
如图,系统1引入了“英超球队表”熵由28.84bit变成了1,神秘人给了明确答案以后,熵由1bit变成了0bit。这两个过程的熵是不断减少的,减少熵的值我们称为熵的增益,也称为互信息。互信息用 I( X;Y )表示,X表示的是事件,Y表示引入的条件,公式为:
I( X;Y ) = H(X)-H(X|Y)
因此系统1在受到“ 英超球队表”的条件影响,为了更好的套用公式,我们用H( 系统1 | 英超球队表 )表示熵H2 ,用I( 系统1;英超球队表 )表示熵的增益:
I(系统1;英超球队表) = H(系统1)-H(系统1|英超球队表)=28.84-1=27.84
同理,
I(系统2;神秘电话)为:H(系统2)-H(系统2|神秘电话)=1-0=1
我们通常利用互信息,来评估评估信息处理的效果。
05
女神的心思,不难猜
在相亲节目中,女神们一轮轮爆灯的过程中,每一个问题,都直逼人心,也都富有争议。
相亲节目中,用到的就是决策树判断算法。这个算法,几乎是人类默认就会的能力。通过一层层问题的筛选,做出自己的选择。
女神选择相亲对象到底是先看年龄呢,还是先看收入,还是先看身高?不同的人可能会有不同的答案。但是通过熵值的计算,我们可以猜中女神的心思。
我们通过翻看相亲节目的历史,整理出某个女神的相亲候选人的名单。里面包含年龄、身高、收入、学历和是否相亲的字段。
从这张表可以看出,5/12的人没有给相亲的机会?这个女神到底看重的是学历、还是身高、还是收入、还是年龄,我们不妨算她一算。
如果只看“是否相亲”的结果,熵是0.98bit。
这个答案先放在这里。
如果,我们需要考察不同的学历对于决定是否相亲的影响,我们需要怎么做呢?
在最大熵模型中,我们提到过:“随着先验知识的提升,熵是可以不断被优化的。”我们可以进一步贯彻这个思想,把学历分布作为先验知识,将“候选人名单”细分成三张小表:专科候选人名单、本科候选人名单、硕士候选人名单。
专科候选名单的熵H(专科候选名单) = 1 bit;
本科候选名单的熵H(本科候选名单) = 0.97bit;
本科候选名单的熵H(硕士候选名单) = 0.72bit;
我们重新再把这三张表熵合并起来,得到条件熵H(候选人名单|学历) = 0.87bit,如下图:
因为熵是期望,所以总表的熵是把每个子表的熵乘以概率后再累加。我们惊喜的发现,把这张表拆分后再合并,熵变小了。
所以,我们可以计算出在学历影响下的互信息:
I( 候选名单 ; 学历) = H(候选名单)-H(候选名单|学历) = 0.98 - 0.87 = 0.11 bit
于此相似,我们还可以计算出其他的互信息:
I(候选名单;收入是否大于20万) = 0.98 - 0.94 = 0.04 bitI(候选名单;是否高于175cm) = 0.98 - 0.97 = 0.01 bitI(候选名单;是否大于35岁) = 0.98 - 0.57 = 0.41 bit
所以,通过比较大小,我们发现这位女神还是比较在意年龄的。
I(候选名单;年龄是否大于35)>I(候选名单;学历)>I(候选名单;收入是否大于20万)>I(候选名单;是否高于175cm)
正所谓:“知己知彼百战百胜”,这个案例告诉我们三个道理:
1. 通过分析历史数据的信息熵,可以帮助我们更好的决策;
2. 通过有效的问题细分,可以有效的降低熵;
3. 女人嘴上问的可能是心里想的;
06
一切皆熵的世界观
熵是一种思维模式,从熵的角度理解这个世界,我们会发现一切皆不同。我们再看看上面提到的概念:
从玻尔兹曼公式可以看出,熵是微观不确定性的宏观表现,也就是说,当我们放任许多不确定性的发生的时候,也会导致整个系统也处于混乱之中;在众多不确定性中,我们要重视一些具有小概率事件的发生情况,研究这些问题可能具有更大的价值;获得更好的决策就要减少信息的不确定性,其方法就引入新的有序的信息,也就是提升认知水平。
其实生活中,处处都遇到熵不起的熵:设计熵、产品熵、代码熵、管理熵……
设计熵:设计就是通过视觉信息的合理排布降低熵
我们先看张图片。海报的信息多而杂,仿佛是一个人想要表达太多的内容,但是有含混不清。
没有对比就没有伤害,下面是一组MUJI的海报。
这些海报每看一遍都能陶冶心境的感觉。为了设计这组有质感的海报,设计大师原研哉的团队不远万里取景拍摄。这些海报也成为很多设计师学习和模仿的目标。好的海报设计,就是通过合理的信息排布来降低熵的存在。设计就是降熵过程,正是设计师的努力,用户才能感受那一瞬间的秩序之美。
产品熵:产品就是帮助用户通过获得熵减,不能减熵的产品不是好产品
首先,产品必须是符合用户的预期的,这个预期就是解决需求获得熵减;
第二,产品传达的信息必须是有序的,混乱信息也会造成不必要的熵的增加;
第三,产品呈现的信息应当稀缺的,这样才会显得有价值;
第四,稳定的产品才能满足用户的预期,不稳定会增加熵;
猜猜下面的图对应的是那些情况。
切记,优秀的产品经理给用户的产品一定是低熵的。
代码熵:代码是人写给机器看的语言,代码的熵越大机器就越容易出错
程序员最讨厌的就是应该维护其他程序员写的老代码,因为熵非常大。每次解决Bug,都好像在茅坑里面捞东西。经常改了一行Bug冒出来是N个。
为了降低代码中的熵,接手的程序员必须把代码重新理解一遍。程序员挂在嘴边的两个词就是“可读性太差”和“需要重构代码”。“可读性”指的代码的熵,“重构”就是降熵的过程。
其实技术的演化,很多时候只是为了降低代码的熵。早年的网站是由静态的html文件组成,但网站通常需要多页面组成,页面的代码也非常多。过了一些年,人们发现页面里面许多代码都是相似的,为了更好的复用代码,于是程序员又发明了在服务器端实时生成页面方式,这样不仅能生成无穷多页面,还便于维护。又过了一些年,为了更好管理服务端的代码,又有人提出了MVC等代码分层的思想。
反熵增是每一个优秀的程序员该做事情的,遵守规范、合理命名、保持注释、善用工具、代码分层、适时重构……这些都是优秀程序员该保持的习惯。
管理熵:管理就是让团队保持低熵的一种方式,主要通过合理的机制设置、资源分配和有效沟通方式,使得团队高效的达成目标。
亚马逊之所以能获得今日的成功,也是源自于创始人贝索斯反熵增思维。贝索斯在亚马逊这个庞大的组织定了三条规矩:
1. 抵制形式主义:少量流程和制度可以明确员工的职责和规范,初衷是带来更加有效的合作,但过于成熟的制度也可能会助长,只关注流程而不关注结果的形式主义。当制度越来越成熟的时候,我们应该反思制度的成熟另一方面,成熟的制度是不是会让我们背离初衷。
2.“两个披萨团队”:意思是,点两个披萨所有团队成员都可以吃到。那就意味着团队成员的组成不能多于10个人。通过“两个披萨团队”的模式,亚马逊把几十万员工拆解成了众多的小团队。这些下团队都是独立的项目组,脱离原先体制,独立经营,独立核算,自负盈亏,这是小团队能够成功的重要关键。
3.开放系统:将内部功能性业务都转化成了对外服务化的业务,比如说AWS。当某一个服务外部化以后,它就要面对真实的外部竞争,了解用户的需求,到现在AWS的外部商业服务使用量大大的超过了内部的使用量。但是贝索斯正是这种方法倒逼企业的变化,也带来了亚马逊的飞轮效应,市值一直滚滚向前。
所以,优秀管理者不是发号施令,而是懂得如何给团队降熵。
世间上的熵可能还有很多,无法一一列举。
熵不仅是一个科学概念,也是一种世界观和人生观。在佛教的教义里“人生的本质是苦的”,当我们知道熵增是大自然的必然的规律的时候,我们会变得更加坦然,同时也会不断提醒自己保持反熵增的态度。或许“熵”也满足佛教三法印:“诸行无常,诸法无我,寂静涅槃”的道理。
出自《三法印》:诸行无常、诸法无我、涅槃寂静。三法印是识别真佛法与假佛法的标准:一切法若与三法印相违的,即使是佛陀亲口所说,也是不了义;若与三法印相契合的,纵然不是佛陀亲口所说,也可视同佛说。 参考文献: 《信息论基础(原书第二版)》Thomas M.Cover Joy.AThomas 《数学之美》吴军 《白话大数据与机器学习》高杨 卫峥 尹会生
申明:
本文目标是让普通人能对相关的知识有个直观的了解,只求表达的通俗性和理解的直观性,但缺乏数学的严谨性。如果有严重的错误,欢迎专业人士指正。