Informatik II. Turingmaschinen. Turingmaschinen. Turingmaschinen. Rainer Schrader. 14. Dezember 2005

Größe: px
Ab Seite anzeigen:

Download "Informatik II. Turingmaschinen. Turingmaschinen. Turingmaschinen. Rainer Schrader. 14. Dezember 2005"

Transkript

1 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Dezember / 76 2 / 76 Gliederung Aufbau und Eigenschaften Maße für Zeit- und Platzbedarf Simulation RAM/Turingmaschine nichtdeterministische Simulation einer NDTM durch eine DTM Eine (deterministische) Turingmaschine besteht aus: einer Recheneinheit einem zweiseitig unbeschränkten Band (= Speicher) einem Schreib-/Lesekopf einer Übergangstabelle (Programm) # # # # # # Band Schreib /Lesekopf Zustand z 3 Übergangstabelle δ z 1 z 2 z # 3 / 76 4 / 76

2 Eine (deterministische) Turingmaschine besteht aus: einer Recheneinheit einem zweiseitig unbeschränkten Band (= Speicher) einem Schreib-/Lesekopf einer Übergangstabelle (Programm) ist stets in einem von endlich vielen Zuständen z Z hält (wenn sie hält) in einer Menge E Z von Endzuständen ist zu Beginn in einem Zustand z 0 (Startzustand) das Band besteht aus Feldern, die mit den Zahlen i Z durchnumeriert sind jedes Feld enthält einen Buchstaben aus dem Alphabet A = {0, 1} #, wobei # = blank zu Beginn steht die Eingabe x 1,..., x n mit x i # auf den Feldern i = 1,..., n alle anderen Felder enthalten # der Kopf steht über dem Feld 1 in jedem Schritt liest der Kopf auf dem Feld, über dem er steht, einen Buchstaben 5 / 76 6 / 76 das Programm besteht aus der Übergangstabelle die Tabelle hat Z E Zeilen und drei Spalten für jeden Zustand und für jedes mögliche Zeichen auf dem Band beschreibt die Tabelle die nächste Aktion 8 >< δ(q, a) = >: (z, a, L) überschreibe a durch a, nimm Zustand z ein und gehe nach links (z, a, N) wie oben, bleibe stehen (z, a, R) wie oben, gehe nach rechts nd der Rechner stoppt mit einer Fehlermeldung wenn der Rechner ohne Fehlermeldung stoppt, so steht das Ergebnis rechts vom Kopf eine Konfiguration besteht aus einem Element αzβ aus A Z A mit α A, β A, wobei gilt: auf dem Band steht αβ, der Kopf steht über dem 1. Element von β, der Zustand ist z. die Tabelle definiert eine partielle Übergangsfunktion δ : Z E A part Z A {L, R, N} 7 / 76 8 / 76

