[go: nahoru, domu]

Naar inhoud springen

Universele Turing-machine

Uit Wikipedia, de vrije encyclopedie
De printervriendelijke versie wordt niet langer ondersteund en kan weergavefouten bevatten. Werk uw browserbladwijzers bij en gebruik de gewone afdrukfunctie van de browser.

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

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

  • 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.