Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!"

Transkript

1 Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen! 1 / 17

2 Kapitel 1: Einführung Einführung 2 / 17

3 Worum geht s? Reguläre Sprachen: Das stärkste vollständig beherrschbare Rechnermodell: Automatische Verifikation und Minimierung sind effizient möglich. Verschiedene äquivalente Perspektiven: Reguläre Ausdrücke, reguläre Grammatiken, deterministische und nichtdeterministische endliche Automaten. Kontextfreie Sprachen. Grundlage des Compilerbaus: effiziente Compiler Die Chomsky-Hierarchie XML und reguläre Baumsprachen Berechenbarkeit. Was können Rechner heutiger und zukünftiger Technologien? Welche algorithmischen Probleme sind (durch Rechner) lösbar, welche Probleme lassen sich nicht lösen? Einführung Inhaltsangabe 3 / 17

4 Worauf wird aufgebaut? Diskrete Modellierung: Beweismethoden eine erste Behandlung von endlichen Automaten und kontextfreien Sprachen Datenstrukturen und GL-1 (Algorithmentheorie bzw. Theo. Inf. 1): Laufzeitanalyse: O, o, Ω, ω and Rekursionsgleichungen Traversierung von Graphen Dynamische Programmierung NP-Vollständigkeit Einführung Vorwissen 4 / 17

5 Literatur G. Schnitger, Skript zur Vorlesung Formale Sprachen und Berechenbarkeit aus dem Sommersemester 2011, Goethe-Universität Frankfurt. J.E. Hopcroft, J.D. Ullman, Introduction to automata theory, languages and computation, Addison-Wesley, I. Wegener, Kompendium Theoretische Informatik eine Ideensammlung, B.G. Teubner, I. Wegener, Theoretische Informatik: Eine algorithmenorientierte Einführung, B.G. Teubner 1999 (2. Auflage). U. Schöning, Theoretische Informatik - kurzgefasst, Springer 2001 (4. Auflage). M. Sipser, Introduction to the Theory of Computation, PWS Publishing, Einführung Literatur 5 / 17

6 Organisatorisches Die Webseite der Veranstaltung enthält alle wichtigen Informationen zur Veranstaltung wie Logbuch, Skript, Folien, Übungsblätter, Klausurtermine, usw. th-inf-2 Übungsbetrieb: BITTE UNBEDINGT TEILNEHMEN! Wöchentliche Ausgabe der Aufgabenblätter nach der Vorlesung Abgabe der Lösungen: nach 1-wöchiger Bearbeitungszeit, vor Beginn der Vorlesung (frühere Abgabe auch im Büro von Joachim Bremer bzw. Frederik Harwath möglich) Durch Bearbeiten der Übungsaufgaben können BONUSPUNKTE gesammelt werden. Einführung Organisatorisches 6 / 17

7 Einige Grundbegriffe zum Thema Worte und Sprachen Worte und Sprachen 7 / 17

8 Alphabete, Worte und Sprachen 1 N := {0, 1, 2, 3...} ist die Menge aller natürlichen Zahlen. N >0 := {1, 2, 3,...} ist die Menge aller positiven natürlichen Zahlen. 2 Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Buchstaben. 3 Σ n = {a 1 a n a 1,..., a n Σ} ist die Menge aller Worte der Länge n über Σ. 4 Σ 0 = {ε} besteht nur aus dem leeren Wort ε. 5 Σ = n N Σn ist die Menge aller Worte über dem Alphabet Σ. 6 Σ + = n N >0 Σ n ist die Menge aller nicht-leeren Worte über Σ. 7 Für w Σ ist w die Länge von w, also die Anzahl der Buchstaben von w. Eine Sprache L (über Σ) ist eine Teilmenge von Σ. Worte und Sprachen 8 / 17

9 Beispiele für Sprachen - Die Menge der im Duden aufgeführten Worte über dem Alphabet {a, A,..., z, Z,ä, Ä,..., ü,ü, ß, }. - Deutsch besteht aus allen syntaktisch korrekt aufgebauten und semantisch sinvollen Sätzen mit Worten aus dem Duden. - C++ ist die Menge aller syntaktisch richtig aufgebauten C++ Programme. Das Alphabet ist die Menge aller ASCII-Symbole. - Die Sprache der arithmetischen Ausdrücke mit den Variablen x und y besteht aus allen arithmetischen Ausdrücken über dem Alphabet {x, y, +,,, /, (, )}. - Weitere Beispielssprachen: Die Menge aller HTML-Dokumente, die Menge aller XML-Dokumente. Worte und Sprachen 9 / 17

