Berechenbarkeits- und Komplexitätstheorie

Größe: px
Ab Seite anzeigen:

Download "Berechenbarkeits- und Komplexitätstheorie"

Transkript

1 Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen

2 Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe: intuitive Berechenbarkeit Turing-Berechenbarkeit LOOP-, GOTO- und WHILE-Programme primitiv rekursive und µ-rekursive Funktionen Entscheidbarkeit von Sprachen Das Halteproblem für Turingmaschinen Der Gödel'sche Unvollständigkeitssatz Wachstumsordnungen und Komplexitätsklassen Das P-NP-Problem, NP-Vollständigkeit Literatur: Uwe Schöning: Theoretische Informatik - kurzgefaßt, 4. Auflage, Spektrum Akademischer Verlag 2001 Hopcroft / Motwani / Ullman: Introduction to Automata Theory, Languages, and Computation, 2nd edition, Addison-Wesley 2001 Theoretische Informatik I Berechenbarkeit und Komplexität 2

3 Intuitive Berechenbarkeit Wir betrachten die Frage, ob Funktionen auf den natürlichen Zahlen berechenbar sind. Eine (evtl. partielle) Funktion f: N k ----> N heiße berechenbar, wenn es ein Rechenverfahren, also einen Algorithmus gibt (z.b. in Form eines Java- oder C-Programms), das f berechnet, d.h. bei Eingabe von (n 1, n 2,..., n k ) soll der Algorithmus nach endlich vielen Schritten die Ausgabe f(n 1, n 2,..., n k ) liefern, falls f an dieser Stelle definiert ist, nicht stoppen, falls f an der Stelle (n 1, n 2,..., n k ) nicht definiert ist. Theoretische Informatik I Berechenbarkeit und Komplexität 3

4 Beispiele f 1 (n) = 1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist 0 sonst f 2 (n) = f 3 (n) = 1 falls n irgendwo in der Dezimalbruchentwicklung von π vorkommt 0 sonst 1 falls in der Dezimalbruchentwicklung von π irgendwo mindestens n-mal hintereinander eine 7 vorkommt 0 sonst f 4 (n) = 1 falls das LBA-Problem eine positive Lösung hat 0 sonst Welche dieser Funktionen sind berechenbar? Theoretische Informatik I Berechenbarkeit und Komplexität 4

5 Turing-Berechenbarkeit Eine Funktion f: N k ----> N heißt Turing-berechenbar, falls es eine (deterministische) Turingmaschine M gibt, so daß für alle (n 1, n 2,..., n k ) gilt: f (n 1, n 2,..., n k ) = m genau dann wenn die Turingmaschine M bei der anfänglichen Bandbeschriftung bin(n 1 )#bin(n 2 )#... #bin(n k ) nach endlich vielen Schritten in einen Endzustand übergeht und auf dem Band dann bin(m) steht. Hierbei bezeichnet bin(n) die Binärdarstellung der Zahl n. Theoretische Informatik I Berechenbarkeit und Komplexität 5

6 LOOP-Programme (1) Syntaktische Komponenten von LOOP-Programmen: Variablen: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + - Schlüsselwörter: LOOP DO END Induktive Definition der Syntax von LOOP-Programmen: Jede Wertzuweisung der Form x i := x k + c bzw. x i := x k -c ist ein LOOP-Programm. Sind P 1 und P 2 LOOP-Programme, so auch P 1 ;P 2. Ist P ein LOOP-Programm und x i eine Variable, so ist auch LOOP x i DO P END ein LOOP-Programm. Theoretische Informatik I Berechenbarkeit und Komplexität 6

7 LOOP-Programme (2) Die Semantik von LOOP-Programmen für Funktionen f: N k ----> N ist wie folgt definiert: Die Startwerte n 1, n 2,..., n k haben den Wert 0. stehen in den Variablen x 1, x 2,..., x k, alle anderen Variablen Die Wertzuweisung x i := x k + c wird wie üblich interpretiert, bei der Wertzuweisung x i := x k - c wird die modifizierte Subtraktion verwendet, d.h. das Resultat wird auf 0 gesetzt, wenn c > x k ist. Das LOOP-Programm P 1 ;P 2 bedeutet, daß zunächst P 1 und dann P 2 ausgeführt wird. Das LOOP-Programm LOOP x i DO P END bedeutet, daß das Programm P so oft ausgeführt wird, wie der Wert der Variablen x i zu Beginn angibt. Das Ergebnis der Berechnung eines LOOP-Programms ist der Inhalt der Variablen x 0. Theoretische Informatik I Berechenbarkeit und Komplexität 7