3 α z β ist direkte Nachfolgekonfiguration von αzβ, wenn diese Konfiguration durch einen Rechenschritt aus αzβ hervorgeht (indirekte) Nachfolgekonfigurationen sind entsprechend definiert F = A E A ist die Menge der Endkonfigurationen eine Turingmaschine M berechnet die partielle Funktion part f M : {0, 1} {0, 1} mit 8 < y, falls es eine Nachfolgekonfiguration f M (x ) = K = αzy von z 0 x mit z E gibt : nd, sonst Beispiel Die folgende Maschine liest eine Binärzahl x, addiert eine 1 und schreibt das Ergebnis wieder auf das Band: Lesezustand δ(z 0,0) = (z 0,0,R) δ(z 0,1) = (z 0,1,R) δ(z 0,#) = (z 1,#,L) /* lies die Zahl Übertragszustand δ(z 1,0) = (z 2,1,L) /* addiere 1 δ(z 1,1) = (z 1,0,L) δ(z 1,#) = (e,1,n) kein Übertrag δ(z 2,0) = (z 2,0,L) δ(z 2,1) = (z 2,1,L) δ(z 2,#) = (e,#,r) 9 / / 76 die Übergangsfunktion kann durch eine einfache Programmiersprache beschrieben werden die Anweisungen lauten: left right write a für a {0, 1, #} case a goto i stop die Programmzeilen sind numeriert für a {0, 1, #} und i N die Zustände werden von den Programmzeilen übernommen Beispiel: binäre Addition einer 1: /* gehe nach rechts bis # gefunden 10 case # goto right 30 case 0 goto case 1 goto 20 /* Übertrag 50 left 60 case 1 goto case 0 goto write 1 90 case 1 goto write case 0 goto write 1 /* kein Übertrag 130 left 140 case 0 goto case 1 goto stop 11 / / 76

4 Gliederung Aufbau und Eigenschaften Maße für Zeit- und Platzbedarf Simulation RAM/Turingmaschine nichtdeterministische Simulation einer NDTM durch eine DTM wir wollen zeigen, dass sich und RAMs gegenseitig simulieren können damit ist jede partielle Funktion, die durch eine RAM berechnet wird, auch durch eine Turingmaschine berechenbar, und umgekehrt wir werden genauer untersuchen, wie der jeweilige Aufwand an Zeit und Platz sein wird 13 / / 76 Idee Zeit- und Platzbedarf werden Funktionen vom Input x sein wie in Informatik I sind wir weniger an konkreten Aussagen für jedes x interessiert sondern am Verhalten für alle Inputs gleicher Länge wir werden daher Schranken in Abhängigkeit von der Anzahl der Bits des Inputs herleiten d.h. in Abhängigkeit von der Länge x wir messen somit den maximal benötigten Zeit-/Platzbedarf bei einem Input mit n bits Uniformes Laufzeitmaß Sei M eine RAM oder eine Turingmaschine ein Rechenschritt entspricht einem direkten Konfigurationsübergang wir zählen die Rechenschritte, die die Maschine durchführt setze: 8 < # Rechenschritte, bis Rechner ohne Fehler stoppt T M (x ) = nd, falls Fehler auftritt :, sonst 15 / / 76

5 setze: 8 < T M (x ) = : # Rechenschritte, bis Rechner ohne Fehler stoppt nd, falls Fehler auftritt, sonst für den benötigten Platz einer Maschine zählen wir die maximale Anzahl der belegten Speicherplätze für jedes x liefert dies einen Wert S M (x ) sei t : N N M heißt uniform t(n)-zeitbeschränkt, falls T M (x ) für alle x definiert ist und T M (x ) t( x ) anschaulich: bei einer RAM sei dies der größte Index i eines belegten Registers c(i) bei einer Turingmaschine sei dies das längste Wort αβ einer Konfiguration αzβ formal: M stoppt immer ohne Fehler für alle Inputs x der Länge x = n gilt: M hält nach höchstens t(n) Schritten 17 / / 76 Uniformes Speicherplatzmaß Sei M eine RAM oder eine Turingmaschine ist M eine RAM, so sei S M (x ) = max{i : K = (b, c, e, a) δ (start(x )), c(i) ist definiert} + 1 ist M eine Turingmaschine, so sei S M (x ) = max{ K i : K i δ (start(x ))} M heißt uniform s(n)-platzbeschränkt, falls S M (x ) für alle x definiert ist und S M (x ) s( x ). müssen natürliche Zahl binär darstellen RAMs können natürliche Zahlen dagegen direkt bearbeiten daher ist das uniforme Maß unfair gegenüber (sowohl bzgl. Platz als auch bzgl. Laufzeit) wir werden daher nicht nur die Anzahl der Register sondern auch die Größe ihrer Inhalte zu berücksichtigen wir messen dazu, wieviel Bits wir zur Darstellung einer natürlichen Zahl benötigen für n N, setze j 1 für n = 0 L(n) = log n + 1 sonst 19 / / 76

6 Beispiele: j 1 für n = 0 L(n) = log n + 1 sonst n L(n). Logarithmische Kosten der RAM-Befehle: wir ordnen jedem Befehl Kosten zu, die sich aus der logarithmischen Länge der beteiligten Registerinhalte ergeben Befehle Kosten read 1 write 1 c-load k L(k) load k L(k) + L(c(k)) i-load k L(k) + L(c(k)) + L(c(c(k))) store k L(c(0))+L(k) i-store k L(c(0))+L(k)+L(c(k)) goto k 1 jzero k L(c(0)) end 1 add k L(c(0))+L(c(k)) + L(k) sub k L(c(0))+L(c(k)) + L(k) shift L(c(0)) 21 / / 76 sei K = (b, c, e, a) eine Konfiguration einer RAM wir ordnen K die Kosten zu, die bei dem Befehl mit Nummer b entstehen die logarithmische Laufzeit ist die Summe der Kosten der durchlaufenen Konfigurationen: Logarithmisches Maß der Laufzeit einer RAM wir berücksichtigen die logarithmischen Kosten auch im Platzbedarf wir merken uns für jedes Register den größten bei der Berechnung aufgetretenen Inhalt und summieren über alle benutzten Register auf 8 >< T l (x ) = >: P T m=1 Kosten(δm (start(x )), nd,, sonst T = T M (x ) < ist definiert falls Fehler auftritt formal: 23 / / 76

7 für K = (b, c, e, a) sei r i die binäre Länge des i-ten Registers: für einen Input x sei j L(c(i)), falls c(i) definiert r i (K ) = 0, sonst r i (x ) = sup{r i (K ) : K δ (start(x ))} die größte binäre Länge einer im i-ten Register gespeicherten Zahl. logarithmischer Speicherplatzbedarf einer RAM Setze S l (x ) = X i N r i (x ). wir zeigen für und RAMs: der Speicherplatzbedarf ist nie größer als der Zeitbedarf Für RAMs gilt weiter: die uniformen Kosten sind höchstens so groß wie die logarithmischen die logarithmischen Kosten sind nicht viel größer als die uniformen. 25 / / 76 Satz Sei n = x (Länge von x ) Beschränkung impliziert Maschine uniform t(n)-zeit uniform t(n)-platz RAM/Turing Beweis: (i) und (ii) uniform t(n)-zeit uniform t(n)-platz RAM/Turing logarithmisch t(n)-zeit logarithmisch t(n)-platz RAM logarithmisch t(n)-zeit logarithmisch t(n)-platz RAM logarithmisch t(n)-zeit uniform t(n)-zeit logarithmisch s(n)-platz uniform s(n)-platz RAM bei jeder Vergrößerung des Speichers tritt ein Rechenschritt mit mindestens gleichen Kosten auf uniform t(n)-zeit logarithmisch O(t 2 (n))-zeit uniform s(n)-platz logarithmisch O(s(n) t(n))-platz RAM 27 / / 76

8 Beweis: (iii) logarithmisch t(n)-zeit uniform t(n)-zeit logarithmisch s(n)-platz uniform s(n)-platz RAM Beweis: (iv) uniform t(n)-zeit logarithmisch O(t 2 (n))-zeit uniform s(n)-platz logarithmisch O(s(n) t(n))-platz RAM klar, da logarithmische Kosten mindestens 1 betragen Laufzeit: sei l(i) die maximale binäre Länge eines Registerinhalts nach i Schritten sei C die größte im Programm auftretende Konstante dann ist l(i) i + L(C), denn (Induktion): für i = 0 ist l(0) = 0 für i > 0 wird schlimmstenfalls C bewegt, d.h. l(i) max{l(i 1), L(C)} i 1 + L(C) oder es werden 2 Zahlen addiert, d.h. l(i) l(i 1) + L(C) + 1 = i + L(C) 29 / / 76 Beweis: (iv) Beweis: (iv) uniform t(n)-zeit logarithmisch O(t 2 (n))-zeit uniform s(n)-platz logarithmisch O(s(n) t(n))-platz RAM uniform t(n)-zeit logarithmisch O(t 2 (n))-zeit uniform s(n)-platz logarithmisch O(s(n) t(n))-platz RAM da maximal 3 Operanden verwendet werden, betragen die logarithmischen Kosten im Schritt i höchstens 3i + 3L(C) für k uniforme Schritte sind die logarithmischen Kosten höchstens da C eine Konstante ist T l (x) kx (3i + l(c)) = O(k 2 ), i=1 Speicher: nach k Schritten enthalten alle Register Zahlen, der Länge höchstens k + L(C) nach t(n) Schritten beträgt die Länge höchstens O(t(n)) es werden höchstens s(n) Register benutzt somit S l (x) = O(t(n) s(n)) d.h. nach t(n) uniformen Schritten höchstens O(t 2 (n)) logarithmische Schritte. 31 / / 76

9 Bemerkung: RAMs werden in der Literatur unterschiedlich definiert zum Teil umfasst der Befehlssatz auch eine Anweisung Mult in diesem Fall können sich Registerinhalte in einem Rechenschritt verdoppeln und der logarithmische Aufwand exponentiell größer sein als der uniforme Gliederung Aufbau und Eigenschaften Maße für Zeit- und Platzbedarf Simulation RAM/Turingmaschine nichtdeterministische Simulation einer NDTM durch eine DTM 33 / / 76 wir wollen nachweisen, dass sich RAM und Turingmaschine gegenseitg simulieren können dazu benötigen wir zwei Hilfssätze: Lemma Sei M eine t(n)-zeit- und s(n)-platzbeschränkte Turingmaschine. Dann kann M durch eine Turingmaschine M simuliert werden, die nur Zellen mit Nummern i 0 benutzt und O(t(n))-zeit- und O(s(n))-platzbeschränkt ist. Sei k N fest gewählt. Mehrband- eine k -Band-Turingmaschine hat k Bänder und k Rechenköpfe, die sich unabhängig voneinander bewegen können # # # # # # # # # # # # # # # Beweisidee: Identifiziere die negativen ganzen Zahlen mit den geraden, die positiven ganzen Zahlen mit den ungeraden natürlichen Zahlen. z 3 Übergangstabelle δ ( z, 0, 1, 0, 1) 3 35 / / 76

10 # # # # # # # # # # # # # # # z 3 Übergangstabelle δ ( z, 0, 1, 0, 1) 3 die Zustandsüberführungsfunktion geht dann von Z A k Z A k {L, R, N} k in Abhängigkeit vom aktuellen Zustand und den k Zeichen unter den Köpfen wird ein neuer Zustand angenommen werden die Köpfe unabhängig bewegt und die Bänder beschrieben. Lemma sei M eine t(n)-zeit- und s(n)-platzbeschränkte k -Band-Turingmaschine M kann durch eine 1-Band-Turingmaschine simuliert werden, die O(t 2 (n))-zeit- und O(s(n))-platzbeschränkt ist. Beweisidee: führe virtuelle Spuren 1, 3,..., 2k 1 ein verwalte Positionsmarkierungen in den virtuellen Spuren 2, 4,..., 2k. Die Verwendung von 2-Band- macht den Beweis der folgenden Aussagen etwas einfacher. 37 / / 76 Lemma (Simulation einer Turingmaschine durch eine RAM) Sei M eine t(n)-zeit- und s(n)-platzbeschränkte Turingmaschine. M kann durch eine RAM M simuliert werden, die uniform O(t(n))-zeit- und O(s(n))-platzbeschränkt logarithmisch O(t(n) log t(n))-zeit- und O(s(n))-platzbeschränkt ist. Beweis: Wir können annehmen, dass M nur Zellen c(i), mit i 0, benutzt. (vgl. früheres Lemma) seien q 0,..., q r die möglichen Zustände von M sei w 1 q i w 2 eine Konfiguration, wobei w 1 in Zelle 0 beginnt. seien q 0,..., q r die möglichen Zustände von M sei w 1 q i w 2 eine Konfiguration, wobei w 1 in Zelle 0 beginnt. wir teilen die Register von M in zwei Spuren ein: Spur Spur und legen w 1 q i w 2 wie folgt in den Registern ab: Spur 1: enthält ab Register 2 w 1, w 2 {0, 1}. Register 1: enthält i (die Nummer des Zustandes) Register 3: enthält 2 w (Adresse der Kopfposition) Register 5: enthält die konstante Zahl 2 39 / / 76

11 Simulation eines Schrittes der Turingmaschine 1) lies Speicherstelle unter Kopfposition. i-load 3 sei δ(z i,... ) = (z j, a, s). 2) speichere neuen Zustand. c-load j store 1 3) überschreibe gegenwärtige Position mit a. c-load a i-store 3 4) bewege Kopf. S = N: Simulation beendet. S {L, R}: load 3 sub 5 / add 5 store 3 Kosten (uniform): Zeit : Platz : für jede Operation von M werden konstant viele Operationen von M ausgeführt O(t(n)) M benötigt die Register 0, 1, 3, 5 sowie in Spur 1 höchstens 2s(n) O(s(n)). 41 / / 76 Kosten (logarithmisch): Spur 1 speichert Nullen und Einsen die Anzahl r der Zustände ist eine Konstante das heißt nur Schritte, die Register 3 benutzen, verursachen nicht-konstante Kosten es ist c(3) 2s(n) c t(n) Kosten pro Schritt O(log(t(n))) somit: Zeit: Platz: O(t(n) log(t(n))) O(s(n)), wobei O(s(n)) für Spur 1 O(log(s(n))) für c(3) und c(0) Lemma (Simulation einer RAM durch eine Turingmaschine) Sei M eine uniform t(n)-zeit- und logarithmisch s(n)-platzbeschränkte RAM. M kann von einer 2-Band-Turingmaschine M simuliert werden, die O(t 3 (n))-zeit- und O(s 2 (n) + l n + n)-platzbeschränkt ist, wobei l n = max{ f M (x ) : x n} Beweis: Sei M eine uniform t(n)-zeit- und logarithmisch s(n)-platzbeschränkte RAM. betrachte die Konfiguration K = (b, c, e, a). Es gilt: c : N part. N ist an höchstens s(n) vielen Stellen definiert da M logarithmisch s(n)-platzbeschränkt ist, kann die Adresse eines benutzten Registers höchstens 2 s(n) sein. 43 / / 76

