“现代”计算机科学出现之前的概率(随机)算法


27

编辑:我选择到2012年12月6日得分最高的答案。

这是一个软问题。

(确定性)算法的概念可以追溯到BC。概率算法呢?

此Wiki条目中,针对计算几何中最接近的对问题的拉宾算法被指定为第一个随机算法(年份???)。立顿推出拉宾的算法作为开始的随机算法当今时代的这里,但不是第一个。我也知道许多在1960年代发现的概率有限自动机(非常简单的计算模型)算法。

您是否知道1960年代之前的任何概率/随机算法(或方法)?

要么

哪个发现可以看作是第一个概率/随机算法?


25
品尝一勺沸腾的汤以检查其味道是否正确的古老观念实质上是随机抽样,这是一种具有可证明保证的概率算法。
arnab 2012年

3
Rabin的算法于1976年发布,很早就建立了“现代”计算机科学。
Jeffε

您是否可以澄清是否要对“算法”强加任何标准,以澄清您是否认为例如某些人类早在数十亿年前的自然现象就代表了“算法”下面?
Niel de Beaudrap 2012年

@NieldeBeaudrap:我的想法是一些数学上定义明确的算法。(但是,就我个人而言,我非常喜欢arnab的回答:))
Abuzer Yakaryilmaz 2012年

Answers:


33

在我与HC Williams的论文“在计算机之前处理整数”中对此进行了一些讨论。

HC Pocklington在1917年的一篇论文中讨论了一种查找sqrt(a)模p的算法,该算法依赖于随机选择元素以获得某种形式的非残基。他在报告中说:“我们必须使用二次互易定律,通过试验[找出非残基],这是该方法的缺陷。但是,对于u的每个值,t的一半是合适的,找到一个应该没有困难。”

因此,这是对随机算法的第一个明确提及。


3
这是一个非常好的参考。此后,Pocklington算法是否已被随机化?切切地,我热爱您的工作-无论是CS还是CS外-尤其是您对Bachet猜想的算法(尽管该论文很难找到!),但您的公民自由也可以工作。您看过埃罗尔·莫里斯(Errol Morris)的《死亡先生》吗?
罗斯·斯尼德

有趣。这让人联想到随机素数测试
Sasho Nikolov 2012年

3
还有拉斯维加斯算法!很好的参考。
David Eppstein 2012年

非常好的参考。
热雷米

说到在计算机之前进行分解,有没有人知道Lehmer对pocklington算法或任何其他随机算法有什么了解,或者Lehmer是否曾经在自己的筛分分解计算机上实现过分解?这两个显然有与一些连接波克林顿-莱默素性测试 ACC维基百科
VZN

28

π


8
实际上,这与我提出的问题有关。如今,没有人确切地知道谁设计了很多人认为是布冯的针法的算法。
热雷米

更准确地说:有一个清晰的布冯针算法,其中涉及将针掉在条纹上,还有一个明显不同的“随机点与圆”算法,正如您在该问题中提到的那样,有些人似乎错误地将其归因于布冯,不同,更多。现代,但不确定的起源。
vzn 2012年


11

高斯正态曲线/分布由许多非常简单的物理过程的统计数据可以被“计算”。一种最简单的板是在三角形网格中有一个插针阵列(也可以称为“ Galton box”,其历史可追溯到1800年代),其中插针在交替的行上偏移1/2平方的距离。从相同位置反复丢球,这些球以0.5的概率随机向左或向右移动。记录在底部位置的累积分布会产生高斯曲线/正态。


+1只是因为我目前正在为统计研究小组设计徽标,而Galton Box是我们的第一个想法(但事实证明,徽标太复杂了)。
Konrad Rudolph 2012年

10

在我看来,自然进化是一种很好的且相当古老的概率算法:-)


1
+1虽然将过程描述为概率是最近的事。;-)
Konrad Rudolph

