如何简单地产生复杂的东西的东西?自从我第一次看到第30条 - 但它仍然惊人的是,它已经近40年了。很久以前,它成为我个人的历史最喜欢的科学发现,多年来它改变了我的整个世界观,并导致我致力于各种科学,技术,哲学等。
但即使在这些年之后,我们还有许多我们对规则30的基本事物。我决定现在是时候做我能够刺激寻找更多的过程。因此,如今,我为关于第30条的三个基本问题的答案提供了30,000美元。
规则30的设置非常简单。一个人处理一系列黑白细胞。给定特定的黑白单元格,下面的线上的细胞的颜色是通过观察每个单元格及其直接邻居来确定,然后应用以下简单规则:
如果你从一个黑色细胞开始,会发生什么?一个人可能会假设 - 就我第一次做了 - 这规则很简单,它产生的模式必须以某种方式相应简单。但如果您实际进行实验,这是您发现的前50步骤的发现:
但肯定地,人们可能会想到,这必须最终解决更简单的东西。然而,这是前300步骤的发生:
并且,是的,左侧有一些规律性。但是这种模式的许多方面寻找随机的所有实际目的。令人惊讶的是,规则如此简单可以产生如此复杂的行为。但我发现,在可能的节目的计算宇宙中,这种事情很常见,甚至无处不在。我建立了一整套新的科学 - 以各种各样的原则为基础。
并逐步越来越多的证据表明这些原则。但具体可以第30条告诉我们什么?我们具体说明它是如何表现如何?即使是最明显的问题也是困难的。几十年没有答案,我决定是时候定义了关于规则30的一些具体问题,并为其解决方案提供了大量奖项。
我在2007年做了类似的事情,在关于特定图灵机的核心问题上提出了奖项。并且至少在这种情况下,结果是优秀的。在短短几个月后,奖项永远是最简单的普遍图灵机的建立,以及为我的计算等价原则提供了强大的进一步证据。
规则30奖项问题再次出现核心问题:只是如何复杂是规则30的行为?每个问题都以不同,具体的方式要求这一点。像规则30本身一样,他们都巧妙地愚蠢到州。然而,为了解决其中的任何一个是一个重要的成就 - 这将有助于照明关于远远超出规则30的细节的计算宇宙的基本原则。
我想知道超过35年的每个问题。而且我一直在等待正确的想法,或合适的数学或计算思维,最终能够破解其中一个。但现在我想开启这个过程到世界。而且我热衷于看到可以实现的东西,以及它将采取的方法。
对于规则30奖项问题,我专注于规则30的特别戏剧性的特征:其中心柱的细胞表观随机性。从单个黑色单元开始,然后浏览这个单元格的值序列 - 它似乎随机:
&#10005 Arrayplot [ mapIndexed [如果[#2 [[2]]!= 21,#/。 {0 - > 0.2,1 - > .6},#]& cellularautomaton [30,{{1},0},20],{2}],网格 - >全部]
但是在什么意义上是真的随机?可以证明它吗?效果中的每个奖项问题使用不同的随机性标准,然后询问序列是否根据该标准随机。
很容易看到这不重复 - 它不会变得定期。但是这个问题是关于中心列是否变得周期性,即使在任意大量的步骤之后。只需运行规则30,我们知道序列在第一亿步骤中不会定期。但永远呢?要确定,我们需要一个证据。 (这里是序列中的第一百万和第一亿位,作为Wolfram数据存储库中的条目。)
问题2:每种颜色的每种颜色平均是否在中心列中平均发生?
以下是在规则30的中央列中连续更多步骤中的黑色和白细胞的数量,所以如果一个人的栏目:
&#10005 dataset [{{1,1,0,""},{10,7,3,2.33333333333335},{100,52,48,1.08333333333333}, {1000,481,519,0.9267822736030829},{10000,5032,4968,1.012882447650564}, {100000,50098,49902,1.0039276982886458},{1000000,500768,499232, 1.003076725850907},{10000000,5002220,4997780,110008883944471345}, {100000000,50009976,49990024,1.000399119632349}, {1000000000,500025038,499974962,101001570154626}}]
结果肯定接近黑色与白色的相等。但是这个问题要求是什么是任意大量步骤之后的比率的限制正好1。
问题3:计算中心列的第n个单元是否需要至少O(n)计算工作?
要在中心列中找到第n个单元格,可以始终只运行n个步骤的规则30,计算本钻石中所有单元格的值:
&#10005与[{n = 100}, Arrayplot [ mapIndexed [如果[总[ABS [#2 - n / 2 - 1]]< = n / 2,#,#/ 4]& CellularaUtomaton [30,Centrarray [{1},N + 1],N,{2}]]]]
但是,如果一个直接这样做,一个人正在做n 2个单独的细胞更新,所以所需的计算工作就像O(n 2)一样。此问题询问是否存在用于计算第n个单元的值的快捷方式,而无需所有此中间计算 - 或者特别是在少于O(n)计算工作中。
规则30是计算宇宙的生物:通过使用计算范例提供的新的智力框架来探索可能的简单程序来找到系统。但是我对规则30定义的问题有数学的数学中的类似物。
考虑π的数字。它们与规则30的中心列一样。有一种用于生成它们的明确算法。然而,一旦生成它们似乎所有实际目的都随机:
只是为了使模拟更近,这里是π在底座2中的前几位数字:
当然,用于生成π的数字的已知算法比生成规则30的中心列的简单规则要复杂得多。但是,好的,所以关于π的数字是什么?
好吧,我们知道他们不重复。在1760年代被证明是在显示π是一种非理性的数字时 - 因为数字重复的唯一数字是合理的数字。 (也显示在1882年,π是超然,即它不能以多项式的根源表达。)
问题2的模拟呢?我们知道是否在π不同的数字的数字序列中出现相同的频率?到目前为止已经计算了超过100万亿二数位 - 并且测量的数字频率非常接近(在前40万亿二进制数字中,1S到0的比率约为0.9999998064)。但在极限中,频率完全相同吗?人们一直在想这个几个世纪。但到目前为止,数学没有成功地提供任何结果。
对于Rational Numbers,数字序列是周期性的,并且易于计算出位数的相对频率。但对于所有其他“自然构造”数字的数字序列,基本上没有任何关于限制数字的频率所知的。这是一个合理的猜测,实际上,π的数字(以及规则30的中心列)是“正常”的,这不仅是每个单独的数字,而且在限制中发生任何给定长度的每个数字块具有相同的频率。正如20世纪30年代所指出的那样,它是完全可能的“数字构造”正常数字。 amppernowne的号码是通过连接连续整数的数字来形成的,是一个示例(是,是,这在任何基础上都有工作,也可以通过连接连续整数的函数值来获得正常数字):
但是,这一点是,对于通过标准数学函数的组合形成的“自然构造”的数字,在已经找到了任何数字的规则性的情况下,毫无示例。当然,它最终取决于一个通过“规律性”的方式 - 在某些水平上,问题延伸到寻找外部智能的一位数字数字。但绝对没有证据,例如,甚至发现甚至找到一个方形的奇怪组合,这将具有数字序列,具有一些非常明显的规律性。
好的,那么问题3的模拟对于π的数字呢?与规则30不同,在序列中计算元件的明显方法是一次一步,π的计算数字的传统方式涉及将更好的近似为π作为完整编号。在1910年ramanujan发明的标准(奇异看)系列并由Chudnovsky Brothers于1989年改进,该系列中的前几个术语给出了以下近似值:
&#10005样式[表[n [n [(12 * \!\( \ *底部地点屏幕[\(\ [sum] \),\(k = 0 \),\(n \)] \ * fracticlebox [\( \ * superscriptbox [\((\( - 1 \))\),\(k)] * \(\((6 * k)\)!\)* \((13591409 + 545140134 * k)\)\),\(\((3 * k)\)!\) \ * superscriptbox [\((\(k!\))\),\(3 \)] * \ *上标箱[\(640320 \),\(3 * k + 3/2 \)] \)] \)\))^ - 1,100],{n,10}] // 列,9]
那么找到n个数字的计算努力是多少?系列所需的术语数为O(n)。但是,每个术语都需要计算到N个数字精度,这需要至少O(n)个单独的数字操作 - 暗示完全计算所需的计算工作超过O(n)。
直到20世纪90年代,假设没有任何方法来计算π的第n个数字而不计算所有以前的数字。但是,在1995年,西蒙普夫发现,实际上它可以在不计算早期计算的情况下计算 - 尽管略有概率 - 第n个数字。虽然人们可能认为这将允许使用少于O(n)计算工作的第n个数字,但是一个人必须在n位精度下进行计算意味着至少o(n)计算工作仍然需要。
三条规则30奖项问题,这是一个已经取得最大进展的问题。因为虽然在规则30中的中心列是常态的,但是erica jen于1986年显示,没有两列可以成为周期性的。事实上,人们还可以给出另一列中的单列加上分散的单元格的参数不能都是周期性的。
关于一对列的证明使用规则30的特殊功能。考虑规则的结构:
通常,一个人只会说给出每个细胞三联,规则决定了下面的中心单元的颜色。但对于规则30,可以有效地运行规则侧面:给出右侧和上面的小区,也可以唯一地确定左侧的小区的颜色。这意味着什么,如果给出两个相邻的列,则可以将整个模式重建到左侧:
&#10005 graphicsrow [ Arrayplot [#,plotrange - > 1,网格 - >全部,plotrange - > 1, 背景 - >浅灰, 图像化 - > {自动,80}]& / @(padleft [#,{length [#],10}, 10]& / @ 模块[{data = {{0,1},{1,1},{0,0},{0,1},{1,1,1},{1, 0},{0,1},{1,10}}}, 扁平[{{data}, 表[加入[ 表[模块[{p,q = data [[n,1]],r = data [[n,2]], s =数据[[n + 1,1]]}, p = mod [-q - r - q r + s,2]; prependto [data [[n]],p]],{n,1,长度[data] - i}], prependto [data [[ - #]],10]& / @反向[范围[i]],{i,7}]}, 1]])]
但是,如果列是定期的,它立即立即遵循重建模式也必须是周期性的。然而,通过施工至少初始条件绝对不会定期,因此列不能都是周期性的。如果列不相邻,则有关相同的参数,如果一个列不知道两个列中的每个单元格。但是没有已知的方法可以将参数扩展到单个列 - 例如中心列 - 因此它不会解决第一个规则30奖励问题。
好的,那么解决它的解决方法是什么?好吧,如果结果列最终是周期性的,则可以计算它,并表明这一点。我们知道这对该有限的步骤没有定期,但是一个人至少可以想象可能有一个万亿步短暂的瞬态,之后是定期的。
那是合理的吗?好吧,瞬态确实发生 - 理论上(理论上(就像在经典的图灵机停止问题中),它们甚至可以任意长。这是一个有点时髦的榜样 - 通过4种可能的颜色搜索规则(完全主义代码150898)。运行200步,中心列看起来非常随机:
&#10005 Arrayplot [ cellularautomaton [{150898,{4,1},1},{{1},0},{200,150 {-1,1}}, 污染 - > {0 - > Hue [0.12,1,1],1 - > Hue [0,0.73,0.92], 2 - >色调[0.13,0.5,1],3 - > Hue [0.17,0,1]}, PixelConstromed - > 2,框架 - >错误的]
&#10005 Arrayplot [ CellularaUtomaton [{150898,{4,1},1},{{1},0},{500,300 {-1,1}}], 污染 - > {0 - > Hue [0.12,1,1],1 - > Hue [0,0.73,0.92], 2 - >色调[0.13,0.5,1],3 - > Hue [0.17,0,1]},框架 - >错误的, imagePadding - > 0,PlotrangePadding - > 0,PixelConstroming - > 1]
但是如果一个人围绕中心列缩放,那么有一些令人惊讶的东西:在251个步骤之后,中心列似乎演变为固定值(或者至少它已修复超过一百万的步骤):
&#10005 grid [{transplot [#,网格 - >真的, 污染 - > {0 - > Hue [0.12,1,1],1 - > Hue [0,0.73,0.92], 2 - >色调[0.13,0.5,1],3 - > Hue [0.17,0,1]},图像化 - > 38, meshstyle - >打火机[graylevel [.5,.65],.45]]& / @ 划分[ cellularautomaton [{150898,{4,1},1},{{1},0},{1400,{-4,4}}, 100]},间距 - > .35]
可以在第30条中发生这种情况发生这种情况吗?好吧,看看规则30模式,现在突出显示左侧的对角线是周期性的:
&#10005步长= 500; diagonalsofrule30 = 撤销 /@ 转发[ MapIndexed [Rotateleft [#1,(步骤+ 1) - #2 [[1]]]&, CellularAutomaton [30,{{1},0},步骤]]; diagonondataofrule30 = 表[与[{split = 拆分[分区[DROP [DIAGONALSOFRULE30 [K],1],8]], 那些=扁平[ 位置[反向[Drop [DROPONSOFRULE30 [K]],1]], 1]],{长度[拆分[1]],拆分[[1,1]], 如果[长度[split]> 1,拆分[[2,1]], 长度[diagonalsofrule30 [[k]]] - 楼层[k / 2]]},{k,1, 2步+ 1}]; transientdiagonalrule30 =%; TransitionPointOfrule30 = 如果[Integerq [#[#[3]],#[[3]], 如果[#[[[[1]]> 1, 8#[[1]] +计数[拆分[[#[[[2]] - #[[3]] [[1],0] + 1,0]]& / @ diagonaldataofrule30; droweasingtransitionpointofrule30 = 附加[min / @ partition [transitionpointofrule30,2,1],0]; 过渡adiagonalsofrule30 = 表[加入[ 拿[diagonalsofrule30 [[n]], droweasingtransitionpointofrule30 [[n]]] + 2, drop [diagonalsofrule30 [[n]], 减少触发点文件30 [[n]]],{n,1,2步+ 1}; transientdiagonalrule30 = MapIndexed [Rotayight [#1,(步骤+ 1) - #2 [[1]]&, 转置[reverse / @ transitioneddiagonalsofrule30]]; 较小的ransientdiagonalrule30 = 拿[#,{225,775}]& / @采取[Transienddiagonrule30,275]; 框架[traysplot [flowertransientdiagonalrule30, 污染 - > {0 - >白色,1 - >灰色,2 - >色调[0.14,0.55,1], 3 - > Hue [0.07,1,1]},PixelConstroming - > 1, 框架 - >没有任何, imagePadding - > 0,imagemargins - > 0, plotrangepadding - > 0,PlotrangePadding - >满的 ],Framemargins - > 0,Framestyle - > Graylevel [.75]]
似乎是一个边界,它在右侧的疾病中左侧分离。并且至少在前100,000个左右的步骤中,边界似乎平均在每个阶梯上平均移动到左侧 - 具有大致随机波动:
&#10005 data = cloudget [ CloudObject [ " https://www.wolframcloud.com/obj/bc470188-f629-4497-965d- \ A10FE057E2FD"]]; listlineplot [ MapIndexed [{First [#2], - # - .252 First [#2]}&, 模块[{m = -1,w}, w = if [第一个[#]> m,m =第一个[#],m]& / @ data [[1]]; m = 1; 表[whis [w [[m]]<我,m ++]; m - i,{i,100000}]]], 填充 - >轴,aspectratio - > 1/4,maxplotpoints - > 10000, 框架 - >真实的,plotrangepadding - > 0,Axesorigin - > {自动,0}, plotstyle - > Hue [0.07',1,1], 馅料 - >指令[不透明度[0.35`],色调[0.12',1,1]]]
但是,我们如何知道在某些时候不会有一个巨大的波动,这使得左侧横跨中心列的命令,也许甚至会使整个模式定期?从我们到目前为止的数据来看,它看起来不太可能,但我不知道以任何方式知道。
它肯定是有具有异常“瞬态”的系统的情况。考虑Primes的分布,并计算LogintegRal [n] - primepi [n]:
&#10005离标[logintegral [n] - primepi [n],{n,10000}, 填充 - >轴, 框架 - >真实的,plotrangepadding - > 0,aspectratio - > 1/4, 加入 - >真实的,plotstyle - > Hue [0.07',1,1], 馅料 - >指令[不透明度[0.35`],色调[0.12',1,1]]]
是的,有波动。但从这张照片来看,它肯定看起来好像这种差异总是是积极的。而且,例如,ramanujan的想法。但事实证明它不是真的。首先,它将失败的界限是天文大(偏斜的10 ^ 10 ^ 10 ^ 964)。虽然仍然没有人发现差异为负的显式值,但是已知在n = 10 317之前必须有一个(并且最终差异将是负的至少近百万分之一)。
我强烈怀疑,没有这种情况发生在第30条中的中央列。但在我们有一个证据表明它不能,谁知道?
顺便说一下,人们可能会认为,虽然人们可以通过在规则30的中心列中曝光规律性来证明周期性,但是不周度可以类似的。但实际上,有些模式可以容易地看到的中心列是非定期的,即使它们非常常规。主类示例是嵌套模式。这是一个非常简单的例子,从规则161 - 当n = 2k时,中心列具有白色小区:
人们可以通过连续应用替换来思考Thue-Morse序列:
事实证明,该序列中的第n术语由MOD [DigitCount [N,2,1],2] - 永不周期性。 事实证明,规则30的中心列可以由替代系统生成吗? 再次,我会很惊讶(尽管看似有很自然的例子,那么出现非常复杂的替代系统)。 但再一次,直到一个有证据,谁知道? 这是别的东西,可能会令人困惑,或者可能会有所帮助。 规则30奖项问题所有关注于在无限阵列的单元格中运行的规则30。 但是,如果一个人认为只有N细胞,那么用周期边界条件(即右边的电池的正确邻居是最左边的细胞,反之亦然)? 系统的总状态有2个 - 可以绘制一个状态转换图,显示哪个 ......