Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!
|
|
- Chantal Stieber
- vor 6 Jahren
- Abrufe
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 erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?
MehrRegulä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
MehrGrammatiken. 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
MehrVorlesung 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
MehrEinfü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
MehrSkript 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
MehrAutomaten 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,
MehrSprachen/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:
MehrKonfiguration 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:
MehrProgrammiersprachen 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
MehrTheoretische 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:
MehrGrundlagen 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
MehrInformatik 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)
Mehr1. 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
MehrGrundbegriffe 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
MehrInformatik 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
MehrAutomaten 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
Mehr7. 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.,...)
MehrTHEORETISCHE 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.......................
MehrARBEITSBLATT 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
MehrGrundbegriffe 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
MehrGrundlagen 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
MehrZusammenfassung 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
MehrDiskrete 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
MehrTheoretische 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
MehrWas 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?
MehrFormale 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
Mehr4 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
MehrFormale 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
MehrMotivation. 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
MehrTheoretische 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
MehrGrundbegriffe 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
MehrMathematische 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
Mehr1. 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:
MehrEinfü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
Mehr4.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,
Mehr2: 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,
MehrFormelsammlung 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
MehrGrundbegriffe 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
MehrSyntax (= 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
MehrTheoretische 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
MehrFormale 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
MehrFormale 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
MehrGrundlagen 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
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
MehrDeterministische 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
MehrZ 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
MehrTheoretische 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
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,
MehrInformatik 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.....................................
MehrTheoretische 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
MehrAufgabentypen 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
MehrAutomatentheorie 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
MehrAutomaten, 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
MehrAufgabe 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 /
MehrAutomaten 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
MehrEndlicher 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
Mehr2.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
MehrGrundlagen 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)
MehrSprachbeschreibung 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
MehrZusammenfassung. 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
MehrGrundlagen 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
MehrCompiler. 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 σύνταξις
MehrTutorium 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
MehrZusammenfassung. 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
Mehrb) 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
Mehr4.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
MehrWS 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
MehrInformatik 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
Mehr16. 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
MehrInformatikgrundlagen (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
MehrGrammatiken 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
MehrProgrammieren ++ 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
MehrTheorie 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:
MehrWas 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
MehrLogik 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
MehrTheorie 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
MehrTheoretische 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
Mehr4 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
MehrFormale 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
MehrKapitel 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
MehrMultimedia 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
MehrPatrick 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
MehrGTI. 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
Mehr5.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
MehrI. 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
MehrCodierung. 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
MehrEntscheidungsprobleme. 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,
MehrSeminar ü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
Mehr2.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
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
MehrProf. 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),
Mehr2.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
MehrTEIL 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)
Mehr2 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,
MehrM. 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
MehrTheoretische 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
MehrAufgabe 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
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrTheoretische 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