全世界只有3.14 % 的人关注了
爆炸吧知识
摩纳哥的位置非常小,不仔细看都发现不了
但就在这里,却诞生了一个闻名世界的大赌场——蒙特卡罗大赌场(Monte Carlo Casino)。
蒙特卡罗赌场的开张其实有这么一段历史。19世纪50年代,摩纳哥有2个小镇宣布独立,税收大幅减少,摩纳哥皇室陷入破产边缘。无奈之下,卡罗琳王妃(Florestan一世的妻子)提出了一个设想:仿造巴特洪堡赌场(Bad Homburg Casino),建造一个赌场以创造更大的收入。
但是因赌场地理位置偏僻,而且当时的摩纳哥缺乏良好的交通条件,旅游者并不喜欢过来进行度假。这也导致赌场开张后,一直处于亏损状态,几任老板到最后无法支撑,放弃经营。
卡罗琳王妃不忍心看到这个局面,千辛万苦请来了巴特洪堡赌场的实际经营者弗朗索瓦·布朗(Fran?ois Blanc),并建立了一家专门的公司来运营赌场。作为新公司主要的大股东,布朗利用其强大的人际关系 络,迅速募集资金,大规模扩建赌场。为了吸引游客,布朗还提议把当地名字Spelugues改了。后来当地改名为Monte Carlo,以向当时的执政者查尔斯三世(Charles III, Prince of Monaco)致敬。
轮盘赌具
1913年的8月13日,赌客还是像往常一样赌轮盘,其中有不少人拿着纸和笔不停记录每次轮盘转下来的结果。但就在当天,轮盘上的小球连续26次落在了黑格上。而这样事件发生的概率仅为0.00000149%(比中双色球一等奖的概率还小),这种情况可以说几乎不可能出现,但确确实实是出现了。赌徒因此损失了大量的财富,因为他们错误地认为,先前结果的不平衡性一定导致后面出现相反的结果。
这或许就是人类思维和数据思维差异。实际上,每一次轮盘的转动都是独立事件,前面一次小球停留的位置,和下一次小球停留的位置不会有任何关联。无论小球停在红色或者黑色的位置,都是随机的,并不会受到之前结果的影响。
当然,从更宏观的角度来说,无论赌局规则怎么变化,赌场必定要赚钱的。赌场精心设计各种规则的赌局,让人们乐在其中的同时,赌场收取少许手续费。正是这种少许的手续费,让赌场经营者得以生存和扩大,而赌客之间则进行负和博弈,从长期来看,赌客是亏损的。
蒙特卡罗方法诞生
时间来到1946年,也是蒙特卡罗大赌场诞生的90周年。
塔尼斯拉夫·乌拉姆(Stanislaw Ulam)是一位波兰裔美国科学家,他当时在洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory, LANL)进行核武器的研发。此时科学家们在研究辐射防护(radiation shielding),期望计算中子穿越物质的距离。尽管已经通过实验获得大量的数据,LANL实验室的科学家们却无法用传统确定性的方法来解决这个问题。
后来因为身体原因,乌拉姆便休假疗养身体,无聊之际打牌闲度时光。有一天,乌拉姆还是在打牌,突然他想到了一个问题:如果我想从52张牌当中拿到同花顺,这个概率是多少呢/strong>
相信把做数学推导作为无聊消遣的人也不多,此时乌拉姆就放下手牌,拿起纸和笔熟练地利用组合公式进行概率计算。经过很长时间的计算,乌拉姆发现这件事情没那么简单(可能是因为写不下去了)。
他又想意识到另一个问题:理论计算太复杂了,有没有一个更加实际的方法来算strong>比如我模拟100次,看看出现同花顺的次数有多少次,这样就可以近似得到同花顺出现的概率了。
乌拉姆于是开始联想到中子扩散现象上,同时想到了如何将差分方程等价转换为一系列随机模拟过程。在这短暂的时间内,人类一扇新的知识大门悄然打开。
乌拉姆急冲冲地把这个方法告诉给他的同事,著名数学家冯·诺依曼(John von Neumann),冯诺依曼确定这个方法是一个重大突破,并且很快在ENIAC(ENIAC是世界上最早期的计算机)电脑上完成了编程。
曼哈顿计划集中了大量优秀的科学家,利用核裂变反应来研制原子弹,最后取得圆满成功
就是这样一个随机性的构想,打破了过去的思考空白区,开启了人类新的思维空间。
蒙特卡罗算法是怎么回事
事实上,蒙特卡罗方法非常简洁。我们用一个例子来说明,如何用蒙特卡罗方法近似得到圆周率/strong>
从理论上分析,在1×1的空间的空间中,有这样的关系:
所以,我们可以通过计算点个数的方式,来近似得到圆周率的数值。
误差随着模拟次数的增加而不断下降,速率为N-0.5
蒙特卡罗算法的案例
随着蒙特卡罗方法的成熟及更广泛的使用,便出现了很多基于蒙特卡罗方法的新算法,用一个时髦的名词就是:蒙特卡罗“硬分叉”了。
-
蒙特卡罗积分(Monte Carlo intergration)
在低维的情况下,用确定性的方法来计算积分效果非常好。但到高维的时候,一方面计算难度呈指数级增加,产生维数灾难(curse of dimensionality),另一方面在多维的情况下,边界的确定非常困难,100维以上基本不可能用确定性方法来计算。
蒙特卡罗方法跳出了维数灾难的想法,提供了一个新的思路:在高维空间中产生大量的点,采用类似近似计算圆周率的方法,计算高维积分。使用蒙特卡罗方法,误差将以N-0.5的速度降低,不管维数是多少,只要提升4倍数量的点,误差将降低一半。因此蒙特卡罗方法非常适合运用在高维的积分计算当中。
一个可爱的机器人,它会识别眼前的环境
在这个一维空间上,机器人通过前期的探索,已经知道这个空间一共有3个外观都是一样的门,并记录了门口的样子。
问题来了,机器人怎么确定自己在哪里呢/strong>
Step 1:机器人在这个一维空间上随机生成大量的粒子,每一个粒子分别代表一种位置的可能性(稍后将阐述实际含义)。
Step 3:机器人根据权重分布,重新生成新的粒子。权重越大的地方获得的粒子越多。
Step 5:机器人发现眼前没有东西。由于机器人已经知道室内地图,知道门口具体在哪几个位置,因此机器人重新分配所有粒子的权重,将室内地图门口所在位置范围的粒子权重相应降低下来。
可以发现,经过这两轮操作以后,粒子分布集中程度提升了,可以预见粒子将越来越集中。这个方法精巧地运用了蒙特卡罗的随机特征,不断产生新的粒子来记录位置概率。粒子分布集中的位置,也就是机器人所在的位置。
-
蒙特卡罗搜索树(Monte Carlo tree search, MCTS)
蒙特卡罗方法还发展成了蒙特卡罗搜索树的方法,能够有效帮助在游戏中搜索出最佳策略。MCTS每生成一个新的策略,算法将基于这个新策略进行大量的随机实验来模拟运用新策略以后的影响,比如比赛胜率或者分数。然后按照一定的指标进行树节点的扩展。
MCTS的一个最著名的例子,当属由DeepMind团队研发的、击败人类世界围棋顶尖高手的AlphaGo。
2006年NASA在ST5航天器上搭载了一个特别的天线,其形状由进化算法设计而成
蒙特卡罗方法的发明,是人类思维史上的一个重大突破。在过去漫长的岁月当中,人们都认为必须要经过严谨的推理和计算,才能得到最后正确的答案。
直到最近的数十年,随着计算机的诞生,还有乌拉姆、冯诺依曼以及众多理解蒙特卡罗方法的科学家的努力下,随机性的运用才逐渐走进我们的视野。
本文系 易新闻· 易 “各有态度”特色内容
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34589 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!