图灵机原理三体中人计算机,图灵机的运行机制

图灵机工作步骤

准备

- 存储带子上的格子初始话      - 设置内部状态存储器当前状态      - 读写头设置初始在存储带上所做的格子位置      - 准备好控制指令,即控制程序。

反复执行以下步骤,直到停机

- 读写头读出当前格子的数字或符号 - 根据当前状态和读到的字母或符号找到对应的控制指令 - 根据控制指令,执行以下三个动作    1. 读写头在格子上擦除或写入一个数字或符号    2. 变更状态到一个新状态

读写头向左或向右移动一格

-估计你还是不明白,别急。看过《三体》的同学都知道三体人把地球人看做“虫子”,三体人的维度比地球三维世界高,就好像我们人类把看虫子一样。

下面,我们把虫子放到一个二维的世界中,以虫子为例,给大家来说明最简单的图灵机模型(注:该例子非原创)。

假设理想的情况一:

虫子所处的二维世界是一个无限长的纸带,这个纸带上被分成了若干小的方格,而每个方格都仅仅只有黑和白两种颜色。纸带的片段为:

图灵机原理三体中人计算机,图灵机的运行机制_第1张图片

假设虫子的感官只有眼睛,并且它的视力短的可怜,只能看到当前所处格子的颜色

虫子可以向前爬一个格子或向后爬一个格子

虫子的操作系统、程序为:我们假设黑色是食物区,虫子吃到食物后前移一格,白色是空白区,没有食物后退一格,

4ed87affec5e47bc5c081cdd4ec266ac.png

在这个情况中格子的颜色是虫子的输入信息,集合为IN={黑色,白色},输出集合为 OUT= {前移一格,后移一格}

从开始位置开始,虫子会怎么移动呢?

开始是黑色,虫子前移一格,到达第2格

第2还是黑色,虫子前移一格,到达第3格

第3格还是黑色,虫子前移一格,到达第4格

第4格为白色,虫子后移一格,回到第3格

可见,这条带子上,虫子在第4格和第3格来回移动循环不止。

假设理想的情况二

现实中虫子肯定不可能傻到无线循环,虫子会有饥饿、吃饱的感受,食物吃了后也会消失。因此我们在情况下中改进下模型。

虫子在黑色的格子时,如果是饥饿状态,吃掉食物把格子变成白色;如果是吃饱状态,后移一格

虫子在白色的格子时,如果是饥饿状态,停下来等食物长出来涂黑;如果是吃饱状态,前移一格

虫子的操作系统、程序为:

图灵机原理三体中人计算机,图灵机的运行机制_第2张图片

在这种情况中,输入集合为IN={黑色,白色},输出集合为 OUT= {前移一格,后移一格,吃掉食物涂白,等待食物长出来涂黑},内部状态S={吃饱,饥饿}

二维纸带不变,从开始位置开始,虫子初始是饥饿状态,虫子会怎么移动呢?

第1格是黑色,虫子饥饿,吃掉食物格子变白,虫子新状态为吃饱

第1格为白色,虫子吃饱,虫子前移一格,到达第2格,虫子新状态为饥饿

第2格为黑色,虫子饥饿,吃掉食物格子变白,虫子新状态为吃饱

第2格为白色,虫子吃饱,虫子前移一格,到达第3格,虫子新状态为饥饿

第3格为黑色,虫子饥饿,吃掉食物格子变白,虫子新状态为吃饱

第3格为白色,虫子吃饱,虫子前移一格,到达第4格,虫子新状态为饥饿

第4格为白色,虫子饥饿,等待食物长出来涂黑,虫子新状态为吃饱

第4格为黑色,虫子吃饱,虫子后退一格,到达第3格,虫子新状态为饥饿

这时,第3格已经长出来食物,是黑色,因此流程和第5步的情况一样了

情况二,小虫的行为比情况以复杂了一些,但小虫最后仍然会落入无限循环当中。

到此,如果你已经彻底搞懂了二维虫子是怎么移动的,那么你已经明白了图灵机的工作原理了!因为从本质上讲,最后的小虫模型就是一个图灵机!

你可能感兴趣的:(图灵机原理三体中人计算机)