Simple binary Turing machines, their numbering, behaviour and output.

Wolfram’s numbering scheme of Turing machines with s states and k characters and no explicit halting state.

Number of Turing machines with s states and k characters (binary machines are enligthed) :

zenil_1.gif

s→2 s→3 s→4 s→5
k→2 4096 2985984 4294967296 10240000000000
k→3 2985984 198359290368 36520347436056576 14348907000000000000000
k→4 4294967296 36520347436056576 1208925819614629174706176 109951162777600000000000000000000
k→5 10240000000000 14348907000000000000000 109951162777600000000000000000000 2980232238769531250000000000000000000000000

Instructions table of a machine whose rule number is given :

zenil_2.gif

zenil_3.gif

zenil_4.gif

Rule number of a machine whose instructions table is given :

zenil_5.gif

zenil_6.gif

zenil_7.gif

Clearly TMNumber annihilates instructions :

zenil_8.gif

zenil_9.gif

The s×k triplets, (s,k,d), associated to a given rule, in Wolfram’s canonical order (s =1, 2, ...;k=0, 1, ...; d=-1,+1) :

zenil_10.gif

zenil_11.gif

zenil_12.gif

The same triplets in shifted mode (s =0, 1, ...;k=0, 1, ...; d=0,1) :

zenil_13.gif

zenil_14.gif

zenil_15.gif

Recovering the machine rule number from the shifted triplets :

zenil_16.gif

zenil_17.gif

zenil_18.gif

zenil_19.gif

Example : running binary 2-state machine 2867 on an initially white tape :

zenil_20.gif

zenil_21.gif

zenil_22.gif

Graphics:{2, 2, 2867}

Running on an initially black tape reverses the black and white cells if the rule number is suitably changed (permute successive odd and even triplets and flip the character bit in each triplet) :

zenil_24.gif

zenil_25.gif

zenil_26.gif

zenil_27.gif

zenil_28.gif

zenil_29.gif

zenil_30.gif

zenil_31.gif

Out[20]=

Graphics:{2, 2, 3532}

zenil_33.gif

Analysis of the 4096 2-states binary machines.

Some machines surely do not halt and may be discarded :

Example 1.  Machines that do not halt because the head moves repeatedly to the left  (in shifted mode : (σ,0)->(σ’,κ’,0)):

zenil_34.gif

zenil_35.gif

zenil_36.gif

zenil_37.gif

Example 2.   Machines that do not halt because the initial instruction is applied repeatedly (in shifted mode : (0,0)->( 0,κ,0)) :

zenil_38.gif

zenil_39.gif

zenil_40.gif

zenil_41.gif

Subsets 1 & 2 are not disjoint  :

zenil_42.gif

zenil_43.gif

zenil_44.gif

One half (2048) of the machines halt in one step :

Example 3 : Machines that halt in one step outputing a single white cell.

zenil_45.gif

zenil_46.gif

zenil_47.gif

zenil_48.gif

zenil_49.gif

Example 4 : Machines that halt in one step outputing a single black cell.

zenil_50.gif

zenil_51.gif

zenil_52.gif

zenil_53.gif

zenil_54.gif

Machines belonging to the union of the previous subsets are rather trivial.  The other machines belong to the “reduced” set :

zenil_55.gif

zenil_56.gif

zenil_57.gif

zenil_58.gif

zenil_59.gif

Evolution of the 512 “not so” trivial machines on an initially white tape :

zenil_60.gif

zenil_61.gif

zenil_62.gif

Observe that the busiest machines output 111 in 7 steps (Rule numbers, 423, 935, 1447, 1959, 2439, 2471, 2983, 3495, 3891, 4007) or 101 in 7 steps too (Rule number, 2867).

zenil_63.gif

Output inventory of the halting 2-states binary machines.

Mathematica preliminaries :

zenil_64.gif

zenil_65.gif

zenil_66.gif

zenil_67.gif

zenil_68.gif

One only runs the 512 machines from the reduced set and, after that, one reintroduces the discarded one-step halting machines :

zenil_69.gif

zenil_70.gif

zenil_71.gif

zenil_72.gif

zenil_73.gif

zenil_74.gif

zenil_75.gif

{0} 1024
{1} 1024
{0,0} 106
{1,1} 108
{0,1} 42
{1,0} 32
{1,1,1} 10
{1,0,1} 1

The output has been read from left to rigth but it may equally well be read from rigth to left :

zenil_76.gif

zenil_77.gif

zenil_78.gif

