fbpx
Wikipedia

Universal Turing machine

In computer science, a universal Turing machine (UTM) is a Turing machine capable of computing any computable sequence,[1] as described by Alan Turing in his seminal paper "On Computable Numbers, with an Application to the Entscheidungsproblem". Common sense might say that a universal machine is impossible, but Turing proves that it is possible.[a] He suggested that we may compare a man in the process of computing a real number to a machine which is only capable of a finite number of conditions q 1: q 2 . .... qI; which will be called "m-configurations".[2] He then described the operation of such machine, as described below, and argued:

It is my contention that these operations include all those which are used in the computation of a number.[3]

Alan Turing introduced the idea of such a machine in 1936–1937. This principle is considered to be the origin of the idea of a stored-program computer used by John von Neumann in 1946 for the "Electronic Computing Instrument" that now bears von Neumann's name: the von Neumann architecture.[4]

Introduction edit

Davis makes a persuasive argument that Turing's conception of what is now known as "the stored-program computer", of placing the "action table"—the instructions for the machine—in the same "memory" as the input data, strongly influenced John von Neumann's conception of the first American discrete-symbol (as opposed to analog) computer—the EDVAC. Davis quotes Time magazine to this effect, that "everyone who taps at a keyboard ... is working on an incarnation of a Turing machine", and that "John von Neumann [built] on the work of Alan Turing".[5]

Davis makes a case that Turing's Automatic Computing Engine (ACE) computer "anticipated" the notions of microprogramming (microcode) and RISC processors.[6] Knuth cites Turing's work on the ACE computer as designing "hardware to facilitate subroutine linkage";[7] Davis also references this work as Turing's use of a hardware "stack".[8]

As the Turing machine was encouraging the construction of computers, the UTM was encouraging the development of the fledgling computer sciences. An early, if not the very first, assembler was proposed "by a young hot-shot programmer" for the EDVAC.[9] Von Neumann's "first serious program ... [was] to simply sort data efficiently".[10] Knuth observes that the subroutine return embedded in the program itself rather than in special registers is attributable to von Neumann and Goldstine.[b] Knuth furthermore states that

The first interpretive routine may be said to be the "Universal Turing Machine" ... Interpretive routines in the conventional sense were mentioned by John Mauchly in his lectures at the Moore School in 1946 ... Turing took part in this development also; interpretive systems for the Pilot ACE computer were written under his direction.[11]

Davis briefly mentions operating systems and compilers as outcomes of the notion of program-as-data.[12]

Mathematical theory edit

With this encoding of action tables as strings, it becomes possible, in principle, for Turing machines to answer questions about the behaviour of other Turing machines. Most of these questions, however, are undecidable, meaning that the function in question cannot be calculated mechanically. For instance, the problem of determining whether an arbitrary Turing machine will halt on a particular input, or on all inputs, known as the Halting problem, was shown to be, in general, undecidable in Turing's original paper. Rice's theorem shows that any non-trivial question about the output of a Turing machine is undecidable.

A universal Turing machine can calculate any recursive function, decide any recursive language, and accept any recursively enumerable language. According to the Church–Turing thesis, the problems solvable by a universal Turing machine are exactly those problems solvable by an algorithm or an effective method of computation, for any reasonable definition of those terms. For these reasons, a universal Turing machine serves as a standard against which to compare computational systems, and a system that can simulate a universal Turing machine is called Turing complete.

An abstract version of the universal Turing machine is the universal function, a computable function which can be used to calculate any other computable function. The UTM theorem proves the existence of such a function.

Efficiency edit

Without loss of generality, the input of Turing machine can be assumed to be in the alphabet {0, 1}; any other finite alphabet can be encoded over {0, 1}. The behavior of a Turing machine M is determined by its transition function. This function can be easily encoded as a string over the alphabet {0, 1} as well. The size of the alphabet of M, the number of tapes it has, and the size of the state space can be deduced from the transition function's table. The distinguished states and symbols can be identified by their position, e.g. the first two states can by convention be the start and stop states. Consequently, every Turing machine can be encoded as a string over the alphabet {0, 1}. Additionally, we convene that every invalid encoding maps to a trivial Turing machine that immediately halts, and that every Turing machine can have an infinite number of encodings by padding the encoding with an arbitrary number of (say) 1's at the end, just like comments work in a programming language. It should be no surprise that we can achieve this encoding given the existence of a Gödel number and computational equivalence between Turing machines and μ-recursive functions. Similarly, our construction associates to every binary string α, a Turing machine Mα.

