What's a Turing machine?

前端 未结 11 2120
借酒劲吻你
借酒劲吻你 2020-12-22 20:08

What is a Turing machine and why do people keep mentioning it? My IBM PC is all I need to do my computation! Why does anyone care about these machines?

相关标签:
11条回答
  • 2020-12-22 20:34

    A Turing-machine is a theoretical machine that can be used to reason about the limits of computers. Simply put, it is an imaginary computer with infinite memory.

    We care about Turing-machines because they help us discover what is impossible to accomplish with real computers (like your IBM PC). If it is impossible for a Turing machine to perform a particular computation (like deciding the Halting Problem), then it stands to reason that it is impossible for your IBM PC to perform that same computation.

    0 讨论(0)
  • 2020-12-22 20:36

    There are actually examples of Turing Machines in nature. Specifically, the ribosome, which translates RNA into proteins, implements a Turing Machine.

    First, some background:

    1. RNA is composed of a string of nucleotides ("bases") which define the letters of the genetic alphabet.
    2. There are 4 bases in the RNA alphabet - A, C, G, U.
    3. Bases are directional: by convention the ends are called five-prime and three -prime (5', 3')
    4. A base in an RNA string can attract a base on another RNA string in "anti-parallel complementary pairs", where A sticks to U and C sticks to G.
    5. The bases are combined in groups of 3 to form "codons" (words).
    6. There are 64 possible combinations for the codons (4^3).
    7. each codon can match an "anti-codon". for instance AUG <-> UAC
    8. there are special carrier molecules ("tRNA") which have particular anticodons and are attached to specific amino acids (proteins).

    The operation of the ribosome is simple:

    1. transcription initiates at a "start codon", which defines the "reading frame"
    2. transcription always proceeds in the 5'->3' direction
    3. the codon under the reading frame is matched with a specific tRNA containing a specific amino acid
    4. the start codon always encodes the amino acid Methionine.
    5. the new amino acid is attached to the growing protein
    6. the frame then advances 3 bases to the next codon, and the protein is continuously extended
    7. upon encountering a "stop" codon, translation is terminated, no amino acid is attached and the ribosome dissociates from the mRNA.

    As you can see, this is a very simple Turing Machine that performs the most complex operation - nature itself!

    0 讨论(0)
  • 2020-12-22 20:37

    Turing machine is equivalent to an algorithm. It halts when it accepts a string, rejects or enters an infinite loop when it doesn't accept the string.

    Tape acts as a memory, transition rules acts as 'if then else' conditions

    0 讨论(0)
  • 2020-12-22 20:38

    The amazing thing about a Turing Machine is that it is the most primary computing machine that exists and it can perform computations as powerful as any computer that exists today. There is no computing problem that you can do with your computer that you can't do with a Turing Machine. In fact, your computer is a TM if you want to look at it that way.

    Alan Turing invented the TM and used a certain version of it to decode the Nazi encryption machine Enigma.

    So to conclude it is a very powerful machine and has many applications in Theoretical Computer Science. (Also a super interesting and stimulating subject btw).

    0 讨论(0)
  • 2020-12-22 20:39

    A Turing machine is an abstract machine capable of computation.

    From Wikipedia:

    Turing machines are basic abstract symbol-manipulating devices which, despite their simplicity, can be adapted to simulate the logic of any computer algorithm. They were described in 1936 by Alan Turing. Turing machines are not intended as a practical computing technology, but a thought experiment about the limits of mechanical computation. Thus they were not actually constructed. Studying their abstract properties yields many insights into computer science and complexity theory.

    A Turing machine that is able to simulate any other Turing machine is called a Universal Turing machine (UTM, or simply a universal machine). A more mathematically-oriented definition with a similar "universal" nature was introduced by Alonzo Church, whose work on lambda calculus intertwined with Turing's in a formal theory of computation known as the Church-Turing thesis. The thesis states that Turing machines indeed capture the informal notion of effective method in logic and mathematics, and provide a precise definition of an algorithm or 'mechanical procedure'.

    0 讨论(0)
  • 2020-12-22 20:41

    Turing machine is an abstract machine that can operate on a sequence of data and can change its own state as well as the data while operating, according to some logic.

    This is a concept that forms the basis of algorithms, stored programs, and computation in general. It provides good insights and abstractions if you are dealing with algorithms, states, data etc.

    Food for thought, for most.

    0 讨论(0)
提交回复
热议问题