服务粉丝

我们一直在努力
当前位置:首页 > 科技 >

严重依赖“伪随机数”,让计算机实现真正的随机有多难?

日期: 来源:36氪收集编辑:36氪

编者按:生活当中看似到处都是随机。但真正的随机比你想象的要难得多。其实,我们接触的绝大多数都是伪随机数。即便如此,伪随机数的生成也是个很耗时间和内存的事情。但最近,MIT的研究人员找到了一种经典随机数生成算法的改进办法,令随机数的生成效率提高了很多,确定论的计算机有望将随机性植入到自己的建构块里面。Stephen Ornes对此进行了报导,原文发表在quantamagazine上,标题是:How and Why Computers Roll Loaded Dice

划重点

计算机软件和硬件运行的基础是布尔逻辑,不是概率

FLDR提出了一种将随机数集成到内置了确定性的软件和硬件里面的方法

大部分的随机数生成算法都是伪随机,是根据复杂的公式生成的

FLDR算法中时间和内存消耗上都非常高效

对于计算机来说,模拟投掷灌铅骰子一直是一个难题。

这是一个看似很简单的练习:让你想出一个随机的电话号码。选出七位数的序列,每一位都要等可能,并且选择一个数字不会影响到下一个数字。很有可能你选不出来。(不过我的话也不要全信:可以追溯到1950年代的研究表明,我们在数学上其实跟随机的关系不大,虽然我们都意识不到这一点。)

不要放在心上。计算机在生成随机性这件事情上做得也不好。本来我们也不指望它们能够做好:计算机软件和硬件运行的基础是布尔逻辑,不是概率。麻省理工学院Probabilistic Computing Project(概率计算项目)的负责人Vikash Mansinghka表示:“计算文化以确定性为中心。这一点表现在几乎每一个层面上。”

但是计算机科学家希望程序能够处理好随机性,因为有时候这就是问题的需要。多年以来,有些人开发出了新颖的算法,尽管这些算法本身不会生成随机数,但却提供了巧妙而有效的方式来利用和操纵随机性。麻省理工学院Mansinghka小组最近就取得了一项最新成果,他们提出了一种算法,叫做“快速摇灌铅骰子”(Fast Loaded Dice Roller ,FLDR)。这项成果将于今年八月份的在网上举行的国际人工智能与统计会议(Conference on Artificial Intelligence and Statistics)上进行展示。