7
“算法”表明它正在尝试解决一个问题;但事实并非如此。甚至没有“尝试”制造出更能生存的动物。创造适应环境的动物只是一种副产品(随着灭绝和大规模灭绝事件的出现,这种动物并不总是能够实现的)。在这方面,进化不再是引力算法。只是这种事情发生。
Niel de Beaudrap 2012年

MDB死了!进化是一种选择进化适应性遗传算法,科学仍在追赶这种进化的所有涵义……即它是一个活跃的研究领域。尚未被广泛或广泛地指出,但遗传算法在CS中的惊人成功实际上是生物学进化理论真实性的强大数学/科学证据。但是,我们承认在某些关键方面,它肯定与其他“算法”不同。
vzn 2012年

2
@vzn:首先,“遗传算法”为我们针对特定目的而施加的适应度函数进行选择。在这种情况下,我们使用进化作为工具来做某事。但这并不意味着生物进化是可以做任何事情的算法。再次使用引力类比,是否存在一种有意义的意义,即所有瀑布都是算法,仅仅是因为我们有时使用瀑布发电吗?
Niel de Beaudrap 2012年

4
@vzn:我只是断言“一种算法”应该包含成功概率的定义明确的参数,更不用说应该有一个执行它的代理。可以说是进行“进化”的唯一“媒介”是整个生态系统。我们应该说生态系统正在“努力”实现吗?我很容易地说您正在拟人化。我只要求“应用算法”需要一定数量的面向目标的意图,这是人类应用还是不应用的。在没有目标的过程中,从什么意义上讲可以代表“算法”?
Niel de Beaudrap 2012年


0

爱因斯坦(Einsteins)1905年的一篇“奇迹”论文是关于布朗运动的,这是随机游走的经典物理示例,并产生了一个用于估算/计算粒子(分子)的公式(即,如果物理过程是“计算机”,则基本上是一种算法)。给出其他已知的物理常数,并观察/测量随时间变化的(随机)粒子位移。本文还作为物质原子理论的早期理论/实验/基础证据。


4
还是与进化一样:尽管运动可能是随机的,并且可以通过随机游走进行建模,但这代表了什么算法?尽管某些算法使用随机游走,但这并不意味着所有随机游走都代表算法(除了英语中的任何单词字符串代表散文之外,仅因为所有英语散文都由英语单词组成)。
Niel de Beaudrap 2012年

-4

nini

该机器还与Babbage差速器发动机(约1830秒)有一些相似之处。Babbage或Lovelace可能已经设想了类似于概率算法的方法,这并非完全不可想象。这些机器当然可以用于实现概率算法,借鉴现代理论并将其叠加在过去。

[1] Lehmer保理机

[2] 巴贝基引擎


Lehmer Mod N&Factoring Machine


1
您能描述一下它为大数计算概率答案的意义吗?快速搜索似乎无法在网上找到任何对此的引用。
Niel de Beaudrap 2012年

根据我的理解,[除其他目的外]还用它来发现大测试数字的较小因素,类似于橡皮擦筛。如果大量通过,则为“可能不是合成的”或“可能是素数”或“素数候选”。不幸的是,互联网在历史参考文献和起源方面都不是很好,甚至书籍也更好。本页底部的更多详细信息,“ 计算机专家的策展人”迈克·威廉姆斯博士(Mike Williams博士,“雷默试图解决的问题类型”)
vzn 2012年

1
该机器肯定可以用于实现概率算法 -那么?相对于其他机器不能?
Jeffε

2
虽然当时的术语可能没有提到它以这种方式有可能使用在某些情况下“的概率算法” - [来源]如果你有证据说,“可能是黄金”,是关于概率的正式声明,而不是一个简单的启发式描述,请引用。否则,请停止猜测。
杰夫·杰夫

n1n2n3nxx

-6