12 Teile das 1. Band der Turingmaschine M in 3 Spuren ein: Spur 1.1 Spur 1.2 Spur Spur 1.1: {i : i = 0 mod 3} Spur 1.2: {i : i = 1 mod 3} Spur 1.3: {i : i = 2 mod 3} 5 seien 0, i 1,..., i k die Adressen, für die c definiert ist. speichere die Konfiguration wie folgt: Spur 1.1: b c(0) 22 i 1 2 c(i 1 ) 22 i 2 2 c(i 2 ) i k 2 c(i k ) 22 Spur 1.2: a Spur 1.3: e wobei die roten Größen und die Zweien binär gespeichert werden / 76 Simulation eines Schrittes der RAM Lies b, gehe in den Zustand q b, der einem Unterprogramm zur Simulation von Befehl b entspricht. Beispiel: b = load k erhöhe b um 1 schreibe b auf Band 2 setze Band 2 an den Anfang von k suche auf Spur 1.1 nach k durch Vergleich kopiere 2 c(k ) und den Rest von Band 1.1 nach Band 2 und lösche den Rest auf 1.1 ab c(k ) suche auf 1.1 nach der fünften 2 b= Ende c(0) kopiere den Rest von 1.1 nach 2 kopiere 2 nach 1.1 Der Zeitverbrauch hängt nur ab von der Anzahl der benutzten Zellen auf 1.1 und beträgt somit O(s 2 (n)). 46 / 76 Beispiel: b = add k erhöhe b um 1 schreibe c(0) und c(k ) binär auf Band 2 wie vorher addiere nach der Schulmethode (in quadratischer Zeit) schreibe Summe an Stelle von c(0) auf das Band kopiere alles bis auf c(0) von 1.1. nach 2 kopiere 2 nach 1.1 Der Zeitverbrauch hängt wiederum ab von der Anzahl der benutzten Zellen auf 1.1 und der Zeit für die Addition er beträgt somit O(s 2 (n)). allgemein gilt: jeder Schritt kann in O(s 2 (n)) = O(t 2 (n)) Schritten simuliert werden daraus resultiert ein Zeitbedarf von O(t 3 (n)) Spur 1.1 und 2 benötigen O(s 2 (n)), Spur 1.2 l n Spur 1.3 n dies ergibt einen Platzbedarf von O(s 2 (n) + l n + n). 47 / / 76

