Description methods of multi-tape Turing machines #
A deterministic multi-tape Turing machine over the binary alphabet is a description method: a
program is an input of the machine, the clock counts steps, and the output of a program is the
contents of the output tape once the machine has halted. Its complexity C_tm(x) is the length of
a shortest input on which tm computes x, and C_tm^t(x) that of a shortest input on which tm
computes x within t steps.
When the state space is finite, tm.eval is partial recursive (Turing.MultiTapeTM.partrec_eval),
so mapping any computable decoder dec : List Bool → ℕ over ofMultiTapeTM tm yields a partial
recursive description method (isPartrec_ofMultiTapeTM_map). By the invariance theorem
(isAdditivelyOptimal_universal), universal is at most an additive constant worse than any
finite-state multi-tape Turing machine (exists_ecomplexity_universal_le_ofMultiTapeTM).
Main definitions #
Cslib.Kolmogorov.DescriptionMethod.ofMultiTapeTM: the description method of a machine.Cslib.Kolmogorov.DescriptionMethod.literalSimulation: a machine computing the identity simulates the literal description method.
Main results #
Cslib.Kolmogorov.DescriptionMethod.ofMultiTapeTM_produces_iff: a program describesxexactly when the machine computesxfrom it.Cslib.Kolmogorov.DescriptionMethod.mem_ofMultiTapeTM_runFor_iff: a program describesxwithintsteps exactly when the machine computesxfrom it and halts withintsteps.Cslib.Kolmogorov.DescriptionMethod.etimeBoundedComplexity_ofMultiTapeTM_le: an input from which the machine computesxwithintsteps boundsC_tm^t(x).Cslib.Kolmogorov.DescriptionMethod.exists_simulation_literal: some machine simulates the literal description method.Cslib.Kolmogorov.DescriptionMethod.isPartrec_ofMultiTapeTM_map: mapping a computable decoder over the description method of a finite-state multi-tape machine is partial recursive.Cslib.Kolmogorov.DescriptionMethod.exists_ecomplexity_universal_le_ofMultiTapeTM:universalis at most an additive constant worse than any finite-state multi-tape machine.
References #
The description method of a deterministic multi-tape Turing machine over the binary alphabet:
the program p is the input, and after t steps its output is the contents of the output tape if
the machine has halted.
Instances For
A program describes x exactly when the machine computes x from it.
A program describes x within t steps exactly when the machine computes x from it and
halts within t steps.
An input from which the machine computes x within t steps bounds the time-bounded
complexity C_tm^t(x).
A machine simulating the literal method #
From a computation of the identity, a simulation of the literal description method with one extra step.
Instances For
Some machine with finitely many states simulates the literal description method with one extra
step, so under it every string x has complexity at most |x| within |x| + 1 steps.
Partial recursiveness and optimality of universal over MultiTapeTM #
For every finite-state binary MultiTapeTM and computable decoder dec : List Bool → ℕ,
mapping dec over ofMultiTapeTM tm yields a partial recursive description method.
Optimality of universal over finite-state multi-tape Turing machines: for every
finite-state binary MultiTapeTM and computable decoder dec : List Bool → ℕ, universal is at
most an additive constant worse than ofMultiTapeTM tm.
Using Nat.bits and List.foldr Nat.bit 0, universal is at most an additive constant worse
than any finite-state binary MultiTapeTM on binary representations of natural numbers.