说说概率的故事(一)

熵、信息,这些都是现代科学中令我十分着迷的概念,而它们都以概率性这一概念为核心。为了避免文章过长,我打算分四部分总结一下相关的概念和个人的思考。

下面开始第一部分:我们来谈谈随机性。


随机现象被认为是不可被精确预测的现象,但是只要你认真思考过,有一天你一定会想到一个问题:随机的事情真的随机吗?比如最经典的抛硬币,如果控制好所有的初始条件,结果是正是反应该是可以控制的。我就在电视上看到过,有玩骰子的艺人,可以做到想要几点就掷出几点。

再来看看其他的随机现象。魔兽世界中,埃新诺斯战刃的掉率是4.51%。这是怎么实现的呢?大概过程(因为不知道具体算法)也许很简单:当你推倒伊利丹时,服务器给你分配一个[0,1]区间内的随记数,如果它小于0.0451,那么你拾取的一瞬间就能看到这件装备啦。

但是,所有的计算机,无论是最早的纸带机还是今天的PC,都做同一件事情:接受输入—>计算—>输出,所以计算机不会“想出”真的随机数来,它只能依靠算法来实现。这里有个视频(可能需要翻墙,如果能看,可以忽略本段以后的部分)能很好的说明。算法有很多种,现在常用的有线性同余法,而视频中的例子是最好理解的1949年Von Neumann发明的”middle squares”算法。流程很简单:第一步,找一个初始值(我们把它称作随机数种子seed,它一般较难预测,例如当前的时间是某一分钟内的第多少毫秒,视频中好像有错误,在09:00:03:03时,应该是9点的第一分钟内的第183毫秒,不过不重要),视频中取了seed=173。第二步,把初始值平方,得到29929,取中间的3个数字992。第三步,把29929平方得到895745041,又取中间三个数字745,然后不断重复。这样就会得到一个序列:992745857……

所以如果你能得到seed,那么就能预测这个序列,所以我们说它是伪随记的。这里的seed是时间,一旦你有办法获取程序运行的事件,这个随机性就彻底破灭了。这也就是为什么今天彩票开奖摇号用的还是古老的摇球机器。

这里比较有趣的是,我们可以用一种随机性派生出其他的随机性。举个例子,刚才说的伪随记序列,其实就是一个随机数表。如果规定一个映射 f:随机数表—>班里同学,这样就可以实现随机点名。

那么如何由随记数表产生我们想要范围内的随机数呢?我们看看c语言的做法。

c语言中与之相关的主要有两个函数:srand(seed)和rand(void)。srand()的功能就如刚才的例子,接受一个seed,生成随机序列。而rand()函数则会做一个派生:随机数表到区间[0, RAND_MAX]的映射(RAND_MAX一般定义为32767),于是就返回了一个1~32767的随记数。接下来一切都好办了。例如你想玩骰子,那就rand()对6求余,因为对几求余,结果就有几种模式,所以刚好可以满射到我们的目标随机整数集。那么如果目标数集是[0,1]的实数呢?也好办,rand()除以RAND_MAX就行啦。这一段就是想说明,随机性是可以相互派生的,在用计算机模拟随机抽样的过程,也是一种派生,而这是做蒙特卡洛计算必不可少的

上面大多数篇幅都用来扯计算机了,其实我的计划不是这样的(‾▽‾)”......只是想引发大家思考,有多少东西真的是不可预测的呢?实际上,大多数所谓的随机事件不具有本质随机性(NOT intrinsical randomness),就像刚才所说的抛硬币,掷骰子。我们说这些事件是随机的,是因为我们对这些体系信息的却是,或者说是一种“偷懒”。普通人不会花时间练成“骰子艺人”,你也不会创造一个机器(抽真空来避免空气的影响,单片机实现自动化控制等等)来“可预测地”抛硬币。

实际上,在经典统计物理中,所谓的随机性也不是本质的,它来源于我们对系统信息的匮乏(ignorance)。

那么有没有本质随机性呢?在目前的认知框架下,量子力学的叠加原理(Superposion Principle)所导致的随机现象可以被认为是本质随机,该原理是说,一个粒子可以按照某种概率分布同时处于多种微观状态的叠加,当你测量时,它会依概率分布塌缩到某个本征态下,也就是说,物理规律本身就要求这件事情是随机的。所以,很重要的一点是,有了量子力学以后,我们对“预测”的认识要发生变化:**可预测不等于能给出精确答案,而给出概率分布(波函数)也算预测**。不过这只是定义问题,大家尽可能地保持一致,是为了方便交流。

因此在后来的量子统计中,我们就需要同时处理这两种随机性的叠加了。为了方便做这件事情,我们引入了密度矩阵。

还有一种情况--混沌(chaos)。混沌是讲,规律本身是可预测的,但是它对初始条件十分敏感,以致于在现有(也许永远的将来)技术下,我们无法对它作出预测-_-#。这就是所谓的蝴蝶效应(Butterfly Effect)。最典型的人口模型logistic series(逻辑斯蒂克序列):

当r大于约3.5699时,发生混沌,不过存在稳定岛,详见Wikipedia。如此一来,混沌到底算可预测还是不可预测呢?这一分支学科作为前沿,目前对此还存在很大的分歧。

总结一下就是:大多数随机现象都不具有本质的随机性,目前只有量子力学中叠加原理所导致随机性被认为是本质的,而混沌现象还有待讨论。

在下一部分中,我们来谈谈概率。

推荐阅读更多精彩内容