13 Satz (Simulation von RAM/) (i) Sei M eine t(n)-zeit- und s(n)-platzbeschränkte Turingmaschine. M kann durch eine RAM M simuliert werden, die uniform O(t(n))-zeit- und O(s(n))-platzbeschränkt logarithmisch O(t(n) log t(n))-zeit- und O(s(n))-platzbeschränkt ist Beweis: (i) und (ii) entsprechen den letzten beiden Lemmata (iii) folgt aus (i) und (ii) und der Äquivalenz von 1- und k -Band-. (ii) Sei M eine uniform t(n)-zeit- und logarithmisch s(n)-platzbeschränkte RAM. M kann von einer 2-Band-Turingmaschine M simuliert werden, die O(t 3 (n))-zeit- und O(s 2 (n) + l n + n)-platzbeschränkt ist, wobei l n = max{ f M (x ) : x n} (iii) f ist RAM-berechenbar f ist -berechenbar. 49 / / 76 aus unseren bisherigen Überlegungen folgt, dass auch für die Turingmaschine das Halteproblem nicht entscheidbar ist wenn wir uns auf platzbeschränkte beschränken, können wir jedoch eine ähnliche Fragestellung beantworten das folgende Lemma beschreibt, wann eine Turingmaschine nicht hält: Lemma Sei M eine s(n)-bandbeschränkte Turingmaschine über dem Alphabet A. Hält M gestartet mit x nach höchstens Q s( x ) A s( x ) Schritten nicht, so hält M überhaupt nicht. Lemma Sei M eine s(n)-platzbeschränkte Turingmaschine über dem Alphabet A. Hält M gestartet mit x nach höchstens Q s( x ) A s( x ) Schritten nicht, so hält M überhaupt nicht. Beweis: für jede Konfiguration w 1 z i w 2 gilt w 1 w 2 s( x ) es gibt höchstens A s( x ) viele verschiedene Bandinschriften es gibt höchstens s( x ) Kopfpositionen, Q Zustände somit gibt es höchstens Q s( x ) A s( x ) verschiedene Konfigurationen d.h. nach spätestens Q s( x ) A s( x ) Schritten wird eine Konfiguration zum zweiten Male erreicht ab dann gerät das Programm in eine Endlosschleife. 51 / / 76