Starting from the above encoding, in 1966 F. C. Hennie and R. E. Stearns showed that given a Turing machine Mα that halts on input x within N steps, then there exists a multi-tape universal Turing machine that halts on inputs α, x (given on different tapes) in CN log N, where C is a machine-specific constant that does not depend on the length of the input x, but does depend on M's alphabet size, number of tapes, and number of states. Effectively this is an   simulation, using Donald Knuth's Big O notation.[13] The corresponding result for space-complexity rather than time-complexity is that we can simulate in a way that uses at most CN cells at any stage of the computation, an   simulation.[14]

Smallest machines edit

When Alan Turing came up with the idea of a universal machine he had in mind the simplest computing model powerful enough to calculate all possible functions that can be calculated. Claude Shannon first explicitly posed the question of finding the smallest possible universal Turing machine in 1956. He showed that two symbols were sufficient so long as enough states were used (or vice versa), and that it was always possible to exchange states for symbols. He also showed that no universal Turing machine of one state could exist.

Marvin Minsky discovered a 7-state 4-symbol universal Turing machine in 1962 using 2-tag systems. Other small universal Turing machines have since been found by Yurii Rogozhin and others by extending this approach of tag system simulation. If we denote by (m, n) the class of UTMs with m states and n symbols the following tuples have been found: (15, 2), (9, 3), (6, 4), (5, 5), (4, 6), (3, 9), and (2, 18).[15][16][17] Rogozhin's (4, 6) machine uses only 22 instructions, and no standard UTM of lesser descriptional complexity is known.

However, generalizing the standard Turing machine model admits even smaller UTMs. One such generalization is to allow an infinitely repeated word on one or both sides of the Turing machine input, thus extending the definition of universality and known as "semi-weak" or "weak" universality, respectively. Small weakly universal Turing machines that simulate the Rule 110 cellular automaton have been given for the (6, 2), (3, 3), and (2, 4) state-symbol pairs.[18] The proof of universality for Wolfram's 2-state 3-symbol Turing machine further extends the notion of weak universality by allowing certain non-periodic initial configurations. Other variants on the standard Turing machine model that yield small UTMs include machines with multiple tapes or tapes of multiple dimension, and machines coupled with a finite automaton.

Machines with no internal states edit

If multiple heads are allowed on a Turing machine then no internal states are required; as "states" can be encoded in the tape. For example, consider a tape with 6 colours: 0, 1, 2, 0A, 1A, 2A. Consider a tape such as 0,0,1,2,2A,0,2,1 where a 3-headed Turing machine is situated over the triple (2,2A,0). The rules then convert any triple to another triple and move the 3-heads left or right. For example, the rules might convert (2,2A,0) to (2,1,0) and move the head left. Thus in this example, the machine acts like a 3-colour Turing machine with internal states A and B (represented by no letter). The case for a 2-headed Turing machine is very similar. Thus a 2-headed Turing machine can be Universal with 6 colours. It is not known what the smallest number of colours needed for a multi-headed Turing machine is or if a 2-colour Universal Turing machine is possible with multiple heads. It also means that rewrite rules are Turing complete since the triple rules are equivalent to rewrite rules. Extending the tape to two dimensions with a head sampling a letter and its 8 neighbours, only 2 colours are needed, as for example, a colour can be encoded in a vertical triple pattern such as 110.

Also, if the distance between the two heads is variable (the tape has "slack" between the heads), then it can simulate any Post tag system, some of which are universal.[19]

Example of coding edit

For those who would undertake the challenge of designing a UTM exactly as Turing specified see the article by Davies in Copeland (2004). Davies corrects the errors in the original and shows what a sample run would look like. He successfully ran a (somewhat simplified) simulation.

The following example is taken from Turing (1937). For more about this example, see Turing machine examples.

Turing used seven symbols { A, C, D, R, L, N, ; } to encode each 5-tuple; as described in the article Turing machine, his 5-tuples are only of types N1, N2, and N3. The number of each "m‑configuration" (instruction, state) is represented by "D" followed by a unary string of A's, e.g. "q3" = DAAA. In a similar manner, he encodes the symbols blank as "D", the symbol "0" as "DC", the symbol "1" as DCC, etc. The symbols "R", "L", and "N" remain as is.

