Theoretische Informatik II. Vorlesungsnotizen

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik II. Vorlesungsnotizen"

Transkript

1 Theoretische Informatik II Vorlesungsnotizen

2 Inhaltsverzeichnis Einführung 3 Motivation 4 Literatur 6 I. Fixpunkttheorie & Datenflussanalyse 9 1. Verbände, Fixpunkte und die Sätze von Knaster und Tarski & Kleene Datenflussanalyse 20 II. Entscheidbarkeit & Berechenbarkeit Turing-Maschinen & Entscheidbarkeit Berechenbarkeit Unentscheidbarkeit, universelle Turing-Maschine, Halteproblem & Reduktionen Das Postsche Korrespondenzproblem & der Satz von Rice Unentscheidbare Probleme kontextfreier Sprachen 95 III. Komplexitätstheorie Zeit- und Platzkomplexität Eine Landkarte der Komplexitätstheorie L und NL conl & der Satz von Immerman und Szelepcsényi P NP 142 Referenzen 143

3 Einführung Vorwort

4 Motivation endliche Automaten Pushdown-Automaten beschränkte Computer bzw. Programme Berechnungsmächtigkeit Turing-Maschinen Entscheidbarkeit und Berechenbarkeit nicht-entscheidbare nicht-berechenbare Church-Turing-These

5 Datenflussanalyse Verbände und Fixpunkte effizient Komplexitätstheorie

6 Literatur

7 Principles of Program Analysis. Data Flow Analysis Theory and Practice. Übersetzerbau Analyse und Transformation. Ordnungen, Verbände und Relationen mit Anwendungen. General Lattice Theory. Lattice Theory. Theoretische Informatik kurzgefasst.

8 Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. Formale Grundlagen der Programmierung. Introduction to the Theory of Computation. Complexity Theory. Automata and Computability. Computational Complexity.

9 Teil I. Fixpunkttheorie & Datenflussanalyse

10 1. Verbände, Fixpunkte und die Sätze von Knaster und Tarski & Kleene A) Partielle Ordnungen & Verbände N 1.1 Beispiel: Teilmengen von & Teiler von Definition: Partielle Ordnung partielle Ordnung Reflexivität Transitivität Antisymmetrie gerichtete Graphen

11 1.3 Beispiel: Teiler von 12 Hasse-Diagramm 1.4 Definition: Join und Meet obere Schranke kleinste obere Schranke Join Supremum untere Schranke größte untere Schranke Meet Infimum

12 1.5 Beispiel 1.6 Definition: Verband Verband vollständig 1.7 Beispiel 1.8 Lemma Bottom Top

13 B) Monotone Funktionen & der Satz von Knaster und Tarski 1.9 Definition: Monotone Funktionen und Fixpunkte monoton Fixpunkt Pre-Fixpunkt Post-Fixpunkt 1.10 Beispiel 1.11 Theorem: Knaster und Tarski, 1955 kleinsten größten

14 Beweis: l l l l l l l l l l l l l l l l l l l l l l l l l C) Ketten & der Satz von Kleene 1.12 Definition: Kette Kette

15 N aufsteigende Kette N N absteigende Kette N N stationär N endliche Höhe beschränkte Höhe N 1.13 Beispiel N 1.14 Definition: Kettenbedingung aufsteigende Kettenbedingung (ACC)... artinsch absteigende Kettenbedingung (DCC)... noethersch

16 1.15 Lemma 1.16 Definition: Stetigkeit -stetig ( ) { } -stetig ( ) { } 1.17 Theorem: Monotonie impliziert Stetigkeit Beweis: ( ) ( ) ( ) " " ( ) ( ) " "

17 ( ) 1.18 Lemma ( ) N ( ) Beweis: N IA: IV: IS: 1.19 Theorem: Kleene { } N { } N

18 Beweis: { } Zeige: N ( { }) N { } N { } N Zeige: { } N { N N } N IA: IV: IV: ( ) N { } N

19 1.20 Theorem { } N N { } N N Beweis:

20 2. Datenflussanalyse Ziel: statisch Ansatz: A) While-Programme 2.1 Definition: Syntax beschrifteter While-Programme Syntax von beschrifteten While-Programmen l l l l l Z B { } Blöcke Kontrollflussgraphen Blöcke extremalen Blöcken Flussrelation

21 c = [z := 1] ; while [x > 0] do [z := z+y] ; [x := x-1] endwhile skip B) Monotone Frameworks 2.2 Definition: Datenflusssystem Datenflusssystem Kontrollflussgraph vollständiger Verband Anfangswert

22 { } Transferfunktionen monoton 2.3 Bemerkung Gleichungssystem { ( ) ( ) }... Lösung von S { ( ) ( ) } Theorem Bemerkung