10 Operationen auf Sprachen Sei Σ ein Alphabet, u = u 1 u n und v = v 1 v m seien Worte über Σ. 1 uv = u 1 u n v 1 v m ist die Konkatenation von u und v. 2 Für Sprachen L 1, L 2 über Σ ist L 1 L 2 = {uv u L 1, v L 2 } die Konkatenation von L 1 und L 2. Oft schreiben wir kurz L 1 L 2 oder L 1 L 2 statt L 1 L 2. 3 Für eine Sprache L über Σ ist L n = {u 1 u n u 1,..., u n L} L = n N L n (mit L 0 := {ɛ}) L ist die Kleene-Hülle (oder Kleene-Stern) von L. Worte und Sprachen Operationen auf Sprachen 10 / 17

11 Kompakte Beschreibung von Sprachen und Mengen 1 Die Menge aller Felder eines Schachbretts ist {A, B, C, D, E, F, G, H} {1, 2, 3, 4, 5, 6, 7, 8}. 2 Die Menge aller Karten eines Skatblatts ist {,,, } {7, 8, 9, 10, Bube,Dame,König,Ass}. 3 Die Menge der Binärdarstellungen der natürlichen Zahlen größer Null ist {1} {0, 1}. 4 4 i=1 {, }i ist die Menge der Kodierungen von Buchstaben im Morsealphabet. 5 Die Menge der Uhrzeiten eines Tages ist ({2} {0, 1, 2, 3} {ɛ, 1} {0, 1,..., 9}) {:} {0, 1,..., 5} {0, 1,..., 9}. 6 Und die amerikanische Entsprechung ist ({1} {0, 1, 2} {1,..., 9}) {:} {0, 1,..., 5} {0, 1,..., 9} {am, pm}. Worte und Sprachen Operationen auf Sprachen 11 / 17

12 Aus welchen Worten besteht die Sprache K = ({a} {b} {d} {c} ) Behauptung: K {a, b, c, d} K besteht nur aus Worten über dem Alphabet {a, b, c, d}. {a, b, c, d} besteht aus allen Worten über {a, b, c, d}. Behauptung stimmt. Behauptung: {a, b, c, d} K Der letzte in der Definition von K ist mächtig! Sei w = w1 w n ein beliebiges Wort in {a, b, c, d} : Jeder Buchstabe gehört zu ({a} {b} {d} {c} ). Also ist w = w 1 w n ({a} {b} {d} {c} ) n und deshalb ist w ({a} {b} {d} {c} ) = K. Worte und Sprachen Operationen auf Sprachen 12 / 17

13 Rekursive Definitionen von Sprachen L sei die rekursiv wie folgt definierte Sprache über dem Alphabet Σ = {0, 1}: Basisregel: ɛ L Rekursive Regel: wenn u L, dann 0u L und u1 L. Wie sieht L aus? (1) Behauptung: {0} {1} L. Sei w {0} {1}, also w = 0 n 1 m für n, m N. Es ist ɛ L und deshalb 0ɛ, 00ɛ,..., 0 n ɛ = 0 n L. Dann aber auch 0 n 1, 0 n 11,..., 0 n 1 m L und deshalb ist w L. (2) Behauptung: {0} {1} L. Dies sieht man leicht per Induktion nach dem Aufbau von L. Somit ist L = {0} {1}. Worte und Sprachen Rekursive Definitionen 13 / 17

14 Reguläre Ausdrücke Die Menge der regulären Ausdrücke über einem endlichen Alphabet Σ wird rekursiv wie folgt definiert: Basisregel: Die Ausdrücke, ɛ und a für a Σ sind regulär. Die Ausdrücke stellen die leere Sprache, die Sprache des leeren Wortes und die Sprache des einbuchstabigen Wortes a dar. Rekursive Regeln: Sind R und S reguläre Ausdrücke, dann auch (R S), (R S) und R. ist die Vereinigung (und wird manchmal auch mit + bezeichnet), die Konkatenation (und wird manchmal auch mit bezeichnet), und ist die Kleene-Hülle. Worte und Sprachen Rekursive Definitionen 14 / 17

15 Das Wortproblem Das Wortproblem für eine Sprache L: Für ein vorgegebenes Wort w, entscheide ob w L? Das Wortproblem für den Duden: Entscheide, ob ein vorgegebenes Wort im Duden ist. Einfach: Bitte nachschauen. Das Wortproblem für Deutsch: Entscheide, ob ein Satz syntaktisch richtig und sinnvoll ist. Sehr schwierig. Das Wortproblem für C++: Entscheide, ob ein C++ Programm syntaktisch korrekt ist. Compiler können das. Wie schwer ist das Wortproblem für stets stets haltende C++ Programme? Worte und Sprachen Das Wortproblem 15 / 17