After encoding each 5-tuple is then "assembled" into a string in order as shown in the following table:

Current m‑configuration Tape symbol Print-operation Tape-motion Final m‑configuration Current m‑configuration code Tape symbol code Print-operation code Tape-motion code Final m‑configuration code 5-tuple assembled code
q1 blank P0 R q2 DA D DC R DAA DADDCRDAA
q2 blank E R q3 DAA D D R DAAA DAADDRDAAA
q3 blank P1 R q4 DAAA D DCC R DAAAA DAAADDCCRDAAAA
q4 blank E R q1 DAAAA D D R DA DAAAADDRDA

Finally, the codes for all four 5-tuples are strung together into a code started by ";" and separated by ";" i.e.:

;DADDCRDAA;DAADDRDAAA;DAAADDCCRDAAAA;DAAAADDRDA

This code he placed on alternate squares—the "F-squares" – leaving the "E-squares" (those liable to erasure) empty. The final assembly of the code on the tape for the U-machine consists of placing two special symbols ("e") one after the other, then the code separated out on alternate squares, and lastly the double-colon symbol "::" (blanks shown here with "." for clarity):

ee.;.D.A.D.D.C.R.D.A.A.;.D.A.A.D.D.R.D.A.A.A.;.D.A.A.A.D.D.C.C.R.D.A.A.A.A.;.D.A.A.A.A.D.D.R.D.A.::......

The U-machine's action-table (state-transition table) is responsible for decoding the symbols. Turing's action table keeps track of its place with markers "u", "v", "x", "y", "z" by placing them in "E-squares" to the right of "the marked symbol" – for example, to mark the current instruction z is placed to the right of ";" x is keeping the place with respect to the current "m‑configuration" DAA. The U-machine's action table will shuttle these symbols around (erasing them and placing them in different locations) as the computation progresses:

ee.; .D.A.D.D.C.R.D.A.A. ; zD.A.AxD.D.R.D.A.A.A.;.D.A.A.A.D.D.C.C.R.D.A.A.A.A.;.D.A.A.A.A.D.D.R.D.A.::......

Turing's action-table for his U-machine is very involved.

Roger Penrose provides examples of ways to encode instructions for the Universal machine using only binary symbols { 0, 1 }, or { blank, mark | }. Penrose goes further and writes out his entire U-machine code. He asserts that it truly is a U-machine code, an enormous number that spans almost 2 full pages of 1's and 0's.[20]

Asperti and Ricciotti described a multi-tape UTM defined by composing elementary machines with very simple semantics, rather than explicitly giving its full action table. This approach was sufficiently modular to allow them to formally prove the correctness of the machine in the Matita proof assistant.[citation needed]

See also edit

Notes edit

  1. ^ From lecture transcript attributed to John von Neumann, as quoted by Copeland in Copeland & Fan (2023).
  2. ^ In particular: Burks, Goldstine & von Neumann (1971) [1946].

References edit

  1. ^ Turing (1937), p. 241.
  2. ^ Turing (1937), p. 231.
  3. ^ Turing (1937), p. 232.
  4. ^ Davis (2018), p. [page needed].
  5. ^ Davis (2000), p. 193 quoting Time magazine of 29 March 1999.
  6. ^ Davis (2000), p. 188.
  7. ^ Knuth (1973), p. 225.
  8. ^ Davis (2000), p. 237 footnote 18.
  9. ^ Davis (2000), p. 192.
  10. ^ Davis (2000), p. 184.
  11. ^ Knuth (1973), p. 226.
  12. ^ Davis (2000), p. 185.
  13. ^ Arora & Barak (2009), Theorem 1.9.
  14. ^ Arora & Barak (2009), Exercises 4.1.
  15. ^ Rogozhin (1996).
  16. ^ Kudlek & Rogozhin (2002).
  17. ^ Neary & Woods (2009).
  18. ^ Neary & Woods (2009b).
  19. ^ Minsky, Marvin Lee (1 January 1967). Computation: Finite and Infinite Machines. Prentice Hall. p. 269. ISBN 978-0-13-165563-8.
  20. ^ Penrose (1989), pp. 71–73.