23 2.6 Bemerkung 2.7 Beispiel c = [y := 1] ; while [y >0] do [y := 2] ; endwhile ( ( P ({ } )) { }) P ({ }) P ({ }) { } { } { } }{{ } { } }{{ } }{{} { } { }

24 C) Beispiele für Datenflussanalysen Klassifikation von Datenflussanalysen Richtung der Analyse: Approximation der Information Berücksichtigung von Prozeduren main Inlining

25 Berücksichtigung des Kontrollflusses: Instanz Reaching-Definitions Available-Expr. Live-Var. Busy-Expr. Richtung Approx. P ( ) P ( ) P ( ) P ( ) { } Anfangsw. Transferf.

26 D) Beispiel 1: Reaching-Definitions-Analyse Ziel: Klassifikation: Idee: Anwendungen: Use-Definition-Chains Code-Motion-Optimierungen 2.8 Beispiel ( { }) P ( )

27 { } P ( ) P ( ) { } { } { } [x:=5] ; [y:=1] ; while [x > 1] do [y:=xy] ; [x:=x-1] ; endwhile

28 { } { } { } { } { } { } { } { } { } { } { } { } }{{} { } }{{} { } }{{} { } }{{} { } P ( ) P ( ) P ( ) { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }

29 { } { } { } { } { } E) Beispiel 2: Available-Expressions-Analyse Ziel: Klassifikation: Idee: Anwendungen: 2.9 Beispiel ( { })

30 P ( ) P ( ) P ( ) { } { }

31 [x:=a+b] ; [y:=ab] ; while [y > a+b] do [a:=a+1] ; [x:=a+b] ; endwhile { } { } { } { } { } { } { } { } { } { } }{{} { } }{{} { } { } }{{}}{{} { } { } P ( ) P ( ) P ( )

32 { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } Bemerkung P ( ) P ( ) F) Beispiel 3: Live-Variables-Analyse Definition: lebendig Ziel: Klassifikation:

33 Idee: Anwendungen: Register-Allocation Dead-Code-Elimination 2.10 Beispiel ( { }) gegen P ( )

34 P ( ) P ( ) { } [x:=2] ; [y:=4] ; [x:=1] ; if [y>0] then [z:=x] else [z:=yy] ; endif; [x:=z] ;

35 { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } }{{} { } { } }{{} { } { } { } { } { } }{{} P ( ) P ( ) P ( ) { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }

36 { } { } { } { } G) Beispiel 4: Very-Busy-Expressions-Analyse Definition: very busy Ziel: Klassifikation: Idee:

37 Anwendungen: Hoisting-Expressions: 2.11 Beispiel ( { }) P ( )

38 P ( ) P ( ) { } if [a>b] then [x:=b-a] ; [y:=a-b] else [y:=b-a] ; [x:=a-b] endif { } { } { } { } { } { } { } { }

39 { } }{{} { } }{{} { } }{{} { } }{{} P ( ) P ( ) P ( ) { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } Bemerkung P ( ) P ( )

40 Teil II. Entscheidbarkeit & Berechenbarkeit

41 3. Turing-Maschinen & Entscheidbarkeit A) Entscheidungsprobleme Entscheidungsprobleme I I I I I entscheiden I Entscheidungsproblem zu I I I Gegeben: I Entscheide: I Wort-Probleme Σ L Σ L Wortproblem zu L Gegeben: Σ Entscheide: L I Σ ( }{{} L Σ L ) }{{} I I L L Σ Σ { } L Σ

42

43 B) Turing-Maschinen Alan Turing Church-Turing-These Alonzo Church 3.1 Definition (deterministische) Turing-Maschine, kurz DTM oder nur TM Σ Γ δ Kontrollzuständen Start- oder Initialzustand akzeptiertende Zustand

44 abweisende Zustand Haltezustände Σ Eingabealphabet Γ Bandalphabet Σ Γ Γ (linke) Endmarker Γ Leerzeichen Blank Σ Σ δ δ Γ Γ { } δ Γ { } δ δ N Γ Γ N

45 δ δ Γ Γ δ

46 3.2 Definition Σ Γ δ Konfiguration Γ Γ... ω δ Transitionsrelation δ δ Γ Γ δ Startkonfiguration Eingabe Σ ε akzeptierend abweisend haltend { } Berechnung Σ ε...

47 ... akzeptierend N abweisend haltend... akzeptiert Eingabe Σ L ( ) L ( ) { Σ } { Σ ε } 3.3 Definition L Σ semi-entscheidbar rekursiv aufzählbar (Turing) erkennbar Σ Γ δ L L ( )

