TuringMachine

TuringMachine[rule,init,t]
产生一个列表,表示按指定规则运行的图灵机从初始条件 init 开始,演化 t 步的过程.

TuringMachine[rule,init]
给出将初始条件 init 向前演化一步所得的结果.

TuringMachine[rule]
TuringMachine 的运算符形式,相当于向前演化一步.

更多信息更多信息

  • 对于一维图灵机(Turing machine),TuringMachine 简化的每一步由 {{s,x,dx},{a1,a2,}} 的形式给出,头以状态 s,带中的单元具有值 ai,头的坐标 x 是以相对 ai,并相对于它的初始位置位移为 dx.
  • 如果 dx 省略图灵机(Turing machine)的初始条件,它的值是 0.
  • 对一个 d 维图灵机(Turing machine),带指定为一个 d 维的数组,并且坐标 x 和相对位置 dx 是长度d 的列表.
  • 一个图灵机(Turing machine) 的规则设定可以通过形式 {si,ai}->{spi,api,offi} 的列表给出,可以带有下列元素:
  • si头的状态
    ai头下单元的值
    spi头的新的状态
    api头下单元的新值
    offi头移动的偏移
  • 状态和单元值是整数模式,或其他表达式,单个单元值不能是列表.
  • 在一维情况下,每个位移 offi 是一个单一整数;在多维情况下,它是一个整数列表.
  • 当状态和单元值分别设置为1 到 s 及0到 k-1 范围内的整数,下列可以在 rule 中设定:
  • n2 态 2 色带有数量 n 的机器
    {n,s}s 状态, 2色带有数量 n 的机器
    {n,s,k}s 状态, k 色带有数量 n 的机器
    {n,s,k,r}允许位移 offi 在范围 -r+r (不包括 0)
    {n,s,k,{r1,r2,,rd}}d 维机器,带有 +/-r_(1), +/-r_(2), 的偏移
    {n,s,k,{{off1},{off2},}}允许指定位移的机器
    rule给出带有明确给定规则的机器
  • 图灵机(Turing machine )的数量的规则可以指定下面:
  • 2态2色机器4096
    sk 色机器(2 s k)^(s k)
    sk 色范围 r 的机器(2 r s k)^(s k)
    二维 sk 色机器(4 s k)^(s k)
  • 如果机器关于它本身的配置,没有设置任何规则,则它的配置不会发生改变.
  • 初始条件 init 的典型形式可以如下:
  • {s,{{},0}}在 0 秒的一个一维带上,状态 s 的头部
    {s,{{a1,a2,},0}}限制 ai 的区域,在一个无限带内
    {{s,x},{{a1,a2,},0}}初始坐标 x 的 头部的限制区域
    {{s,},{{a1,},{b1,}}}bi 的重复背景
    {{s,},{a1,a2,}}假定循环的有限带
  • TuringMachine[rule,init,t] 生成一个长度为 t+1 的变化序列.
  • TuringMachine[rule][init] 等价于 TuringMachine[rule,init].

范例范例打开所有单元关闭所有单元

基本范例  (4)基本范例  (4)

2 态2 色机器2506,带有4秒的单带:

In[1]:=
Click for copyable input
Out[1]=

2 态2 色机器2506,带有无限的空白带:

In[1]:=
Click for copyable input
Out[1]=

绘制带的连续配置:

In[2]:=
Click for copyable input
Out[2]=

注入 状态信息放入带内:

In[1]:=
Click for copyable input
Out[1]=

以红色的方块显示头的位置:

In[2]:=
Click for copyable input
Out[2]=

给出一系列转变规则的机器:

In[1]:=
Click for copyable input
Out[1]=
2007年引入
(6.0)