Original paper and correction

  • Turing, A. M. (1937). "On Computable Numbers, with an Application to the Entscheidungsproblem" (PDF). Proceedings of the London Mathematical Society. 2. 42 (1): 230–265. doi:10.1112/plms/s2-42.1.230.
  • Turing, A. M. (1938). "On Computable Numbers, with an Application to the Entscheidungsproblem: A correction". Proceedings of the London Mathematical Society. 2. 43 (6): 544–6. doi:10.1112/plms/s2-43.6.544.

Other works cited

  • Arora, Sanjeev; Barak, Boaz (2009). Complexity Theory: A Modern Approach. Cambridge University Press. ISBN 978-0-521-42426-4. section 1.4, "Machines as strings and the universal Turing machine" and 1.7, "Proof of theorem 1.9"
  • Asperti, Andrea; Ricciotti, Wilmer (2015). "A formalization of multi-tape Turing machines" (PDF). Theoretical Computer Science. Elsevier. 603: 23–42. doi:10.1016/j.tcs.2015.07.013. ISSN 0304-3975.
  • Burks, Arthur W.; Goldstine, Herman H.; von Neumann, John (1971) [1946]. "Planning and Coding of the Problems for an Electronic Computing Instrument". In Bell, C. Gordon; Newell, Allen (eds.). Computer Structures: Readings and Examples. New York: McGraw-Hill Book Company. pp. 92–119. ISBN 0-07-004357-4.
  • Copeland, Jack, ed. (2004). The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma. Oxford UK: Oxford University Press. ISBN 0-19-825079-7.
  • Copeland, B. J.; Fan, Z. (2023). "Turing and Von Neumann: From Logic to the Computer". Philosophies. 8 (22). doi:10.3390/philosophies8020022.
  • Davis, Martin (1980). "What is Computation?". In Steen, Lynn Arthur (ed.). Mathematics Today: Twelve Informal Essays. New York: Vintage Books (Random House). ISBN 978-0-394-74503-9.
  • Davis, Martin (2000). Engines of Logic: Mathematicians and the origin of the Computer (1st ed.). New York: W. W. Norton & Company. ISBN 0-393-32229-7.
  • Davis, Martin (2018). The Universal Computer: The Road from Leibniz to Turing. Taylor & Francis Group. ISBN 978-1138413931.
  • Hennie, F. C.; Stearns, R. E. (1966). "Two-Tape Simulation of Multitape Turing Machines". Journal of the ACM. 13 (4): 533. doi:10.1145/321356.321362. S2CID 2347143.
  • Knuth, Donald E. (1973). The Art of Computer Programming. Vol. 1/Fundamental Algorithms (second ed.). Addison-Wesley Publishing Company.
  • Kudlek, Manfred; Rogozhin, Yurii (2002). "A universal Turing machine with 3 states and 9 symbols". In Kuich, Werner; Rozenberg, Grzegorz; Salomaa, Arto (eds.). Developments in Language Theory: 5th International Conference, DLT 2001 Wien, Austria, July 16–21, 2001, Revised Papers. Lecture Notes in Computer Science. Vol. 2295. Springer. pp. 311–318. doi:10.1007/3-540-46011-x_27. ISBN 978-3-540-43453-5.
  • Neary, Turlough; Woods, Damien (2009). "Four Small Universal Turing Machines" (PDF). Fundamenta Informaticae. 91 (1): 123–144. doi:10.3233/FI-2009-0036.
  • Neary, Turlough; Woods, Damien (2009b). "Small Weakly Universal Turing Machines". 17th International Symposium on Fundamentals of Computation Theory. Lecture Notes in Computer Science. Vol. 5699. Springer. pp. 262–273.
  • Penrose, Roger (1989). The Emperor's New Mind. Oxford UK: Oxford University Press. ISBN 0-19-851973-7.
  • Rogozhin, Yurii (1996). "Small Universal Turing Machines". Theoretical Computer Science. 168 (2): 215–240. doi:10.1016/S0304-3975(96)00077-1.