14 Gliederung Aufbau und Eigenschaften Maße für Zeit- und Platzbedarf Simulation RAM/Turingmaschine nichtdeterministische Simulation einer NDTM durch eine DTM das Konzept des Nichtdeterminismus nahm in gewissem Sinn die Entwicklung der Parallelrechner voraus es erlaubt einer Turingmaschine, sich zu verzweigen. Etwas formaler: Nichtdeterministisch: zu jeder Konfiguration kann mehr als eine Nachfolgekonfiguration existieren. Input x führt unter Umständen zu unterschiedlichen Ergebnissen. 1. Möglichkeit: M akzeptiert x, falls fast alle Rechnungen zu einem akzeptierenden Endzustand führen ( probabilistische TM) 2. Möglichkeit: M akzeptiert x, falls mindestens eine Rechnung zu einem akzeptierenden Endzustand führt ( nichtdeterministische TM) 53 / / 76 bei einer deterministischen Turingmaschine wird der Übergang durch eine Funktion δ beschrieben Wir können uns den Berechnungsvorgang einer NDTM als Baum vorstellen, bei dem jede Konfiguration in u. U. mehrere Nachfolgekonfigurationen verzweigt. bei einer nichtdeterministischen Turingmaschine (NDTM) ist δ eine Übergangsrelation δ (Q A) (Q A {N, L, R}). eine Konfiguration K geht in u. U. mehrere neue Konfigurationen über eine Konfiguration K heißt Nachfolgekonfiguration von K, falls K durch eine Element der Übergangsrelation aus K erhalten werden kann jede Konfiguration kann maximal 3 Q A Nachfolgekonfigurationen haben 55 / / 76

15 jede Konfiguration kann maximal 3 Q A Nachfolgekonfigurationen haben wir können jede Verzweigung durch einen binären Baum ersetzen, wobei wir ggf. Nachfolger verdoppeln und künstliche Zustände einführen dadurch verlängert sich jeder Pfad um höchstens den konstanten Faktor log 3 Q A damit können wir annehmen, dass der Baum binär ist dann hat jede Konfiguration (z, a) keine oder zwei Nachfolgekonfigurationen R 0 (z, a) und R 1 (z, a). jeder Pfad von der Wurzel kann mit einer {0, 1}-Folge identifiziert werden, der beschreibt, welche Nachfolgekonfiguration gewählt wird dem Rechenvorgang einer deterministischen Turingmaschine entspricht 57 / / 76 eine nichtdeterministische Turingmaschine akzeptiert eine Sprache L, wenn gilt: x L es existiert eine Nachfolgekonfiguration von q 0 x, die 1 auf das Ausgabeband schreibt der Zeitbedarf einer NDTM wird durch die Anzahl der Rechenschritte einer kürzesten akzeptierenden Berechnung gegeben: Zeitbedarf: 8 < Anzahl Rechenschritte einer kürzesten T M (x ) = akzeptierenden Folge, falls x L : 0, sonst ja nein endlos der Platzbedarf einer NDTM ist der geringste Platzverbrauch einer akzeptierenden Berechnung: Platzverbrauch: 8 < min{s : akzeptierende Rechnung mit S M (x ) = Bandverbrauch s für x }, falls x S : 0, sonst 59 / / 76

16 Satz akzeptieren ist schwächer als entscheiden, da nur eine Nachfolgekonfiguration ja sagen muß, wenn x L ist, andere können verwerfen oder nicht antworten ist x / L, so darf lediglich keine mit ja antworten. die Asymmetrie zwischen Ja- und Nein-Antworten erinnert an die Asymmetrie bei der rekursiven Aufzählbarkeit in der Tat gilt: Eine Sprache L ist genau dann rekursiv aufzählbar, wenn eine NDTM existiert, die L akzeptiert. im verbleibenden Teil der Vorlesung wollen wir uns mit einer groben Einteilung beschäftigen, die Fragestellungen als leicht und schwer klassifiziert. das Kriterium dazu ist die Laufzeit, die benötigt wird, um die Fragestellung zu beantworten (bzw. zu entscheiden, ob ein gegebenes x in einer Sprache L liegt). Wir werden dabei akzeptieren, dass die Antwort länger dauern darf, wenn x lang ist. wir fordern jedoch, dass die Lauzeit nicht mit der Inputlänge explodiert, sondern moderat ansteigt. Beweis: siehe Übung 61 / / 76 (i) P ist die Menge aller Sprachen, die von einer deterministischen Turingmaschine entschieden werden, deren Laufzeit durch eine Polynom in der Länge des Inputs beschränkt ist. (ii) N P ist die Menge aller Sprachen, die von einer nichtdeterministischen Turingmaschine akzeptiert werden, deren Laufzeit durch eine Polynom in der Länge des Inputs beschränkt ist. (iii) offensichtlich gilt P N P. Beispiele für Sprachen in P: {(x 1,..., x n, π) : π ist eine Permutation, die die x i monoton steigend anordnet} {(G(V, E), c, T ) : T ist ein minimal aufspannender Baum im Graphen G} {(G(V, E), c, P) : P ist ein kürzester Weg im Graphen G} Beispiele für Sprachen, die nicht offensichtlich in P liegen, folgen später. 63 / / 76

17 Gliederung Aufbau und Eigenschaften Maße für Zeit- und Platzbedarf Simulation RAM/Turingmaschine nichtdeterministische Simulation einer NDTM durch eine DTM Die Veranschaulichung einer NDTM als binärer Baum erlaubt es uns unmittelbar, die NDTM durch eine Turingmaschine zu simulieren: die DTM arbeitet den Baum in Breitensuche ab d.h. nacheinander werden die Knoten gleicher Tiefe von links nach rechts bearbeitet die DTM hält, wenn die NDTM hält 65 / / 76 für Sprachen L N P können wir aber u. U. aber auch gewährleisten, dass die simulierende DTM in jedem Fall hält: damit haben wir unmittelbar die folgende Aussage: zu L N P gibt es eine NDTM M, die L akzeptiert ist uns ein Polynom p bekannt, so dass M für ein x L nach höchstens p( x ) Schritten mit ja antwortet, so wird die Turingmaschine ebenfalls nach höchstens O(2 p x ) Schritten ja antworten hat jedoch die Turingmaschine bei der Simulation eine Tiefe im Baum erreicht, die größer ist als p( x ), so wissen wir, dass die NDTM x nicht akzeptiert Lemma Ist L N P, so existiert ein Polynom p(n), so dass L von einer DTM in O(2 p(n) ) Schritten entschieden wird. aus der gerade angegebenen Konstruktion ergibt sich eine weitere Folgerung daher kann die Turingmaschine abbrechen und nein antworten 67 / / 76