16 Das Wortproblem für C++ Programme, die stets halten main(int n) int i; { i=n; while (NOT(prim(i) && prim(i+2)) ) i++; } Die Funktion prim(i) gebe den Wert wahr genau dann zurück, wenn i eine Primzahl ist. Das Programm hält genau dann für eine Eingabe n, wenn es Primzahl-Zwillinge i, i + 2 mit i n gibt. Das Programm hält genau dann immer, wenn es unendlich viele Primzahl-Zwillinge gibt. Leider ist die Frage, ob es unendlich viele Primzahl-Zwillinge gibt, bis heute offen! Das Wortproblem für stets haltende C++ Programme ist extrem schwierig. Worte und Sprachen Das Wortproblem 16 / 17

17 Das Wortproblem: Ein vorläufiges Fazit Die Komplexität des Wortproblems variiert stark - von trivialen Problemen wie dem Dudenproblem, - zu ernst zunehmenden Problemen wie dem Compiler-Problem für C++ Programme, - zu den sehr schwierigen NP-vollständigen Problemen, - bis hin zu nicht lösbaren Problemen wie dem Wortproblem für stets haltende C++ Programme. Wir betrachten später das Wortproblem für reguläre Sprachen (abhängig von der Repräsentation als determ. oder nichtdeterm. Automat oder als regulärer Ausdruck), kontextfreie Sprachen (wenn durch eine Grammatik repräsentiert) und auch für stets haltende C++ Programme. Worte und Sprachen Das Wortproblem 17 / 17

18 Kapitel 2: Endliche Automaten & reguläre Sprachen Endliche Automaten 1 / 96

19 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen? Vielfältiges Einsatzgebiet, nämlich: - in der Definition bzw. Repräsentation von Sprachen (sog. reguläre Sprachen) - in der Entwicklung digitaler Schaltungen - in der Softwaretechnik (zum Beispiel in der Modellierung des Applikationsverhaltens) - in der Compilierung: Lexikalische Analyse - im Algorithmenentwurf für String Probleme - in der Abstraktion tatsächlicher Automaten (wie Bank- und Getränkeautomaten) Endliche Automaten 2 / 96

20 Die Komponenten eines endlichen Automaten (DFA) - das Eingabealphabet Σ: Beschreibung der atomaren Umgebungseinflüsse, - die endliche Menge Q der Zustände, - der Anfangszustand q 0 Q, - die Menge F Q der akzeptierenden Zustände, - das Programm bzw. die Zustandsüberführungsfunktion δ, die eine partielle Funktion von Q Σ nach Q ist. Der Automat heißt vollständig, falls δ eine totale Funktion δ : Q Σ Q ist. Wie rechnet ein endlicher Automat A? 1 A beginnt im Zustand q 0 und 2 liest die Eingabe Buchstabe für Buchstabe und bewirkt Zustandsänderungen (oder stürzt ab). 3 Die Eingabe wird akzeptiert, wenn der Automat nicht abstürzt und der zuletzt erhaltene Zustand akzeptierend ist. Definition und Anwendungen 3 / 96

