流形上的分析 Calculus on Manifold 笔记
[!NOTE] This work is licensed under a Creative Commons Attribution 4.0 International License. Read more
[!NOTE] This work is licensed under a Creative Commons Attribution 4.0 International License. Read more
A Turing Machine (we will use TM in short) is a theoretical computational model introduced by Alan Turing in 1936. It is used to define the limits of what can be computed and serves as a foundation for theoretical computer science.
Definition: A TM, , is a tuple which is defined as
All tapes except for the input are initialized in their first location to the start symbol and in all other locations to the blank symbol . The input tape contains initially the start symbol , a finite non-blank string (``the input’’), and the rest of its cells are initialized with the blank symbol . All heads start at the left ends of the tapes and the machine is in the special starting state . This is called the start configuration of on input . Each step of the computation is performed by applying the function as described above. The special halting state has the property that once the machine is in , the transition function does not allow it to further modify the tape or change states. Clearly, if the machine enters then it has halted. In complexity theory we are typically only interested in machines that halt for every input in a finite number of steps.
For calculation part, if now is in state with are the current letters be read on tapes and where and , then in next step will enter a new state from where each word on the tape is replaced by and the state of the i-th head is changed to , namely to Left, Stay or to Right.
Some definitions of a Turing machine add additional details to the tuple, like having a limited input alphatable or an explicit set of accepting state . We will include these details as needed.
For the definition of , if we allow the Turing machine to do nothing, we do not necessarily need to include an explicit halting state. Instead, we can define the machine to halt if it reaches a state where it does not move its heads, change states or any symbols on the tape. But, it is often convenient to include an explicit halting state (with the convention that the machine will not do anything once it reaches this state), or, for machines that accept or reject their input, explicit accepting and rejecting states and .
After having the definition of TM, we now can formalize the notion of running time. As every non-trivial algorithm needs to at leastread its entire input, by “quickly” we mean that the number of basic steps we use is small when considered as a function of the input length.
Definition:
Let and let be some functions, and let be a Turing machine. We say that \textit{computes} in -time if for every , if is initialized to the start configuration on input , then after at most steps it halts with written on its output tape.
We say that computes if it computes in time for some function .
Remark: As a convention, we require for large enough(since we always need time to read the input) and if that computes the function in time (As usual, denotes the binary representation of the number .), we call it time-constructable.
Using this Complexity concept, we may prove our TM with heads and tapes is same as simplest TM(i.e. has only 1 head and a tape) up to polynomial time transformation on time and space complexity(and this blow up is inevitabe and worst case will be ).
Proof:
Left to readers
[!NOTE] This work is licensed under a Creative Commons Attribution 4.0 International License. Read more
[!NOTE] This work is licensed under a Creative Commons Attribution 4.0 International License. Read more
[!NOTE] This work is licensed under a Creative Commons Attribution 4.0 International License. Read more