48 Zur 1. Frage: 3.4 Theorem Σ Σ Beweis: Σ Σ Behauptung: Σ P ( N ) { N } Σ Σ N Σ }.{{.. } Σ N Σ P ( Σ ) { L L Σ } N P ( N ) P ( Σ ) { }

49 P ( N ) P ( Σ ) P ( N ) P ( Σ ) R Behauptung: Σ Γ δ { }... Γ Σ {... } Σ δ Cantor sche Diagonalverfahren Q

50 N... L ( ) ( ) ( ) L L... L ( ) ( ) L Konklusion: Zur 2. Frage: C) Entscheidbarkeit Semi-Entscheider

51 L ( ) L ( ) L ( ) L ( ) Σ L ( ) L ( ) 3.5 Definition haltend total Entscheider 3.6 Definition L Σ entscheidbar rekursiv L L ( ) 3.7 Bemerkung totale

52 Σ { } B { } totale Funktion χ L ( ) L ( ) χ ( ) L Σ { } B { } { L ( ) L ( ) Totalitätsproblem Totalitätsproblem Gegeben: Entscheide: Σ Σ

53 Zur 3. Frage: robust D) Varianten von Turing-Maschinen Turing-Maschinen mit beidseitig unendlichem Band 3.8 Definition beidseitig unendlichem Band Theorem L ( ) ( ) L Beweis: 3.10 Korollar 3.11 Bemerkung effizient

54 Mehr-Band-Turing-Maschinen 3.12 Definition N δ Γ Γ { } Theorem: Bandreduktion L ( ) ( ) L Beweis: Γ ( Γ { }) Σ { } Γ l Γ l l { } l l

55 Γ 3.14 Korollar Alphabetsreduktion { } 3.15 Theorem: Alphabetsreduktion Σ Γ δ Γ { } { } { } δ L ( ) Σ L ( ) { }

56 Beweisskizze: Γ Γ E) Nichtdeterminismus L { { } }

57 3.16 Definition δ δ Γ P ( Γ { }) δ δ δ L ( ) { Σ ε } L ( )

58 3.17 Definition Σ Berechnungsbaum ε { } δ 3.18 Theorem L ( ) ( ) L { } { } { }

59 Beweis des Theorems: δ Γ {... } l l {... } {... } {... } {... }

60 ε {... } {... } L ( ) ( ) L

61 L ( ) L ( ) L ( ) 3.19 Korollar 3.20 Bemerkung N N 3.21 Bemerkung

62

63 4. Berechenbarkeit Berechnungsproblemen Berechnungsproblem zu Funktion Gegeben: Berechne: Σ Σ Σ Σ Σ Σ Σ Σ berechenbar µ λ Σ Σ Σ Σ Σ berechenbar Σ

64 4.1 Beispiel Σ Σ Σ Σ Σ while true do skip end while 4.2 Beispiel { } { } effektiv berechenbar effektiv entscheidbar 4.3 Definition Σ Σ (Turing-)berechenbar Σ Γ δ Σ Ausgabeband... Σ Γ Σ Σ

65 read-only δ δ... δ Γ... Γ... { } write-only... Γ δ... δ Γ... { } 4.4 Bemerkung Σ Σ berechenbar N N

66 { } { } { N { } 4.5 Beispiel π N N π π π π π π R 4.6 Theorem Σ Σ Σ Σ Beweis: N N N N...

67 ... N N... N 4.7 Beispiel Diagonalisierung 4.8 Theorem L Σ rekursiv aufzählbar L N Σ L {... } { } N

68 L aufzählt Beweis: L N Σ L Eingabe: Σ for... do end for Σ L L L L L L L ( ) N L L Σ... Σ... N Σ Σ...

69 A for... do for... do if then end if end for end for Gebe aus N... A L { } A L A

70 Eingabe: N for... do for... do if then if then Gebe aus Akzeptiere end if end if end for end for 4.9 Definition L Σ χ L L χ L Σ { } { L χ L L χ L { } Σ { L 4.10 Theorem L χ L L χ L Beweis: L χ L χ L

71 4.11 Korollar L Σ L L ( ) L L L N L χ L L Σ Σ 4.12 Bemerkung: Aufzählbarkeit vs. Abzählbarkeit abzählbar N N Abzählung L Σ Σ Σ N Z Q L Σ Σ Σ { } N { } ε

72 L Σ L (rekursiv) aufzählbar Σ L Σ

73 5. Unentscheidbarkeit, universelle Turing-Maschine, Halteproblem & Reduktionen kodieren universellen Turing- Maschine allgemeine und das spezielle Halteproblem Reduktionen A) Kodierungen von Turing-Maschinen { }

74 5.1 Definition: Kodierung von Turing-Maschinen Σ Γ δ {... } Γ {... } Σ { }... δ δ δ ( ) ( ) ( ) ( ) { } ( ) ( ) δ δ Π { } { } { } 5.2 Bemerkung

75 5.3 Bemerkung Gödelnummer Gödelisierung Kurt Gödel 5.4 Bemerkung Σ L ( ) L ( ) Σ { } { } { } ({ } { } { } ) δ δ δ { } { } L ( ) 5.5 Definition { } 5.6 Bemerkung { }

76 5.7 Bemerkung Σ { } Σ { } l {... } ( ) ( )... ( l ) { } { } { } { } 5.8 Bemerkung B) Die universelle Turing-Maschine Akzeptanzproblem Gegeben: Entscheide: L ( )

77 L { { } { } L ( )} L simulieren universell 5.9 Theorem: Turing 1936 universelle Turing-Maschine (UTM) L ( ) { L ( )} 5.10 Bemerkung: Einfluss der universellen Turing-Maschine auf die Entwicklung des Computers Interpreter Turing-vollständig Computer John von Neumann von-neumann-architektur

78 Beweisskizze für Theorem 5.9: { } Programmband L ( ) Datenband { } { } Zustandsband ( ) 5.11 Bemerkung

79 C) Das Halteproblem Halteproblem (Allgemeines) Halteproblem Gegeben: Entscheide: { { } } { } 5.12 Theorem: Turing Lemma Beweis: L ( ) 5.14 Proposition Beweis: L ( )