zenil_79.gif

zenil_80.gif

The tape may equally well be initially completely black :

zenil_81.gif

zenil_82.gif

zenil_83.gif

zenil_84.gif

zenil_85.gif

zenil_86.gif

zenil_87.gif

zenil_88.gif

zenil_89.gif

zenil_90.gif

zenil_91.gif

From left to rigth : halting 2-states machines 1) on a white tape, output read from left to rigth  2) on a white tape, output read in both directions  3) and 4) on a white or black tape, output read in both directions (completely symmetrical under 0-1 and rigth-left inversions).

zenil_92.gif

Analysis of the 2985984 3-states binary machines.

Some machines surely do not halt and may be discarded :

Example 1.  Machines that do not halt because the head moves repeatedly to the left  (in shifted mode : (σ,0)->(σ’,κ’,0)):

zenil_93.gif

zenil_94.gif

zenil_95.gif

zenil_96.gif

Example 2.   Machines that do not halt because the initial instruction is applied repeatedly (in shifted mode : (0,0)->( 0,κ,0)) :

zenil_97.gif

zenil_98.gif

zenil_99.gif

zenil_100.gif

Example 3.   Machines that do not halt because they execute repeatedly a specific pair of instructions (in shifted mode : (0,0)->( 1,κ,0) and  (1,0)->( σ’,κ’,0) :

zenil_101.gif

zenil_102.gif

zenil_103.gif

zenil_104.gif

Example 4 : Machines that halt in one step outputing a single white cell.

zenil_105.gif

zenil_106.gif

zenil_107.gif

zenil_108.gif

Example 5 : Machines that halt in one step outputing a single black cell.

zenil_109.gif

zenil_110.gif

zenil_111.gif

zenil_112.gif

Machines belonging to the union of the previous subsets are rather trivial.  The other machines belong to the “reduced” set :

zenil_113.gif

zenil_114.gif

zenil_115.gif

The busiest 3-states machines halt in 25 steps :

zenil_116.gif

zenil_117.gif

zenil_118.gif

zenil_119.gif

zenil_120.gif

zenil_121.gif

zenil_122.gif

zenil_123.gif

Out[118]=

zenil_124.gif

Two most productive machine are among the busiest.

zenil_125.gif

Output inventory of the halting 3-states binary machines.

One only runs the 580608 machines from the reduced set and, after that, one reintroduces the discarded one-step halting machines :

zenil_126.gif

zenil_127.gif

zenil_128.gif

zenil_129.gif

zenil_130.gif

zenil_131.gif

zenil_132.gif

{0} 746496
{1} 746496
{0,0} 95624
{1,1} 96132
{0,0,0} 11170
{1,1,1} 15574
{0,0,1} 2824
{0,1} 52192
{1,1,0} 2962
{1,1,1,1} 1192
{1,0,1} 2304
{0,1,0} 2188
{1,0} 45384
{0,1,1} 2142
{1,0,0} 1860
{0,1,1,1} 40
{1,0,1,0} 70
{1,1,0,0} 36
{1,1,0,1} 90
{1,0,0,0} 72
{1,1,1,1,1} 458
{0,0,0,1} 74
{1,1,1,0} 96
{1,0,1,0,1} 54
{0,0,0,0} 28
{1,0,1,1} 24
{1,1,1,1,1,1} 2
{0,1,0,1} 18
{1,0,0,1} 14
{1,1,1,1,0} 2
{0,1,0,0} 4
{1,0,1,1,1,1} 2
{1,1,0,0,1} 2
{0,0,1,1} 4
{1,0,0,0,1} 2
{1,1,0,0,0} 2
{0,1,1,0} 4
{1,1,0,1,0,1} 2
{1,0,0,1,1} 2

The output has been read from left to rigth but it may equally well be read from rigth to left :

zenil_133.gif

zenil_134.gif

zenil_135.gif

zenil_136.gif

zenil_137.gif

The tape may equally well be initially completely black :

zenil_138.gif

zenil_139.gif

zenil_140.gif

zenil_141.gif

zenil_142.gif

zenil_143.gif

zenil_144.gif

zenil_145.gif

zenil_146.gif

zenil_147.gif

zenil_148.gif

From left to rigth : halting 3-states machines 1) on a white tape, output read from left to rigth  2) on a white tape, output read in both directions  3) and 4) on a white or black tape, output read in both directions (completely symmetrical under 0-1 and rigth-left inversions).

Spikey Created with Wolfram Mathematica 8.0