这是与随机算法有关的概念的早期甚至古代/史前时代的一些案例。

  • n/2

  • 机会赌博游戏非常古老。从现代理论来看,即使不是直接与算法联系,游戏也具有很强的相似性。赌博/赌博骰子已知至少有五千年的历史。

  • 希腊人和罗马人也有吸管的概念,用最短的吸管的人会丢失。与骰子类似,从某种意义上说,它是做出单个随机选择的最简单算法。

  • 全面披露,血腥的历史和联系有点淡淡。在其他答案中,MDB提到了进化。进化的一部分是自然选择,它也与人类的战争相似-显然是人类城市/社会进化的内在部分。从某种意义上说,战争是一种“事物”的粗略的半随机算法,社会学家和历史学家仍在争论确切的原因。盗窃/抢劫?分配资源?领土?政治力量?奴隶?(等等)罗马人也有严厉的做法叫抽取(现代词实际上是词源学上的词源于古老的词源!),其中,作为对兵变或怯punish行为的惩罚,其余士兵随机选择了每10名士兵。这似乎是一种被遗忘和野蛮的做法,但它似乎与现代俄罗斯轮盘赌有些相似,后者是一种“现代”的自杀式随机游戏。


1
那不是我要问的;我在问他们是否按照您描述的方式推理了复合数字的相对频率。
Niel de Beaudrap 2012年

1
恐怕我对模糊的一般性不感兴趣,而且很明显我们根本不同意“算法”是什么。我不仅对“现象”感兴趣。否则,我们不妨引用“大爆炸”之后的所有量子力学事件作为“随机算法”的例子,这使整个主题变得微不足道。
Niel de Beaudrap 2012年

1
“软问题”并不意味着边界无限灵活的问题。“历史概述”与历史修正主义不同。
Niel de Beaudrap 2012年

2
您对我关于进化的“提示”,也没有因为浪费时间在我不喜欢的问题上而浪费我,也没有回避我先前的问题,这是很尊重的。实际上,您猜测希腊人可能知道您在说什么,却没有费心去写,这恰恰是“历史修正主义”可以提及的一件事。(也许阿基米德发明了十进制表示法,但没有费心去做任何记录;毕竟,Sand Reckoner非常接近于地方表示法,希腊人确实使用了以10为底的基数系统。但是我们应该认真地对待这个想法吗? (否)
Niel de Beaudrap 2012年

1
我同意这是可以想象的,并且它甚至都不是牵强的-当然,除了我们似乎没有关于希腊人谈论概率本身的任何记录这一事实之外。但是,如果有实际记录,则应该能够指出。否则,这只是猜测,而不是历史。
Niel de Beaudrap 2012年

-7

JS提到数论。Fermat素有“ 费马素数检验”美誉,这是一种概率算法,可追溯到1600年代,是Solovay-Strassen和Miller-Rabin等更现代素数检验的先驱。[需要一位专门研究数学和数论的历史学家来尝试准确地确定费马对它的了解,而不是现代知识,后者对于其伪素数(假阳性)等的结构要更为完整。]


2
您能举出费马(Fermat)使用他的测试作为一种方法来过滤掉随机选择的整数作为非素数(而不是素数所具有的一个有趣特性)吗?还是可以引用一位早期作者的建议呢?
Niel de Beaudrap 2012年

如上所述,确切的细节最好留给专业的历史学家。但是请注意[附录;应该提到这个]简单的历史事实是费马记的创始共同发明者,概率论与帕斯卡尔一起,奠定了一系列在17世纪中期字母的基础。
vzn 2012年

2
根据您认为其他人可能会显示的内容提出答案并不是很合适。再次,那是猜测。
Niel de Beaudrap 2012年

3
@vzn:如果Fermat意识到Fermat的Little定理是一个很好的素数检验,他会算出Fermat的第5个数不是素数。直到Ferler死后60多年,Euler才将其分解。
彼得·索尔

2
@vzn:[引证需要]
Jeffε
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.