5.3
最大の能力
153
]
end
=> nil
>>
added_zero, added_one, added_two, added_three = 0, 1, 2, 3
=> [0, 1, 2, 3]
>>
rulebook = DTMRulebook.new(
increment_rules(added_zero, added_one) +
increment_rules(added_one, added_two) +
increment_rules(added_two, added_three)
)
=> #<struct DTMRulebook rules=[...]>
>>
rulebook.rules.length
=> 18
>>
tape = Tape.new(['1', '0', '1'], '1', [], '_')
=> #<Tape 101(1)>
>>
dtm = DTM.new(TMConfiguration.new(added_zero, tape), [added_three], rulebook)
=> #<struct DTM ...>
>>
dtm.run; dtm.current_configuration.tape
=> #<Tape 111(0)_>
このように状態と規則を組み立てることで、私たちは任意の大きさと複雑さのチューリングマシンの
規則集を構築することができます。機械が大きくなっても構わないのであれば、サブルーチンを明示
的にサポートする必要はあり