康托生命游戏与通用图灵机

PS:今年春天时的一篇读书笔记

正文:

好开心,一年多来再次能看到厘清这么多疑问的书。
丹尼尔丹尼特的《自由的进化》:但我们谈论自由时我们谈些什么?自由并非天赋,它又是如何一步步进化的?
自由意志如何与一个决定论的世界相容?

这里有一个非常有趣的游戏,这个简单的模型可以如此有力,帮我们思考决定论下是如何产生“避免者”的。可以厘清思考道路上众多的障碍中的第一个:决定论是如何不意味着“不可避免”的。(CH2)

康托生命游戏(Conway‘s Game of Life)

康托生命生活在一个二维的平面世界中。想象一个二维像素网格,每个像素的状态可以是开或关。  每个像素有八个邻居:四个紧邻(东西南北),四个对角相邻。世界状态随每次钟表滴答而改变,并遵循如下简单的规则:
生命物理学:对于网格中的每一格,清点它8个邻居中在当前时刻有几个状态为“开”。如果答案是2,该格在下一刻保持其当前状态(“开”或“关”)。如果答案是3,该格在下一刻状态为“开”。其他所有情况下,该格在下一刻状态为“关” 。
就这么多啦~

就这点规则能做些什么事??不妨前往传送门:wiki词条, 一个基于JAVA的动画模拟
可以是一个静止的生命。

可以是一个周期变动的生命。

还可以演变出会移动的滑翔机(下图中往东南方向移动的小块)及生产它的工厂(右上角),也可以看作一把枪发射子弹。
 

更令人震惊的是,游戏的创始人康威和他的学生们证明了在这个二维世界中存在包含了通用图灵机(Universal Turing Machine)。为啥令人震惊,因为一台通用图灵机理论上能计算任何可计算函数,我们现在用的个人PC,到超级计算机都是通用图灵机的一种。

这里有一个具体实现——保罗.伦德尔(Paul Rendell):传送门他的图灵机大概是长这样滴:

我们还可以走的更远,康威他们还成功设计了一个自我复制结构,会通过产生自身的更多拷贝而在空平面上殖民,就像培养皿里的细菌,每个包含了一个通用图灵机。不过这么复杂的家伙要长多大?他们估计是在10^13像素这个数量级。

再走远一些,离开了设计者上帝们,这些复杂的结构能否自发出现 ?如果我们引入变异,上面的大家伙还能否正常的复制,再考虑选择的力量,我们的二维世界又会朝怎样发展?这里又涉及到进化的问题,且放下不表。

康托的二维世界只是基于如此简单的规则,却可以演变出类生命的模式,他们可以避免受到某些特定的伤害(发生),而使自身尽可能久的存在。在这样一个决定论的世界,他们也有了一定程度的“避免性”,也即我们一开头所要厘清的第一个障碍:决定论并不意味着“不可避免”。(被决定的避免仍是避免)

时间: 2024-10-21 16:01:21

康托生命游戏与通用图灵机的相关文章

【转载】【元胞自动机】生命游戏(时间简史)

原帖:http://www.cnblogs.com/lvpengms/archive/2010/02/08/1666095.html 晚上闲着没事干,鉴于前一段时间数学建模中看到了生命游戏 Game of Life,所以用C++实现一下,效果还不错. 本程序是用vs2005 C++编写,有意想要程序和源码的朋友可以给我发邮件. 更新:程序源码可以从这个地址下载:下载元胞自动机源码及程序 =======================================================

生命游戏和随机数之间某种不可言说的秘密

为什么我感觉随便写一个一维生命游戏规则就可以做出一个看起来很随机实际上也蛮随机的随机数生成器.... 这是代码: 1 #include <cstdio> 2 #include <fstream> 3 #include <iostream> 4 5 #include <cstdlib> 6 #include <cstring> 7 #include <algorithm> 8 #include <cmath> 9 10 #i

元胞自动机+生命游戏

元胞自动机 元胞自动机(Cellular Automaton,复数为Cellular Automata,简称CA,也有人译为细胞自动机.点格自动机.分子自动机或单元自动机).是一时间和空间都离散的动力系统.散布在规则格网 (Lattice Grid)中的每一元胞(Cell)取有限的离散状态,遵循同样的作用规则,依据确定的局部规则作同步更新.大量元胞通过简单的相互作用而构成动态系统的演化. 不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成.凡是满

生命游戏&amp;一维细胞自动机 笔记

de 生命游戏是一种简单的聚合模型,展示了事物是如何聚合的,是自动机(CA)模型的一种.由剑桥大学约翰康威发明,其规则为: 1. 每个细胞拥有八个邻居,细胞状态只有存活(黑)和死亡(白)两种: 2.处于死亡状态的细胞可以在有三个存活邻居的情况下复活: 3.存活状态的细胞在相邻有2个一下或三个以上存活细胞的情况下会死去,2-3个相邻细胞存活时会继续存活: 从而产生了信号灯.闪光灯.滑翔机.警示灯等经典的变换. 遵循简单规则的简单图像聚合一起可以形成复杂图像,甚至如活物一般能进行空间平移(自组织模型

生命游戏/Game of Life的Java实现(转)

首先简单介绍一下<生命游戏> 生命游戏其实是一个零玩家游戏.它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞.一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量.如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去:相反,如果周围活细胞过少,这个细胞会因太孤单而死去.具体如下图: 每个格子的生死遵循下面的原则: 1. 如果一个细胞周围有3个细胞为生(一个细胞周围共有8个细胞),则该细胞为生(即该细胞若原先为死,则转为生,若原先为生,

LeetCode:Game of Life - 康威生命游戏

1.题目名称 Game of Life(康威生命游戏) 2.题目地址 https://leetcode.com/problems/game-of-life 3.题目内容 英文: According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conw

关于康威生命游戏的学习

 康威生命游戏,又称康威生命棋,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机.它最初于1970年10月在<科学美国人>杂志上马丁·葛登能的"数学游戏"专栏出现. 一个偶然机会发现了这个美妙的生命游戏.于是开始写程序来实现它,其实实现是很简单的,我现在还只能做到这个而已,不过还会继续深究下去的.先用Random来生成随机数,这样就可以在初始的时候在随机位置设定生死细胞了.输出的时候用2个for循环就是了.昨天做的时候遇到的问题是不知道最后该怎么判断了,因为判断

【生命游戏】

/* 生命游戏 说明: 生命游戏(game of life)为1970年由英国数学家J.H.Conway所提出来,某一细胞的邻居包括上,下,左,右,左上,左下, 右上,右下相邻之细胞.游戏规则如下: 孤单死亡:如果细胞的邻居小于一个,则该细胞在下一次状态将死亡. 拥挤死亡:如果细胞的邻居在四个以上,则该细胞在再一次状态将死亡. 稳定:如果细胞的邻居为二个或三个,则下一次状态为稳定存活. 复活:如果某位置原无细胞存活,而该位置的邻居为三个,则该位置将复活一细胞. 解法: 生命游戏的规则可简化为以下

混沌,细胞自动机与生命游戏

混沌,细胞自动机与生命游戏 1.康威生命游戏的规则 生命游戏中,对于任意细胞,规则如下:每个细胞有两种状态-存活或死亡,每个细胞与以自身为中心的周围八格细胞产生互动. Ⅰ. A live square with two or three live neighbors survives (survival).Ⅱ. A dead square with exactly three live neighbors becomes a live cell (birth).Ⅲ. In all other c