80 Fall 1: hält auf : L ( ) Fall 2: hält nicht auf : L ( ) 5.15 Bemerkung... { } N 5.16 Bemerkung

81 spezielle Halteproblem Spezielles Halteproblem Gegeben: Entscheide: 5.17 Korollar { { } } D) Reduktionen Reduktionen 5.18 Definition Σ Σ (many-one-)reduzierbar Σ Σ Σ

82 (Many-One-)Reduktion 5.19 Lemma Beweis: 5.20 Korollar Beweis: 5.21 Bemerkung χ χ χ

83 5.22 Bemerkung Halten auf leerem Eingabeband ε Gegeben: Entscheide: ε ε { { } ε } ε ε 5.23 Lemma ε Beweis: ε { } { }

84 ε 5.24 Theorem allgemeine Akzeptanzproblem { { } { } L ( )} Selbstakzeptanzproblem spezielle Akzeptanzproblem { { } L ( )} Leeres-Wort-Akzeptanzproblem ε { { } ε L ( )} Beweis: ε ε ε ε

85

86 6. Das Postsche Korrespondenzproblem & der Satz von Rice Postschen Korrespondenzproblems (PCP) Satz von Rice A) Das Postsche Korrespondenzproblem (PCP) 6.1 Definition Postsche Korrespondenzproblem (PCP Post s correspondence problem) Postsches Korrespondenzproblem Gegeben:... Entscheide:

87 6.2 Beispiel }{{ } }{{ } }{{ } 6.3 Theorem: Post 1946 Modifiziertes Postsches Korrespondenzproblem Gegeben: Entscheide: Lemma

88 Beweis:... Σ Σ... Σ... ` ` ` `... ` {... } {... }...

89 6.5 Proposition Beweis: Σ Γ δ... Σ ε Γ { }... l l l l

90 {}}{ {}}{{}}{{}}{{}}{... }... {{ } }{{}}{{}... }{{} }{{} Γ { } δ δ Γ δ δ Γ Γ

91 ... {.}}.. {... }.{{.. } { } 6.6 Bemerkung N B) Der Satz von Rice Satz von Rice 6.7 Definition Σ Σ Σ L L ( ) L Eigenschaft Σ Σ { } B { } L Σ L trivial L Σ L Σ nicht-trivial

92 L L L L L L L L L ( ) { { } L ( ) } L L ( ) L ( ) ( ) L L L ( ) L 6.8 Beispiel L L ( ) L L ( ) L L ( ) L L ( ) L L Σ

93 L ( ) ( ) L 6.9 Theorem: Rice 1953 Beweis: Σ L L L ( ) L { { } L ( ) } L

94 1. Fall: ( ) L L ( ) L L 2. Fall: ( ) L ( ) L L ( ) L ( ) L ( ( )) L L ( ( )) L monoton L L Σ L L L L nicht-monoton L L L 6.10 Theorem: Rice 1956

95 7. Unentscheidbare Probleme kontextfreier Sprachen L L L ( ) 7.1 Theorem L ( ) ( ) L ( ) ( ) L L L ( ) ( ) L L ( ) ( ) L L ( ) ( ) L Beweis:... { } {... }...

96 L ( ) { {... } }... L ( ) { { } {... } }... L ( ) L ( ) L ( ) L ( )

97 L ( ) ( ) L L ( ) ( ) L L ( ) ( ) L L ( ) ( ) ( ) ( ) L L L L ( ) ( ) { } L... L ( ) L ( ) ( ) ( ) ( ) L L L L ( ) ( ) ( ) L L L ( ) L ( ) L ( ) ( ) L L ( ) }{{} L ( )

98 7.2 Bemerkung L ( ) ( ) L 7.3 Bemerkung L ( ) L ( ) L ( ) L ( ) L ( )

99 Teil III. Komplexitätstheorie

100 8. Zeit- und Platzkomplexität Zeit- Platzverbrauch grundlegenden Komplexitätsklassen robusten Komplexitätsklassen 8.1 Bemerkung A) Zeitkomplexität Zeitverbrauch ( ) ( ) Zeitkomplexitätsklassen 8.2 Definition: Zeitverbrauch Σ Zeitverbrauch { }... N

101 N Zeitkomplexität von { } N N -zeitbeschränkt N N N 8.3 Definition: Grundlegende Zeitkomplexitätsklassen N N ( ) { L ( ) } ( ) { L ( ) } 8.4 Bemerkung ( ) ( ) ( ) ( ) N N ( ) ( ) ( O ( )) ( ) ( ) ( ) 8.5 Bemerkung N N B) Platzkomplexität

102 read-only Arbeitsbänder 8.6 Definition: Platzverbrauch Σ Platzverbrauch von in Konfiguration { } Platzverbrauch von zu Eingabe { } N Platzkomplexität von { } N N -platzbeschränkt N

103 8.7 Definition: Grundlegende Platzkomplexitätsklassen N N ( ) { L ( ) } ( ) { L ( ) } 8.8 Lemma N N ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 8.9 Beispiel L { { } } L ( O ( )) L L

104 L C) Die robusten Komplexitätsklassen 8.10 Definition robusten Komplexitätsklassen ( O ( )) ( O ( )) ( ( O )) N ( ( O )) N ( O ( )) N ( O ( )) N ) ( ( O ) N ) ( ( O ) N ) ( ( O ) N ) ( ( O ) N ( ( L O ))

105 8.11 Bemerkung N ( L L O ( ) ) elementaren N effizient lösbaren 8.12 Lemma N N N ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Beweis:

106 8.13 Korollar ( ( O )) N N ( )) ( O N D) Komplementklassen L Σ L Σ L 8.14 Definition C Komplementklasse C C { L } L C C C C C

107 8.15 Beispiel { { } } ( ( O )) ( ( )) O { } { } { } { } { { } } ( O ( )) ( O ( )) 8.16 Lemma N N N ( ) ( ) ( ) ( ) Beweis: 8.17 Korollar

108 E) Grundlegende Relationen zwischen den Komplexitätsklassen 8.18 Lemma N N ( ) ( ) ( ) ( ) Beweis: 8.19 Korollar

109 9. Eine Landkarte der Komplexitätstheorie Satz von Savitch ( ) ( ) Satz von Immerman und Szelepcsényi

110 Hierarchie-Resultate für Zeit und Platz

111 10. L und NL A) Probleme in L: Arithmetik Addition Gegeben: l Entscheide: l Multiplikation Gegeben: l Entscheide: l { l ( ) ( ) ( l ) } { l ( ) ( ) ( l ) } 10.1 Lemma

112 B) Das Pfadproblem in NL Pfadexistenz Gegeben: Entscheide: {... } ( ) { }

113 10.2 Lemma Beweis: einfachen while do {... } if then else end if end while return if then return end if return

114 {... } {... } C) Reduktionen und Vollständigkeit -hart -schwer -vollständig

115 10.3 Definition Σ -many-one-reduzierbar Σ Σ Σ Σ Reduktion 10.4 Definition C C-schwer bezüglich -many-one Reduktionen C-hart bezüglich -many-one Reduktionen C C C C-vollständig bezüglich -many-one Reduktionen C C C C C obere Schranke C C untere Schranke C C C C abgeschlossen unter -Many-One- Reduktionen

116 transitive C C 10.5 Bemerkung 10.6 Definition N N N N N N 10.7 Definition Σ Σ logspace-berechenbar Σ Σ O ( ) Σ Σ in Polynomialzeit berechenbar

117 Σ Σ ( O ) 10.8 Definition Σ logspace-(many-one-)reduzierbar Σ Σ logspace-(many-one-)reduzierbar Σ Σ Σ Σ Σ in Polynomialzeit reduzierbar (many-one-)reduzierbar polynomiell reduzierbar Σ 10.9 Bemerkung

118 10.10 Lemma Σ Σ Σ Σ Σ Σ Beweis: Σ Idee: Problem: Lösung: Behauptung: ist höchstens polynomiell groß

119 Γ Γ Γ }{{}}{{}}{{} }{{ } Γ Γ Γ ( ) Γ ( ) Γ ( O ) Behauptung: Für jede Zahl ist die Stelle logspace-berechenbar

120 Beweis der eigentlichen Aussage ( O ) ( ) O O ( ) O ( ) Lemma Σ L Σ L { } { } { } L Σ L L Σ { } Beweis: Lemma

121 10.13 Lemma D) PATH ist NL-vollständig Theorem Beweis: L O ( ) L L ( ) L

122 O ( ) O ( )

123 O ( ) Korollar azyklische... Pfadexistenz in azyklischen Graphen Gegeben: Entscheide: Lemma

124 11. conl & der Satz von Immerman und Szelepcsényi 11.1 Lemma C L C L C L C Beweis: Nicht-Existenz von Pfaden Gegeben: Entscheide: 11.2 Korollar 11.3 Bemerkung

125 A) 2SAT... Literal Klausel... aussagenlogische Formel in konjunktiver Normalform (CNF)... Erfüllbarkeit von aussagenlogischen Formeln in CNF Gegeben: Entscheide: φ φ Erfüllbarkeit von aussagenlogischen Formeln in -CNF Gegeben: Entscheide: φ φ 11.4 Theorem

126 11.5 Lemma { } α β β α α β α α α { } { } 11.6 Beispiel { } { }

127 11.7 Lemma Beweis: φ φ φ φ φ φ ( φ φ ) φ φ φ

128 φ while do for do φ end for for do φ end for end while φ 11.8 Beispiel

129 Beweis: Eingabe: Ausgabe: for do if then return end if end for return 11.9 Lemma Beweis: { }

130 B) Der Satz von Immerman und Szelepcsényi induktive Zählen Theorem: Immerman and Szelepcsényi, 1987 N ( ) ( ) Korollar Theorem

131 Schritt 1: Nicht-Erreichbarkeit unter Verwendung von { } Algorithmus: unreach unreach(g,s,t) for do if then if then return end if if then return end if end if end for if then return

132 else return end if Lemma Beweis: Schritt 2: Induktives Zählen { } induktiv

133

134 11.15 Algorithmus: #reach # reach(g,s) for... do for do for do if then if then return end if if then end if end if end for if then return end if end for end for return Lemma {... } Beweis:

135 Finaler Algorithmus Algorithmus: Algorithmus für nopath(g,s,t) return Lemma Beweis: Bemerkung

136 12. P Das Circuit Value Problem 12.1 Definition Boolescher Schaltkreis (Circuit) N 12.2 Beispiel

137

138 Circuit Value Problem Gegeben:... l Entscheide: l 12.3 Beispiel 12.4 Theorem: Ladner Lemma Beweis: O ( )

139 12.6 Lemma Beweis: δ δ... lokal Konstruktion:

140 { }... { }... { } { }... ( ) δ }{{}}{{} ( ) δ }{{} ( ) δ }{{}

141

142 13. NP

143 Referenzen IEEE Ann. Hist. Comput. Theoretical Computer Science Theoretical Computer Science

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

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

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

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie Stefan Schmid TU Berlin & T-Labs, Berlin, Germany Reduktionen in der Berechenbarkeitstheorie Problem: Wie komme ich von hier zum Hamburger Hbf? 2 Beispiel P1 Wie komme ich von hier zum Hamburger Hbf? kann

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen en Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie P, und C Definition () Seien L 1, L 2 {0, 1} zwei Sprachen. Wir sagen, dass L 1 auf L 2 in polynomialer Zeit reduziert wird, wenn eine

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

Reduzierbarkeit und das Post'sche Korrespondenzproblem

Reduzierbarkeit und das Post'sche Korrespondenzproblem Reduzierbarkeit und das Post'sche Korrespondenzproblem Agenda Motivation Reduzierbarkeit Definition Bedeutung Post'sches Korrespondenzproblem (PKP) Modifiziertes Post'sches Korrespondenzproblem (MPKP)

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik von Dirk Hoffmann 2., aktualisierte Auflage Hanser München 2011 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 42639 9 Zu Leseprobe schnell und portofrei erhältlich bei

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

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

Berechenbarkeitsmodelle

Berechenbarkeitsmodelle Berechenbarkeit 2 Endliche Automaten erkennen nicht alle algorithmisch erkennbaren Sprachen. Kontextfreie Grammatiken erzeugen nicht alle algorithmisch erzeugbaren Sprachen. Welche Berechnungsmodelle erlauben

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

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

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

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches Berechenbarkeit und Komplexität: Motivation, Übersicht und Organisatorisches Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Berechenbarkeit die absoluten Grenzen

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

Mehr

Komplexität des Äquivalenzproblems für reguläre Ausdrücke

Komplexität des Äquivalenzproblems für reguläre Ausdrücke Philipp Zschoche philipp.zschoche@uni-oldenburg.de Proseminar ÄRA: Äquivalenz regulärer Ausdrücke Sommersemester 2014 Modulverantwortlich: Dr. Hans Fleischhack, Prof. Dr. Eike Best Carl von Ossietzky Universität

Mehr

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Teil 5 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Problemklassen 2 NTM Nichtdeterministische Algorithmen 3 Problemarten Konstruktionsprobleme

Mehr

Komplexität und Komplexitätsklassen

Komplexität und Komplexitätsklassen Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 21 vom 21.01.2013 Komplexität und Komplexitätsklassen Die meisten Probleme mit denen wir zu tun haben sind entscheidbar.

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

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

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Probeklausur 25.01.2013 Probeklausur zur Vorlesung Berechenbarkeit und Komplexität Aufgabe 1 (1+2+6+3 Punkte)

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Inforatik 1 Teil 6 Bernhard Nessler Institut für Grundlagen der Inforationsverabeitung TU Graz SS 2008 Übersicht 1 Reduktionen 2 Definition P- NP- 3 Sprachbeziehungen Klassenbeziehungen Turingreduktion

Mehr

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

Formale Sprachen und Automaten

Formale Sprachen und Automaten Turingmaschinen Formale Sprachen und Automaten Das Konzept der Turingmaschine wurde von dem Englischen Mathematiker Alan M. Turing (1912-1954) ersonnen. Turingmaschinen, Typ-0- und Typ-1-Grammatiken Der

Mehr

Herzlich willkommen!!!

Herzlich willkommen!!! Komplexitätstheorie Sommersemester 2013 Prof. Dr. Georg Schnitger AG Theoretische Informatik Johann Wolfgang Goethe-Universität Frankfurt am Main Herzlich willkommen!!! Einführung 1 / 30 Kapitel 1: Einführung

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 10.4.2007 Klausur: Informatik III Aufgabe 1. Multiple Choice 11 Punkte Aufgabe 2. Minimalautomaten

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

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Grammatik konstruieren, Beispiel Ausdrücke der Aussagenlogik in zwei Prädikaten p und q und den Verknüpfungsoperationen. Produktionsregeln:

Grammatik konstruieren, Beispiel Ausdrücke der Aussagenlogik in zwei Prädikaten p und q und den Verknüpfungsoperationen. Produktionsregeln: Prüfungszusammenfassung Mathe 2 Begriffe DEA (Deterministischer endlicher Automat; DFA) NEA (Nichtdeterministischer endlicher Automat; NFA) regulär Ohne Mehrdeutigkeiten: Darf nicht vom gleichen Zustand

Mehr

Kurseinheit 1 Einleitung, Rekursive und rekursiv-aufzählbare Mengen

Kurseinheit 1 Einleitung, Rekursive und rekursiv-aufzählbare Mengen Kurseinheit 1 Einleitung, Rekursive und rekursiv-aufzählbare Mengen Fragen 1. Erkläre die Begriffe: Potenzmenge, partielle Funktion, Vorbereich, Nachbereich, Graph, Inverse, Definitionsbereich, Bildbereich,

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

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Avant Propos Formale Sprachen und Automaten Sie [die Theorie der formalen Sprachen] ist ein Musterbeispiel einer informatischen Theorie, weil es ihr gelingt, einen großen Bestand an Einsichten und Zusammenhängen

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

Klausur zur Vorlesung Mathematische Logik

Klausur zur Vorlesung Mathematische Logik Universität Heidelberg 13. Februar 2014 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Mathematische Logik Musterlösung Aufgabe 1 (Aussagenlogik

Mehr

Theoretische Informatik I (Grundzüge der Informatik I)

Theoretische Informatik I (Grundzüge der Informatik I) Theoretische Informatik I (Grundzüge der Informatik I) Literatur: Buch zur Vorlesung: Uwe Schöning, Theoretische Informatik - kurzgefasst. Spektrum Akademischer Verlag, Heidelberg/Berlin, 4. Auflage, 2001.

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

LogSpace. Isomorphie von Bäumen (gerichtet und ungerichtet) Entscheiden, ob ein Graph zusammenhängend ist (gerichtet und ungerichtet)

LogSpace. Isomorphie von Bäumen (gerichtet und ungerichtet) Entscheiden, ob ein Graph zusammenhängend ist (gerichtet und ungerichtet) LogSpace Weitere Probleme in LogSpace z.b.: Isomorphie von Bäumen (gerichtet und ungerichtet) Entscheiden, ob ein Graph zusammenhängend ist (gerichtet und ungerichtet) Pattern matching: gegeben Wort w

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

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Entscheidbare und semi-entscheidbare Sprachen Definition Eine NTM M hält bei Eingabe x, falls

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

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

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Einführung in Approximative Algorithmen und Parametrisierte Komplexität Einführung in Approximative Algorithmen und Parametrisierte Komplexität Tobias Lieber 10. Dezember 2010 1 / 16 Grundlegendes Approximationsalgorithmen Parametrisierte Komplexität 2 / 16 Grundlegendes Definition

Mehr

Wie viel Mathematik kann ein Computer?

Wie viel Mathematik kann ein Computer? Wie viel Mathematik kann ein Computer? Die Grenzen der Berechenbarkeit Dr. Daniel Borchmann 2015-02-05 Wie viel Mathematik kann ein Computer? 2015-02-05 1 / 1 Mathematik und Computer Computer sind schon

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 5: Typ 1 und Typ 0 Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel 5 Typ 1

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

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume Kap 3: Grammatiken Chomsky-Hierarchie 32 Kap 3: Grammatiken Kontextfreie 33 a n b n c n ist kontextsensiti Beispiel 3111 modifizieren: Σ = {a, b, c G = (Σ, V, P, X ) V = {X, Y, Z P : X ε X axyz ZY YZ ay

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 6 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge

Mehr

Resolutionsalgorithmus

Resolutionsalgorithmus 112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

Deterministischer Kellerautomat (DPDA)

Deterministischer Kellerautomat (DPDA) Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,

Mehr

Die Church-Turing-These

Die Church-Turing-These Die Church-Turing-These Elmar Eder () Die Church-Turing-These 1 / 12 Formale Systeme Formale Systeme µ-partiellrekursive Funktionen Logikkalküle SLD-Resolution (Prolog) Chomsky-Grammatiken Turing-Maschinen

Mehr

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

Mehr

Sprachen und Programmiersprachen

Sprachen und Programmiersprachen Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten

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

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Wintersemester 2016/2017 2V, Mittwoch, 12:00-13:30 Uhr, F303 2Ü, Dienstag, 12:00-13:30 Uhr, BE08 2Ü, Dienstag, 15:00-16:30 Uhr, B212 2Ü, Mittwoch, 8:30-10:00 Uhr, B312 Fachprüfung:

Mehr

Zusammenfassung Grundzüge der Informatik 4

Zusammenfassung Grundzüge der Informatik 4 Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1

Mehr

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05.

Vorlesung Datenbanktheorie. Church-Rosser-Eigenschaft der Verfolgungsjagd. Berechnung von chase(t, t, Σ) Vorlesung vom Mittwoch, 05. Vorlesung Datenbanktheorie Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Vorlesung vom Mittwoch, 05. Juli 2006 Letzte Vorlesung: Kurze Bemerkungen zum Armstrong-Kalkül The Chase:

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Komplexitätstheorie Einführung und Überblick (Wiederholung) Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität

Mehr

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO). 1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache

Mehr

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4 Syntax der Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen Barbara König Übungsleitung: Christoph Blume Eine atomare Formel hat die Form A i (wobei i = 1, 2, 3,...). Definition (Formel)

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

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

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

Mehr

Theoretische Informatik. Alphabete, Worte, Sprachen

Theoretische Informatik. Alphabete, Worte, Sprachen Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele

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

Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver

Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver 20. März 2013 Proff Malte Helmert und Christian Tschudin Departement Mathematik und Informatik, Universität

Mehr

Lösung zur Übung für Analysis einer Variablen WS 2016/17

Lösung zur Übung für Analysis einer Variablen WS 2016/17 Blatt Nr. 3 Prof. F. Merkl Lösung zur Übung für Analysis einer Variablen WS 206/7 Aufgabe Das Guthaben G setzt sich zusammen aus der Summe aller bisherigen Einzahlungen multipliziert mit ( + p) k, wobei

Mehr

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),

Mehr

17 R E L AT I O N E N

17 R E L AT I O N E N 17 R E L AT I O N E N 17.1 äquivalenzrelationen 17.1.1 Definition In Abschnitt 11.2.1 hatten wir schon einmal erwähnt, dass eine Relation R M M auf einer Menge M, die reflexiv, symmetrisch und transitiv

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

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie Einführung in P und NP Frank Heitmann heitmann@informatik.uni-hamburg.de 11. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen Kapitel 1: rekursive Mengen 1 rekursive Mengen 1.1 Definition 1.1.1 informal Eine Menge heißt rekursiv oder entscheidbar, wenn ihre charakteristische Funktion berechenbar ist. 1.1.2 formal Eine Menge A

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

6. Induktives Beweisen - Themenübersicht

6. Induktives Beweisen - Themenübersicht 6. Induktives Beweisen - Themenübersicht Ordnungsrelationen Partielle Ordnungen Quasiordnungen Totale Ordnungen Striktordnungen Ordnungen und Teilstrukturen Noethersche Induktion Anwendung: Terminierungsbeweise

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

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

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung.

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung. Komplexita tstheorie eine erste Ubersicht KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung. Probleme Problem = Menge von unendlich vielen konkreten Einzelfragen (Instanzen) F n,

Mehr