www.wikidata.de-de.nina.az
Eine Turingmaschine ist ein mathematisches Modell der theoretischen Informatik das eine abstrakte Maschine definiert Bei diesem Rechnermodell werden nach festgelegten Regeln Manipulationen von Zeichen vorgenommen Die Turingmaschine ist benannt nach dem britischen Mathematiker Alan Turing der sie 1936 37 einfuhrte Turingmaschinen machen die Begriffe des Algorithmus und der Berechenbarkeit mathematisch fassbar das heisst sie formalisieren diese Begriffe Im Gegensatz zu einem physischen Computer ist eine Turingmaschine damit ein mathematisches Objekt und kann mit mathematischen Methoden untersucht werden Eine Turingmaschine reprasentiert einen Algorithmus bzw ein Programm Eine Berechnung besteht dabei aus schrittweisen Manipulationen von Symbolen bzw Zeichen die nach bestimmten Regeln auf ein Speicherband geschrieben und auch von dort gelesen werden Ketten dieser Symbole konnen verschieden interpretiert werden unter anderem als Zahlen Damit beschreibt eine Turingmaschine eine Funktion welche Zeichenketten die anfangs auf dem Band stehen auf Zeichenketten die nach Bearbeitung durch die Maschine auf dem Band stehen abbildet Eine Funktion die anhand einer Turingmaschine berechnet werden kann wird Turing berechenbar oder auch einfach berechenbar genannt Turingmaschinen spielen auch eine bedeutende Rolle bei der Akzeptanz von formalen Sprachen So entsprechen die Sprachen die von Turingmaschinen akzeptiert werden den mit Typ 0 Grammatiken definierbaren Sprachen Es konnte gezeigt werden dass eine Transformationsgrammatik der einer Turingmaschine entsprechen kann die in der Lage ist jede berechenbare Funktion zu berechnen 1 Eine Sprache oder ein Computersystem heissen Turing vollstandig wenn sie beziehungsweise es alle Operationen ausfuhren kann die eine universelle Turingmaschine ausfuhren kann Inhaltsverzeichnis 1 Informelle Beschreibung 2 Bedeutung 3 Formale Definition 3 1 Konfigurationen 3 2 Berechnung 3 3 Intuition 4 Beispiel 5 Aquivalente Varianten der Turingmaschine 5 1 Uberfuhrungsfunktion d als Ganzzahl 6 Universelle Turingmaschine 7 Bekannte Turingmaschinen 7 1 Fleissiger Biber 7 2 Ameise 8 An Turingmaschinen angelehnte Maschinenmodelle 8 1 Nichtdeterministische Turingmaschine 8 2 Alternierende Turingmaschine 8 3 Orakel Turingmaschine 8 4 Probabilistische Turingmaschine 8 5 Quanten Turingmaschine 8 6 Persistente Turingmaschine 8 7 Zenomaschine 9 Beziehung zwischen einer Turingmaschine und einer formalen Sprache 9 1 Akzeptierte Sprache 9 2 Entscheidbare Sprache 10 Literatur 11 Weblinks 12 EinzelnachweiseInformelle Beschreibung Bearbeiten nbsp Ein Band Turingmaschine nbsp Modell einer TuringmaschineDie Turingmaschine hat ein Steuerwerk in dem sich das Programm befindet und besteht ausserdem aus einem unendlich langen Speicherband mit unendlich vielen sequentiell angeordneten Feldern Pro Feld kann genau ein Zeichen aus einem vordefinierten Alphabet gespeichert werden Als zusatzliches Zeichen ist ein Blank englisch fur leer unbeschrieben zugelassen das einem leeren Feld auf dem Speicherband entspricht einem programmgesteuerten Lese und Schreibkopf der sich auf dem Speicherband feldweise bewegen und die Zeichen verandern im Fall eines zu schreibenden Blanks auch loschen kann Eine Berechnung fur ein Eingabewort startet mit dem Eingabewort auf dem Band und dem Lese und Schreibkopf auf dem ersten Symbol des Eingabeworts Die Turingmaschine verarbeitet dann die Eingabe auf dem Band schrittweise nach dem festgelegten Programm Mit jedem Schritt liest der Lese Schreib Kopf das aktuelle Zeichen uberschreibt dieses mit einem anderen oder dem gleichen Zeichen und bewegt sich dann ein Feld nach links oder rechts oder bleibt stehen Welches Zeichen geschrieben wird und welche Bewegung ausgefuhrt wird hangt von dem an der aktuellen Position vorgefundenen Zeichen sowie dem Zustand ab in dem sich die Turingmaschine gerade befindet Dies wird durch eine zu der Turingmaschine gehorende Uberfuhrungsfunktion definiert Zu Beginn befindet sich die Turingmaschine in einem vorgegebenen Startzustand und geht bei jedem Schritt in einen neuen Zustand uber Die Anzahl der Zustande in denen sich die Turingmaschine befinden kann ist endlich Ein Zustand kann mehrere Male durchlaufen werden er sagt nichts uber die auf dem Band vorliegenden Zeichen aus Eine Turingmaschine stoppt wenn fur den aktuellen Zustand und das gelesene Bandsymbol keine Uberfuhrung zu einem neuen Zustand definiert ist Es hangt also im Allgemeinen von der Kombination aus Zustand und Symbol ab ob die Turingmaschine weiter rechnet oder stoppt Zustande in denen die Turingmaschine unabhangig von dem gelesenen Bandsymbol anhalt bezeichnet man als Endzustande Es gibt aber auch Turingmaschinen die fur gewisse Eingaben niemals stoppen Neben der Berechnung von Funktionen wird die Turingmaschine wie viele andere Automaten auch fur Entscheidungsprobleme eingesetzt also fur Fragen die mit ja oder nein zu beantworten sind Bestimmte Endzustande werden als akzeptierend andere als nicht akzeptierend definiert Die Eingabe wird genau dann akzeptiert wenn die Turingmaschine in einem akzeptierenden Endzustand endet Bedeutung BearbeitenDer Mathematiker Alan Turing stellte die Turingmaschine 1936 im Rahmen des von David Hilbert im Jahr 1920 formulierten Hilbertprogramms speziell zur Losung des so genannten Entscheidungsproblems in der Schrift On Computable Numbers with an Application to the Entscheidungsproblem vor Das von Hilbert aufgestellte Entscheidungsproblem fragt ob eine gegebene Formel der Pradikatenlogik allgemeingultig ist also ob die Formel unter jeder Interpretation wahr ist Hilbert stellte die Frage ob dieses Problem automatisch gelost werden kann Die Methode die fur eine pradikatenlogische Formel bestimmt ob sie allgemeingultig ist soll also von einer Maschine durchgefuhrt werden konnen Vor der Erfindung des Computers bedeutete dies dass ein Mensch nach festen Regeln einem Algorithmus eine Berechnung durchfuhrt Turing definierte mit seinem Modell die Begriffe des Algorithmus und der Berechenbarkeit als formale mathematische Begriffe Im Allgemeinen wird davon ausgegangen dass die Turing Berechenbarkeit das intuitive Verstandnis von Berechenbarkeit trifft diese Aussage ist als Church Turing These bekannt Ihr wohnt eine starke Plausibilitat inne u a durch die mathematische Aquivalenz des Begriffs der Turing Berechenbarkeit mit anderen Berechenbarkeits Begriffen wie zum Beispiel der Ausdruckbarkeit im Lambda Kalkul oder als partiell rekursive Funktion sowie die Berechenbarkeit durch Registermaschinen welche strukturell heute verwendeten Computern nachempfunden sind Das Besondere an einer Turingmaschine ist dabei ihre strukturelle Einfachheit Sie benotigt nur drei Operationen Lesen Schreiben und Schreib Lese Kopf bewegen um alle Operationen der ublichen Computerprogramme zu simulieren Im Rahmen der theoretischen Informatik eignet sie sich deshalb besonders gut zum Beweis von Eigenschaften formaler Probleme wie sie von der Komplexitats und Berechenbarkeitstheorie betrachtet werden Die Komplexitat etwa Laufzeit und Speicherkomplexitat von Algorithmen wird in Bezug auf bestimmte Maschinenmodelle definiert Auf Turingmaschinen ist etwa die asymptotische Anzahl der Zustandsubergange in Abhangigkeit von der Eingabelange ein mogliches Laufzeitkomplexitatsmass eines Algorithmus Auf anderen Modellen werden oftmals Komplexitatsmasse definiert die einen wahlfreien Zugriff auf jede Speicherzelle oder die Ausfuhrung arithmetischer Operationen als einzelne Schritte definieren Diese Masse eignen sich im beschrankten Rahmen kleiner Datenmengen bzw kleiner Zahlen besonders gut um die Laufzeit vieler Algorithmen auf realen Computern abzuschatzen und sind dementsprechend oft insbesondere unspezifiziert anzutreffen Aufgrund der sequentiellen Struktur von Turingmaschinen ist daher die Laufzeitkomplexitat im Sinne der asymptotischen Anzahl der Zustandsubergange fur viele Algorithmen verglichen mit Definitionen fur Registermaschinen hoher Die Komplexitatstheorie befasst sich mit der Frage fur welche Probleme Algorithmen mit welcher Komplexitat existieren etwa in welchen Komplexitatsklassen Probleme liegen bzw nicht liegen Sofern es bei der Untersuchung der Laufzeitkomplexitat nicht auf Faktoren polynomiell in der Eingabelange ankommt sind Turingmaschinen hier recht allgemein einsetzbar da die Simulation vieler Registermaschinen in vielen Komplexitatsmassen nur polynomiellen Mehraufwand bedeutet Nicht alle mathematischen Funktionen konnen von einer Turingmaschine berechnet werden selbst wenn man sich auf wohldefinierte Funktionen mit endlicher Ein und Ausgabe beschrankt etwa lassen sich Funktionen zwischen beliebigen reellen Zahlen nicht durch Funktionen mit endlicher Ein und Ausgabe reprasentieren da die reellen Zahlen uberabzahlbar sind und es gibt formal gesehen Funktionen die sich uberhaupt nicht spezifizieren lassen So konnte Turing zeigen dass eine Turingmaschine das Hilbertsche Entscheidungsproblem nicht losen kann genauso wenig wie das Halteproblem Ebenfalls unentscheidbar ist nach dem Satz von Rice jedwede nicht triviale Eigenschaft eines Programms in einer turingmachtigen Programmiersprache Selbst wenn man sich auf terminierende Turingmaschinen beschrankt ist es unentscheidbar ob zwei terminierende Turingmaschinen dieselbe Sprache akzeptieren Die Berechenbarkeitstheorie beschaftigt sich mit der Frage welche Probleme von welchen Maschinenmodellen berechenbar bzw nicht berechenbar sind Systeme Computer und Programmiersprachen die unter Ausblendung der Beschranktheit des Speichers und damit verbundener Eigenschaften eine Turingmaschine emulieren konnten werden als turingvollstandig bezeichnet Formale Definition BearbeitenFormal kann eine deterministische Turingmaschine als 7 Tupel M Q S G d q 0 F displaystyle M Q Sigma Gamma delta q 0 square F nbsp dargestellt werden siehe auch nichtdeterministische Turingmaschine Q displaystyle Q nbsp ist die endliche Zustandsmenge S displaystyle Sigma nbsp ist das endliche Eingabealphabet G displaystyle Gamma nbsp ist das endliche Bandalphabet und es gilt S G displaystyle Sigma subset Gamma nbsp d Q F G Q G L N R displaystyle delta colon Q setminus F times Gamma to Q times Gamma times L N R nbsp ist die partielle Uberfuhrungsfunktion q 0 Q displaystyle q 0 in Q nbsp ist der Anfangszustand G S displaystyle square in Gamma setminus Sigma nbsp steht fur das leere Feld Blank F Q displaystyle F subseteq Q nbsp die Menge der akzeptierenden EndzustandeDie partielle Uberfuhrungsfunktion d displaystyle delta nbsp liefert zu einem Zustand und einem gelesenen Bandsymbol i den nachsten Zustand ii ein Bandsymbol das in das aktuelle Feld geschrieben wird und iii die Bewegungsrichtung des Lese Schreib Kopfes L ein Feld nach links N nicht bewegen R ein Feld nach rechts Da in akzeptierenden Endzustanden die Berechnung auf jeden Fall anhalt sind diese in der Definitionsmenge der Uberfuhrungsfunktion ausgenommen Konfigurationen Bearbeiten nbsp Konfiguration einer Turingmaschine im Zustand q 1 displaystyle q 1 nbsp Der Lese Schreibkopf befindet sich uber dem grau hervorgehobenen 0 displaystyle 0 nbsp Symbol Verwendet man 0 displaystyle 0 nbsp als das Blank Symbol der Turingmaschine entspricht diese Konfiguration dem Tripel q 1 ϵ 011 B displaystyle q 1 epsilon 011B nbsp Die Konfiguration einer Turingmaschine beschreibt nicht nur den ihr eigenen momentanen Zustand q Q displaystyle q in Q nbsp sondern auch die Position des Lese Schreib Kopfes und die gerade auf dem Band vorhandenen Symbole Die Symbole befinden sich in einem endlichen Bereich des Bandes der von unendlich vielen leeren Symbolen umgeben ist Es genugt deshalb diesen endlichen Bereich zu betrachten Formal besteht eine Konfiguration aus dem aktuellen Zustand q Q displaystyle q in Q nbsp einem endlichen Wort u G displaystyle u in Gamma nbsp das den Inhalt des Bands links des Lese Schreib Kopfes enthalt und einem endlichen Wort v G displaystyle v in Gamma nbsp das den Inhalt des Bandes ab der aktuellen Position des Lese Schreib Kopfes enthalt Eine Konfiguration ist also ein Tripel q u v displaystyle q u v nbsp mit q Q displaystyle q in Q nbsp u G displaystyle u in Gamma nbsp v G displaystyle v in Gamma nbsp wobei das Band durch u v displaystyle uv nbsp gegeben ist und der Lese Schreib Kopf auf dem ersten Zeichen von v displaystyle v nbsp steht Oft werden Konfiguration auch durch eine Folge X 1 X 2 X i 1 q X i X i 1 X n displaystyle X 1 X 2 cdots X i 1 qX i X i 1 cdots X n nbsp mit X ℓ G q Q displaystyle X ell in Gamma q in Q nbsp beschrieben bei der der aktuelle Zustand q displaystyle q nbsp an der aktuellen Position des Lese Schreibkopfes in das Wort das den Bandinhalt wiedergibt eingefugt wird X 1 displaystyle X 1 nbsp ist das am weitesten links stehende nicht leere Bandsymbol X n displaystyle X n nbsp das am weitesten rechts stehende nicht leere Bandsymbol und X i displaystyle X i nbsp das Symbol uber dem sich der Lese Schreibkopf befindet Bewegt sich der Lese Schreib Kopf uber den Rand hinaus sind der Konfiguration noch weitere displaystyle square nbsp Symbole hinzuzufugen Durch eine Startkonfiguration wird das Eingabewort festgelegt Eine ubliche Startkonfiguration ist q 0 X 1 X n displaystyle q 0 X 1 cdots X n nbsp mit Startzustand q 0 displaystyle q 0 nbsp und Eingabewort X 1 X n displaystyle X 1 cdots X n nbsp Diese entspricht dem Tripel q 0 ϵ X 1 X n displaystyle q 0 epsilon X 1 cdots X n nbsp wobei ϵ displaystyle epsilon nbsp das leere Wort ist Berechnung Bearbeiten Die Uberfuhrungsfunktion d displaystyle delta nbsp gibt zu einer Startkonfiguration den Ablauf einer Turingmaschine vor Sie wechselt in einem Schritt von der aktuellen Konfiguration in die Nachfolgekonfiguration Ein solcher Schritt von Konfiguration c 1 displaystyle c 1 nbsp zu Konfiguration c 2 displaystyle c 2 nbsp kann als c 1 c 2 displaystyle c 1 vdash c 2 nbsp dargestellt werden Schreibt die Uberfuhrungsfunktion fur einen Zustand q displaystyle q nbsp und das Eingabesymbol X i displaystyle X i nbsp zum Beispiel vor dass Y displaystyle Y nbsp geschrieben wird der Lese Schreibkopf sich nach links bewegt und der Nachfolgezustand p displaystyle p nbsp ist so bedeutet dies folgenden Schritt X 1 X i 1 q X i X i 1 X n X 1 p X i 1 Y X i 1 X n displaystyle X 1 cdots X i 1 qX i X i 1 cdots X n vdash X 1 cdots pX i 1 YX i 1 cdots X n nbsp Die Berechnung einer Turingmaschine ist eine endliche oder unendliche Folge von Konfigurationsschritten Eine Turingmaschine akzeptiert ein durch die Startkonfiguration gegebenes Wort wenn die Berechnung in dieser Startkonfiguration beginnt und in einer Konfiguration endet in der die Turingmaschine in einem akzeptierenden Endzustand q f F displaystyle q f in F nbsp ist Endet die Berechnung in einer anderen Konfiguration verwirft die Turingmaschine das Eingabewort Ist die Berechnung der Turingmaschine unendlich wird das Wort weder akzeptiert noch verworfen Intuition Bearbeiten Die Turingmaschine fuhrt eine Berechnung aus indem sie schrittweise eine Eingabe in eine Ausgabe umwandelt Ein Ausgabe und Zwischenergebnisse werden auf dem unendlich langen Band gespeichert Zu Beginn steht ein Wort als Eingabe auf dem Band pro Bandfeld ein Zeichen des Eingabewortes der Rest des Bandes besteht aus leeren Feldern displaystyle square nbsp Der Lese Schreib Kopf steht auf dem ersten Zeichen der Eingabe und die Turingmaschine befindet sich im Startzustand q 0 displaystyle q 0 nbsp Die Uberfuhrungsfunktion gibt an wie die Turingmaschine schrittweise den Bandinhalt liest und beschreibt ihren Zustand wechselt und die Position des Lese Schreib Kopfes andert Diese Funktion nimmt als Argument den aktuellen Zustand und das Zeichen das sich in der aktuellen Konfiguration unter dem Lese Schreib Kopf befindet Als Ergebnis liefert sie dann genau einen Zustand dieser wird zum Nachfolgezustand der Turingmaschine ein Zeichen mit diesem wird der Inhalt des Feldes auf welches der Lese Schreib Kopf weist uberschrieben und entweder das Symbol L in diesem Fall bewegt sich der Lese Schreib Kopf um ein Feld nach links R in diesem Fall bewegt er sich ein Feld nach rechts oder N dann verharrt er auf demselben Feld Damit hat die Turingmaschine einen Schritt ihres Arbeitszyklus durchlaufen und steht fur einen weiteren bereit Da die Uberfuhrungsfunktion partiell ist muss sie nicht fur jeden Zustand und jedes Eingabezeichen einen Ubergang definieren Der Endzustand hat beispielsweise fur kein Eingabezeichen einen Nachfolgezustand Erreicht die Turingmaschine einen Endzustand q f F displaystyle q f in F nbsp kann die Turingmaschine deshalb keine weiteren Aktionen durchfuhren und die Berechnung ist beendet Die Ausgabe ist dann der Inhalt des Bandes Beispiel BearbeitenDie folgende deterministische Ein Band Turingmaschine M displaystyle M nbsp erwartet eine Folge von Einsen als Eingabe auf dem Band Sie verdoppelt die Anzahl der Einsen wobei ein Leersymbol in der Mitte stehen bleibt Aus 11 wird beispielsweise die Zeichenfolge 11011 Der Schreib Lesekopf befindet sich initial auf der ersten Eins Der Anfangszustand ist s 1 displaystyle s1 nbsp der Endzustand s 6 displaystyle s6 nbsp Die Null steht fur das leere Feld displaystyle square nbsp und das Band besteht bis auf die darauf geschriebenen Einsen aus leeren Feldern M Q S G d s 1 0 s 6 displaystyle M Q Sigma Gamma delta s1 0 s6 nbsp Q s 1 s 2 s 3 s 4 s 5 s 6 displaystyle Q s1 s2 s3 s4 s5 s6 nbsp S 1 displaystyle Sigma 1 nbsp G 1 0 displaystyle Gamma 1 0 nbsp Die Uberfuhrungsfunktion d displaystyle delta nbsp ist wie folgt definiert nbsp Die Uberfuhrungsfunktion d displaystyle delta nbsp als GraphaktuellerZustand geles Symbol schr Symbol neuerZustand Kopf richtungs1 1 0 s2 Rs1 0 0 s6 Ns2 1 1 s2 Rs2 0 0 s3 Rs3 1 1 s3 Rs3 0 1 s4 Ls4 1 1 s4 Ls4 0 0 s5 Ls5 1 1 s5 Ls5 0 1 s1 RM displaystyle M nbsp durchlauft im oben erwahnten Beispiel also bei der Eingabe 11 folgende Zustande wobei die aktuelle Kopfposition fett gedruckt ist nbsp Die beschriebene Turingmaschine auf die Eingabe 11 angewandt Schritt Zust Band1 s1 110002 s2 010003 s2 010004 s3 010005 s4 010106 s5 010107 s5 010108 s1 11010Schritt Zust Band9 s2 1001010 s3 1001011 s3 1001012 s4 1001113 s4 1001114 s5 1001115 s1 1101116 s6 halt Die Berechnung beginnt im Anfangszustand s 1 displaystyle s1 nbsp Hier wird die erste Eins durch ein leeres Feld ersetzt der Schreib Lese Kopf bewegt sich nach rechts und neuer Zustand wird s 2 displaystyle s2 nbsp Der Kopf wandert nun solange nach rechts bis ein leeres Feld gelesen wird Danach gelangt die Turingmaschine in den Zustand s 3 displaystyle s3 nbsp und uberliest alle weiteren Einsen bis sie erneut ein leeres Feld findet Dieses wird dann durch eine Eins ersetzt Im Zustand s 4 displaystyle s4 nbsp bewegt sich der Kopf zuruck uberliest wieder alle Einsen bis er auf ein leeres Feld trifft Zustandswechsel auf s 5 displaystyle s5 nbsp Der Kopf bewegt sich nun solange nach links bis das ursprunglich in Zustand s 1 displaystyle s1 nbsp geschriebene leere Feld gefunden wird Dieses wird wieder durch eine Eins ersetzt der Kopf bewegt sich ein Feld nach rechts und die Turingmaschine gelangt wieder in den Zustand s 1 displaystyle s1 nbsp Hier beginnt ein neuer Rechenzyklus Wird im Zustand s 1 displaystyle s1 nbsp ein leeres Feld gelesen so gelangt die Turingmaschine M displaystyle M nbsp in den Endzustand s 6 displaystyle s6 nbsp woraufhin die Berechnung beendet wird Aquivalente Varianten der Turingmaschine BearbeitenIn der Literatur findet man zahlreiche unterschiedliche Definitionen und Varianten der Turingmaschine die sich jeweils in einigen Details unterscheiden Diese sind aquivalent in dem Sinne dass Turingmaschinen einer Definition leicht in Turingmaschinen der anderen Definitionen umgewandelt werden konnen sodass diese die gleichen Berechnungen durchfuhren Haufige Abweichungen von der obigen Definition sind Es wird nicht zwischen Eingabealphabet und Bandalphabet unterschieden Statt einer Menge von akzeptierenden Endzustanden gibt es nur einen einzigen akzeptierenden Endzustand Zusatzlich zu einem oder mehreren akzeptierenden Endzustanden gibt es noch einen oder mehrere verwerfende Endzustande 2 Der Lese Schreib Kopf bewegt sich immer entweder nach links oder nach rechts Fur die Bewegung des Kopfes gibt es also nur die Symbole L R displaystyle L R nbsp 3 Die Funktion d displaystyle delta nbsp ist als totale Funktion gegeben Die Maschine halt in Endzustanden und in Zustanden q Q displaystyle q in Q nbsp wenn das Symbol a displaystyle a nbsp gelesen wird und d q a q a N displaystyle delta q a q a N nbsp 4 Semiunendliches Speicherband Das Speicherband ist nur in eine Richtung unendlich Es gibt ein spezielles Symbol das den Anfang der Eingabe markiert Der Lese Schreibkopf kann sich dann nicht daruber hinaus nach links bewegen aber beliebig weit nach rechts 2 Zudem gibt es Erweiterungen die ebenfalls hinsichtlich der Berechenbarkeit aquivalent zu Turingmaschinen sind Selbst komplexitatstheoretisch sind die Unterschiede zwischen vielen der Varianten weitgehend zu vernachlassigen Insgesamt fuhren sehr viele Varianten zu nicht mehr als polynomialen Aufwandsunterschieden wobei Aufwand hier eine beliebige Ressource meint und sind daher fur viele komplexitatstheoretische Untersuchungen vernachlassigbar Man passt in Abhangigkeit von den Zielen der jeweiligen Analyse das verwendete Modell so an dass die Analyse moglichst einfach durchgefuhrt werden kann Es gibt jedoch auch hinsichtlich der Berechenbarkeit nicht aber der Komplexitat im Sinne von bis auf polynomiellen Mehraufwand aquivalente Erweiterungen der Turingmaschine wie zum Beispiel nichtdeterministische Turingmaschinen und bestimmte Orakel Turingmaschinen Mehrspuren Turingmaschine engl Multi track Turing machine Turingmaschinen die erlauben mehrere Symbole in ein Feld des Speicherbands zu speichern Mehrband Turingmaschine engl Multitape Turing machine Turingmaschinen mit mehreren Bandern mit jeweils einem Lese Schreib Kopf Vergessliche Turingmaschine engl Oblivious Turing machines Eine Turingmaschine wird vergesslich 5 oder auch bewegungsuniform 6 genannt falls die Kopfbewegungen nicht vom konkreten Inhalt der Eingabe abhangen sondern nur von der Lange der Eingabe Jede Turingmaschine kann durch eine vergessliche simuliert werden 7 Zweikellerautomat engl Two stack Push Down Automaton Ein Kellerautomat mit zwei Kellerspeichern Zahlermaschinen engl Counter Machine 8 mit mindestens 2 Zahlern Uberfuhrungsfunktion d als Ganzzahl Bearbeiten Siehe auch Godelisierung von Turingmaschinen In seinem ursprunglichen Artikel zu Hilberts Entscheidungsproblem beschreibt Alan Turing eine Moglichkeit die Uberfuhrungsfunktion die man meistens grafisch abbildet oder in einer Tabelle aufschreibt mithilfe einer einzigen Zahl zu definieren 9 Dazu uberfuhrt er die Tabelle zuerst in eine Normalform und ersetzt dann die einzelnen Zustande Buchstaben und Anweisungen durch Zahlen die dann zu einer langen Zahl zusammengefasst werden Universelle Turingmaschine Bearbeiten Hauptartikel Universelle Turingmaschine In der obigen Definition ist das Programm fest in die Maschine eingebaut und kann nicht verandert werden Kodiert man die Beschreibung einer Turingmaschine als hinreichend einfache Zeichenkette so kann man eine sogenannte universelle Turingmaschine selbst eine Turingmaschine konstruieren welche eine solche Kodierung einer beliebigen Turingmaschine als Teil ihrer Eingabe nimmt und das Verhalten der kodierten Turingmaschine auf der ebenfalls gegebenen Eingabe simuliert Aus der Existenz einer solchen universellen Turingmaschine folgt zum Beispiel die Unentscheidbarkeit des Halteproblems Eine ahnliche Idee bei der das Programm als ein Teil der veranderbaren Eingabedaten betrachtet wird liegt auch fast allen heutigen Rechnerarchitekturen zugrunde Von Neumann Architektur Formal ist eine universelle Turingmaschine eine Maschine U T M ϕ displaystyle mathit UTM phi nbsp die eine Eingabe w x displaystyle w x nbsp liest Das Wort w displaystyle w nbsp ist hierbei eine hinreichend einfache Beschreibung einer Maschine M w displaystyle M w nbsp die zu einer bestimmten Funktion mit Eingabe x displaystyle x nbsp die Ausgabe berechnet displaystyle nbsp ist ein Trennzeichen zwischen Programmbeschreibung und Eingabe U T M ϕ displaystyle mathit UTM phi nbsp simuliert also das Verhalten von M w displaystyle M w nbsp mit Hilfe der Funktionsbeschreibung w displaystyle w nbsp und der Eingabe x displaystyle x nbsp Der Index ϕ displaystyle phi nbsp in U T M ϕ displaystyle mathit UTM phi nbsp zeigt an dass es nicht nur eine einzige universelle Turingmaschine gibt So konnten z B U T M 1 displaystyle mathit UTM 1 nbsp und U T M 2 displaystyle mathit UTM 2 nbsp verschiedene Worter verstehen Das Wort w displaystyle w nbsp muss dabei in einer Sprache codiert sein die die U T M ϕ displaystyle mathit UTM phi nbsp versteht Bekannte Turingmaschinen BearbeitenFleissiger Biber Bearbeiten nbsp Fleissiger Biber mit 2 Zustanden Endzustand der vier 1 schreibt bevor er terminiertAls Fleissige Biber engl Busy Beaver werden die deterministischen Turingmaschinen bezeichnet die bezogen auf alle terminierenden deterministischen Turingmaschinen mit derselben Anzahl von Zustanden und Symbolen die maximale Anzahl eines bestimmten Symbols auf das Band schreiben und dann anhalten Es existiert keine berechenbare Funktion die einer gegebenen Anzahl von Symbolen und Zustanden eines entsprechenden Fleissigen Bibers die Anzahl der von ihm am Ende geschriebenen Symbole die sogenannte Rado Funktion oder die Anzahl der Schritte zuordnet die er braucht um zu terminieren Ameise Bearbeiten Chris Langtons Ameise ist eine Turingmaschine mit zweidimensionalem Band eigentlich eine Flache und sehr einfachen Regeln dessen Bandinhalt als zweidimensionales Bild zunachst chaotisch aussieht jedoch nach uber 10 000 Schritten eine gewisse sichtbare Struktur herausbildet An Turingmaschinen angelehnte Maschinenmodelle BearbeitenNichtdeterministische Turingmaschine Bearbeiten Hauptartikel Nichtdeterministische Turingmaschine Eine nichtdeterministische Turingmaschine verwendet anstatt der Ubergangsfunktion d displaystyle delta nbsp eine Ubergangsrelation In der Konfiguration dieser nichtdeterministischen Turingmaschine kann es daher mehrere Moglichkeiten fur den nachsten Berechnungsschritt geben Die Maschine akzeptiert ein Wort wenn eine der moglichen Berechnungen die mit dem Wort als Eingabe starten einen akzeptierenden Endzustand erreicht Alternierende Turingmaschine Bearbeiten Hauptartikel Alternierende Turingmaschine Eine alternierende Turingmaschine ist eine nichtdeterministische Turingmaschine welche die Regeln fur die Akzeptanz einer Eingabe erweitert Dabei werden existentielle und universelle Zustande der Maschine unterschieden Erstere akzeptieren eine Eingabe wenn es eine mogliche Berechnung gibt die akzeptiert wahrend die zweiten Zustande Eingaben nur dann akzeptieren wenn alle moglichen Berechnungen akzeptiert werden Orakel Turingmaschine Bearbeiten Hauptartikel Orakel Turingmaschine Orakel Turingmaschinen sind Verallgemeinerungen der Turingmaschine bei der die Turingmaschine in einem Schritt bestimmte zusatzliche Operationen durchfuhren kann etwa die Losung unentscheidbarer oder nur mit hohem Aufwand entscheidbarer Probleme Somit erlauben Orakel Turingmaschinen eine weitere Kategorisierung unentscheidbarer Probleme siehe hierzu Turinggrad oder auch die Definition zusatzlicher Komplexitatsklassen Probabilistische Turingmaschine Bearbeiten Hauptartikel Probabilistische Turingmaschine Probabilistische Turingmaschinen erlauben fur jeden Zustand und jede Eingabe zwei oder aquivalent dazu endlich viele mogliche Ubergange von denen bei der Ausfuhrung intuitiv ausgedruckt einer zufallig ausgewahlt wird und dienen der theoretischen Beschreibung randomisierter Algorithmen 10 Quanten Turingmaschine Bearbeiten Quanten Turingmaschinen dienen in der Quanteninformatik als abstrakte Maschinenmodelle zur theoretischen Beschreibung der Moglichkeiten von Quantencomputern Quantenschaltungen sind in diesem Kontext als anderes verbreitetes Modell zu nennen Persistente Turingmaschine Bearbeiten Um interaktive Modelle im Sinne von Modellen mit Gedachtnis durch eine Turingmaschine darzustellen ist eine Erweiterung derselben um ebendieses Gedachtnis notwendig Laut Definition 11 ist eine Persistente Turingmaschine PTM eine nichtdeterministische 3 Band Turingmaschine mit einem Eingabe einem Arbeits und einem Ausgabeband Die Eingabe wird auf dem Arbeitsband verarbeitet und erst nach vollstandiger Bearbeitung gelangen die Ergebnisse auf dem Ausgabeband zuruck in die Umwelt Danach kann eine erneute Eingabe aus der Umwelt verarbeitet werden Zwischen zwei Arbeitsschritten bleiben die Inhalte des Arbeitsbandes als Gedachtnis erhalten Zenomaschine Bearbeiten Hauptartikel Zenomaschine Die Zenomaschine ist eine in geometrischer Reihe beschleunigt immer schneller rechnende Turingmaschine Sie stellt ein fiktives Modell jenseits der Turing Berechenbarkeit dar Beziehung zwischen einer Turingmaschine und einer formalen Sprache BearbeitenAkzeptierte Sprache Bearbeiten Eine Turingmaschine akzeptiert eine Sprache L displaystyle L nbsp wenn sie bei Eingabe eines jeden Wortes x L displaystyle x in L nbsp nach endlich vielen Schritten in einem akzeptierenden Zustand halt und bei Eingabe eines jeden Wortes x L displaystyle x not in L nbsp in einem nicht akzeptierenden Zustand oder uberhaupt nicht halt Eine Sprache L S displaystyle L subseteq Sigma star nbsp heisst genau dann rekursiv aufzahlbar bzw semientscheidbar Typ 0 der Chomsky Hierarchie wenn es eine Turingmaschine gibt die L displaystyle L nbsp akzeptiert Entscheidbare Sprache Bearbeiten Akzeptiert eine Turingmaschine eine Sprache und halt sie zusatzlich bei allen Eingaben die nicht zu dieser Sprache gehoren so entscheidet die Turingmaschine diese Sprache Eine Sprache L S displaystyle L subseteq Sigma star nbsp heisst rekursiv oder entscheidbar genau dann wenn es eine Turingmaschine gibt die L displaystyle L nbsp entscheidet Literatur BearbeitenRolf Herken Hrsg The Universal Turing Machine A Half Century Survey Computerkultur Band 2 2 Auflage Springer Wien u a 1995 ISBN 3 211 82637 8 Juraj Hromkovic Theoretische Informatik Formale Sprachen Berechenbarkeit Komplexitatstheorie Algorithmik Kommunikation und Kryptographie 3 uberarbeitete und erweiterte Auflage Teubner Wiesbaden 2007 ISBN 978 3 8351 0043 5 John E Hopcroft Rajeev Motwani Jeffrey D Ullman Introduction to Automata Theory Languages and Computation 2 Auflage Addison Wesley Boston MA u a 2001 ISBN 978 0 201 44124 6 Sybille Kramer Symbolische Maschinen Die Idee der Formalisierung im geschichtlichen Abriss Wissenschaftliche Buchgesellschaft Darmstadt 1988 ISBN 3 534 03207 1 Heinz Luneburg Rekursive Funktionen Springer Berlin u a 2002 ISBN 3 540 43094 6 Marvin L Minsky Computation Finite and Infinite Machines Prentice Hall Englewood Cliffs NJ 1967 Charles Petzold The Annotated Turing A guided Tour through Alan Turing s historic Paper on Computability and the Turing Machine John Wiley amp Sons Indianapolis IN 2008 ISBN 978 0 470 22905 7 Boris A Trachtenbrot Algorithmen und Rechenautomaten VEB Deutscher Verlag der Wissenschaften Berlin 1977 Alan Turing On Computable Numbers with an Application to the Entscheidungsproblem In Proceedings of the London Mathematical Society Band 42 1937 ISSN 0024 6115 S 230 265 doi 10 1112 plms s2 42 1 230 Oxford Journals Christian Vater Turings Maschinen Eine Problemstellung zwischen Wissenschafts und Technikgeschichte Manutius Heidelberg 2023 ISBN 978 3 944512 35 8 Dissertationsschrift Universitat Heidelberg mit ausfuhrlicher Bibliographie Oswald Wiener Manuel Bonik Robert Hodicke Eine elementare Einfuhrung in die Theorie der Turing Maschinen Springer Wien New York 1998 ISBN 3 211 82769 2 Weblinks Bearbeiten nbsp Commons Turing machines Sammlung von Bildern Videos und Audiodateien nbsp Wiktionary Turingmaschine Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen David Barker Plummer Turing Machines In Edward N Zalta Hrsg Stanford Encyclopedia of Philosophy Georg Weuffen Die Turing Maschine In MathePrisma Multimedia Projekt der Bergischen Universitat Wuppertal Turingmaschinen auf informatikseite de Einband Mehrband Turingmaschine Simulation der Grundrechenarten JavaScript Website uber eine physikalische Turing Maschine inklusive Video elstel org coan Turingsimulator ein Programm das auch nicht deterministische Turingmaschinen und Maschinenschemata simulieren kannEinzelnachweise Bearbeiten George A Miller Worter Streifzuge durch die Psycholinguistik Herausgegeben und aus dem Amerikanischen ubersetzt von Joachim Grabowski und Christiane Fellbaum Spektrum der Wissenschaft Heidelberg 1993 Lizenzausgabe Zweitausendeins Frankfurt am Main 1995 2 Auflage ebenda 1996 ISBN 3 86150 115 5 S 255 a b Juraj Hromkovic Theoretische Informatik Formale Sprachen Berechenbarkeit Komplexitatstheorie Algorithmik Kommunikation und Kryptographie 3 Auflage B G Teubner Verlag Heidelberg 2007 ISBN 978 3 8351 0043 5 John E Hopcroft Rajeev Motwani Jeffrey D Ullman Einfuhrung in die Automatentheorie formale Sprachen und Komplexitatstheorie 3 aktualisierte Auflage Pearson Studium Munchen 2011 ISBN 978 3 86894 082 4 Ingo Wegener Theoretische Informatik Eine algorithmenorientierte Einfuhrung B G Teubner Stuttgart ISBN 3 519 02123 4 auf englisch oblivious siehe Sanjeev Arora Boaz Barak Computational Complexity A Modern Approach Cambridge University Press Cambridge New York 2009 ISBN 978 0 521 42426 4 S 45 princeton edu PDF abgerufen am 13 Juni 2013 Karl Rudiger Reischuk Komplexitatstheorie 2 Auflage Band I Grundlagen Teubner 1999 ISBN 978 3 519 12275 3 S 103 Sanjeev Arora Boaz Barak Computational Complexity A Modern Approach Cambridge University Press Cambridge New York 2009 ISBN 978 0 521 42426 4 S 19 princeton edu PDF abgerufen am 13 Juni 2013 Remark 1 10 John E Hopcroft Rajeev Motwani Jeffrey D Ullman Einfuhrung in die Automatentheorie formale Sprachen und Komplexitatstheorie 3 aktualisierte Auflage Pearson Studium Munchen 2011 ISBN 978 3 86894 082 4 8 5 3 Zahlermaschinen 8 5 4 Die Leistungsfahigkeit von Zahlermaschinen Alan Turing On Computable Numbers with an Application to the Entscheidungsproblem November 1936 S 8 10 Eintrag zur probabilistischen Turingmaschine auf der Seite des NIST Goldin et al 2003 Turing Machines Transition Systems and InteractionNormdaten Sachbegriff GND 4203525 9 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Turingmaschine amp oldid 238856763