简而言之,FLDR利用了一个随机序列来完美地模拟摇一颗灌铅骰子的情形。(或者是一枚加重的硬币,或被操纵的卡片组。新奥尔良大学的数学家Peter Bierhorst说:“算法展示了怎么把抛硬币从完全随机变成有偏向的。”Bierhorst并非研究的贡献者,但是他说FLDR成功背后的前提“很吸引人”。

FLDR不会让你在《地产大亨》游戏里面获得优势,也不会增加你去拉斯维加斯赌场掷骰子获胜的机会。但是算法的发明者说,它提出了一种将随机数集成到内置了确定性的软件和硬件里面的方法。给软硬件引入这种不确定性可以帮助机器做出像人一样的预测,并能更好地模拟依赖概率的现象,比如气候或金融市场等。

随机性是一个很棘手的概念,比乍看之下要棘手。在看不出模式的随机数序列里面,每个数字都有相同的出现概率。比方说,Pi本身并不是一个随机数,但是pi的每一位数字被认为是随机出现的(数学家称之为“正规数”):从0到9,每个整数出现的次数相同。

是,Google搜索“随机数生成器”你是可以找到,但那些生成器生成的并不是纯粹的随机性。现在的处理器也好,搜索引擎以及密码生成器也好,它们用的都是“伪随机”的方法。当然,这些方法对于大多数用途而言都已经足够接近随机了,那是根据复杂的公式生成的,但是从理论上来讲,如果你知道那个公式的话,就可以预测序列。

科学家尝试将真正的随机性植入到机器里面至少已有80年的历史了。(在此之前,随机数来自传统的备用品,如掷骰子,从混匀的袋子里面取出编号球,或其他的机械练习。1927年,统计学家对人口普查数据进行采样,从而得到了一张有40000个随机数字的表格。)

麻省理工学院的Vikash Mansinghka表示,新的FLDR算法可以帮助科学家把概率植入到确定性计算机当中。

早期的随机数的来源是物理机器。第一台产生随机数的机器是英国统计学家莫里斯·乔治·肯德尔(Maurice George Kendall)和伯纳德·巴宾顿·史密斯(Bernard Babington Smith)的发明。1938年,他们对此进行了描述。机器被放进一间黑屋里面,然后旋转一个分成10等分的圆盘,每一份分别用0到9的数字标记。当某人用不规则的间隔敲击按键时,一道霓虹灯或火花就会照亮圆盘,让它看起来好像被定格了一样,但只有一个数字可见。后来又发明了另一台机器,叫做Ernie,这次则是在氖管中用了信号噪声。从1957年开始,英国的某个彩票就是用它来选出中奖号码的。

Bierhorst 说,最近以来,为了得到真正的随机序列,计算机科学家必须研究自然现象,比如宇宙背景辐射或量子系统的不可预测行为才行。他说:“自然界中存在可以利用的随机过程,这确实是不可预测的。那些忽左忽右躲闪腾挪的电子甚至事先都不知道自己要做什么。”

但是随机性只能带你走那么远了。到1940年代后期,物理学家开始生成随机数来拟合给定的概率分布。这样的工具(滚灌铅骰子的理论版)可以更准确地用于模拟现实情况,比方说交通流量或者化学反应。1976年,计算机科学家先驱Donald Knuth和Andrew Yao提出了一种算法,这种算法可以用一串随机数生成任意加权结果数组的随机样本。Mansinghka实验室的博士生Feras Saad 说:“这是有史以来最省时的算法。”

但不幸的是,Saad 说,这种算法要进行一定的折衷,那种计算机科学家都很熟悉的取舍权衡:很多跑得快的应用使用了大量内存,而使用内存较少的应用则可能需要很长的运行时间。Knuth和Yao的算法属于第一类,所以算法是很优雅,但是实际使用要占用大量内存。

但是去年春天时,Saad找到了一种聪明的解决方法。他意识到,当骰子的权重加起来等于2的幂次时,这一算法在时间和内存消耗上都非常高效。因此,对于一个六面骰子,假设滚出数字1到6的几率分别赋予1、2、3、4、5和1的加权。这意味着比方说滚出1的概率为1/16,滚出2的概率为2/16。由于权重的总和是2的幂次(16是2的4次方),所以这套系统的算法在时间和内存消耗上都很高效。

麻省理工学院博士生Feras Saad 帮助设计了一种新的算法,这种算法可以高效、准确地模拟摇灌铅骰子。

但是,假设权重取值改为1、2、3、2、4、2,总和为14的情况。由于14不是2的幂次方,所以Knuth-Yao算法需要占用更多的内存。Saad 意识到他可以增加一个权重,从而使得它们的总和总是2的幂次。在这种情况下,他只需给骰子增加一面——让假设的这一面权重为2,这样权重加起来就是16了。如果算法选到了原先的6面之一,就记录下相应的数值。如果选到了莫须有的那一面,就丢弃掉,然后再次运行算法。

这就是FLDR算法效率的关键,使得它成为了仿真的一个强大的工具:与原先一般需要占用大量内存的算法相比,多余的滚骰子所需占用的额外内存很小。

FLDR提高了Knuth-Yao算法的效率,并为改善一系列应用指明了方向。气候变化模拟,作物产量预测,粒子行为模拟,金融市场模型,甚至核武器地下爆炸的探测都取决于按照加权概率分布的随机数。随机数是用来保护通过互联网发送的数据的加密机制的支柱。

Mansinghka说,FLDR还可以帮助研究人员找到将概率整合到计算机处理器里面的方法,这是他在麻省理工学院实验室工作的重点。有了这一算法,软件库和新的硬件体系结构的设计就可以生成随机数并以有效的方式去利用这些随机数。这跟我们过去使用的确定性布尔机器将大相径庭。

他说:“ 我们很可能即将把随机性集成到软件和硬件的构建块当中。”

译者:boxi。


相关阅读

  • 165K Star!面试有这个项目,稳了!

  • 关注“脚本之家”,与百万开发者在一起原创:开源小分队(微信公众号ID:sourceteam)已获得原公众号授权转载今天了不起给大家推荐一个非常牛的JavaScript算法与数据结构项目-javasc
  • 受够了算法推荐,试试让 AI 做「过滤」?

  • ▍导语前两年 Netflix 纪录片「监视资本主义:智能陷阱 The Social Dilemma」大热,引发了对推荐算法、「信息茧房」的大讨论。而后和所有热门讨论一样,很快所有人就忘了,重新回到
  • 能唠嗑又会自己开的车正在来的路上!

  • 潮新闻 记者 金春华图源视觉中国能唠嗑又会自己开的汽车长啥样?真的能实现吗?日前,知名智库工信部赛迪研究院发布了一份研究报告。报告显示,以ChatGPT为代表的生成式AI技术,正在
  • 垃圾网络有救了,Win11新增优化算法可选

  • 知名网速测试软件 Speedtest 厂商 Ookla 最近发布了2023年第一季度互联网表现报告。全球宽带下载和上传速度中位数达到了 79Mbps 和 34.92Mbps,延迟 9ms 。北京以 264.92Mbps
  • 2023 校招提前批全面启动倒计时!

  • 点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达大家好,我是Amusi!2022 春招和2023届暑期实习已经快结束了!一些公司的2023届校招提前批已启动,现在已经进入绝大多
  • 加强共治,规范算法应用发展

  • 算法内容专业性较高、技术更新速度快等特点,决定了算法治理是一项长期工作,需要汇聚合力近年来,算法的广泛运用让用户需求和产品、服务得以快速精确匹配,大大降低了信息传播和获

热门文章

  • 解码“新IT”的5个特征和3大价值

  • 党的二十大报告提出,要加快发展数字经济,促进数字经济和实体经济深度融合,打造具有国际竞争力的数字产业集群。在数字经济与实体经济深度融合的产业浪潮中,以智能设备、边缘计算
  • OPPO k1的低价高配真实么?网友:不看不知道

  • 近日OPPO一款新机OPPO k1,摒弃了高价低配,就连自家老大哥r17都要怼一下。更是放弃了请代言人,以往的OPPO手机还没出来,各路流量小生,花样美男的代言就先来了。还有线下销售人员的
  • 一招教你手机无限制成为一台新设备

  • 大家平时用手机去注册app,肯定会遇到检测设备异常,交易关闭,等问题 这个都是手机已经不止1-2次注册过此app,不断更换手机仅是一个暂时的方法,却不是长久之计,手机总归会用完
  • 从零开始如何开网店

  • 随着互联网的高速发展,人们的生活发生了翻天覆地的变化,生活节奏越来越快,网购已经成为家家户户生活中离不开的一种购物方式了。网购的发展使得越来越多的人想要涉足电商事业,那

最新文章

  • 潍坊寒亭:推动校企合作向纵深发展

  • 近年来,潍坊市寒亭区创新实施校地合作“互派驻、双挂职”工作机制,聚焦双向派驻、人才引育、技术攻关,统筹高校人才资源和企业创新要素融合聚变,推动校企合作向纵深发展。聚焦双
  • 广西融安:降雨过后抢种早稻

  • 4月27日,在广西柳州市融安县长安镇大巷村,一名农民在田间种植早稻。(谭凯兴 摄) 4月27日,在广西柳州市融安县长安镇大巷村,农民在田间种植早稻。受短波槽、低层切变线及地面
  • @青岛人,五一假期浮山湾灯光秀播放安排来了

  • 4月29日至5月3日,浮山湾亮化每天18:40-21:00亮灯,灯光秀在19:00、19:30、20:00、20:30各播出一场,每场约15分钟。青岛市城市管理局提醒广大市民游客:五一假期,外出游玩人员较多,请
  • 肥城市退役军人事务系统举办业务知识竞赛

  • 4月23日,肥城市退役军人事务系统举办业务知识竞赛。竞赛分必答题、抢答题、风险抢答题三个环节,充分考验参赛队员的政策知识储备、现场反应能力和团队协作能力。比赛现场高潮