Universele Turing-machine

Uit Wikipedia, de vrije encyclopedie

In de wiskunde en de theoretische informatica, is een universele Turing-machine (UTM) (ook bekend als de universele rekenmachine, universele machine (UM), U-machine, U en ATM) een Turing-machine die elke willekeurige Turing-machine op elke willekeurige input kan simuleren. De universele Turing-machine slaagt hier in essentie in door zowel de beschrijving van de te simuleren machine als de input daarvan van haar eigen tape te lezen.

Een universele Turing-machine is een Turing-machine die als input neemt, en deze input accepteert wanneer:

  • een correcte stringcodering is van een Turing-machine,
  • een woord is in het alfabet van de door gecodeerde Turing-machine, en
  • voor het woord stopt in de accepterende toestand

Pas wanneer aan al deze voorwaarden voldoet stopt de universele Turingmachine in de accepterende toestand[1]. Een formele notatie is: .

Een belangrijke observatie is dat de universele Turingmachine een herkenner is van , en dus geen beslisser. Dit is het geval omdat het mogelijk is dat M oneindig doorrekent bij input en dus nooit de afwijzende toestand bereikt. De universele Turing-machine zou dan ook nooit de afwijzende toestand berkeiken. We hebben hier te maken met het stopprobleem.

Het idee van een universele Turing-machine werd in 1936[2] geïntroduceerd door Alan Turing. Dit model wordt door sommigen (bijvoorbeeld Martin Davis (2000)) beschouwd als de oorsprong van de stored program-computer - door John von Neumann (1946) gebruikt voor zijn "Electronic Computing Instrument" dat nu zijn naam draagt: de von Neumann-architectuur.

De alledaagse computer[bewerken | brontekst bewerken]

De alledaagse computer wordt ook wel eens een universele Turing-machine genoemd. Enerzijds is dit correct, aangezien het principe van de universele Turing-machine is dat het een arbitrair programma met arbitraire input kan uitvoeren; wat alledaagse computers praktisch gezien ook kunnen. Anderzijds heeft de theoretische universele Turing-machine een oneindig geheugen. Praktisch gezien kan wel gezegd worden dat een alledaagse computer een universele Turing-machine is, aangezien het geheugen dat de meeste computers hebben voor zeer veel problemen voldoende is, terwijl dit puur theoretisch gezien dus niet correct is.

Referenties[bewerken | brontekst bewerken]

  • Martin Davis, Engines of Logic: Mathematicians and the origin of the Computer, 1e editie, 2000, New York NY, W.W. Norton & Company, ISBN 0-393-32229-7
  • Alan Turing, On Computable Numbers, With an Application to the Entscheidungsproblem (zie hier), Proceedings of the London Mathematical Society, 1936, vol. 42, issue 2
  • Alan Turing, On Computable Numbers, with an Application to the Entscheidungsproblem: A correction, Proceedings of the London Mathematical Society, 1937, vol. 43, issue 6, blz. 544-46, herdrukt in Martin Davis red. (1965) The Undecidable, Raven Press, Hewlett NY blz. 115-154; met correcties aan Turings UTM door Emil Post cf voetnoot 11 in Davis 1965 blz. 299.
  1. (en) Michael Sipser, Introduction to the Theory of Computation, pp. 201-210.
  2. (en) Michael Sipser, Introduction to the Theory of computation, pp. 202.