前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用自动机的思想说明时间断片是无法感知的

用自动机的思想说明时间断片是无法感知的

作者头像
林德熙
发布2022-08-12 19:10:13
2640
发布2022-08-12 19:10:13
举报
文章被收录于专栏:林德熙的博客

用自动机可以模拟出一个世界,虽然这个世界是虚拟的,但这个世界里面将会根据基础的自动机规则自动推算出很多有趣的规则。同时也能很简单理解在自动机模拟的世界里面,在这个世界里面的生物是无法感知时间断片的

我不是物理学家,本文也是不是任何证明现实世界时间相关的文章。但我是计算机的砖家,搬了很多年的砖也知道在计算机里面可以简单做出一个世界,本文就是说明在自动机模拟出来的世界里面的生物是无法感知时间断片的,也无法测量

从我的上篇博客自动机告诉了大家如何创建一个自动机的世界,以下为一个创建自动机世界的方法,创建规则如下

  • 在一个有限的二维布尔数组里面,以 true 代表存活
  • 不断根据算法规则遍历数组,同时创建出新的相同大小的数组用于迭代
  • 新创建的数组将根据旧数组的数据按照一定的算法更新数组每个元素的值

从上层看,可以认为我有一个数组,但这个数组的元素会跟随时间进行变化。虽然底层说的是使用两个数组,但实际上可以从上层上看到的只有一个数组,因为新创建的数组就替换旧的数组。将数组作为一张图片,每个元素具有固定的宽度和高度,里面的元素按照布尔值给不同的颜色,就可以画出自动机的世界,这是一个二维的世界

那么新数组创建的算法可以怎么选?下面是一个简单的计算方法,设定每次更新新数组就成为新的回合开始,每个数组里面的元素称为 Cell 而根据布尔值状态可以认定为 Cell 的存活或不存活,那么创建自动机世界只需要三条规则

  • 在 Cell 周围有两个或三个邻居存活,他就可以存活。这里的周围指的是将二维数组放在二维平面对应的元素的周围的元素
  • 如果 Cell 已经不存活,但他周围有三个邻居,于是他就可以出生
  • 在 Cell 周围,如果有超过三个以上的邻居,他就因为太拥挤而不存活。如果有小于两个邻居存活,他因为他孤单而不存活

简单按照颜色黑色和白色,同时每个格子表示一个数组的元素,那么运行自动机世界可以看到下图

上面是刚好满足以上条件 1 的静态图,也就是随着数组的迭代也就是回合数的变化,这些自动机世界里面的图案是不会发生更改的。但下面的图片将会随着回合数的变化,进行循环变化

根据这个规则,这个世界的驱动是随着时间更改二维布尔数据而让这个世界继续往下走。而这里的随着时间更改的时间却是咱计算机的时间。意味着咱的计算机配置不错,可以一秒跑一遍,让自动机推进。而如果我打开了 QQ 电脑就卡了,此时需要10秒才能跑一遍。而对于没有参照物的自动机里面的世界,是无法知道现在这个自动机的时间流速和计算机时间流速的对比的。甚至,我需要断电了,我将数据保存起来,等到我下一次开机才继续跑。那么自动机里面的生物依然会认为自己的时间还在继续走,不会感知到我曾经断电了

可怕的是我一次断电的时候,我的电脑被了,数据丢了。此时意味着这个自动机的世界没有下一个时间了。也就是自动机里面的杞人可能担忧的是没有下一秒,时间就此结束

而如果我的电脑只是被砸坏了,数据有点损坏,那么自动机里面的生物也许会发现有很多自相矛盾的历史事件,却很难意识到某个时间自动机的世界就被更改数据了

本文所说仅仅是自动机的世界,而不是说现实的世界,请不要认为现实的世界也是这个样子。因为我认为也许在很长的时间,都不会存在时间旅行的技术,则为什么我找不到未来过来的东西

只要设计能进行时间旅行,那么瞬间技术和文化将会爆掉。原因是我时间推进一年,此时将这一年的知识拿回到上一年,于是上一年就拥有了一年的技术。然后递归,不断推进下一年,回到上一年,直到无法消化这部分技术

更多自动机博客请看

用自动机的思想说明光速

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档