Turing machine with additional input

from Wikipedia, the free encyclopedia

A Turing machine with additional input is a computational model of theoretical computer science that is equivalent to nondeterministic Turing machines .

Informal description

A Turing machine with additional input is an extension of the deterministic Turing machine by an additional input . So it is still a machine that works on a string tape and can read and change the content character by character with a read / write head. Different states are run through depending on the character on the read head and the current state of the machine. Every Turing machine can assume two distinct states and . When a Turing machine changes to the state , the calculation ends and the input has been accepted. If the Turing machine changes to the state , the calculation also ends and the input is rejected.

A Turing machine with additional input receives a string tuple as input. accepted if there is an additional input so that the input is accepted. The idea behind this construction is that it is viewed as an input to a problem and as a solution. The Turing machine can then try to verify whether there really is a solution for . In this sense, it is accepted if there is a solution to the ( concrete) problem.

definition

Turing machine with additional input

A Turing machine with additional input is a 5-tuple , where

State quantity
a finite non-empty set of states,
Working alphabet
the working alphabet with the blank character , the left margin and the separator symbol ,
Input alphabet
the input alphabet,
Transfer function
the transfer function and
Starting state
is an excellent starting condition.

The transfer function is restricted so that the left margin cannot be overwritten. So it applies to everyone with and .

configuration

A configuration of is a 4-tuple with the current state, the string to the left of the head, the character at the head and the string to the right of the head.

Successor configuration

If and are two configurations, then the subsequent configuration of (write ) is if and only if with

  • , or
  • , or
  • , or
  • and .

Write for configurations and if there is a sequence of configurations with .

calculation

The start configuration of when entered is . A configuration is called a hold configuration , if . Then the sequence of configurations is called computation of , if for all . accepts the input if and rejects it if .

running time

Let be a calculation of at input , then the running time is . If there is no calculation for the input (i.e. the Turing machine does not hold), then applies .

In Turing machines, the length of the input string is viewed as the input variable. A function is then called the time limit of if applies to all .

Generated language

Every Turing machine with additional input generates a language - the set of inputs accepted by.

Multi-string Turing machine

The Turing machine with additional input can be expanded by allowing the use of several string bands. The machine then has its own read / write head for each tape. The definition of a -String Turing machine with additional input differs from the Turing machine with additional input in the following terms:

Transfer function
The next state depends on the current state and the current character of all bands.
String pointer description
is an auxiliary term and indicates that the read / write head is on the character , the string to the left and the string to the right .
configuration
consists of a state and a string pointer description for each band with .
Start configuration
when entering .
Successor configuration
is successor configuration of , if and for all applies:
  • , or
  • , or
  • , or
  • and .

Equivalence to the 1-string Turing machine with additional input

In keeping with the Church-Turing thesis , or its extended version, there is every string Turing machine with auxiliary input and time bound , a one-string Turing machine with auxiliary input, with time bound decides. So you can convert any multi-string Turing machine with additional input with polynomial extra effort into a single-string Turing machine.

When designing Turing machines with additional input and polynomial runtime, it does not matter whether you define them as a multi-string or single-string Turing machine. In this case, the multi-string Turing machine can be defined so that the input is on the first tape and the additional input on the second, which simplifies the description of the Turing machine.

Space barrier

With multi-string Turing machines, a space limit can also be defined in addition to the time limit. In order to be able to define space barriers that are smaller than the input length, the model must be restricted in such a way that the input (and the additional input) cannot be used as a calculation place.

Read-only input tape

A -String Turing machine with additional input and read-only input tape is a -String Turing machine with additional input and the restriction by: is , so is (the input tape is not changed) and if , then is (the Turing machine cannot go beyond the right margin the input).

Storage space requirements

The storage space required by a string Turing machine with additional input and read-only input tape for input and hold configuration is .

A function is then a space barrier for , if .

Guessing solutions

Often one speaks of “guessing” in connection with nondeterminism. Since this is also a form of nondeterminism (the freedom to choose the additional input), we often speak of guessing the solution as an additional input. What is meant is that the Turing machine with additional input can interpret the additional input as a solution candidate and rejects it if it is not a solution. The Turing machine is constructed in such a way that correctly guessed solutions are accepted and everything else is rejected. In this sense, the additional entry / solution can be advised.

Equivalence to the nondeterministic Turing machine

The Turing machine with additional input is equivalent to the nondeterministic Turing machine , in which the deterministic Turing machine is extended by a transition relation instead of an exercise function. As a result, there can be several valid successor states from a configuration of the nondeterministic Turing machine. This model accepts an input if and only if there is an accepting computation on input .

To a certain extent, with the Turing machine with additional input there is freedom of choice in the additional input and with the nondeterministic Turing machine in the choice of the successor configuration. For the simulation of the nondeterministic Turing machine by the Turing machine with additional input, the characters of the additional input can be used to clearly determine the next configuration of the nondeterministic Turing machine (based on the specific additional input). To simulate the Turing machine with additional input by the nondeterministic Turing machine, the characters of the additional input can be determined by the possible successor configurations (there is a possible successor configuration for every possible character of the additional input).

Advantage over the nondeterministic Turing machine

The description and formalization of nondeterministic Turing machines is simplified by this model, since one can explicitly fall back on a solution candidate (the additional input).

The importance of this model becomes particularly clear when characterizing NP: Intuitively speaking, the set NP is the set of problems whose solution (given by the additional input) can be verified in polynomial time.

Significance in complexity theory

NTIME

The non-deterministic time classes NTIME for time limits are formed by the Turing machine with additional input and the associated term of the runtime .

This also defines NP , the set of all languages for which there is a Turing machine with additional input and a polynomial runtime limit, so that ( decides ).

Also nexptime is defined in this way. The set of all languages for which there is a Turing machine with additional input and exponential runtime bound, so that .

NSPACE

The NSPACE classes can be defined with the extension to multi-string Turing machines with additional input and read-only input tape .

is the set of all languages for which there is a k-string Turing machine with additional input and read-only input tape, which decides with a space limit and is then formed.

Above are the classes

  • NL , logarithmic space, with ,
  • NPSPACE , polynomial space, with and
  • NEXPTIME , exponential space, formed with .

literature