谈谈随机数

God does NOT play dice with the Universe!

什么是随机(random)?字典中给出的定义是无计划,无序和无目的,纯靠运气。随机是生活中必不可少的成分,比如彩票,游戏,安全,早餐吃什么,这些行为都有一些随机的成分,但我们能说这些行为都是随机的吗?

比如早餐,吃的人以为是随机的,做什么吃什么,对厨师而言,可能是精心安排的,就不算随机行为。游戏也是如此,随机掉了一件装备,你如获至宝,其内部是一个概率算法,如果你掌握了这个算法做了一个外挂,对你而言,这也不是随机行为了。同理,很多安全密码的密钥都是随机数,比如核武器的按钮,但难保哪天就被一个天才数学家破解了。

我的意思是,很难定性判断某一行为是否是随机的。随着我们掌握的信息越来越多,我们的决策算法越来越高效,我们的计算能力越来越强大,进而有能力预测出目前无法预测的随机行为。这就留下了一个有意思的问题,是否真的存在上帝,上帝是否掷骰子(随机行为),在宇宙大爆炸前,上帝是否已经设计好宇宙的发展?而我们的人生,是否早已写好,只是看不见而已呢?当然,目前一切还不得而知,万一宇宙的产生只是一个意外呢

随机并不绝对,但生活中又要用到随机,历史上有很多随机数生成器(random number generator,简称RNG),比如骰子。这方面,我们的祖先甚至写了一本《易经》,可以理解为如何生成随机数并破解随机行为的百科全书。

根据不同的方法,大概分为两种方式:T(rue)RNG和P(seudo)RNG。两者有什么区别呢?

TRNG

通过一些物理现象来产生随机数,比如大气层的噪音,元素的衰变和放射,掷骰子等,因为这些行为受到多个自然因素的影响,过程不可预测,所以主观上觉得比较安全。所以,当我们对安全性和经济性上有较高要求时,往往需要采用这类方式产生的随机数,比如彩票,人类不会放心的把这件事情交给机器来处理,一定要有仪式感,让它看上去是随机的。

然而,公正的行为不一定会产生公平的结果。相比而言,TRNG更大的优势在于不可预测性,但结果上并不一定平均。

PRNG

伪随机数通过算法产生,计算机因此可以模拟随机行为。但因为有公式,所以只要参数确定,也就是随机的种子,得到的随机结果一定是可重复的。比如如下的通随机数生成公式,给出种子1,就可以得到一系列的随机数。

这样经过算法设计出来的随机数分布很均匀,完美的不像人类或自然的产物。下面是在JS,产生1000000个随机数,区间在(0,1000):

我在Matlab中也做了同样的实验,分布也很平均。可见,目前机器生成的随机数,从结果来看确实很随机。比如随机生成灰度图和对应的直方图统计,有没有小时候电视没信号的视觉效果?

万物看似随机,却都有其统计的宿命

正态分布

完美的随机缺少美感。比如我们玩斗地主,洗牌的原则就是做到尽可能的随机,比如同一个花色的不能连续,数字不能连,甚至不能有规律,简单说,要求越严格越随机。可是,如果随机做到绝对的公平,游戏的趣味性则会大大降低。

事物发展的规律也是如此,所谓的能就是势差,只有不平等才能产生差,进而有了发展的动力。大自然在宏观上达成平衡,但在个体之间是不平等的。

所以,我们需要人工干预随机行为,让这种随机变得不平等。如何让随机行为更符合客观规律呢,就是统计的意义。比如统计人的身高,如果样本够多,比如一个学校,一个城市,一个国家,整个世界,就会发现这样的一个分布规律:

这就是正态分布,有兴趣的可以读一下之前写的关于斐波那契数列的文章,因为它们里面都体现了黄金分割。如何让机器模拟正态分布的随机数生成?Box–Muller transform提供了公式,网上也有现成的代码,下图是JS上实现的正态分布的随机数效果:

如下是正态分布的灰度图和直方图:

噪声