21 Endliche Automaten: Die Definition I Sei A = (Q, Σ, δ, q 0, F) ein endlicher Automat (DFA). Das Programm δ wird von Buchstaben auf Worte in Σ fortgesetzt: δ(q, w 1 w n) ist der Zustand, den A nach Lesen der Eingabe w 1 w n erreicht, wenn im Zustand q begonnen wird oder das Symbol, falls A beim Verarbeiten von w 1 w n abstürzt. Präzise: Sei Q := Q { }. Definiere ˆδ : Q Σ Q wie folgt: Für alle w Σ ist ˆδ(, w) :=. Für alle q Q ist ˆδ(q, ε) := q. Für alle q Q, w Σ, a Σ und für q := ˆδ(q, w) ist { falls q ˆδ(q, = wa) := δ(q, a) sonst. An Stelle von ˆδ schreiben wir im Folgenden auch kurz δ. Definition und Anwendungen 4 / 96

22 Endliche Automaten: Die Definition II Was ist die Sprache eines DFA A? A akzeptiert w Σ genau dann, wenn δ(q 0, w) F. L(A) = {w Σ A akzeptiert w } ist die von A akzeptierte (oder erkannte) Sprache. Eine Sprache L Σ heißt regulär, wenn es einen DFA A mit L = L(A) gibt. Definition und Anwendungen 5 / 96

23 Graphische Darstellung: Zustandsdiagramme Die Knoten des Diagramms entsprechen den Zuständen. Für jeden Befehl δ(q, a) = q wird eine mit a beschriftete Kante eingesetzt, die vom Knoten q zum Knoten q verläuft. Der Anfangszustand wird durch einen Pfeil hervorgehoben, akzeptierende Zustände werden doppelt umrandet. Die Sprache Parität = ist regulär. Warum? { } w {0, 1} w hat gerade viele Einsen gerade 1 ungerade 0 0 Definition und Anwendungen Zustandsdiagramm 6 / 96

24 Beispiel: Freischaltung eines Fernsehers Um die Kindersicherung des Fernsehers über die Fernbedienung freizuschalten, muss ein dreistelliger Code korrekt eingegeben werden. Dabei sind die folgenden Tasten relevant: - Die Tasten 0,..., 9, - die Taste CODE sowie - die Taste BACK. Die Taste CODE muss vor Eingabe des Codes gedrückt werden. Wird CODE während der Codeeingabe nochmals gedrückt, so wird die Eingabe neu begonnen. Wird BACK gedrückt, so wird die zuletzt eingegebene Zahl zurückgenommen. Der Code zum Entsperren ist 999. Definition und Anwendungen Zustandsdiagramm 7 / 96

25 Freischaltung eines Fernsehers: Der Automat CODE BACK CODE ready 9 BACK CODE 9 9 BACK 9 99 ON CODE 0,...,8 x BACK CODE CODE CODE 0,...,8 9x BACK 0,...,8 0,...,9 BACK xx 0,...,9 0,...,9 OFF 0,...,9 BACK Definition und Anwendungen Zustandsdiagramm 8 / 96

26 Lexikalische Analyse Zu Beginn liest der Compiler Anweisung nach Anweisung und bricht Anweisungen in Tokenklassen auf. Betrachte zum Beispiel die Anweisung if distance >= rate * (end - start) then distance = maxdistance; mit den Tokenklassen: - Keywords (für if und then), - Variablen (für distance, rate, end, start, maxdistance), - Operatoren (für *, -, =) und Vergleichsoperatoren (für >=), - Klammern (für ( und )) und Semikolon (für ;). Die lexikalische Analyse benutzt reguläre Grammatiken, bzw nichtdeterminische endliche Automaten. Definition und Anwendungen Beispiel: Lexikalische Analyse 9 / 96

27 Nichtdeterministische Automaten (NFAs) Nichtdeterminismus kann die Modellierung vereinfachen! Angenommen, wir befinden uns im Zustand q und lesen den Buchstaben a Σ. Ein deterministischer Automat legt den Nachfolgezustand δ(q, a) eindeutig fest. δ : Q Σ Q ist eine (partielle) Funktion. Ein nichtdeterministischer Automat hingegen hat möglicherweise viele Optionen. δ(q, a) ist eine Teilmenge von Q: Der Automat darf mit jedem beliebigen Zustand der Menge δ(q, a) weiterrechnen! Ein nichtdeterministischer Automat besitzt für jede Eingabe also unter Umständen viele Berechnungen, einige sind erfolgreich, andere nicht. Nichtdeterministische Automaten 10 / 96

28 Ein Beispiel für einen NFA Der nichtdeterministische Automat N akzeptiert die Sprache ,1 2 0,1 L(N) = {0, 1} {1} {0, 1} aller Worte über dem Alphabet {0, 1}, deren vorletzter Buchstabe eine 1 ist. Nichtdeterministische Automaten 11 / 96

29 Die Komponenten eines NFAs die Zustandsmenge Q, das Eingabealphabet Σ, der Anfangszustand q 0 Q, die Menge F Q der akzeptierenden Zustände, das Programm δ, das wir als Funktion δ : Q Σ P(Q) auffassen, wobei P(Q) die Potenzmenge von Q bezeichnet. Nur die Form des Programms ist neu: Jedem Zustand und gelesenen Buchstaben ist eine Menge von Nachfolgezuständen zugeordnet. Nichtdeterministische Automaten 12 / 96

30 Wie rechnet ein nichtdeterministischer Automat N? - N hat möglicherweise viele Berechnungen auf einer Eingabe w, einige sind akzeptierend, andere nicht. - Die Philosophie: Ein NFA rät und das kann schon mal daneben gehen. Wir wollen erfolgreiche Berechnungen belohnen und wir übersetzen erfolgreich als akzeptierend Akzeptiere w, wenn mindestens eine Berechnung in einen akzeptierenden Zustand führt. Nichtdeterministische Automaten 13 / 96

31 Wie rechnet ein nichtdeterministischer Automat N? Sei N = (Q, Σ, δ, q 0, F) ein NFA. Das Programm δ wird von Buchstaben auf Worte in Σ fortgesetzt: δ(q, w 1 w n) ist die Menge der Zustände, in denen N nach Lesen der Eingabe w 1 w n sein kann, wenn im Zustand q begonnen wird. Präzise ist die Fortsetzung δ : Q Σ P(Q) von Buchstaben auf Worte rekursiv wie folgt definiert: δ(q, ɛ) = {q} und δ(q, wa) = δ(p, a). p δ(q,w) δ(q, wa) ist die Menge der von Zustand q aus erreichbaren Zustände, wenn wa die Eingabe ist. Definition N akzeptiert w genau dann, wenn δ(q 0, w) F. L(N) = {w Σ N akzeptiert w} ist die von N akzeptierte (oder erkannte) Sprache. Nichtdeterministische Automaten 14 / 96

32 Die Potenzmengenkonstruktion I Akzeptieren nichtdeterministische Automaten aber möglicherweise nicht-reguläre Sprachen? Nein! Für jeden nichtdeterministischen Automaten N bauen wir einen äquivalenten deterministischen Automaten D: - Sei N = (Q N, Σ, δ N, q 0, F N ). - Idee: Wir lassen D die Menge δ N (q 0, w) der von q 0 aus erreichbaren Zustände berechnen! - Und wie soll das gehen? Die Teilmengen von QN sind die Zustände von D. Wir müssen das deterministische Programm δd so definieren, dass der Zustand von D auf Eingabe w mit der Menge δ N (q 0, w) übereinstimmt. Nichtdeterministische Automaten Die Potenzmengenkonstruktion 15 / 96

33 Die Potenzmengenkonstruktion II Sei N ein NFA mit Komponenten Q N, Σ, δ N, q 0 und F N. Wir definieren einen äquivalenten deterministischen Automaten D mit: Q D = {t t Q N } = P(Q N ), Anfangszustand q 0 = {q 0 }, akzeptierende Zustände F D = {t Q D t enthält einen Zustand aus F N } { } δ D (t, a) = p Q N Es gibt q t mit p δ N (q, a) = δ N (q, a). q t Dann sind D und N äquivalent, das heißt es gilt L(D) = L(N). Beweis: Per Induktion nach n zeigen wir, dass für alle n N und alle w Σ n gilt: δ D (q 0, w) = δ N (q 0, w). siehe Tafel Nichtdeterministische Automaten Die Potenzmengenkonstruktion 16 / 96

34 Die Potenzmengenkonstruktion: Ein Beispiel Beginne die Potenzmengenkonstruktion stets mit dem Startzustand {q 0 } und betrachte im Folgenden nur die von {q 0 } aus erreichbaren Zustände. Der NFA N ,1 2 0,1 akzeptiert die Sprache L(N) = {0, 1} {1} {0, 1}. Führe die Potenzmengenkonstruktion aus. Wie sieht der resultierende DFA aus? siehe Tafel Nichtdeterministische Automaten Die Potenzmengenkonstruktion 17 / 96

35 Mealy Automaten Endliche Automaten können nur akzeptieren oder verwerfen, Mealy Automaten können beliebige Ausgaben ausgeben. Mealy Automaten sind wie vollständige DFAs aufgebaut, besitzen aber zusätzlich - ein Ausgabealphabet Ω und - eine Ausgabefunktion λ : Q Σ Ω. - Ein Mealy Automat produziert für jeden Zustand und für jeden gelesenen Buchstaben eine Ausgabe. Was kann man mit Mealy Automaten anstellen? Nichtdeterministische Automaten Ein Beispiel: Mealy Automat 18 / 96

36 Beispiel: Ein Mealy Automat für die Addition Die Binärzahlen x = 0x n x 0 und y = 0y n y 0 sind zu addieren. Die Eingabe ist [x 0 y 0 ][x 1 y 1 ] [x ny n][00]. Das i-te Ausgabe-Bit ist nur abhängig von x i 1, y i 1 und dem im vorherigen Schritt evtl. erzeugten Übertrag , q q , Nichtdeterministische Automaten Ein Beispiel: Mealy Automat 19 / 96

37 Der Fahrplan - Wie minimiert man deterministische endliche Automaten (DFAs)? - Wie stellt man fest, ob eine Sprache regulär ist? - Wie vergleichen sich DFAs, NFAs, reguläre Ausdrücke und reguläre Grammatiken? - Welche endliche Automaten betreffende Fragen lassen sich effizient beantworten? Akzeptiert ein DFA kein Wort? Einfach! Sind zwei endliche DFAs äquivalent? Machbar! Akzeptiert ein NFA alle Worte? Schwer, aber machbar! Wir beginnen mit dem Problem der Minimierung von DFAs. Nichtdeterministische Automaten Der Fahrplan 20 / 96

Endliche Automaten. Endliche Automaten 1 / 108

Endliche Automaten. Endliche Automaten 1 / 108 Endliche Automaten Endliche Automaten 1 / 108 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?

Mehr

Reguläre Sprachen Endliche Automaten

Reguläre Sprachen Endliche Automaten Endliche Automaten (Folie 54, Seite 16 im Skript) Einige Vorteile endlicher deterministischer Automaten: durch Computer schnell simulierbar wenig Speicher benötigt: Tabelle für δ (read-only), aktueller

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

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

Skript zur Vorlesung Theoretische Informatik 2. Prof. Dr. Georg Schnitger

Skript zur Vorlesung Theoretische Informatik 2. Prof. Dr. Georg Schnitger Skript zur Vorlesung Theoretische Informatik 2 Prof. Dr. Georg Schnitger Sommersemester 2013 Hinweise auf Fehler und Anregungen zum Skript bitte an poloczek@thi.informatik.uni-frankfurt.de Mit einem Stern

Mehr

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka Literatur: John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie,

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen. H MPKP Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen. Beispiel: 1234q567 bedeutet: Kopf steht auf 5, Zustand ist q. Rechnung:

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik für die Studiengänge Ingenieur-Informatik berufsbegleitendes Studium Lehramt Informatik (Sekundar- und Berufsschule) http://theo.cs.uni-magdeburg.de/lehre04s/ Lehrbeauftragter:

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Sommersemester 2011 Dozent: Prof. Dr. J. Rothe, Prof. Dr. M. Leuschel J. Rothe (HHU Düsseldorf)

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Informatik I. Lutz Donnerhacke lutz@iks-jena.de. PGP:db089309 1c1c 6311 ef09 d819 e029 65be bfb6 c9cb

Informatik I. Lutz Donnerhacke lutz@iks-jena.de. PGP:db089309 1c1c 6311 ef09 d819 e029 65be bfb6 c9cb Informatik I Lutz Donnerhacke lutz@iks-jena.de PGP:db089309 1c1c 6311 ef09 d819 e029 65be bfb6 c9cb 1 Semesterübersicht Grundbegriffe der theoretischen Informatik Übersicht über Funktionen von Betriebsystemen

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2013 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Deterministische Kellerautomaten

Mehr

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

THEORETISCHE INFORMATIK

THEORETISCHE INFORMATIK THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek Institut für Theoretische Informatik Technische Universität Braunschweig Januar 2014 Inhaltsverzeichnis 1 Endliche Automaten 1 1.1 Mathematische Grundbegriffe.......................

Mehr

ARBEITSBLATT ZU FORMALEN SPRACHEN

ARBEITSBLATT ZU FORMALEN SPRACHEN ARBEITSBLATT ZU FORMALEN SPRACHEN Aufgabe 1: Gegeben ist die folgende Formale Sprache L(G) mit G = (T, N, P, S). Die Produktionen lauten ZUWEISUNG ::= name zuweisungsoperator AUSDRUCK semikolon AUSDRUCK

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

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

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

Was ist ein Compiler?

Was ist ein Compiler? Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Einführung in die Informatik Grammars & Parsers

Einführung in die Informatik Grammars & Parsers Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Formelsammlung theoretische Informatik I

Formelsammlung theoretische Informatik I Formelsammlung theoretische Informatik I Stand: 27.05.2005 - Version: 1.0.3 Erhältlich unter http://privat.macrolab.de Diese Formelsammlung basiert auf der Vorlesung Theoretische

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

Syntax (= Satzgefüge), vgl. auch Grammatik

Syntax (= Satzgefüge), vgl. auch Grammatik 1 Natürliche Sprachen Natürliche Sprachen bezeichnen wie das Wort "Sprache" ausdrückt zunächst das Gesprochene. Das Schweizerdeutsch etwa ist eine typische natürliche Sprache. Mit der Erfindung der Aufzeichnung

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis

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 Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten

Mehr

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Formale Sprachen Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie. Inhaltsübersicht und Literatur Formale Sprachen: Definition und Darstellungen Grammatiken für formale Sprachen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

Übungen zu Modellierung verteilter Systeme

Übungen zu Modellierung verteilter Systeme Technische Universität München SoSe 2014 Institut für Informatik Lösungsblatt 1 PD Dr.habil. B. Schätz Ausgabe: 17. April 2014 M. Gleirscher, D. Marmsoler Besprechung: 24. April 2014 Übungen zu Modellierung

Mehr

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

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

Mehr

Z 50. Z O Z Int Z Komma Z Real Ziffer Komma Ziffer

Z 50. Z O Z Int Z Komma Z Real Ziffer Komma Ziffer 10 Endliche Automaten 10.1 Einführungsbeispiele Beispiel 1: Warenautomat Ein Flasche Cola kostet 1,50. Münzen zu 1 und 50 ct werden angenommen. Cola und evtl. Restgeld werden ausgegeben. Auch der Rückgabeknopf

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik - das Quiz zur Vorlesung Teil I - Grundzüge der Logik In der Logik geht es um... (A) die Formen korrekten Folgerns (B) die Unterscheidung von wahr und falsch (C) das Finden von

Mehr

Übungsaufgaben und Lösungen. zur Vorlesung. Theoretische Grundlagen der Informatik

Übungsaufgaben und Lösungen. zur Vorlesung. Theoretische Grundlagen der Informatik UNIVERSITÄT KONSTANZ Theoretische Grundlagen der Informatik SS 3 Fachbereich Informatik & Informationswissenschaft www.inf.uni-konstanz.de/algo/lehre/ss3/theo Dr. Bernd Gärtner, Carola Haid, Jasper Möller,

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

Aufgabentypen die in der Klausur vorkommen

Aufgabentypen die in der Klausur vorkommen Aufgabentypen die in der Klausur vorkommen können 1. Nennen Sie fünf wichtige Anwendungsgebiete der Computerlinguistik. 2. Für welches der drei Anwendungsgebiete Maschinelle Übersetzung, Rechtschreibkorrektur

Mehr

Automatentheorie Berechnungsmodell für logische Sprachen

Automatentheorie Berechnungsmodell für logische Sprachen Automatentheorie Berechnungsmodell für logische Sprachen Thorsten Haupt Betreuer: Tim Priesnitz -Proseminar Theorie kommunizierender Systeme SS 24- Prof. Gert Smolka, PS-Lab, Universität des Saarlandes

Mehr

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München Automaten, Formale Sprachen und Berechenbarkeit I Skript zur Vorlesung im WS 2001/02 an der TU München Ekkart Kindler Steffen Manthey Version: 1.30 vom 30. April 2002 ii Redaktioneller Hinweis: Es gibt

Mehr

Aufgabe 2: HRU-Beispiel Fernuni

Aufgabe 2: HRU-Beispiel Fernuni Aufgabe 2: HRU-Beispiel Fernuni Systemsicherheit Übungsblatt 2 Stephan Beyer Team 2 Systemsicherheit SS 08 Technische Universität Ilmenau 5. Mai 2008 Team 2 (SysSec 08) Fernuni-Szenario 5. Mai 2008 1 /

Mehr

Automaten und Formale Sprachen. Skript zur Vorlesung WS 2009/2010. Vorlesender: Prof. Dr. M. Kunde. Fassung vom 07.01.2008

Automaten und Formale Sprachen. Skript zur Vorlesung WS 2009/2010. Vorlesender: Prof. Dr. M. Kunde. Fassung vom 07.01.2008 Automaten und Formale Sprachen Skript zur Vorlesung WS 2009/2010 Vorlesender: Prof. Dr. M. Kunde Fassung vom 07.01.2008 Autor: Prof. M. Dietzfelbinger Technische Universität Ilmenau Fakultät für Informatik

Mehr

Endlicher Automat (EA)

Endlicher Automat (EA) Endlicher Automat (EA) siehe auch Formale Grundlagen 3 1 Motivation: Automaten für die Modellierung, Spezifikation und Verifikation verwenden! Definition Ein Endlicher Automat A = (S,I,Σ,T,F) besteht aus

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Sprachbeschreibung und Erweiterung

Sprachbeschreibung und Erweiterung Sprachbeschreibung und Erweiterung Worte, Sprachen, reguläre Ausdrücke, Automaten, BNF, Grammatik, Syntax- Diagramme, Spracherweiterungen do, for, break, switch Formale Beschreibung von Programmiersprachen

Mehr

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al. Folie: 1 Kapitel 4 Übersicht Übersicht Syntax: Definition 4 syn-tax: the way in which words are put together to form phrases, clauses, or sentences. Webster's Dictionary Die Syntax (griechisch σύνταξις

Mehr

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13)

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13) Ein verständiges Herz erwirbt Kenntnisse, und das Ohr der Weisen lauscht dem Wissen. (Die Bibel, "Buch der Sprüche", Kapitel 18 Vers 15) Inhalt 1. Empfehlenswerte Referenzen 2. Aufgabe 1 CF Grammatik für

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

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

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

