python硬币正反面、1000次_熵是表示一个系统无序程度的物理量,熵如何量化?看完你就明白了...

设想一个如下的场景:你刚打牌回来,手气不错,赢了1000个硬币。当你将全部硬币倒在桌子上,你心想这太乱了,需要整理一下,于是你又将所有的硬币全部整齐地码在一起。你清点完数量,看着码放整齐的硬币,总感觉还有点凌乱(A型血?),因为这些硬币有的正面朝上,有的背面朝上,如果你随意的将这些硬币同时翻面,整堆硬币看上去还会是一样的。这说明了什么?从物理学的角度来说,这表明了这1000个看似整齐的硬币所组成的系统,其中还隐藏着很大的熵!

16e0c96c3d6ab2d7789187d71d0a1893.png

我们知道,熵是一种用来描述一个系统无序程度的物理量。在上面这个场景中,熵可以定量地描述一个系统的微观组分在保持其宏观性质不变时所具有的排列组合数目,这些排列组合数目就是其中隐藏的微观细节的额外信息,如果你能得到这些信息,那么你就能够区分宏观上看起来相似、但微观上却有差异的不同组态。事实上,在上面的硬币的例子中,我们很容易计算它的熵。如果硬币只有2个,那么就会有四种组态,即正-正、正反、反-正、反-反。只有1个硬币时仅有两种组态,当再加入1个时,就使得可能的组态翻了一番。

4ff95b7a9984dcfdf870e7172f383a54.png

明白了这个道理,以此类推,当有3个硬币时,可能的组态为8种,4个硬币为16种……,遵循这样的算法(每增加1个硬币,可能的组态就翻番),那么1000个硬币共有2^1000(2的1000次方)种可能的组态!这是一个长达303位的庞大数字,写完这组数字在文章中估计需要五六行。按照之前的讨论,你可以认为2^1000就是对这个混乱的硬币系统的熵的定量。一般情况下这样认为也没有什么问题,但是,如果将这个数字看成是提供给你的信息,为了揭示熵和信息之间最紧密的联系,那这样表述就不准确了。

6be49d7f1e6b153b980b2ccd0d54eac9.png

这里进一步解释一下,一个系统的熵关系着其组分不可区分的排列组合数目,但准确地说,熵并不等于这个数目,这种关系可以表示为一种叫做对数的数学运算。在上面的例子中,这个对数符号只是让你找出排列组合数目上的指数而已。也就是说,熵真正的定义是“1000”,而不是“2^1000”。采用对数除了可以使计算简化之外,还有一个更为重要的动机。如果我问你,为了描述这1000个硬币单个的正反面形态,你到底需要给出多少信息呢?最简单的方法就是做一张EXCEL表格,将每个硬币的正反情况全部列出,这样就清楚了。

3c5957cac73929340ad6c5af8722f0cb.png

那么,这张EXCEL表格到底包含了多少信息呢?怎么来量化?这就牵涉到信息到底是什么这个问题。信息到底是什么?数学家、物理学家和计算机科学家经过多年研究,得出了一个精准的答案:信息能够回答问题。对于信息,最合适的度量方法就是看这则信息能够回答多少个“是”与“否”问题。在上面的例子中,要弄清楚单个硬币的正反形态,需要回答1000个这样的“是、否”问题,如:第一个硬币正面朝上吗?是;第2个硬币正面朝上吗?是;第三个硬币正面朝上吗?否……,以此类推。

2488c47ec7fde577b3d20ebca299b046.png

能回答一个“是、否”问题的数据称作一个“比特”,这个名词在计算机时代表示二进制数字的缩写,即0和1,这里也可以用0和1来表示“是”和“否”。那么,上述例子中就包含着数量为1000比特的信息,如果你不去深究这1000个硬币的正反形态,也即表示这些硬币对你“隐去”了1000比特的信息量。到这里可以看出,一个系统的熵就等于其隐藏的信息量,熵的定义则是上面的例子中可能的排列组合数目的对数,或者说,熵就是能够回答一系列“是”或“否”问题的个数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值