通过公式,我们可以创建符合规律(公式)的随机数,数学的美总是晦涩而难以发现的。而庄子云:“天地有大美而不言”。

不是在说随机数,跟美有什么关系?且看下图,沙丘的形成,过程是随机的,但却给人一种美,这样的场景有很多,比如地形,火焰,雨雪天气,木质纹路等,都有各自的美,当我们感叹大自然的鬼斧神工,自然会有疑问:如何通过随机算法来模拟它们?

这就是噪声:在三维空间提供高效的,可实现,可重复的伪随机信号。当然,上面的随机算法也能制造出噪声,但比较尖锐,生硬不自然,我们成为White Noise,比如电视上的雪花屏。学者们根据效率、用途、自然程度(即效果好坏)等方面的衡量,提出了许多希望用程序模拟自然噪声的方法。例如,Perlin噪声被大量用于云朵、火焰和地形等自然环境的模拟;Simplex噪声在其基础上进行了改进,提到了效率和效果;而Worley噪声被提出用于模拟一些多孔结构,例如纸张、木纹等。---摘自candycat的博文《谈谈噪声》

这里就不阐述噪声纹理的算法和思路了,这块内容也很多,个人的理解也很浅薄。如上图,是Perlin噪声的4次分形叠加产生的灰度图,添加颜色表,模拟地形的一个过程。机器的特点是不易出错,可以完美的执行任务,通过噪声,可以在可控范围内随机的创造出不完美,反而更有质感,真实感。

当机器的能力越来越强大,也许,相比机器,人类的一个优势就是会犯错,真是这种随机的错误,让我们的生活更真实。生命的演化也是如此,基因的突变是随机的,多数是失败的,但正是那些不经意的成功,不断推动生命的发展和演变。

Impossible is nothing~

原文发布于微信公众号 - LET(LET0-0)

原文发表时间:2017-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

大赛 | Kaggle 数据挖掘比赛经验分享

简介 Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台。笔者从 2013 年开始,陆续参加了多场 K...

35712
来自专栏AI科技大本营的专栏

机器学习的学习随想01

【AI100 导读】本文是作者在学习机器学习的过程中随手记下的一些随想,内容涉及数学原理、算法分析、系统设计和产业趋势,脑洞随时开放,思路经常穿越,采取微博文体...

3335
来自专栏新智元

薛定谔的滚与深度学习中的物理

【新智元导读】作者从薛定谔的“滚”讲到世界的量子性、神经网络的最大似然等等,用颇具趣味的方式呈现了深度学习中无处不在的物理本质。 最近朋友圈里有大神分享薛定谔的...

3055
来自专栏AI科技评论

动态 | Uber开源「神经演化」可视化工具VINE

AI 科技评论按:算力的提升可能会为旧的算法注入活力。近两年来,神经演化(Neuroevolution)的方法逐渐再次受到关注,包括 OpenAI、DeepMi...

3337
来自专栏AI启蒙研究院

别人都在晒18岁照片,而我却在学习~

663
来自专栏数据派THU

用朴素贝叶斯模型预测柯南中被害人和凶手!

本文来自公众号:超级数学建模 微信号:supermodeling 作者:周铂 本文长度为3000字,建议阅读5分钟 本文介绍朴素贝叶斯模型通过角色特征(性格、行...

1936
来自专栏IT派

机器学习预测世界杯球队冠

3天后,2018年俄罗斯世界杯开打,首场比赛是东道主俄罗斯对阵沙特阿拉伯,将于6月14日拉开序幕。

703
来自专栏语言、知识与人工智能

【干货】Kaggle 数据挖掘比赛经验分享

如果你也跃跃欲试,不妨选一个合适的任务,开启数据挖掘之旅吧。

38310
来自专栏大数据挖掘DT机器学习

Kaggle 数据挖掘比赛经验分享

简介 Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台。笔者从 2013 年开始,陆续参加了多场 K...

3537
来自专栏机器之心

学界 | 中科大潘建伟团队在光量子处理器上成功实现拓扑数据分析

1864

扫码关注云+社区