Deterministic and non-deterministic Turing machines differ in terms of their computation histories. In order to understand this difference, it is essential to have a solid understanding of Turing machines and their computational capabilities.
A Turing machine is a theoretical model of computation that consists of an input tape, a read/write head, a set of states, and a transition function. It can be thought of as an abstract representation of a computer. The input tape contains the input string, and the read/write head scans the tape, reading and writing symbols as it goes. The machine's behavior is determined by its state and the symbol currently under the read/write head.
Deterministic Turing machines (DTMs) are machines that always have a unique next move for any given state and input symbol. In other words, the transition function of a DTM is a well-defined mapping from the current state and input symbol to the next state, symbol to be written, and head movement direction. This deterministic nature ensures that the computation history of a DTM is uniquely determined by the initial configuration of the machine.
On the other hand, non-deterministic Turing machines (NTMs) have the ability to have multiple possible next moves for a given state and input symbol. The transition function of an NTM is not a single mapping but rather a set of possible mappings. This non-determinism allows an NTM to explore multiple computation paths simultaneously. In other words, an NTM can be in multiple states at the same time and can make non-deterministic choices at each step of the computation. The computation history of an NTM can be thought of as a tree, where each branch represents a possible computation path.
To determine whether a given input string is accepted by an NTM, we consider all possible computation paths and check if at least one of them leads to an accepting state. If there exists such a path, the NTM accepts the input string. This non-deterministic nature of NTMs gives them a more powerful computational capability compared to DTMs.
It is worth noting that the concept of non-determinism in Turing machines is purely theoretical and does not have a direct counterpart in physical computers. However, it is a useful concept in computational complexity theory as it helps in understanding the limits of computation and the classification of computational problems.
To illustrate the difference between deterministic and non-deterministic Turing machines, let's consider an example. Suppose we have a Turing machine that needs to determine whether a given number is prime. A DTM would follow a deterministic algorithm, such as checking divisibility by all numbers up to the square root of the given number. The computation history of the DTM would be a linear sequence of steps, with a unique next move at each step.
On the other hand, an NTM could explore multiple computation paths simultaneously. It could make non-deterministic choices, such as guessing a potential divisor, and check if it leads to a factor of the given number. The computation history of the NTM would be a tree-like structure, with branches representing different choices and possible outcomes.
Deterministic and non-deterministic Turing machines differ in terms of their computation histories. Deterministic machines have a unique next move for any given state and input symbol, resulting in a linear computation history. Non-deterministic machines, on the other hand, can have multiple possible next moves, leading to a tree-like computation history. This non-determinism gives NTMs a more powerful computational capability compared to DTMs.
Other recent questions and answers regarding Examination review:
- Describe the process of transforming a Turing machine into a set of tiles for the PCP, and how these tiles represent the computation history.
- How do we encode a given instance of the acceptance problem for a Turing machine into an instance of the PCP?
- Explain the proof strategy for showing the undecidability of the Post Correspondence Problem (PCP) by reducing it to the acceptance problem for Turing machines.
- What is the concept of a configuration in a Turing machine and how does it represent the state of the machine during computation?