18 wir können eine Turingmaschine bauen, die für x L in polynomieller Zeit mit ja antwortet, wir geben ihr dazu den akzeptierenden Pfad der NDTM als zusätzlichen Input mit sei y {0, 1} die Kodierung des Pfads dann existiert zu jedem x L ein y = y (x ), so dass y p( x ) weiter ist L = {(x, y ) : x L, y = y (x )} P, denn: entweder ist y ein akzeptierender Pfad für x, (d.h. (x, y ) L) oder nicht ((x, y ) / L) wir wollen zeigen, dass diese Eigenschaft die Sprachen in N P charakterisiert. 69 / / 76 sei dazu L {0, 1} eine Sprache, x L und p ein Polynom ein Wort y heißt polynomielle Zusatzinformation von x, wenn y p( x ) sei L e die erweiterte Sprache mit den Zusatzinformationen: in Worten: es existiert eine kurze (polynomielle) Zusatzinformation y und es lässt sich schnell (polynomiell) und deterministisch nachprüfen, ob (x, y ) e L el := {(x, y ) : x L, y ist Zusatzinformation von x } Beispiele: Satz Sei L {0, 1}. Dann ist L N P es existiert eine erweiterte Sprache e L mit e L P. sei L = {p N : p ist keine Primzahl} wähle e L = {(p, a, b) : p L und a, b N mit a b = p}. dann ist e L P und erweiterte Sprache von L 71 / / 76

19 (x, ε ) Satz L N P e L P. (x,0) (x,1) Beweis: (i) sei e L P dann existiert eine DTM M und ein Polynom q, bei Input (x, y ) ist die Laufzeit von M durch q( x + y ) beschränkt konstruiere eine NDTM M (für einen Input x {0, 1} ) wie folgt: 1) starte M mit Input (x, ε) 2) verzweige und starte M mit Input (x, 0) und (x, 1) 3) verzweige und starte M mit Input (x, 00), (x, 01)(x, 10) und (x, 11) 4) allgemein erzeugt M einen binären Baum 5) sie identifiziert jeden Knoten u mit dem Pfad y von der Wurzel zu u 6) und startet in jedem Knoten u des Baums M mit Input (x, y ) 7) M akzeptiert x M akzeptiert (x, y ) für ein y. (x,00) (x,01) (x,10) (x,11) Dann akzeptiert M die Sprache L, denn: ist x L, so existiert ein y mit y p( x ) und (x, y ) e L in Schritt 7 wird (x, y ) von M und damit x von M akzeptiert. ist x L, so existiert kein y mit (x, y ) L, für kein y wird (x, y ) von M und damit auch nicht x von M akzeptiert. der Zeitbedarf ist polynomiell in x, da wir nur den Aufwand für eine akzeptierende Berechnungsfolge beachten. 73 / / 76 Satz L N P e L P. Beweis: (ii) sei L N P dann existiert eine NDTM M und ein Polynom p, so dass jedes x L in höchstens p( x ) Schritten akzeptiert wird sei M eine DTM, die bei Eingabe von (x, y ) wie folgt arbeitet: M fasst y als die {0, 1}-Kodierung eines Pfads von M gestartet mit x auf in Schritt i geht M in die durch y i beschriebene Nachfolgekonfiguration von M über M hält, wenn M hält oder wenn y abgearbeitet ist M akzeptiert (x, y ), wenn x von M akzeptiert wird und verwirft andernfalls die DTM M hält immer sei e L die von M akzeptierte Sprache x L es existiert eine akzeptierende Rechnung von M damit ist e L P Aus dem vorigen Satz ergibt sich: Korollar der Länge höchstens p( x ) es existiert ein y der Länge höchstens p( x ), so dass (x, y ) von M akzeptiert wird (x, y ) e L N P ist die Menge aller Sprachen, für die zu jedem Input eine kurze Zusatzinformation geraten und in polynomieller Zeit getestet werden kann. 75 / / 76

Informatik II. Registermaschinen. Registermaschinen. Registermaschinen. Rainer Schrader. 7. Dezember 2005

Informatik II. Registermaschinen. Registermaschinen. Registermaschinen. Rainer Schrader. 7. Dezember 2005 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 7. Dezember 25 / 82 2 / 82 Gliederung Aufbau und Eigenschaften universelle RAM s RAM-Berechenbarkeit Nichtentscheidbarkeit Reduzierbarkeit

Mehr

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009 Theoretische Informatik Rainer Schrader Probabilistische Turingmaschinen Institut für Informatik 10. Juni 009 1 / 30 / 30 Gliederung probabilistische Turingmaschinen Beziehungen zwischen und NDTM es stellt

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

Mehr

1 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 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

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Theoretische Informatik. 1. Turingmaschinen. Rainer Schrader. 16. April Institut für Informatik. Turingmaschinen.

Theoretische Informatik. 1. Turingmaschinen. Rainer Schrader. 16. April Institut für Informatik. Turingmaschinen. Theoretische Informatik Rainer Schrader. Institut für Informatik 6. April 202 / 97 2 / 97 die Kapitelüberschrift leitet sich ab von Gliederung Aufbau und Eigenschaften Maße für Zeit- und Platzbedarf Programmierung

