11. Übungsblatt. x y(top(push(x, y)) = y)
|
|
- Norbert Dominic Kurzmann
- vor 7 Jahren
- Abrufe
Transkript
1 Logik, Berechenbarkeit und Komplexität Sommersemester 2012 Hochschule RheinMain Prof. Dr. Steffen Reith 11. Übungsblatt 1. Ein Keller (engl. stack) ist eine bekannte Datenstruktur. Sei die Signatur S = {IsEmpty, nullstack, top, push, pop}, wobei IsEmpty ein einstelliges Prädikat und nullstack eine Konstante ist, top und pop einstellige Funktionen sind und push eine zweistellige Funktion ist. Man beschreibe die Operationen, die auf einem Keller erlaubt sind, durch eine Formel F L S, sodass jedes Modell I von F ein (abstrakter) Keller ist. Hinweis: Ein Bestandteil der Formel könnte z.b. sein. x y(top(push(x, y)) = y) 2. Die folgenden Tatsachen werden in der nächsten Zeit benötigt. Bitte wiederholen bzw. machen Sie sich mit den folgenden Begriffen vertraut: 1 Turingmaschinen Eine Turingmaschine (kurz TM) hat die folgenden Bestandteile: Mehrere (k 1) beidseitig unendliche, in Felder unterteilte Bänder. In jedem Feld steht ein Symbol (Buchstabe) aus einem endlichen Bandalphabet Σ. Das Leerzeichen Σ deutet an, dass in diesem Feld eigentlich nichts steht. Ein Lese- und Schreibkopf für jedes Band (kurz Kopf genannt), der sich von Feld zu Feld bewegen und den Inhalt des jeweils betrachteten Feldes lesen und ändern kann. Eine Steuereinheit, die sich in einem der Zustände aus einer endlichen Zustandsmenge Z befindet, Informationen über die von den Köpfen gelesenen Symbole bekommt und deren Aktivitäten steuert. Es gibt zwei besonders ausgezeichnete Zustände: den Startzustand und den Endzustand. Eine Turingmaschine arbeitet taktweise und kann in Abhängigkeit vom gegenwärtigen Zustand und von den durch die Köpfe gelesenen k Bandsymbole gleichzeitig
2 Steuereinheit Kopf 1 a 1 a 2 a 3 a n Kopf 3 Kopf 2 Band 1 Band 2 Band 3 Kopf k Band k Leersymbol Abbildung 1: Bestandteile einer Turingmaschine einen neuen Zustand annehmen die k gelesenen Bandsymbole verändern und jeden der Köpfe um maximal ein Feld bewegen. Das Verhalten einer Turingmaschine in einem Takt wird durch die (totale) Überführungfunktion δ : Z Σ k Z Σ k {L, N, R} k festgelegt. Für z Z, a 1,... a k Σ beschreibt δ(z, a 1,..., a k ) = (z, a 1,..., a k, σ 1,..., σ k ) das Verhalten der Turingmaschine im Zustand z, wenn sie auf dem Band i das Symbol a i gelesen hat und dann in den Zustand z übergegangen ist und auf Band i das Symbol a i geschrieben hat. Dannach wird der Kopf i nach links (L), nicht (N) oder rechts (R) bewegt. Der Startzustand ist z 0 und der Endzustand ist z 1. Die Turingmaschine beginnt ihre Arbeit immer im Zustand z 0 und findet die Eingabe auf dem ersten Band. Dabei befindet sich der Kopf fur die Eingabe immer ganz links auf der Eingabe. Die TM hält (stoppt), falls sie in den Zustand z 1 gelangt und schreibt die Ausgabe auch auf Band 1. Es ist folgende Aufgabe zu lösen: Erkenne ob die Eingabe ein Palindrom ist, d.h. ob die Buchstaben von links nach 2
3 rechts gelesen das gleiche Wort bilden, wie von rechts nach links gelesen. D.h. wir sollen ein Turing-Programm für die folgende Funktion angeben: Idee: { a, falls x ein Palindrom palindrom(x) = def b, sonst Merke Buchstabe links im Zustand und lösche ihn Vergleich mit Buchstaben rechts: Wenn die Buchstaben nicht übereinstimmen, dann alles löschen und b schreiben Bei Übereinstimmung letztes Zeichen löschen und ganz nach links wandern. Dann diesen Prozess wiederholen. Die Zustände haben die folgende Bedeutung: z a : Buchstabe a gemerkt z b : Buchstabe b gemerkt z a: Ein Schritt nach links und a testen z b : Ein Schritt nach links und b testen z 0 : Startzustand, d.h. Merkprozess starten z 1 : Endzustand z 2 : Test positiv, d.h. nach links laufen und Prozess wiederholen z 3 : Test negativ, alles löschen. Nun geben wir eine Turingmaschine M = (Σ, Z, f, z 0, z 1 ) an, die das Problem löst. Σ = {a, b, } Z = {z a, z b, z a, z b, z 0, z 1, z 2, z 3 } f Siehe Bild 2 z 0 Startzustand z 1 Endzustand 2 Random-Access-Maschinen Die Random-Access-Maschinen (kurz: RAM) sind ein mathematisches Modell für reale Rechner. Eine RAM besteht aus einer Steuereinheit, aus unendlich vielen durchnumerierten Registern R0, R1, R2,... und dem Befehlsregister BR. Jedes Register kann eine natürliche Zahl enthalten, wobei sich die n Eingaben am Anfang in den Registern R0,..., Rn befinden. Alle nicht benutzten Register enthalten zu Beginn 0. Das Ergebnis wird am Ende in Register R0 abgelegt. Folgende Befehle sind zulässig: 3
4 z 0 z 1 a N // leeres Wort z 0 a z a R // a merken nach rechts z 0 b z b R // b merken nach rechts z a a z a a R // nach rechts, a gemerkt z a b z a b R z a z a L // rechtes Ende gefunden z a a z 2 L // Vergleich positiv z a b z 3 L // Vergleich negativ z a z 1 a N // War Palindrom z b a z b a R // Nach rechts, b gemerkt z b b z b b R z b z b L // rechtes Ende gefunden z b b z 2 L // Vergleich positiv z b a z 3 L // Vergleich negativ z b z 1 a N // War Palindrom z 2 a z 2 a L // Nach links und z 2 b z 2 b L // neuen Vergleich starten z 2 z 0 R z 3 a z 3 L // Band löschen und nach links z 3 b z 3 L z 3 z 1 b N Abbildung 2: Ein Turingprogramm zum Erkennen von Palindromen 4
5 BR R0 R1 R2 Steuereinheit Abbildung 3: Bestandteile einer Random-Access-Maschine Befehl Wirkung Transportbefehle Ri Rj <Ri> := <Rj> <BR> := <BR> + 1 Ri RRj <Ri> := <R<Rj>> <BR> := <BR> + 1 RRi Rj <R<Ri>> := <Rj> <BR> := <BR> + 1 Arithmetische Befehle Ri k <Ri> := k <BR> := <BR> + 1 Ri Rj + Rk <Ri> := <Rj> + <Rk> <BR> := <BR> + 1 Ri Rj - Rk <Ri> := <Rj> - <Rk> <BR> := <BR> + 1 Sprungbefehle GOTO m <BR> := m IF Ri = 0 GOTO m <BR> := m falls <Ri> = 0 <BR> := <BR> + 1 IF Ri > 0 GOTO m <BR> := m falls <Ri> > 0 <BR> := <BR> + 1 Dabei bezeichnet <Ri> den Inhalt des Registers i. Gegeben sei die folgende RAM: 0 R3 1 1 IF R1 = 0 GOTO 5 falls <R1> > 0 führe Schleife durch 2 R2 R2 + R0 addiere x zu <R2> 3 R1 R1 - R3 dekrementiere R1 4 GOTO 1 5 R0 R2 Ergebnis nach R0 6 STOP 5
6 3 Aufgaben (a) Vollziehen Sie die Arbeitsweise der Turingmaschine nach, deren Überführungsfunktion in Abbildung 2 angegeben ist, wenn Sie mit Eingabe abaaba startet. (b) Entwickeln Sie eine Turingmaschine, die zu einer gegebenen Binärzahl 1 hinzuaddiert. Dabei befindet sich der Kopf zu Beginn auf der linken Seite der Binärzahl. (c) Simulieren Sie die Wirkungsweise des oben angegebenen RAM-Programms für die Eingaben x = 5 und y = 3. Geben Sie an, welche Funktion durch diese RAM berechnet wird. (d) Entwickeln Sie ein RAM-Programm, das die Funktion ggt(x,y) berechnet (ggt = größter gemeinsamer Teiler). Besprechnung in der Übung am 13. Juni
Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik
Logik, Berechenbarkeit und Komplexität Sommersemester 2008 Fachhochschule Wiesbaden Prof. Dr. Steffen Reith Auffrischung Einige (wenige) Grundlagen der Theoretischen Informatik 1 Turingmaschinen - Ein
Mehr1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
MehrTuring-Maschinen: Ein abstrakes Maschinenmodell
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt, eine Elementaroperation ist maschinell ausführbar? Was verstehen
Mehr1.5 Turing-Berechenbarkeit
A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine
MehrALP I Turing-Maschine
ALP I Turing-Maschine Teil I WS 2012/2013 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare
Mehra b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM
Vom DFA zur TM Formale der Informatik 1 Kapitel 9 Frank Heitmann heitmann@informatik.uni-hamburg.de a b b a z 0 a z 1 a z 2 b 2. Mai 2016 Wir wollen auf dem Band nach rechts und links gehen können und
MehrEinige Beispiele zur Turingmaschine
Einige Beispiele zur Turingmaschine Beispiel 1: Addition von 1 zu einer Dualzahl Aufgabe: Auf dem Eingabe-Band einer Turingmaschine steht eine Dualzahl (= Binärzahl, bestehend aus 0-en und 1-en, links
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
MehrKontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine
Kontextsensitive und Typ 0 Sprachen Slide 2 Die Turingmaschine DTM = Deterministische Turingmaschine NTM = Nichtdeterministische Turingmaschine TM = DTM oder NTM Intuitiv gilt: DTM = (DFA + dynamischer
MehrTuringmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen
Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und
MehrTuring-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.
Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine
MehrFragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!
4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen
MehrHalteproblem/Kodierung von Turing-Maschinen
Halteproblem/Kodierung von Turing-Maschinen Unser Ziel ist es nun zu zeigen, dass das sogenannte Halteproblem unentscheidbar ist. Halteproblem (informell) Eingabe: Turing-Maschine M mit Eingabe w. Frage:
MehrBerechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen
Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 25. Oktober 2006 Was ist ein Problem? Informelle Umschreibung
MehrProseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP
Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................
Mehr4 Die Turing-Maschine
16 4 Die Turing-Maschine 4.1 Wörter und Gödelisierung Ein Alphabet ist eine endliche Menge verschiedener Objekte {a 1, a 2,..., a k }, die wir auch Buchstaben nennen. Dies können die uns bekannten Buchstaben
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 8 18. Juli 2011 Einführung in die Theoretische Informatik
MehrDie mathematische Seite
Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion
MehrTuring Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.
Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger
MehrTechnische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 27. Juni HA-Lösung. TA-Lösung
Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 27. Juni 2016 HA-Lösung TA-Lösung Einführung in die theoretische Informatik Aufgabenblatt 9 Beachten Sie: Soweit
MehrEinführung in die Informatik Turing Machines
Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene
MehrEinführung in die Informatik Turing Machines
Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen
Mehr1936 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus
//5 Abstrakte Maschinenmodelle: Turingmaschine (TM) 96 von Alan Turing zum theoretischen Studium der Berechenbarkeit eingeführt Besteht aus einem festen Teil ( "Hardware ) einem variablen Teil ( "Software
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik 0 KIT 07.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen 1.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie
MehrTheoretische Informatik. Berechenbarkeit
Theoretische Informatik Berechenbarkeit 1 Turing Maschine Endlicher Automat mit unendlichem Speicher Ein Modell eines realen Computers Was ein Computer berechnen kann, kann auch eine TM berechnen. Was
MehrVL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,
MehrWeitere universelle Berechnungsmodelle
Weitere universelle Berechnungsmodelle Mehrband Turingmaschine Nichtdeterministische Turingmaschine RAM-Modell Vektoradditionssysteme λ-kalkül µ-rekursive Funktionen 1 Varianten der dtm Mehrkopf dtm Kontrolle
MehrDank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung
Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität
MehrEinfache Turing Maschine. Formale Spezifikation einer einfachen Turing Maschine. M = (Σ,Γ,#,Q,s,F, ) Σ
Einfache Turing Maschine Band Formale Spezifikation einer einfachen Turing Maschine Lese-/ Schreibkopf Endliche Kontrolle Rechenschrittregeln: (endlich viele) Startkonfiguration: x Σ * auf Band L/S-Kopf
MehrWiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (II) 2.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrDas Informatik-Kochstudio Sortieren Alltagsalgorithmen Komplexe Algorithmen... 55
Inhalt Vorwort... 9 Binäre Codierung 0 oder 1 der kleine Unterschied... 14 Das Prinzip der digitalen Tonaufzeichnung... 16 Binäre Codierung... 18 Wiedergabequalität und Datenmengen... 21 Digitale Codierung
MehrTyp-0-Sprachen und Turingmaschinen
Typ-0-Sprachen und Turingmaschinen Jean Vancoppenolle Universität Potsdam Einführung in formale Sprachen und Automaten Dr. Thomas Hanneforth (Präsentation aus Foliensätzen von Dr. Thomas Hanneforth und
MehrGrundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
Mehr11.3 Eindimensionale Turingmaschinen
11.3 Eindimensionale Turingmaschinen 156 11.3 Eindimensionale Turingmaschinen Turing ging vom schriftlichen Rechnen aus, also vom Beschreiben eines Papiers mit einem Stift. Wollen wir etwas aufschreiben,
MehrLOOP-Programme: Syntaktische Komponenten
LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=
MehrTheoretische Informatik 1
Theoretische Informatik 1 Teil 4 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Turingmaschinen Mehrband-TM Kostenmaße Komplexität 2 Mehrband-TM Kostenmaße
MehrUnentscheidbarkeit. 1. Wann sind Sprachen unentscheidbar? 1, A 0, A } = {
Unentscheidbarkeit 1. Wann sind Sprachen unentscheidbar? Eine Menge A heisst entscheidbar, falls die charakteristische Funktion von A, nämlich A : {0,1}, berechenbar ist, d.h. gilt: A = { 1, A 0, A } Eine
MehrALP I Turing-Maschine
ALP I Turing-Maschine Teil I SS 2011 Äquivalenz vieler Berechnungsmodelle Alonzo Church λ-kalkül Kombinatorische Logik Alan Turing Turing-Maschine Mathematische Präzisierung Effektiv Berechenbare Funktionen
MehrEin formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62
Ein formales Berechnungsmodell: Turingmaschinen Turingmaschinen 26 / 62 Ein formales Rechnermodell Bisher haben wir abstrakt von Algorithmen bzw. Programmen gesprochen und uns dabei JAVA- oder C++-Programme
MehrTheoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik 0 07.11.2017 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Frage Frage: Ist der
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm
MehrADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr
Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade
MehrRekursiv aufzählbare Sprachen
Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische
Mehr2.4 Kontextsensitive und Typ 0-Sprachen
Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik
MehrTheoretische Informatik II
Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle
Mehr4.2 Varianten der Turingmaschine. 4 Turingmaschinen
4 Turingmaschinen Alles was intuitiv berechenbar ist, d.h. alles, was von einem Menschen berechnet werden kann, das kann auch von einer Turingmaschine berechnet werden. Ebenso ist alles, was eine andere
MehrGrundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier
Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 2 Gesamtübersicht Organisatorisches; Einführung Ersetzungsverfahren:
Mehr4 Kontextsensitive und Typ 0 Sprachen
Hans U. Simon Bochum, den 05.02.2009 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische
MehrAlgorithmentheorie 2. Vorlesung
Algorithmentheorie 2. Vorlesung Martin Dietzfelbinger 13. April 2006 FG KTuEA, TU Ilmenau AT 13.04.2006 Maschinenmodelle Registermaschinen (RAMs) bearbeiten Zahlen Turingmaschinen (TMn) bearbeiten Wörter/Strings/Zeichenfolgen
MehrSchreib- Lesekopf S 1
Die Turingmaschine (Alan M. Turing 1936) Maschinenband beidseitig unbegrenzt F F F F F F a a a b b b F F F F F F F F Schreib- Lesekopf S 1 T = ( Σ;S;B;F;s 0 ; ϕ ) Dabei ist Σ= {e 1;e 2...e n} Das Maschinenalphabet
MehrKomplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier
Komplexitätstheorie WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Komplexitätstheorie Gesamtübersicht Organisatorisches / Einführung Motivation / Erinnerung / Fragestellungen
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
Mehr8. Turingmaschinen und kontextsensitive Sprachen
8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten
MehrTuring-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel
Berechenbarkeit und Komplexität Turing-Maschinen Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at
Mehrc) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}
2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?
MehrBeispiele akzeptierender Turingmaschinen
Formale Sprachen und Automaten Beispiele akzeptierender Turingmaschinen Da wir am Donnerstag nicht mehr genug Zeit hatten, die akzeptierenden Turingmaschinen nochmal im Detail durchzusprechen, habe ich
MehrTuringmaschinen. und eine kleine Einführung in Bereiche der theoretischen Informatik
Turingmaschinen und eine kleine Einführung in Bereiche der theoretischen Informatik Gliederung Einführung Leben Alan Turing Theoretische Informatik Turingmaschine Aufbau, Definition Beispiele Game of Life
MehrAlgorithmus. Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion.
Algorithmus Was ist ein Algorithmus? Ibn Musa Al-Chwarismi persischer Mathematikers 9. Jahrhundert Buch: Regeln der Wiedereinsetzung und Reduktion. Hier einige informelle Erklärungen zum Algorithmus P
Mehr1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit
1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit 1.1 Korrektheit Mit dem Kalkül der Prädikatenlogik, z.b. dem Resolutionskalkül, können wir allgemeingültige Sätze beweisen. Diese Sätze
MehrGrundbegriffe der Informatik Tutorium 13
Grundbegriffe der Informatik Tutorium 13 Tutorium Nr. 16 Philipp Oppermann 3. Februar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrÜbungsblatt Nr. 4. Lösungsvorschlag
Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 4 svorschlag Aufgabe 1: Ein neuer Held
MehrHeute: Was ist eigentlich das da?
Tutorium 23 Grundbegriffe der Informatik (11. Sitzung) Heute: Was ist eigentlich das da? Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum
MehrLösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004
Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,
MehrTheoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung
Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen
MehrUnentscheidbarkeit von Problemen mittels Turingmaschinen
Unentscheidbarkeit von Problemen mittels Turingmaschinen Daniel Roßberg 0356177 Roland Schatz 0355521 2. Juni 2004 Zusammenfassung In dieser Arbeit befassen wir uns mit der Unentscheidbarkeit von Problemen
MehrUniverselle Turingmaschinen
Universelle Turingmaschinen bisher: zum Erkennen einer rekursiven Sprache L wurde jeweils eine spezielle dtm M L angegeben jetzt: konstruieren feste dtm ( universelle Turingmaschine ), die als Eingabe
MehrBerechenbarkeit und Komplexität Vorlesung 3
Berechenbarkeit und Komplexität Vorlesung 3 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 22. November 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 22.
MehrWS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven
WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.
Mehr6. Varianten des Turingmaschinen-Konzeptes II: Varianten der Speicherstruktur
6. Varianten des Turingmaschinen-Konzeptes II: Varianten der Speicherstruktur Der Speicherzugriff bei Turingmaschinen ist recht umständlich. Man erhält effizientere Speicherstrukturen, wenn man mehrere
MehrTuring Maschinen II Wiederholung
Organisatorisches VL-03: Turing Maschinen II (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, Oktober 25, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Turingmaschine (TM) M = (Q, Σ, Γ, B, q 0, q, δ) Unendliches Band... 0 c
MehrVL-03: Turing Maschinen II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
VL-03: Turing Maschinen II (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-03: Turing Maschinen II 1/27 Organisatorisches Nächste Vorlesung: Mittwoch, Oktober
MehrTHEORETISCHE INFORMATIK UND LOGIK
THEORETISCHE INFORMATIK UND LOGIK 3. Vorlesung: WHILE und LOOP Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 12. April 2017 Was bisher geschah... Grundbegriffe, die wir verstehen und erklären
MehrBerechenbarkeit und Komplexität
Teil II: Berechenbarkeit und Komplexität Algorithmen und Komplexität 22. November 2016 Berechenbarkeitstheorie RAM-Maschine 1: M 1 1 2: M 0 1 3: M 0 M 0 M 1 4: M 2 M 2 M 1 5: GOTO 3 IF M 2 > 0. M 2 : M
MehrSprachen und Automaten. Tino Hempel
Sprachen und Automaten 11 Tino Hempel Bisherige Automaten Automat mit Ausgabe/Mealy-Automat Akzeptor, Sprache eines Akzeptors Grenze: L = {a n b n } Kellerautomat erkennt L = {a n b n } Grenze:? T. Hempel
MehrSprachen und Grammatiken
Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 03.12.2007 Sprachen und Grammatiken Alphabete, Zeichen und Symbole Ein
MehrFormale Grundlagen der Wirtschaftsinformatik
Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation popov@risc.uni-linz.ac.at Turingmaschinen und Kontextsensitive Sprachen Eine Turingmaschine besteht
MehrFrank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat
Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat
MehrEinführung in die Informatik
Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der
Mehr7. Übungsblatt zu Theoretische Grundlagen der Informatik im WS 2015/16
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders L. Hübschle-Schneider, T. Maier 7. Übungsblatt zu Theoretische Grundlagen der Informatik im WS 2015/16 http://algo2.iti.kit.edu/tgi2015.php
MehrBerechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion
Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 26. November 2007 Semi-Entscheidbarkeit
MehrDeterministische Turing-Maschinen
Deterministische Turing-Maschinen Um 900 präsentierte David Hilbert auf einem internationalen Mathematikerkongress eine Sammlung offener Fragen, deren Beantwortung er von zentraler Bedeutung für die weitere
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (III) 8.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrÜbungs-Klausur zur Vorlesung. Digitale Informationsverarbeitung (Magister)
Übungs-Klausur zur Vorlesung Digitale Informationsverarbeitung (Magister) Bemerkungen: Das erste Blatt ist mit dem Namen, dem Vornamen und der Matrikelnummer zu versehen, die weiteren nur mit dem Namen!
MehrRandom Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines
Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,
Mehr11.1 Kontextsensitive und allgemeine Grammatiken
Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert
MehrEinführung in die Informatik I
Einführung in die Informatik I LOOP Programme, rekursive Funktionen und der Turm von Hanoi Prof. Dr. Nikolaus Wulff Berechenbarkeit Mitte des 20. Jahrhunderts beantworteten Pioniere, wie Alan M. Turing
MehrBerechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine
Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine Prof. Dr. Berthold Vöcking Lehrstuhl Informatik Algorithmen und Komplexität 24. Oktober 26 Programmierung der TM am Beispiel Beispiel:
MehrTheoretische Informatik SS 03 Übung 3
Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige
Mehrmehreren Präzisierungen des intuitiven Begriffs des Verfahren sein muss, so legt sich nahe, dass er Der Begriff der TURING-Maschine ist eine unter
7\S*UDPPDWLNHQ 7\S6SUDFKHQ XQG 7XULQJPDVFKLQHQ 258 785,1*0DVFKLQH70 Der Begriff der TURING-Maschine ist eine unter mehreren Präzisierungen des intuitiven Begriffs des $OJRULWKPXV bzw. der %HUHFKHQEDUNHLW
Mehr. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:
Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge
MehrTheoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 7. Turingmaschinen Automatenmodell für Typ-0-Sprachen Einschränkung liefert Automatenmodell für Typ-1-Sprachen Alan Turing 1936, ursprüngliches Ziel: Formalisierung des
MehrLOOP-Programme: Syntaktische Komponenten
LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=
Mehr10. Der Äquivalenzsatz
10. Der Äquivalenzsatz In diesem Abschnitt zeigen wir, dass die von uns betrachteten verschiedenen Formalisierungen des Berechenbarkeitsbegriffs äquivalent sind, d.h. alle zu derselben Klasse (partiell)
Mehr