Mehr

4.2.4 Reguläre Grammatiken

4.2.4 Reguläre Grammatiken 4.2.4 Reguläre Grammatiken Eine reguläre Grammatik ist eine kontextfreie Grammatik, deren Produktionsregeln weiter eingeschränkt sind Linksreguläre Grammatik: A w P gilt: w = ε oder w = Ba mit a T und

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Informatikgrundlagen (WS 2015/2016)

Informatikgrundlagen (WS 2015/2016) Informatikgrundlagen (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

Grammatiken und die Chomsky-Hierarchie

Grammatiken und die Chomsky-Hierarchie Grammatiken und die Chomsky-Hierarchie Def.: Eine Grammatik G=(Σ,V,S,R) besteht aus endlichem Alphabet Σ endlicher Variablenmenge V mit V Σ= Startsymbol SєV endlicher Menge R с (V Σ) + x(v Σ)* von Ableitungsregeln

Mehr

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm Studienanforderungen Studiengang Maschinenbau Programmieren Begleitende Übungen zu Veranstaltungen Umsetzen des Algorithmus in ein lauffähiges Programm Studiengang Bauingenieurwesen Programmieren Begleitende

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 0. Organisatorisches Malte Helmert Gabriele Röger Universität Basel 16. Februar 2015 Organisatorisches Personen Dozenten Prof. Dr. Malte Helmert E-Mail: malte.helmert@unibas.ch Büro:

Mehr

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was isher geschah: Formale Sprachen Alphaet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen reguläre Ausdrücke: Syntax, Semantik, Äquivalenz Wortersetzungssysteme Wortersetzungsregeln

Mehr

Logik und diskrete Strukturen

Logik und diskrete Strukturen Prof. Dr. Institut für Informatik Abteilung I Wintersemester 2012/13 Organisatorisches Vorlesung Dienstag und Donnerstag 10:15 11:45 Uhr (HS 1) und 12:30 14:00 Uhr (HS 2) Vorlesung am Vormittag = Vorlesung

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

Theoretische Informatik SS 04 Übung 1

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

Mehr

4 Lexikalische Analyse und Parsing

4 Lexikalische Analyse und Parsing 4 Lexikalische Analyse und Parsing Lexikalische Analyse und Parsing sind die wichtigsten Bereiche des Compilerbaus. Prinzipien und Techniken des Compilerbaus beschränken sich nicht auf die Erstellung von

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Frank Heitmann heitmann@informatik.uni-hamburg.de 13. Mai 2014 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/17 Überblick Wir hatten

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Patrick Simianer Visualisierung regulärer Ausdrücke

Patrick Simianer Visualisierung regulärer Ausdrücke Patrick Simianer Visualisierung regulärer Ausdrücke Patrick Simianer 2010-06-28 Endliche Automaten HS bei Dr. Karin Haenelt Universitiät Heidelberg im Sommersemester 2010 1 Einleitung Überlegungen Protoypisches

Mehr

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

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

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau

Codierung. Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Codierung Auszug aus dem Skript von Maciej Liśkiewicz und Henning Fernau Ein bisschen Informationstheorie Betrachten wir das folgende Problem: Wie lautet eine sinnvolle Definition für das quantitative

Mehr

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen Berechenbarkeit und Komlexität Entscheidbarkeit und Unentscheidbarkeit Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Comutation (RISC) Johannes Keler University,

Mehr

Seminar über Software Model Checking Vortrag zum Thema Predicate Abstraction

Seminar über Software Model Checking Vortrag zum Thema Predicate Abstraction Seminar über Software Model Checking Vortrag zum Thema Predicate Abstraction Robert Mattmüller Betreuer: Prof. Dr. Stefan Leue Wintersemester 2003/2004 1. Dezember 2003 1 Software Model Checking Predicate

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8

Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 8 Prof. Dr. Wilhelm Schäfer Paderborn, 8. Dezember 2014 Christian Brenner Tristan Wittgen Besprechung der Aufgaben: 15. - 18. Dezember 2014 Übungsaufgaben zur Vorlesung Modellbasierte Softwareentwicklung

Mehr

Prof. Dr. Jürgen Dix Institut für Informatik, TU Clausthal Informatik III, WS 2006/07 2/561

Prof. Dr. Jürgen Dix Institut für Informatik, TU Clausthal Informatik III, WS 2006/07 2/561 Informatik III (Automatentheorie und formale Sprachen) Prof. Dr. Jürgen Dix Institut für Informatik TU Clausthal WS 2006/07 Zeit und Ort: Vorlesung am Mittwoch 15-17 (HA) und Donnerstag 13 15 (HB) (IfM),

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr

TEIL III: FORMALE SPRACHEN

TEIL III: FORMALE SPRACHEN EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 TEIL III: FORMALE SPRACHEN 16. TERMERSETZUNGSSYSTEME UND CHOMSKY-GRAMMATIKEN Theoretische Informatik (SoSe 2011)

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Allgemein Teilgebiete der Informatik ohne Theoretische Grundlagen 2 Fragen an

Mehr

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der

Aufgabe 3: Übersetzen Sie die folgenden natürlich-sprachlichen Aussagen in die Sprache der Aufgabe 1: Sind die folgenden Abbildungen jeweils injektiv, surjektiv und/oder bijektiv? (a) f 1 (x) = x, mit f 1 : R + R + (b) f (x) = x, mit f : R R (c) f 3 (x) = x, mit f 3 : R R (d) f 4 (x) = 3x, mit

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19 Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie

Mehr