8 LOOP-Berechenbarkeit Eine Funktion f: N k ----> N heißt LOOP-berechenbar, wenn es ein LOOP-Programm P gibt, das f in dem Sinne berechnet, daß P, gestartet mit den Werten n 1, n 2,..., n k in den Variablen x 1, x 2,..., x k (und 0 in den restlichen Variablen) stoppt mit dem Wert f(n 1, n 2,..., n k ) in der Variablen x 0. Frage: Ist jede (intuitiv) berechenbare Funktion LOOP-berechenbar? Theoretische Informatik I Berechenbarkeit und Komplexität 8

9 WHILE-Berechenbarkeit Ein WHILE-Programm ist ein Programm, dessen Syntax alle Konzepte von LOOP- Programmen enthält sowie zusätzlich: Ist P ein WHILE-Programm und x i eine Variable, so ist auch WHILE x i 0 DO P END ein WHILE-Programm. Eine Funktion f: N k ----> N heißt WHILE-berechenbar, wenn es ein WHILE-Programm P gibt, das f in dem Sinne berechnet, daß P, gestartet mit den Werten n 1, n 2,..., n k in den Variablen x 1, x 2,..., x k (und 0 in den restlichen Variablen) stoppt mit dem Wert f(n 1, n 2,..., n k ) in der Variablen x 0, falls f(n 1, n 2,..., n k ) definiert ist, und ansonsten nicht stoppt. Theoretische Informatik I Berechenbarkeit und Komplexität 9

10 GOTO-Berechenbarkeit GOTO-Programme bestehen aus Sequenzen von Anweisungen A i, die jeweils durch eine Marke M i eingeleitet werden: M 1 : A 1 ; M 2 : A 2 ;... ; M k : A k Als mögliche Anweisungen sind zugelassen: Wertzuweisungen: x i := x k + c bzw. x i := x k -c Unbedingter Sprung: GOTO M i Bedingter Sprung: IF x i = c THEN GOTO M k Stopanweisung: HALT Eine Funktion f: N k ----> N heißt GOTO-berechenbar, wenn es ein GOTO-Programm P gibt, das f in dem bekannten Sinn berechnet. Theoretische Informatik I Berechenbarkeit und Komplexität 10