Mehr

1 Random Access Maschine

1 Random Access Maschine 1 RANDOM ACCESS MASCHINE 1 1 Random Access Maschine Neue Hardware: Random Access Maschine = RAM. Der Name hat nichts mit Zufall zu tun, sondern mit wahlfreiem Zugriff. Die RAM besteht aus einem Eingabeband,

Mehr

2.4 Kontextsensitive und Typ 0-Sprachen

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik 0 KIT 17.05.2010 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik nationales Forschungszentrum Vorlesung in am

Mehr

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und

Mehr

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

Turing-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

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr

11. Übungsblatt. x y(top(push(x, y)) = y)

11. Übungsblatt. x y(top(push(x, y)) = y) 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 =

Mehr

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit 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

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen 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:

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung

Mehr

Theoretische Informatik SS 03 Übung 3

Theoretische 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

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de

GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 6. Juni - 13. Juni 1 / 49 Die Turingmaschine war das erste (bzw. zweite) formale Modell der Berechenbarkeit. Sie wurden bereits 1936 (also lange

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-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

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

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

Mehr

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008 Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und

Mehr

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Einführung in Berechenbarkeit, Komplexität und formale Sprachen Johannes Blömer Skript zur Vorlesung Einführung in Berechenbarkeit, Komplexität und formale Sprachen Universität Paderborn Wintersemester 2011/12 Inhaltsverzeichnis 1 Einleitung 2 1.1 Ziele der Vorlesung...................................

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 eil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung U Graz SS 2009 Übersicht 1 uring Maschinen uring-berechenbarkeit 2 Kostenmaße Komplexität 3 Mehrband-M

Mehr

Speicherplatz-Komplexität 1 / 30

Speicherplatz-Komplexität 1 / 30 Speicherplatz-Komplexität 1 / 30 Speicherplatz-Komplexität Warum sollte uns die Ressource Speicherplatz interessieren? Um die Komplexität der Berechnung von Gewinnstrategien für viele nicht-triviale 2-Personen

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Turing-Maschine, Berechenbarkeit INSTITUT FÜR THEORETISCHE 0 KIT 07.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen

Mehr

7. Übungsblatt zu Theoretische Grundlagen der Informatik im WS 2015/16

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

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-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: ; :=

Mehr

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

Random 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,

Mehr

Nichtdeterministische Platzklassen

Nichtdeterministische Platzklassen Sommerakademie 2010 Rot an der Rot AG 1: Wieviel Platz brauchen Algorithmen wirklich? Nichtdeterministische Platzklassen Ulf Kulau August 23, 2010 1 Contents 1 Einführung 3 2 Nichtdeterminismus allgemein

Mehr

Das Rechenmodell namens. Turing-Maschine. Hans U. Simon (RUB) Homepage:

Das Rechenmodell namens. Turing-Maschine. Hans U. Simon (RUB)   Homepage: Turing-Maschine Slide 1 Das Rechenmodell namens Turing-Maschine Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Turing-Maschine Slide 2 Die Turingmaschine DTM =

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Einige Beispiele zur Turingmaschine

Einige 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

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis: 1 Unentscheidbarkeit 2 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 #include char *s="include

Mehr

Einführung in die mathematische Logik

Einführung in die mathematische Logik Prof. Dr. H. Brenner Osnabrück SS 2014 Einführung in die mathematische Logik Vorlesung 19 Entscheidbarkeit und Berechenbarkeit In der letzten Vorlesung haben wir verschiedene mathematische Operationen

Mehr

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964) Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.

Mehr

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank 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

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Turing-Machine Wir suchen ein Modell zur formalen Definition der Berechenbarkeit von Funktionen und deren Zeit- und Platzbedarf. Verschiedene Modelle

Mehr

Theoretische Informatik SS 03 Übung 4

Theoretische Informatik SS 03 Übung 4 Fakten aus Übung 3 Theoretische Informatik SS 03 Übung 4 In Übung 3 wurden einigen Fakten bewiesen, die für diese Übung benötigt werden. Folgende Konstrukte können mit LOOP-Programmen simuliert werden:

Mehr

Berechenbarkeit/Entscheidbarkeit

Berechenbarkeit/Entscheidbarkeit Berechenbarkeit/Entscheidbarkeit Frage: Ist eine algorithmische Problemstellung lösbar? was ist eine algorithmische Problemstellung? formale Sprachen benötigen einen Berechenbarkeitsbegriff Maschinenmodelle

Mehr

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

1 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

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

Automaten und Formale Sprachen ε-automaten und Minimierung

Automaten und Formale Sprachen ε-automaten und Minimierung Automaten und Formale Sprachen ε-automaten und Minimierung Ralf Möller Hamburg Univ. of Technology Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik, Vieweg Verlag 2 Danksagung

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

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

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V7, 3.11.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III Name Vorname Matrikelnummer Universität Karlsruhe Institut für Theoretische Informatik o. Prof. Dr. P. Sanders 26. Feb. 2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 10 Punkte Aufgabe 2. Teilmengenkonstruktion

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel 2. Turingmaschinen Zur Formalisierung von Algorithmen benutzen wir hier Turingmaschinen. Von den vielen Varianten dieses Konzeptes, die sich in der Literatur finden, greifen wir das Konzept der on-line

Mehr

Einführung in die Informatik Turing Machines

Einfü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

Mehr

Berechenbarkeit und Formale Sprachen. gelesen von Prof. Dr. Rolf Wanka an der FAU Erlangen DRAFT - inoffizielles Skript - DRAFT