Further reading edit

  • Arbib, M. A. (1988). "From universal Turing machines to self-reproduction". In Herken, R. (ed.). A half-century survey on The Universal Turing Machine. Oxford University Press. pp. 177–189. ISBN 978-0-19-853741-0.
  • Davis, Martin, ed. (1965). The Undecidable (Reprint ed.). Hewlett, New York: Raven Press.
  • Herken, Rolf (1995), The Universal Turing Machine: A Half-Century Survey, Springer Verlag, ISBN 3-211-82637-8.
  • Minsky, Marvin (1962), "Size and Structure of Universal Turing Machines using Tag Systems, Recursive Function Theory", Proc. Symp. Pure Mathematics, Providence RI: American Mathematical Society, 5: 229–238, doi:10.1090/pspum/005/0142452.
  • Shannon, Claude (1956), "A Universal Turing Machine with Two Internal States", Automata Studies, Princeton, NJ: Princeton University Press, pp. 157–165.

External links edit

  • Smith, Alvy Ray. "A Business Card Universal Turing Machine" (PDF). Retrieved 2 January 2020.

universal, turing, machine, universal, machine, redirects, here, other, uses, universal, machine, disambiguation, computer, science, universal, turing, machine, turing, machine, capable, computing, computable, sequence, described, alan, turing, seminal, paper,. Universal machine redirects here For other uses see Universal machine disambiguation In computer science a universal Turing machine UTM is a Turing machine capable of computing any computable sequence 1 as described by Alan Turing in his seminal paper On Computable Numbers with an Application to the Entscheidungsproblem Common sense might say that a universal machine is impossible but Turing proves that it is possible a He suggested that we may compare a man in the process of computing a real number to a machine which is only capable of a finite number of conditions q 1 q 2 qI which will be called m configurations 2 He then described the operation of such machine as described below and argued It is my contention that these operations include all those which are used in the computation of a number 3 Alan Turing introduced the idea of such a machine in 1936 1937 This principle is considered to be the origin of the idea of a stored program computer used by John von Neumann in 1946 for the Electronic Computing Instrument that now bears von Neumann s name the von Neumann architecture 4 Contents 1 Introduction 2 Mathematical theory 3 Efficiency 4 Smallest machines 5 Machines with no internal states 6 Example of coding 7 See also 8 Notes 9 References 10 Further reading 11 External linksIntroduction editFurther information Register machine Historical development of the register machine model Davis makes a persuasive argument that Turing s conception of what is now known as the stored program computer of placing the action table the instructions for the machine in the same memory as the input data strongly influenced John von Neumann s conception of the first American discrete symbol as opposed to analog computer the EDVAC Davis quotes Time magazine to this effect that everyone who taps at a keyboard is working on an incarnation of a Turing machine and that John von Neumann built on the work of Alan Turing 5 Davis makes a case that Turing s Automatic Computing Engine ACE computer anticipated the notions of microprogramming microcode and RISC processors 6 Knuth cites Turing s work on the ACE computer as designing hardware to facilitate subroutine linkage 7 Davis also references this work as Turing s use of a hardware stack 8 As the Turing machine was encouraging the construction of computers the UTM was encouraging the development of the fledgling computer sciences An early if not the very first assembler was proposed by a young hot shot programmer for the EDVAC 9 Von Neumann s first serious program was to simply sort data efficiently 10 Knuth observes that the subroutine return embedded in the program itself rather than in special registers is attributable to von Neumann and Goldstine b Knuth furthermore states that The first interpretive routine may be said to be the Universal Turing Machine Interpretive routines in the conventional sense were mentioned by John Mauchly in his lectures at the Moore School in 1946 Turing took part in this development also interpretive systems for the Pilot ACE computer were written under his direction 11 Davis briefly mentions operating systems and compilers as outcomes of the notion of program as data 12 Mathematical theory editWith this encoding of action tables as strings it becomes possible in principle for Turing machines to answer questions about the behaviour of other Turing machines Most of these questions however are undecidable meaning that the function in question cannot be calculated mechanically For instance the problem of determining whether an arbitrary Turing machine will halt on a particular input or on all inputs known as the Halting problem was shown to be in general undecidable in Turing s original paper Rice s theorem shows that any non trivial question about the output of a Turing machine is undecidable A universal Turing machine can calculate any recursive function decide any recursive language and accept any recursively enumerable language According to the Church Turing thesis the problems solvable by a universal Turing machine are exactly those problems solvable by an algorithm or an effective method of computation for any reasonable definition of those terms For these reasons a universal Turing machine serves as a standard against which to compare computational systems and a system that can simulate a universal Turing machine is called Turing complete An abstract version of the universal Turing machine is the universal function a computable function which can be used to calculate any other computable function The UTM theorem proves the existence of such a function Efficiency editWithout loss of generality the input of Turing machine can be assumed to be in the alphabet 0 1 any other finite alphabet can be encoded over 0 1 The behavior of a Turing machine M is determined by its transition function This function can be easily encoded as a string over the alphabet 0 1 as well The size of the alphabet of M the number of tapes it has and the size of the state space can be deduced from the transition function s table The distinguished states and symbols can be identified by their position e g the first two states can by convention be the start and stop states Consequently every Turing machine can be encoded as a string over the alphabet 0 1 Additionally we convene that every invalid encoding maps to a trivial Turing machine that immediately halts and that every Turing machine can have an infinite number of encodings by padding the encoding with an arbitrary number of say 1 s at the end just like comments work in a programming language It should be no surprise that we can achieve this encoding given the existence of a Godel number and computational equivalence between Turing machines and m recursive functions Similarly our construction associates to every binary string a a Turing machine Ma Starting from the above encoding in 1966 F C Hennie and R E Stearns showed that given a Turing machine Ma that halts on input x within N steps then there exists a multi tape universal Turing machine that halts on inputs a x given on different tapes in CN log N where C is a machine specific constant that does not depend on the length of the input x but does depend on M s alphabet size number of tapes and number of states Effectively this is an O N log N displaystyle mathcal O left N log N right nbsp simulation using Donald Knuth s Big O notation 13 The corresponding result for space complexity rather than time complexity is that we can simulate in a way that uses at most CN cells at any stage of the computation an O N displaystyle mathcal O N nbsp simulation 14 Smallest machines editWhen Alan Turing came up with the idea of a universal machine he had in mind the simplest computing model powerful enough to calculate all possible functions that can be calculated Claude Shannon first explicitly posed the question of finding the smallest possible universal Turing machine in 1956 He showed that two symbols were sufficient so long as enough states were used or vice versa and that it was always possible to exchange states for symbols He also showed that no universal Turing machine of one state could exist Marvin Minsky discovered a 7 state 4 symbol universal Turing machine in 1962 using 2 tag systems Other small universal Turing machines have since been found by Yurii Rogozhin and others by extending this approach of tag system simulation If we denote by m n the class of UTMs with m states and n symbols the following tuples have been found 15 2 9 3 6 4 5 5 4 6 3 9 and 2 18 15 16 17 Rogozhin s 4 6 machine uses only 22 instructions and no standard UTM of lesser descriptional complexity is known However generalizing the standard Turing machine model admits even smaller UTMs One such generalization is to allow an infinitely repeated word on one or both sides of the Turing machine input thus extending the definition of universality and known as semi weak or weak universality respectively Small weakly universal Turing machines that simulate the Rule 110 cellular automaton have been given for the 6 2 3 3 and 2 4 state symbol pairs 18 The proof of universality for Wolfram s 2 state 3 symbol Turing machine further extends the notion of weak universality by allowing certain non periodic initial configurations Other variants on the standard Turing machine model that yield small UTMs include machines with multiple tapes or tapes of multiple dimension and machines coupled with a finite automaton Machines with no internal states editIf multiple heads are allowed on a Turing machine then no internal states are required as states can be encoded in the tape For example consider a tape with 6 colours 0 1 2 0A 1A 2A Consider a tape such as 0 0 1 2 2A 0 2 1 where a 3 headed Turing machine is situated over the triple 2 2A 0 The rules then convert any triple to another triple and move the 3 heads left or right For example the rules might convert 2 2A 0 to 2 1 0 and move the head left Thus in this example the machine acts like a 3 colour Turing machine with internal states A and B represented by no letter The case for a 2 headed Turing machine is very similar Thus a 2 headed Turing machine can be Universal with 6 colours It is not known what the smallest number of colours needed for a multi headed Turing machine is or if a 2 colour Universal Turing machine is possible with multiple heads It also means that rewrite rules are Turing complete since the triple rules are equivalent to rewrite rules Extending the tape to two dimensions with a head sampling a letter and its 8 neighbours only 2 colours are needed as for example a colour can be encoded in a vertical triple pattern such as 110 Also if the distance between the two heads is variable the tape has slack between the heads then it can simulate any Post tag system some of which are universal 19 Example of coding editFor those who would undertake the challenge of designing a UTM exactly as Turing specified see the article by Davies in Copeland 2004 Davies corrects the errors in the original and shows what a sample run would look like He successfully ran a somewhat simplified simulation The following example is taken from Turing 1937 For more about this example see Turing machine examples Turing used seven symbols A C D R L N to encode each 5 tuple as described in the article Turing machine his 5 tuples are only of types N1 N2 and N3 The number of each m configuration instruction state is represented by D followed by a unary string of A s e g q3 DAAA In a similar manner he encodes the symbols blank as D the symbol 0 as DC the symbol 1 as DCC etc The symbols R L and N remain as is After encoding each 5 tuple is then assembled into a string in order as shown in the following table Current m configuration Tape symbol Print operation Tape motion Final m configuration Current m configuration code Tape symbol code Print operation code Tape motion code Final m configuration code 5 tuple assembled codeq1 blank P0 R q2 DA D DC R DAA DADDCRDAAq2 blank E R q3 DAA D D R DAAA DAADDRDAAAq3 blank P1 R q4 DAAA D DCC R DAAAA DAAADDCCRDAAAAq4 blank E R q1 DAAAA D D R DA DAAAADDRDAFinally the codes for all four 5 tuples are strung together into a code started by and separated by i e DADDCRDAA DAADDRDAAA DAAADDCCRDAAAA DAAAADDRDA This code he placed on alternate squares the F squares leaving the E squares those liable to erasure empty The final assembly of the code on the tape for the U machine consists of placing two special symbols e one after the other then the code separated out on alternate squares and lastly the double colon symbol blanks shown here with for clarity ee D A D D C R D A A D A A D D R D A A A D A A A D D C C R D A A A A D A A A A D D R D A The U machine s action table state transition table is responsible for decoding the symbols Turing s action table keeps track of its place with markers u v x y z by placing them in E squares to the right of the marked symbol for example to mark the current instruction z is placed to the right of x is keeping the place with respect to the current m configuration DAA The U machine s action table will shuttle these symbols around erasing them and placing them in different locations as the computation progresses ee D A D D C R D A A zD A AxD D R D A A A D A A A D D C C R D A A A A D A A A A D D R D A Turing s action table for his U machine is very involved Roger Penrose provides examples of ways to encode instructions for the Universal machine using only binary symbols 0 1 or blank mark Penrose goes further and writes out his entire U machine code He asserts that it truly is a U machine code an enormous number that spans almost 2 full pages of 1 s and 0 s 20 Asperti and Ricciotti described a multi tape UTM defined by composing elementary machines with very simple semantics rather than explicitly giving its full action table This approach was sufficiently modular to allow them to formally prove the correctness of the machine in the Matita proof assistant citation needed See also editAlternating Turing machine Abstract computation model Counter machine Abstract machine used in a formal logic and theoretical computer science Kleene s T predicate Concept in computability theory Mark and space States of a communications signal Turing machine equivalents Hypothetical computing devices Von Neumann universal constructor Self replicating cellular automatonNotes edit From lecture transcript attributed to John von Neumann as quoted by Copeland in Copeland amp Fan 2023 In particular Burks Goldstine amp von Neumann 1971 1946 References edit Turing 1937 p 241 Turing 1937 p 231 Turing 1937 p 232 Davis 2018 p page needed Davis 2000 p 193 quoting Time magazine of 29 March 1999 Davis 2000 p 188 Knuth 1973 p 225 Davis 2000 p 237 footnote 18 Davis 2000 p 192 Davis 2000 p 184 Knuth 1973 p 226 Davis 2000 p 185 Arora amp Barak 2009 Theorem 1 9 Arora amp Barak 2009 Exercises 4 1 Rogozhin 1996 Kudlek amp Rogozhin 2002 Neary amp Woods 2009 Neary amp Woods 2009b Minsky Marvin Lee 1 January 1967 Computation Finite and Infinite Machines Prentice Hall p 269 ISBN 978 0 13 165563 8 Penrose 1989 pp 71 73 Original paper and correction Turing A M 1937 On Computable Numbers with an Application to the Entscheidungsproblem PDF Proceedings of the London Mathematical Society 2 42 1 230 265 doi 10 1112 plms s2 42 1 230 Turing A M 1938 On Computable Numbers with an Application to the Entscheidungsproblem A correction Proceedings of the London Mathematical Society 2 43 6 544 6 doi 10 1112 plms s2 43 6 544 Other works cited Arora Sanjeev Barak Boaz 2009 Complexity Theory A Modern Approach Cambridge University Press ISBN 978 0 521 42426 4 section 1 4 Machines as strings and the universal Turing machine and 1 7 Proof of theorem 1 9 Asperti Andrea Ricciotti Wilmer 2015 A formalization of multi tape Turing machines PDF Theoretical Computer Science Elsevier 603 23 42 doi 10 1016 j tcs 2015 07 013 ISSN 0304 3975 Burks Arthur W Goldstine Herman H von Neumann John 1971 1946 Planning and Coding of the Problems for an Electronic Computing Instrument In Bell C Gordon Newell Allen eds Computer Structures Readings and Examples New York McGraw Hill Book Company pp 92 119 ISBN 0 07 004357 4 Copeland Jack ed 2004 The Essential Turing Seminal Writings in Computing Logic Philosophy Artificial Intelligence and Artificial Life plus The Secrets of Enigma Oxford UK Oxford University Press ISBN 0 19 825079 7 Copeland B J Fan Z 2023 Turing and Von Neumann From Logic to the Computer Philosophies 8 22 doi 10 3390 philosophies8020022 Davis Martin 1980 What is Computation In Steen Lynn Arthur ed Mathematics Today Twelve Informal Essays New York Vintage Books Random House ISBN 978 0 394 74503 9 Davis Martin 2000 Engines of Logic Mathematicians and the origin of the Computer 1st ed New York W W Norton amp Company ISBN 0 393 32229 7 Davis Martin 2018 The Universal Computer The Road from Leibniz to Turing Taylor amp Francis Group ISBN 978 1138413931 Hennie F C Stearns R E 1966 Two Tape Simulation of Multitape Turing Machines Journal of the ACM 13 4 533 doi 10 1145 321356 321362 S2CID 2347143 Knuth Donald E 1973 The Art of Computer Programming Vol 1 Fundamental Algorithms second ed Addison Wesley Publishing Company Kudlek Manfred Rogozhin Yurii 2002 A universal Turing machine with 3 states and 9 symbols In Kuich Werner Rozenberg Grzegorz Salomaa Arto eds Developments in Language Theory 5th International Conference DLT 2001 Wien Austria July 16 21 2001 Revised Papers Lecture Notes in Computer Science Vol 2295 Springer pp 311 318 doi 10 1007 3 540 46011 x 27 ISBN 978 3 540 43453 5 Neary Turlough Woods Damien 2009 Four Small Universal Turing Machines PDF Fundamenta Informaticae 91 1 123 144 doi 10 3233 FI 2009 0036 Neary Turlough Woods Damien 2009b Small Weakly Universal Turing Machines 17th International Symposium on Fundamentals of Computation Theory Lecture Notes in Computer Science Vol 5699 Springer pp 262 273 Penrose Roger 1989 The Emperor s New Mind Oxford UK Oxford University Press ISBN 0 19 851973 7 Rogozhin Yurii 1996 Small Universal Turing Machines Theoretical Computer Science 168 2 215 240 doi 10 1016 S0304 3975 96 00077 1 Further reading editArbib M A 1988 From universal Turing machines to self reproduction In Herken R ed A half century survey on The Universal Turing Machine Oxford University Press pp 177 189 ISBN 978 0 19 853741 0 Davis Martin ed 1965 The Undecidable Reprint ed Hewlett New York Raven Press Herken Rolf 1995 The Universal Turing Machine A Half Century Survey Springer Verlag ISBN 3 211 82637 8 Minsky Marvin 1962 Size and Structure of Universal Turing Machines using Tag Systems Recursive Function Theory Proc Symp Pure Mathematics Providence RI American Mathematical Society 5 229 238 doi 10 1090 pspum 005 0142452 Shannon Claude 1956 A Universal Turing Machine with Two Internal States Automata Studies Princeton NJ Princeton University Press pp 157 165 External links editSmith Alvy Ray A Business Card Universal Turing Machine PDF Retrieved 2 January 2020 Retrieved from https en wikipedia org w index php title Universal Turing machine amp oldid 1186049140, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.