11 Äquivalenz von GOTO- und WHILE-Berechenbarkeit Satz: Eine Funktion ist genau dann WHILE-berechenbar, wenn sie GOTO-berechenbar ist. Beweis: =>: fast trivial <=: nicht so offensichtlich, aber auch nicht schwierig (Der Beweis wird in der Vorlesung geführt.) Aus dem Beweis ergibt sich folgendes Korollar (Kleene'sche Normalform für WHILE-Programme) Jede WHILE-berechenbare Funktion kann durch ein WHILE-Programm mit nur einer WHILE-Schleife berechnet werden. Theoretische Informatik I Berechenbarkeit und Komplexität 11

12 Äquivalente Berechenbarkeitsbegriffe Satz: Für eine Funktion f: N k ----> N sind die folgenden Aussagen äquivalent: f ist Turing-berechenbar f ist GOTO-berechenbar f ist WHILE-berechenbar Beweis: WHILE-berechenbar => Turing-berechenbar: man gibt für jedes Konstrukt eines WHILE-Programmes eine geeignete Turing-Maschine explizit an. Turing-berechenbar => GOTO-berechenbar: Auch dieser Beweis ist konstruktiv, aber etwas aufwendiger. Siehe z.b. Schöning S Theoretische Informatik I Berechenbarkeit und Komplexität 12

13 Primitiv rekursive Funktionen (1) Die Klasse der primitiv rekursiven Funktionen (auf den natürlichen Zahlen) ist induktiv wie folgt definiert: 1. Alle konstanten Funktionen sind primitiv rekursiv. 2. Alle Projektionen sind primitiv rekursiv. 3. Die Nachfolgerfunktion auf den natürlichen Zahlen ist primitiv rekursiv. 4. Die Komposition primitiv rekursiver Funktionen ist primitiv rekursiv. 5. Jede Funktion, die durch sog. primitive Rekursion aus primitiv rekursiven Funktionen entsteht ist primitiv rekursiv. Primitive Rekursion führt die Definition von f(n+1,...) zurück auf f(n,...). Genauer: f erfüllt ein Gleichungssystem f(0,...) = g(...) f(n+1,...) = h (f(n,...),...) mit primitiv rekursiven Funktionen g und h. Theoretische Informatik I Berechenbarkeit und Komplexität 13

14 Primitiv rekursive Funktionen (2) Beispiel 1: Die Additionsfunktion add: N > N ist primitiv rekursiv, denn sie kann folgendermaßen dargestellt werden: add (0,x) = x (identische Abbildung) add (n+1,x) = s (add (n,x)) (s = Nachfolgerfunktion) Beispiel 2: Die Multiplikationsfunktion mult: N > N ist primitiv rekursiv, denn sie kann folgendermaßen dargestellt werden: mult (0,x) = 0 (konstante Abbildung) mult (n+1,x) = add (mult (n,x), x) Satz (ohne Beweis): Die Klasse der primitiv rekursiven Funktionen stimmt mit der Klasse der LOOPberechenbaren Funktionen überein. Theoretische Informatik I Berechenbarkeit und Komplexität 14

15 µ-rekursive Funktionen Sei f: N k > N eine k+1-stellige Funktion. Die durch Anwendung des µ-operators auf f entstehende Funktion ist g: N k ----> N mit g (x 1, x 2,..., x k ) = min { n; f(n, x 1, x 2,..., x k ) = 0 und für alle m<n ist f(m, x 1, x 2,..., x k ) definiert} (Ist das Minimum nicht definiert, so ist g an dieser Stelle undefiniert.) Die Klasse der µ-rekursiven Funktionen ist die kleinste Klasse von Funktionen, die die Basisfunktionen (konstante Funktionen, Projektionen, Nachfolgerfunktion) enthält und abgeschlossen ist unter Komposition, primitiver Rekursion und Anwendung des µ-operators. Satz (ohne Beweis): Die Klasse der µ-rekursiven Funktionen stimmt mit der Klasse der WHILE- (GOTO-, Turing-) berechenbaren Funktionen überein. Theoretische Informatik I Berechenbarkeit und Komplexität 15

16 Die Ackermannfunktion Ackermann gab 1928 (!) eine Funktion an, die zwar (intuitiv) berechenbar ist, jedoch nicht LOOP-berechenbar (bzw. primitiv rekursiv). ack: N > N ack (0,y) = y + 1 ack (x,0) = ack (x-1, 1) ack (x,y) = ack (x-1, ack (x, y-1)) Folgerungen: Es gibt totale, WHILE- (GOTO-, Turing-) berechenbare Funktionen, die nicht LOOP-berechenbar sind. Es gibt µ-rekursive Funktionen, die nicht primitiv rekursiv sind. Theoretische Informatik I Berechenbarkeit und Komplexität 16

17 (Semi-)Entscheidbarkeit von Sprachen Für ein Alphabet X und eine Menge A X * definieren wir die charakteristische Funktion χ A : X * ----> {0,1} von A durch: χ A (w) = 1 falls w A 0 falls w A Die "halbe" charakteristische Funktion von A, χ A ': X * ----> {0,1} sei definiert durch χ A ' (w) = 1 falls w A undefiniert falls w A Eine Sprache A X * heißt entscheidbar, falls die charakteristische Funktion χ A von A berechenbar ist. Eine Sprache A X * heißt semi-entscheidbar, falls die "halbe" charakteristische Funktion χ A ' von A berechenbar ist. Theoretische Informatik I Berechenbarkeit und Komplexität 17

18 Rekursive Aufzählbarkeit Eine Sprache A X * heißt rekursiv aufzählbar, falls A = ist, oder falls es eine totale und berechenbare Funktion f: N ----> X gibt, so dass A = {f(0), f(1), f(2),... } Bemerkungen: Jede rekursiv aufzählbare Sprache ist abzählbar. Jede Teilmenge einer abzählbaren Menge ist abzählbar. Nicht jede Teilmenge einer rekursiv aufzählbaren Menge ist rekursiv aufzählbar. Theoretische Informatik I Berechenbarkeit und Komplexität 18

19 Ein Äquivalenzsatz für Sprachen Satz (ohne Beweis): Für eine Sprache A X * sind die folgenden Aussagen äquivalent: A ist rekursiv aufzählbar A ist semi-entscheidbar A ist vom Typ 0 A ist Sprache einer Turingmaschine die Funktion χ A ' ist berechenbar Theoretische Informatik I Berechenbarkeit und Komplexität 19

20 Das Halteproblem für Turingmaschinen Durch geeignete Codierung der Übergangsfunktion läßt sich jede Turingmaschine T als Wort w T über {0,1} darstellen. Das Halteproblem für Turingmaschinen ist dann die Sprache H = { (w T,x); T angesetzt auf x hält an } (o.b.d.a.: x {0,1} * ) Satz: Das Halteproblem für Turingmaschinen ist nicht entscheidbar. Beweis: Angenommen, M sei eine Turingmaschine, die χ H berechnet. Wir betrachten die Turingmaschine M': (w T,x) ---> M ---> Ergebnis 1? nein ja stop unendliche Schleife M' angesetzt auf seine eigene Codierung (w M',w M' ) hält genau dann an, wenn sie nicht anhält: Widerspruch. Theoretische Informatik I Berechenbarkeit und Komplexität 20

21 Weitere nicht entscheidbare Probleme (1) Das Halteproblem für Turingmaschinen auf leerem Band ist nicht entscheidbar. Satz von Rice: Sei Tur die Klasse aller Turing-berechenbaren Funktionen und S Tur eine nicht-triviale Teilmenge. Dann ist die Sprache { w T ; die von T berechnete Funktion liegt in S } nicht entscheidbar. Beispiel: Es ist nicht möglich, einer Turingmaschine anzusehen, ob sie eine konstante Funktion berechnet. Theoretische Informatik I Berechenbarkeit und Komplexität 21

22 Weitere nicht entscheidbare Probleme (2) Unter dem Wortproblem für eine Grammatik G versteht man die Frage, ob ein Wort x zu L(G) gehört oder nicht. Das Leerheitsproblem für eine Grammatik G fragt ob L(G) = ist. Unter dem Schnittproblem versteht man die Frage, ob für zwei Grammatiken G 1 und G 2 die Menge L(G 1 ) L(G 2 ) leer ist oder nicht. Das Äquivalenzproblem fragt, ob L(G 1 ) = L(G 2 ) ist. Das Wortproblem für Typ-0 Sprachen ist nicht entscheidbar. Das Leerheitsproblem für kontextsensitive Sprachen ist nicht entscheidbar. Das Schnittproblem für deterministisch kontextfreie Sprachen ist nicht entscheidbar. Das Äquivalenzproblem für kontextfreie Sprachen ist nicht entscheidbar. Das Problem, für eine kontextfreie Grammatik festzustellen, ob sie mehrdeutig ist, ist nicht entscheidbar. Theoretische Informatik I Berechenbarkeit und Komplexität 22

23 Eine Beweismethode für (Nicht-)Entscheidbarkeit Seien A X * und B Y * Sprachen. Dann heißt A auf B reduzierbar geschrieben als A < B falls es eine totale, berechenbare Funktion f: X* Y* gibt, so dass für alle x X* gilt: x X f(x) Y Satz: Ist A < B und ist B entscheidbar (bzw. semi-entscheidbar), so ist auch A entscheidbar (bzw. semi-entscheidbar). Für den Nachweis der Unentscheidbarkeit einer Sprache B genügt es also, für eine Sprache A, deren Unentscheidbarkeit bekannt ist, A < B nachzuweisen. Theoretische Informatik I Berechenbarkeit und Komplexität 23

24 Arithmetische Formeln Ein arithmetischer Term ist induktiv wie folgt definiert: Jede natürliche Zahl ist ein Term. Jede Variable x i ist ein Term. Sind t 1 und t 2 Terme, so auch (t 1 + t 2 ) und (t 1 * t 2 ). Eine arithmetische Formel ist induktiv wie folgt definiert: Sind t 1 und t 2 Terme, so ist (t 1 = t 2 ) eine Formel. Sind F und G Formeln, dann sind auch F, (F G) und (F G) Formeln. Sind x eine Variable und F eine Formel, dann sind auch x F und x F Formeln. Eine arithmetische Formel heißt wahr, wenn sie für alle Belegungen der Variablen wahr ist, bzw. für x F, wenn es eine natürliche Zahl x gibt, für die die Formel wahr ist. Theoretische Informatik I Berechenbarkeit und Komplexität 24

25 Gödel'scher Unvollständigkeitssatz Satz: Die Menge der wahren arithmetischen Formeln ist nicht rekursiv aufzählbar. Egal, wie man den Begriff "Beweis" axiomatisiert, ist es sicher eine Minimalforderung zu verlangen, daß die Menge aller zulässigen Beweise entscheidbar (und somit auch rekursiv aufzählbar) ist. Aus dieser Forderung und obigem Satz folgt dann: Gödel'scher Unvollständigkeitssatz: Jedes Beweissystem für die Menge der wahren arithmetischen Formeln ist notwendigerweise unvollständig. (D.h. es bleiben immer wahre arithmetische Formeln übrig, die nicht beweisbar sind.) Theoretische Informatik I Berechenbarkeit und Komplexität 25

26 Wachstumsordnung von Funktionen Die O-Notation (Bachmann 1892) beschreibt das Wachstumsverhalten von Funktionen für n. Eine Funktion f(n) heißt von der (Wachstums-)Ordnung g(n) f(n) = O (g(n)) falls der Quotient f(n) / g(n) beschränkt ist, also Beispiele: f(n) < K g(n) für alle n, mit einer Konstanten K. Jedes Polynom P(n) vom Grad < k ist von der Ordnung n k. Die Exponentialfunktion f(n) = e n ist nicht von polynomialer Ordnung, d.h. für alle natürlichen Zahlen k ist e n /n k unbeschränkt. Theoretische Informatik I Berechenbarkeit und Komplexität 26

27 Größenordnungen einiger Funktionen n n log(n) n 2 e n , Theoretische Informatik I Berechenbarkeit und Komplexität 27

28 Die Komplexitätsklasse P Sei f: N N eine Funktion. Die Klasse TIME (f (n)) besteht aus allen Sprachen A, für die es eine deterministische (Mehrband-) Turingmaschine M gibt mit A = L(M) und time M (x) < f ( x ). Hierbei bedeutet time M : X * ---> N die Anzahl der Rechenschritte von M bei Eingabe x. Die Komplexitätsklasse P ist wie folgt definiert: P = { A ; es gibt eine Turingmaschine M und ein Polynom p mit A = L(M) und time M (x) < p ( x ) } = TIME (p (n)) p Polynom Theoretische Informatik I Berechenbarkeit und Komplexität 28

29 Die Komplexitätsklasse NP Wir dehnen die obigen Definitionen nun auf nichtdeterministische Turingmaschinen M aus. Für ein x L(M) verstehen wir unter einer akzeptierenden Rechnung von M für x einen Arbeitsablauf der nichtdeterministischen Turingmaschine M bei Eingabe x, der zu einem Endzustand führt. Für eine nichtdeterministische Turingmaschine M sei min { Länge einer akzeptierenden Rechnung ntime M (x) = von M für x } falls x L(M) 0 sonst Sei f: N ---> N eine Funktion. Die Klasse NTIME (f (n)) besteht aus allen Sprachen A, für die es eine nichtdeterministische (Mehrband-) Turingmaschine M gibt mit A = L(M) und ntime M (x) < f ( x ). Ferner definieren wir: NP = NTIME (p (n)) p Polynom Theoretische Informatik I Berechenbarkeit und Komplexität 29

30 Das P-NP-Problem Das P-NP-Problem: Es ist unbekannt, ob P = NP oder P NP ist. Es gelten die folgenden Inklusionen: semi-entscheidbar entscheidbar LOOP-berechenbar NP P Theoretische Informatik I Berechenbarkeit und Komplexität 30

31 NP-Vollständigkeit Seien A X * und B Y * Sprachen. Dann heißt A auf B polynomial reduzierbar, geschrieben als A < p B, falls es eine totale, mit polynomialer Komplexität berechenbare Funktion f: X * ----> Y * gibt, so daß für alle x X * gilt: x A f(x) B. Satz: Ist A < p B und B P (bzw. B NP), so ist auch A P (bzw. A NP). Eine Sprache A heißt NP-hart, falls L < p A für alle L NP. Eine Sprache A heißt NP-vollständig, falls A NP-hart ist und A NP. Satz: Sei A NP-vollständig. Dann gilt: A P P = NP Theoretische Informatik I Berechenbarkeit und Komplexität 31

32 NP-vollständige Probleme (1) Es gibt eine ganze Reihe bekannter Probleme, von denen man weiß, daß sie NP-vollständig sind. Im folgenden werden einige davon definiert ohne ihre NP-Vollständigkeit zu zeigen. Erfüllbarkeitsproblem der Aussagenlogik: gegeben: eine Formel F der Aussagenlogik gefragt: ist F erfüllbar, d.h. gibt es eine Belegung der Variablen mit Konstanten {0,1}, so daß F den Wert 1 erhält? Traveling Salesman: gegeben: Eine n x n Matrix (M i,k ) von "Entfernungen" zwischen n "Städten" und eine Zahl m N. gefragt: Gibt es eine Permutation p (eine "Rundreise"), so daß n 1 M + Mpn p1 m? i= 1 pi (), pi ( + 1) ( ), ( ) Theoretische Informatik I Berechenbarkeit und Komplexität 32

33 NP-vollständige Probleme (2) Rucksack (oder SUBSET SUM): gegeben: Natürliche Zahlen a 1, a 2,..., a k N und b N. gefragt: Gibt es eine Teilmenge I von {1, 2,..., k} mit Σ a i = b? i I Partition: gegeben: Natürliche Zahlen a 1, a 2,..., a k N. gefragt: Gibt es eine Teilmenge J von {1, 2,..., k}, so daß Σ a i = Σ a i? i J i J Theoretische Informatik I Berechenbarkeit und Komplexität 33

34 NP-vollständige Probleme (3) Clique: gegeben: ein (ungerichteter) Graph G = (V, E) und ein k N. gefragt: gibt es eine "Clique" der Größe k, d.h. eine Teilmenge V' V mit k Elementen, so daß für alle u,v V' mit u v gilt: (u,v) E? Gerichteter Hamiltonkreis: gegeben: Ein gerichteter Graph (V, E). gefragt: Besitzt G einen Hamilton-Kreis? (Das heißt einen Weg durch den Graphen, der jeden Knoten genau einmal passiert und schließlich wieder am Ausgangsknoten ankommt.) Ungerichteter Hamiltonkreis: gegeben: Ein ungerichteter Graph (V, E). gefragt: Besitzt G einen Hamilton-Kreis? Theoretische Informatik I Berechenbarkeit und Komplexität 34

35 NP-harte Probleme Satz: Das Wortproblem für Typ-1-Sprachen ist NP-hart. Satz: Das Äquivalenzproblem für reguläre Grammatiken ist NP-hart. Theoretische Informatik I Berechenbarkeit und Komplexität 35

Berechenbarkeits- und Komplexitätstheorie

Berechenbarkeits- und Komplexitätstheorie Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe:

Mehr

Syntax von LOOP-Programmen

Syntax von LOOP-Programmen LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:

Mehr

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie (Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie 1) Schreiben Sie ein LOOP-Programm, das die Funktion f: N \ {0} N, f (n) = n n berechnet. Sie dürfen in Ihrem Programm die Multiplikation

Mehr

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit Die Programmiersprache LOOP (i) Syntaktische Komponenten: Variable: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + Schlüsselwörter: LOOP DO END (ii) LOOP-Programme: Wertzuweisungen:

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 13. LOOP-, WHILE- und GOTO-Berechenbarkeit Malte Helmert Gabriele Röger Universität Basel 9. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale

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

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

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 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

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. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 9 25. Juli 2011 Einführung in die Theoretische Informatik

Mehr

2.5 Halteproblem und Unentscheidbarkeit

2.5 Halteproblem und Unentscheidbarkeit 38 25 Halteproblem und Unentscheidbarkeit Der Berechenbarkeitsbegriff ist auf Funktionen zugeschnitten Wir wollen nun einen entsprechenden Begriff für Mengen einführen Definition 255 Eine Menge A Σ heißt

Mehr

Primitiv rekursive und µ-rekursive Funktionen

Primitiv rekursive und µ-rekursive Funktionen Primitiv rekursive und µ-rekursive Funktionen Loop-, While- und Goto-Programme sind vereinfachte imperative Programme und stehen für imperative Programmiersprachen, bei denen Programme als Folgen von Befehlen

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 WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

Der erste Gödelsche Unvollständigkeitssatz

Der erste Gödelsche Unvollständigkeitssatz Der erste Gödelsche Unvollständigkeitssatz Referent: Tobias Gleißner 29. Januar 2013 (syntaktischer Aufbau eines arithmetischen Terms) - Jede Zahl ist ein Term - Jede Variable ist ein Term - Sind und Terme,

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

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

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

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 V8, 5.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

Unentscheidbarkeit. 1. Wann sind Sprachen unentscheidbar? 1, A 0, A } = {

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

Mehr

Mitschrift BFS WS 13/14

Mitschrift BFS WS 13/14 Mitschrift BFS WS 13/14 Stand: 4. Juni 2014 Dieses Skript zum Teil Primitive und µ-rekursion der Vorlesung Berechenbarkeit und Formale Sprachen im Wintersemester 2013/14 bei Prof. Wanka wurde von untenstehenden

Mehr

Entscheidungsprobleme

Entscheidungsprobleme Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge U Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge

Mehr

Turing-Maschinen: Ein abstrakes Maschinenmodell

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

Mehr

GTI. Hannes Diener. 18. Juni. ENC B-0123,

GTI. Hannes Diener. 18. Juni. ENC B-0123, GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 18. Juni 1 / 32 Als Literatur zu diesem Thema empfiehlt sich das Buch Theoretische Informatik kurzgefasst von Uwe Schöning (mittlerweile in der 5.

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 15. primitive Rekursion und µ-rekursion Malte Helmert Gabriele Röger Universität Basel 22. April 2015 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale

Mehr

Sprachen und Grammatiken

Sprachen 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

Mehr

Proseminar Theoretische Informatik - WS07/08 - Prof. Helmut Alt. I. Einleitung Berechnungsmodelle LOOP, WHILE, GOTO, rekursive Funktionen

Proseminar Theoretische Informatik - WS07/08 - Prof. Helmut Alt. I. Einleitung Berechnungsmodelle LOOP, WHILE, GOTO, rekursive Funktionen Proseminar Theoretische Informatik - WS07/08 - Prof. Helmut Alt I. Einleitung Berechnungsmodelle LOOP, WHILE, GOTO, rekursive Funktionen Berechenbarkeitsmodelle Welchen Sinn haben diese? Wie kann man effizient

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 9. Berechenbarkeit, Entscheidbarkeit, Aufzählbarkeit 9.1 Grundbegriffe bereits gezeigt: Spracherkennung durch Turingmaschine = Berechnung der semi-charakteristischen

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

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Entscheidungsprobleme Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

Mehr

Primitiv rekursive und µ-rekursive Funktionen

Primitiv rekursive und µ-rekursive Funktionen Primitiv rekursive und µ-rekursive Funktionen Slide 1 Primitiv rekursive und µ-rekursive Funktionen Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Primitiv rekursive

Mehr

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen

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

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

Carlos Camino Einführung in die Theoretische Informatik SS 2015

Carlos Camino Einführung in die Theoretische Informatik SS 2015 Themenüberblick Dies ist eine Art Checkliste für die Klausurvorbereitung. Zu jedem Thema im Skript sind hier ein paar Leitfragen aufgelistet. Besonders nützlich sind die Tabellen und Abbildungen auf den

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

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr 6.4 Entscheidbarkeit Wortproblem Leerheit Äquivalenz Schnittproblem Typ 3 ja ja ja ja DCFL ja ja ja nein (*) Typ 2 ja ja nein (*) nein Typ 1 ja nein (*) nein nein Typ 0 nein (*) nein nein nein (*) Diese

Mehr

Entscheidungsprobleme

Entscheidungsprobleme Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge M Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Mächtigkeit von WHILE-Programmen

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

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

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Typen von Programmiersprachen

Typen von Programmiersprachen Typen von Programmiersprachen Berechenbarkeitstheorie: Formalisierung des intuitiven Berechenbarkeitsbegriffs man kann vier Typen von Programmiersprachen zum Berechnen von Zahlenfunktionen unterscheiden:

Mehr

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Technische Universität Berlin, Berlin, 28.07.2016 Name:... Matr.-Nr.:... Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max.

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik 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

Mehr

Primitive Rekursion. Basisfunktionen: Konstante Funktion: const 3 3 (1,1, pr 1,3(g,h) (1,1)) Projektion: proj 3 (1,1, pr. Komposition: comp 3,2

Primitive Rekursion. Basisfunktionen: Konstante Funktion: const 3 3 (1,1, pr 1,3(g,h) (1,1)) Projektion: proj 3 (1,1, pr. Komposition: comp 3,2 Primitive Rekursion Basisfunktionen: Konstante Funktion: const Stelligkeit. Wert des Ergebnisses. Unabhängig von den Parametern. const (,, pr,(g,h) (,)) Stelligkeit. Projektion: proj Gibt die Komponente

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 16.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

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

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15 Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Theorie der Informatik Einleitung. Theorie der Informatik Basisfunktionen und Einsetzung Primitive Rekursion. 14.

Theorie der Informatik Einleitung. Theorie der Informatik Basisfunktionen und Einsetzung Primitive Rekursion. 14. Theorie der Informatik 16. April 2014 14. primitive Rekursion und µ-rekursion Theorie der Informatik 14. primitive Rekursion und µ-rekursion 14.1 Einleitung 14.2 Basisfunktionen und Einsetzung Malte Helmert

Mehr

Primitiv rekursive Funktionen

Primitiv rekursive Funktionen Primitiv rekursive Funktionen Primitiv rekursive Funktionen Historisch: Die Einführung der primitiven Rekursivität war ein erster (und erfolgloser) Versuch, den Begriff der Berechenbarkeit (oft synonym

Mehr

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2012/13 Prof. Barbara König Übungsleitung: Henning Kerstan & Sebastian Küpper Barbara

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

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Vorlesung SS 2013 1. Einführung I. Berechenbarkeitsbegriff, typische Fragen: wann ist eine Funktion berechenbar? wie lässt sich der intuitive Berechenbarkeitsbegriff formal

Mehr

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice Holger Arnold Dieser Text befasst sich mit der Frage, unter welchen Bedingungen das Problem, zu bestimmen, ob die

Mehr

Informatik-Grundlagen

Informatik-Grundlagen Informatik-Grundlagen Komplexität Karin Haenelt 1 Komplexitätsbetrachtungen: Ansätze Sprachentheorie Klassifiziert Mengen nach ihrer strukturellen Komplexität Komplexitätstheorie Klassifiziert Probleme

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 15. Ackermannfunktion Malte Helmert Gabriele Röger Universität Basel 28. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale Sprachen III. Berechenbarkeitstheorie

Mehr

Unentscheidbarkeit. Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Unentscheidbarkeit. 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 Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Worum geht

Mehr

Einführung in die Berechenbarkeitstheorie

Einführung in die Berechenbarkeitstheorie Einführung in die Berechenbarkeitstheorie Timo Kötzing 4. November 2013 1 Einleitung Dieses Dokument bietet eine kurze Einführung in die Grundlagen der Berechenbarkeitstheorie (für eine Ausführliche Behandlung

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Einführung in die Theoretische Informatik Tutorium IX

Einführung in die Theoretische Informatik Tutorium IX Einführung in die Theoretische Informatik Tutorium IX Michael R. Jung 16. & 17. 12. 2014 EThI - Tutorium IX 1 1 Entscheidbarkeit, Semi-Entscheidbarkeit und Unentscheidbarkeit 2 EThI - Tutorium IX 2 Definitionen

Mehr

Berechenbarkeit und Komplexität Vorlesung 10

Berechenbarkeit und Komplexität Vorlesung 10 Berechenbarkeit und Komplexität Vorlesung 10 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 27. November 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 27.

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

1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist, f(n) = 0 sonst

1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist, f(n) = 0 sonst 21 2 Berechenbarkeit Dieses Kapitel entspricht im Wesentlichen dem Kapitel 2 (Berechenbarkeitstheorie) in [9] Jeder, der programmieren kann, weiß, dass es so etwas wie einen intuitiven Berechenbarkeitsbegriff

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

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 20. Februar 2004 1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

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 1 / 23 Turingmaschine (TM) M = (Q, Σ, Γ, B, q 0, q, δ) Unendliches Band... 0 c

Mehr

Einige Grundlagen der Komplexitätstheorie

Einige Grundlagen der Komplexitätstheorie Deterministische Polynomialzeit Einige Grundlagen der Komplexitätstheorie Ziel: NP-Vollständigkeit als ressourcenbeschränktes Analagon zur RE-Vollständigkeit. Komplexitätstheorie untersucht den Ressourcenbedarf

Mehr

Relativierte Berechnungen und die arithmetische Hierachie

Relativierte Berechnungen und die arithmetische Hierachie Berechenbarkeit und Komplexität Wintersemester 2010/2011 1 Relativierte Berechnungen und die arithmetische Hierachie Relativierte Berechnungen und Orakel Definition 1 Eine Menge A ist entscheidbar mit

Mehr

1.5 Turing-Berechenbarkeit

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

Mehr

Alternative Berechnungsmodelle

Alternative Berechnungsmodelle Proseminar Theoretische Informatik 01.12.2015 Alternative Berechnungsmodelle Andreas Berg, Pascal Müller, Marius Schidlack Wolfgang Mulzer 1 Der Berechenbarkeitsbegriff 1.1 intuitive Berechenbarkeit Als

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

Reduktionen. Formalisierung von Sprache A ist nicht schwerer als Sprache B.

Reduktionen. Formalisierung von Sprache A ist nicht schwerer als Sprache B. Reduktionen Formalisierung von Sprache A ist nicht schwerer als Sprache B. Idee: Algorithmus/DTM für B kann genutzt werden, um A zu entscheiden/akzeptieren. WS 2018/19 Reduktionen 1 Zwei einfache Sprachen

Mehr

1.5 Turing-Berechenbarkeit

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

Mehr

1.3 Primitiv rekursive und µ-rekursive Funktionen

1.3 Primitiv rekursive und µ-rekursive Funktionen Definition 1.11 Die Klasse der primitiv rekursiven Funktionen (a) Basisfunktionen: (1.) die konstanten Funktionen c (c N) (2.) die Projektionen Π m i (x 1,...,x m ) = x i (1 i m) (3.) die Nachfolgerfunktion

Mehr

Grundkurs Theoretische Informatik

Grundkurs Theoretische Informatik Gottfried Vossen I Kurt-Ulrich Witt Grundkurs Theoretische Informatik Eine anwendungsbezogene Einführung - Für Studierende in allen Informatik-Studiengängen 5., durchgesehene Auflage Mit 147 Abbildungen

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Berechenbarkeit und Komplexität Vorlesung 11

Berechenbarkeit und Komplexität Vorlesung 11 Berechenbarkeit und Komplexität Vorlesung 11 Prof. Dr. Wolfgang Thomas Lehrstuhl Informatik 7 RWTH Aachen 7. Dezember 2014 Wolfgang Thomas, Informatik 7 () Vorlesung Berechenbarkeit und Komplexität 7.

Mehr

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2011/12

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2011/12 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Barbara König

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V7, 5.12.2011 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

Mehr

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2003/04 ILKD Prof. Dr. D. Wagner 14. April 2004 2. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004 Hier Aufkleber

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Folien erstellt von Dietmar Saupe und Marcel René Hiller Version vom SS 2014, 29.07.2015 Universität Konstanz, Germany Auf der Grundlage von Uwe Schöning, Theoretische

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17.November 2011 INSTITUT FÜR THEORETISCHE 0 KIT 17.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 13. November 2006 Turing-mächtige

Mehr

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

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

Mehr

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

Mehr

Logik und Beweisbarkeit

Logik und Beweisbarkeit Logik und Beweisbarkeit VL 10 Martin Mundhenk Univ. Jena, Institut für Informatik 22. Januar 2019 Vorlesung 11: Beweissysteme 3. Berechenbarkeitstheorie VL08: URM-berechenbare Funktionen und die These

Mehr

a) Berechenbare Funktionen bisher: Funktionen auf natürlichen Zahlen. Ausnahme Turing-Berechenbarkeit: auch schon definiert für Funktionen f: * *.

a) Berechenbare Funktionen bisher: Funktionen auf natürlichen Zahlen. Ausnahme Turing-Berechenbarkeit: auch schon definiert für Funktionen f: * *. II. Entscheidbarkeit 1. Entscheidbarkeit und Semi-Entscheidbarkeit Vorbemerkungen: a) Berechenbare Funktionen bisher: Funktionen auf natürlichen Zahlen. Ausnahme Turing-Berechenbarkeit: auch schon definiert

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 und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 29. November 2007 Turing-mächtige

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

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