Berechenbarkeit und Formale Sprachen. gelesen von Prof. Dr. Rolf Wanka an der FAU Erlangen DRAFT - inoffizielles Skript - DRAFT Berechenbarkeit und Formale Sprachen gelesen von Prof. Dr. Rolf Wanka an der FAU Erlangen - inoffizielles Skript - in L A TEX umgesetzt von Alexander Raß Vorlesungsabgleich durch Bernd Bassimir im Wintersemester

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht Formale Systeme, Automaten, Prozesse Übersicht 2 2. Reguläre Ausdrücke 2.3 Nichtdeterministische endliche Automaten 2.4 Die Potenzmengenkonstruktion 2.5 NFAs mit ɛ-übergängen 2.6 Minimale DFAs und der

Mehr

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n) Beim Logarithmischen Kostenmaß wird, im Gegensatz zum EKM, die Stelligkeit der Werte berücksichtigt und mit in die Laufzeit eingerechnet. Beispiel: R1 := R2 (R3), wobei R2 den Wert 5, R3 den Wert 10 und

Mehr

Algorithmen und Berechnungskomplexität II

Algorithmen und Berechnungskomplexität II Rheinische Friedrich-Wilhelms-Universität Bonn Mathematisch-Naturwissenschaftliche Fakultät Algorithmen und Berechnungskomplexität II Skript SS 2013 Elmar Langetepe Bonn, 19. Juli 2013 Das folgende Skript

Mehr

Rekursive Funktionen Basisfunktionen

Rekursive Funktionen Basisfunktionen Rekursive Funktionen Basisfunktionen die nullstellige Funktion Z, die den konstanten Wert 0 liefert, die Funktion S : N N, bei der jeder natürlichen Zahl ihr Nachfolger zugeordnet wird, die Funktion P

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016 Übersicht uring Maschinen Algorithmusbegriff konkretisiert

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man

Mehr

Theoretische Informatik SS 03 Übung 5

Theoretische Informatik SS 03 Übung 5 Theoretische Informatik SS 03 Übung 5 Aufgabe 1 Im Buch von Schöning ist auf S. 106-108 beschrieben, wie eine Turing-Maschine durch ein GOTO-Programm simuliert werden kann. Zeigen Sie, wie dabei die Anweisungen

Mehr

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

Mehr

1 Varianten von Turingmaschinen

1 Varianten von Turingmaschinen 1 Varianten von Turingmaschinen Es gibt weitere Definitionen für Turingmaschinen. Diese haben sich aber alle als äquivalent herausgestellt. Ein wiederkehrendes Element der Vorlesung: Äquivalenz von Formalismen

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Zeitkomplexität von Turingmaschinen Die Laufzeit einer NTM M bei Eingabe x ist die maximale Anzahl

Mehr

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

Mehr

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 22/3 Vorname Nachname Matrikelnummer

Mehr

WS06/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 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.

Mehr

Lösungen zur 3. Projektaufgabe TheGI1

Lösungen zur 3. Projektaufgabe TheGI1 Marco Kunze (makunze@cs.tu-berlin.de) WS 2001/2002 Sebastian Nowozin (nowozin@cs.tu-berlin.de) 21. 1. 2002 Lösungen zur 3. Projektaufgabe TheGI1 Definition: Turing-Aufzähler Ein Turing-Aufzähler einer

Mehr

Grundlagen 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 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:

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!# v 1 Info4 Stoff Aufgabentypen: Grammatik CH einordnen NFA DFA Grammatik Chomsky-NF CYK-Algorithmus: Tabelle / Ableitungsbäume Grammatik streng kf. Grammatik Grammatik Pumping Lemma Beweis, dass Gr. nicht reg,

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel Proseminar Theoretische Informatik Die Klasse NP von Marlina Spanel 29.11.2011 1 Gliederung Gliederung Problem des Handlungsreisenden Die Klasse NP Einleitung und Wiederholung Sprachen Nichtdeterministische

Mehr

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph

Graphentheorie. Maximale Flüsse. Maximale Flüsse. Maximale Flüsse. Rainer Schrader. 31. Oktober Gliederung. sei G = (V, A) ein gerichteter Graph Graphentheorie Rainer Schrader Zentrum ür Angewandte Inormatik Köln 31. Oktober 2007 1 / 30 2 / 30 Gliederung maximale Flüsse Schnitte Edmonds-Karp-Variante sei G = (V, A) ein gerichteter Graph sei c eine

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE: FORMALISIERUNG VON ALGORITHMEN Wegen der beobachteten Zusammenhänge zwischen Berechnungs-, Entscheidungs- und Aufzählungsverfahren genügt es Berechnungsverfahren zu formalisieren. Weiter genügt es Verfahren

Mehr

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet.

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet. Rückschau 12.11.04 Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet. Wir haben das Prinzip der Diagonalisierung eingeführt und mit DIAG eine erste nicht rek. aufz. Sprache

Mehr

Infovorkurs, Teil II: Theoretische Informatik. Motivation. Turing-Maschine. Programmiersprachen

Infovorkurs, Teil II: Theoretische Informatik. Motivation. Turing-Maschine. Programmiersprachen Infovorkurs, Teil 08.10.2015 Webseite Mittlerweile gibt es die Folien und die Übungen online. Außerdem die Ergebnisse der Umfrage! Ich empfehle auch die Links. www.geile-hirnbude.de/vorkurs Rückblick Haben

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 9 10.12.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T20 Beweisen Sie die

Mehr

Einführung in Algorithmen und Komplexität

Einführung in Algorithmen und Komplexität Einführung in Algorithmen und Komplexität SS2004 w u v High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 Was haben wir bisher gemacht? - Rechenmodell:

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto 26.09.2011 Fachbereich Elektrotechnik/Informatik Universität Kassel Klausur zur Vorlesung Theoretische Informatik: Berechenbarkeit und Formale Sprachen SS 2011 Name:................................

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung. Einleitung und Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen Reguläre Grammatiken, ND-Automaten

Mehr