Theoretische Informatik [TI] Bachelorstudiengang Informatik/IT-Sicherheit. Autoren: Prof. Dr. Steffen Lange Prof. Dr.

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik [TI] Bachelorstudiengang Informatik/IT-Sicherheit. Autoren: Prof. Dr. Steffen Lange Prof. Dr."

Transkript

1 Bachelorstudiengang Informatik/IT-Sicherheit Theoretische Informatik [TI] Autoren: Prof. Dr. Steffen Lange Prof. Dr. Marian Margraf Hochschule Darmstadt

2

3 Theoretische Informatik [TI] Studienbrief 1: Einführung Studienbrief 2: Endliche Automaten Studienbrief 3: Grammatiken Studienbrief 4: Berechenbarkeitstheorie Studienbrief 5: Komplexitätstheorie Autoren: Prof. Dr. Steffen Lange Prof. Dr. Marian Margraf 3. Auflage Hochschule Darmstadt

4 2016 Hochschule Darmstadt Fachbereich Informatik Haardtring Darmstadt 3. Auflage (30. September 2014) Didaktische und redaktionelle Bearbeitung: Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz. Um die Lesbarkeit zu vereinfachen, wird auf die zusätzliche Formulierung der weiblichen Form bei Personenbezeichnungen verzichtet. Wir weisen deshalb darauf hin, dass die Verwendung der männlichen Form explizit als geschlechtsunabhängig verstanden werden soll. Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung, und Forschung unter dem Förderkennzeichen 16OH11069 gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.

5 Inhaltsverzeichnis Seite 3 Inhaltsverzeichnis Einleitung zu den Studienbriefen 5 I. Abkürzungen der Randsymbole und Farbkodierungen II. Zu den Autoren III. Modullehrziele Studienbrief 1 Einführung Lernziele Advanced Organizer Einführung Formulierung von Problemen als Wortproblem Deutsche Sprache Die Menge der Primzahlen als formale Sprache Graphen und das Problem Clique Studienbrief 2 Endliche Automaten Lernziele Advanced Organizer Einführung Deterministische endliche Automaten Deterministische endliche Automaten und das Wortproblem Minimale Automaten Minimierungsalgorithmus Grenzen deterministischer endlicher Automaten Nichtdeterministische endliche Automaten Abschlusseigenschaften Reguläre Ausdrücke Übungsaufgaben Studienbrief 3 Grammatiken Lernziele Advanced Organizer Einführung Grammatiken Grammatiken und das Wortproblem Chomsky-Hierarchie Rechtslineare Grammatiken Kontextfreie Grammatiken Kontextfreie Grammatiken und das Wortproblem Kontextfreie Grammatiken und Kellerautomaten Kellerautomaten und das Wortproblem Übungsaufgaben Studienbrief 4 Berechenbarkeitstheorie Lernziele Advanced Organizer Turingmaschine Algorithmen Nichtdeterministische Turingmaschinen Nichtentscheidbare Probleme: Das Halteproblem Turingmaschinen und Grammatiken Übungsaufgaben

6 Seite 4 Inhaltsverzeichnis Studienbrief 5 Komplexitätstheorie Lernziele Advanced Organizer Einleitung Komplexitätsklassen Das P = NP Problem Algorithmische Probleme und die Klassen P und NP NP-vollständige Entscheidungsprobleme NP Das Wortproblem für kontextsensitive Sprachen Verzeichnisse 173 I. Abbildungen II. Beispiele III. Definitionen IV. Exkurse V. Kontrollaufgaben VI. Sätze VII. Tabellen VIII. Literatur Stichwörter 179

7 Einleitung zu den Studienbriefen Seite 5 Einleitung zu den Studienbriefen I. Abkürzungen der Randsymbole und Farbkodierungen Beispiel Definition Exkurs Kontrollaufgabe Satz Übung B D E K S Ü

8 Seite 6 Einleitung zu den Studienbriefen II. Zu den Autoren Steffen Lange promovierte 1988 an der Humboldt-Universität zu Berlin mit einer Arbeit zur induktiven Programmsynthese. Im Jahr 2001 habilitierte er an der Universität Leipzig mit einer Arbeit zum induktiven Lernen von rekursiven Sprachen. Er war Senior Researcher am Deutschen Forschungszentrum für Künstliche Intelligenz und dort in Forschungs- und Industrieprojekten in den Bereichen E-Learning und IT-Sicherheit tätig. Seit April 2004 ist Steffen Lange Professor für Theoretische Informatik an der Hochschule Darmstadt. Marian Margraf promovierte 2001 an der Universität Kiel über eine Arbeit zur topologischen Geometrie. Er war Referent im Kompetenzbereich Kryptographei des Bundesamtes für Sicherheit in der Informationstechnik und im Anschluss technischer Projektleiter für elektronische Reisepässe und Personalausweise im Bundesministerium des Innern. Seit März 2013 ist Marian Margraf Professor für Theoretische Informatik und IT-Sicherheit an der Hochschule Darmstadt.

9 Modullehrziele Seite 7 III. Modullehrziele Die Studierenden sollen ein Verständnis für grundlegende Konzepte, Begriffe und Zusammenhänge aus den Teilgebieten Automatentheorie, formale Sprachen, Berechnungstheorie und P/NP-Theorie entwickeln. ein Verständnis für grundlegende Beweismethoden entwickeln. die Fähigkeit herausbilden, einfache Beweise selbständig zu führen. Kenntnis von der Leistungsfähigkeit unterschiedlicher Beschreibungsmittel erhalten und die Fähigkeit entwickeln, die Beschreibungsmittel selbständig zu gebrauchen. das Wissen um den Zusammenhang zwischen der Leistungsfähigkeit und der algorithmischen Beherrschbarkeit unterschiedlicher Beschreibungsmittel erhalten. ein Verständnis nichtdeterministischer Maschinenmodelle und deren Bedeutung entwickeln. ein Verständnis von deterministischen und nichtdeterministischen Maschinenmodellen und die algorithmische Lösbarkeit/Nichtlösbarkeit von Problemen sowie die inhärente Komplexität von Problemen entwickeln.

10

11 Studienbrief 1 Einführung Seite 9 Studienbrief 1 Einführung 1.1 Lernziele Dieser Studienbrief gibt Ihnen einen Einführung in die Theoretische Informatik. Sie beschäftigt sich mit der Abstraktion, Modellbildung und grundlegenden Fragestellungen, die mit der Struktur, Verarbeitung, Übertragung und Wiedergabe von Informationen in Zusammenhang stehen. Sie erlangen einen Überblick über grundlegende Themen, wie der Automatentheorie, der Berechenbarkeit, der Komplexitätstheorie, dem Wort-, dem Entscheidungs-, dem Optimierungsprobleme und der formalen Sprachen. Sie lernen ein typisches Problem aus der theoretischen Informatik kennen, das Optimierungsproblem Clique. Sie sind imstande, dieses zu beschreiben und zu verstehen. 1.2 Advanced Organizer Dieser Studienbrief führt Sie in die Theoretische Informatik ein. Zum Verständnis der Lerninhalte dieses Kapitels sind mathematische Vorkenntnisse notwendig. 1.3 Einführung Das Ziel der theoretischen Informatik ist die Analyse der in der Informatik auftretenden Probleme und Strukturen mit mathematischen Methoden. Im Zentrum stehen Begriffe wie Algorithmus, Programm, Programmiersprache, Berechnung und Effizienz. Es geht um die folgenden Fragen: Wie kann man Algorithmen finden und auf ihre Leistung untersuchen? Gibt es Probleme, die sich nicht algorithmisch lösen lassen oder nicht effizient lösen lassen? Wie lässt sich der algorithmische Aufwand zur Lösung eines Problems minimieren? Und schließlich, welche Methoden gibt es, Programme fehlerfrei zu entwickeln? Typische Aufgabengebiete, mit denen wir uns in der Vorlesung beschäftigen, sind: Formale Sprachen und Automatentheorie: Sei Σ eine Menge (für uns interessant sind bspw. Σ = {0, 1} und Σ = {a, b, c,..., z}). Wir nennen Σ auch Alphabet. Mit Alphabet Σ + := {a 1 a n ;n N und a 1,...,a n Σ} bezeichnen wir die Menge aller Wörter, die über dem Alphabet Σ gebildet werden können. (N := {1,2,...} bezeichnet dabei die Menge aller von 0 verschiedenen natürlichen Zahlen.) Weiter sei ε das leere Wort (also das Wort ohne Buchstaben) und Σ := Σ + {ε}. Eine Teilmenge L Σ heißt auch formale Sprache. formale Sprache Eine wichtige Fragestellung ist: Wie beschreibt man die (meist unendliche) Menge von Wörtern mit endlichem Aufwand? Wie entscheidet man mit endlichem Aufwand, ob ein Wort w Σ zur Sprache L Σ gehört. Wir werden noch sehen, dass sich viele Probleme aus der theoretischen Informatik auf folgende Fragestellung reduzieren lassen (siehe z. B. Abschnitt 1.4): Wortproblem L Σ Eingabe: Ein Wort w Σ. Frage: Gilt w L Wortproblem

12 Seite 10 Studienbrief 1 Einführung Dieses auf den ersten Blick einfache Fragestellung ist tatsächlich für viele Sprachen sehr schwer zu lösen. Wir werden sogar sehen, dass es Sprachen L gibt, für die das Wortproblem nicht lösbar ist. Ein typischer Anwendungsfall ist die Entscheidung, ob ein gegebenes Programm syntaktisch korrekt ist. Betrachtet man die Menge aller Programme einer Programmiersprache als Sprache über einem geeigneten Alphabet, so reduziert sich diese Frage auf das oben definierte Wortproblem. Um diese Frage aber beantworten zu können, benötigen wir eine Beschreibung/Charakterisierung der Sprache aller Programme einer Programmiersprache so, dass wir das Wortproblem tatsächlich mittels eines Algorithmus entscheiden können. Wir werden verschiedene Charakterisierungen von Sprachen kennen lernen: Grammatik Automaten Über Grammatiken: Grammatiken dienen dazu, Wörter und damit Sprachen zu erzeugen. Wir lernen unterschiedliche Grammatiktypen kennen und untersuchen diese nach ihrer Fähigkeit, komplexe Sprachen zu erzeugen und für diese das Wortproblem zu lösen. Über Automaten: Automaten sind Berechnungsmodelle, mit denen entschieden werden kann, ob ein Wort zu einer Sprache gehört. Wir lernen verschiedene Automatenklassen kennen, z. B. deterministische und nichtdeterministische endliche Automaten, Kellerautomaten, linear beschränkte Automaten und Turingmaschinen. Ähnlich wie bei den Grammatiken untersuchen wir die verschiedenen Automatenklassen nach ihrer Fähigkeit, komplexe Probleme abarbeiten zu können (insb. in Hinblick auf das Wortproblem). Weiter schauen wir uns die Verbindung zwischen den Grammatiktypen und den Automatenklassen an. Berechenbarkeit Berechenbarkeit: Es ist einfach, von einem Problem zu zeigen, dass es lösbar ist oder von einer Funktion zu zeigen, dass diese berechenbar ist: Man gibt einfach einen Algorithmus für das Problem bzw. die Funktion an (z. B. ein C++-Programm). Um zu zeigen, dass ein Problem, z. B. das Wortproblem für eine formale Sprache L, nicht lösbar ist, benötigen wir eine formale Definition des Begriffs Algorithmus. Wie sich zeigen wird, werden dies genau die Turingmaschinen sein. Wir werden weitere alternative Definitionen für den Begriff Algorithmus kennen lernen und sehen, dass diese äquivalent sind, d. h. die selben Probleme lösen bzw. die selben Funktionen berechnen. Dies führt uns dann zur Einsicht, dass die berühmte Churche These wahr ist: Jede intuitiv berechenbare Funktion lässt sich auch von einer Turingmaschine berechnen. Komplexitätsklassen Komplexitätstheorie: Uns interessiert nicht nur, ob Probleme lösbar sind, sondern auch wie effizient, d. h. wie schnell eine Lösung gefunden werden kann. Probleme werden an Hand ihrer effizienten Lösbarkeit in sogenannten Komplexitätsklassen zusammengefasst. Wir untersuchen in dieser Vorlesung die beiden Komplexitätsklassen P (in Polynomialzeit lösbar) und NP (nichtdeterministisch in Polynomialzeit lösbar) und erläutern in diesem Zusammenhang eines der wichtigsten Fragen aus dem Bereich der Algorithmik: Gilt P NP? Mit diesen Fragestellungen beschäftigen wir uns in diesem Modul.

13 1.4 Formulierung von Problemen als Wortproblem Seite 11 Weitere Themen der theoretischen Informatik sind Kryptologie, Informationstheorie, Algorithmik, Logik und Datenbanktheorie. 1.4 Formulierung von Problemen als Wortproblem Wie bereits im letzten Abschnitt beschrieben, lassen sich viele Probleme als Wortproblem über einem geeigneten Alphabet formulieren. Wir wollen in diesem Abschnitt einige typische Beispiele hierfür kennen lernen Deutsche Sprache Sei Σ = {a,b,...,z,a,b,...,z} das deutsche Alphabet und D Σ die Menge der deutschen Wörter. In unserer Formulierung ist D somit eine formale Sprache. Da es nur endlich viele deutschen Wörter gibt, lassen sich alle diese Wörter in eine Liste schreiben (eine solche Liste ist das Buch Der Deutsche Duden). Das zugehörige Wortproblem Wortproblem D Eingabe: Ein Wort w Σ. Frage: Ist w ein deutsches Wort (gilt w D)? spielt z. B. bei dem Gesellschaftsspiel Scrabble eine wichtige Rolle. Bei Unstimmigkeiten kann im Deutschen Duden nachgeschlagen und so entschieden werden, ob ein gelegtes Wort tatsächlich ein deutsches Wort ist Die Menge der Primzahlen als formale Sprache Entscheidungsprobleme lassen sich als Wortproblem über dem Alphabet Σ = {0, 1} formulieren. Wir wollen dies am Beispiel des Problems Prime erläutern. Die Menge Prime besteht aus allen Primzahlen p N 0. (N 0 := {0,1,2,...} bezeichnet dabei die Menge aller natürlichen Zahlen.) Das Entscheidungsproblem Prime ist wie folgt definiert: Entscheidungsproblem Prime Eingabe: Eine natürliche Zahl n N 0. Frage: Ist n eine Primzahl? Wir wissen bereits, dass sich jede natürliche Zahl n als Binärstring darstellen lässt, d. h. zu jedem n N 0 finden wir (in unserer Formulierung) ein Wort w = a 1...a k Σ mit n = k 1 i=0 a k i2 i. Beispielsweise ist 1011 ist die Binärdarstellung der Zahl 11. Sei nun Prime B := {w Σ ;w ist Binärdarstellung einer Primzahl}. Damit ist Prime B Σ eine formale Sprache über dem Alphabet Σ = {0,1} und das Entscheidungsproblem Prime reduziert sich auch das Wortproblem Prime B. Entscheidungsproblem Prime B Σ Eingabe: Eine Wort w Σ. Frage: Ist w die Binärdarstellung einer Primzahl? Im Gegensatz zu der in Abschnitt behandelten Sprache der deutschen Wörter ist die Menge der Primzahlen nicht endlich. Hier lässt sich also keine Liste aller Primzahlen erzeugen und über einen Vergleichsalgorithmus prüfen, ob ein gegebenes Wort w Σ in dieser Liste enthalten ist (und damit w eine Primzahl in

14 Seite 12 Studienbrief 1 Einführung Binärdarstellung kodiert). In Kapitel 4 werden wir eine Turingmaschine kennen lernen, die genau diese Sprache entscheidet Graphen und das Problem Clique Wir behandeln in diesem Abschnitt ein typisches Problem aus der theoretischen Informatik. Graph Ein Graph ist ein Tupel G = (V,E), wobei V = V (G) eine endliche Menge und E = E(G) eine Teilmenge der zweielementigen Teilmengen von V ist. Die Elemente von V heißen Knoten und die Elemente von E Kanten. Wir sagen, ein Knoten v V inzidiert mit einer Kante e E, wenn v e gilt. Weitere Formulierungen sind: v liegt auf e, e geht durch v oder v ist ein Endknoten von e. B Beispiel 1.1 Als Beispiel betrachten wir den Graphen G = (V, E) aus Abbildung 1.1 mit den Knoten V = {v 1,v 2,v 3,v 4 } und Kanten E = {{v 1,v 2 },{v 1,v 3 },{v 1,v 4 },{v 2,v 4 },{v 3,v 4 }}. Abb. 1.1: Ein Graph mit vier Knoten und fünf Kanten. v 1 v 2 v 3 v 4 Clique Eine Clique W V in G ist eine Teilmenge der Knotenmenge so, dass je zwei Knoten aus W durch eine Kante verbunden sind. B Beispiel 1.2 Der Graph aus Abbildung 1.1 hat Fünf Cliquen der Größe 2: C 1 = {v 1,v 2 }, C 2 = {v 1,v 3 }, C 3 = {v 1,v 4 }, C 4 = {v 2,v 4 }, C 5 = {v 3,v 4 } (jede Kante in G ist auch eine Clique der Größe 2), und Zwei Cliquen der Größe 3: C 1 = {v 1,v 3,v 4 }, C 2 = {v 1,v 2,v 4 }. Die Menge V = {v 1,v 2,v 3,v 4 } ist keine Clique, da die Knoten v 2 und v 3 nicht durch eine Kante verbunden sind. Gleiches gilt für die Mengen {v 1,v 2,v 3 } und {v 2,v 3,v 4 }. Damit können wir die in diesem Abschnitt behandelten Probleme wie folgt formulieren. Maximierungsproblem Clique Eingabe: Ein Graph G = (V, E) Ausgabe: Eine Clique maximaler Größe. Solche Probleme heißen auch Optimierungsprobleme. Man unterscheidet zwischen Maximierungs- und Minimierungsproblemen. Das Optimierungsproblem

15 1.4 Formulierung von Problemen als Wortproblem Seite 13 gehört zur Klasse der Maximierungsprobleme, da hier eine bestimmte Eigenschaft (Anzahl der Knoten in einer Clique) maximiert werden soll. Beispiel 1.3 Für den in Abbildung 1.1 dargestellten Graphen muss ein Algorithmus für das obige Problem also die Menge C 1 = {v 1,v 3,v 4 } oder C 2 = {v 1,v 2,v 4 } ausgeben. B Im Gegensatz zu Optimierungsproblemen, in denen etwas konstruiert werden soll, beantworten Entscheidungsprobleme lediglich Fragen (und zwar nur solche Fragen, die mit ja oder nein beantwortet werden können). Entscheidungsproblem Clique Eingabe: Ein Graph G = (V,E) und eine natürliche Zahl n N 0 Frage: Gibt es eine Clique der Größe mindestens n in G. Beide Probleme, d. h. Optimierungs- und Entscheidungsproblem, hängen natürlich zusammen. So gilt z. B.: Gibt es einen Algorithmus für das Optimierungsproblem Clique, so lässt sich daraus sofort auch ein Algorithmus für die Entscheidungsvariante konstruieren. Sei dazu A ein Algorithmus für das Optimierungsproblem, der bei Eingabe eines Graphen G = (V,E) eine maximale Clique C := A(G) berechnet. Der folgende Algorithmus löst dann das Entscheidungsproblem Clique. Algorithmus Clique Eingabe: G = (V,E) und k N 0 1 C := A(G) /*Bestimme eine maximale Clique C in G*/ 2 k := C /*Bestimme die Größe von C*/ 3 if k k then 4 return wahr 5 else 6 return falsch 7 fi Ziel ist nun, die Eingaben des Entscheidungsproblems Clique so zu kodieren, dass es sich als Wortproblem beschreiben lässt. Dazu überlegen wir uns zunächst, wie wir Eingaben des Problems (sowohl des Optimierungs- als auch des Entscheidungsproblems) so kodieren können, dass diese Eingaben durch Bitstrings, d. h. durch Wörter über dem Alphabet {0, 1} repräsentiert werden. Eingaben des Optimierungsproblems Clique sind Graphen. Sei im Folgenden G = (V,E) ein Graph mit V = {v 1,...,v n } und E = {e 1,...,e m }. Dann heißt die Matrix { 1, falls v i e j, I G = (a i j ) i {1,...,n} mit a i j = j {1,...,m} 0, sonst Inzidenzmatrix von G. Beispielsweise erhalten wir für den in Abbildung 1.2 betrachteten Graphen die Inzidenzmatrix aus Tabelle 1.1.

16 Seite 14 Studienbrief 1 Einführung Abb. 1.2: Der Graph zur Inzidenzmatrix in Tabelle 1.1. e 1 v 5 e 2 v 3 e 8 e 7 v 4 e 6 e 5 e 3 v 1 e 4 v 2 Tabelle 1.1: Die Inzidenzmatrix zum Graphen aus Abbildung 1.2. e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 v v v v v Mit Hilfe der Inzidenzmatrix I G = (a i j ) i {1,...,n} lässt sich jeder Graph G = (V, E) j {1,...,m} als ein Wort über dem Alphabet Σ = {0,1} wie folgt kodieren: ( 1 m }{{} Anzahl Kanten 0 1 n }{{} Anzahl Knoten 0 a 11 a 12 a }{{ 1m } a 21 a nm ) Σ. erste Zeile der Inzidenzmatrix Aus der Kodierung lässt sich offensichtlich die Inzidenzmatrix und damit auch der Graph zurückgewinnen. Zunächst zählt man dazu die Einsen bis zur ersten Null und erhält so die Anzahl der Kanten des Graphen. Danach zählt man die Einsen zwischen den ersten beiden Nullen und erhält so die Anzahl der Knoten. Danach lässt sich sofort die Inzidenzmatrix aus dem restlichen Bitstring zurückgewinnen. Auf diese Weise wird auch überprüft, ob der Bitstring überhaupt eine gültige Kodierung eines Graphen ist. B Beispiel 1.4 Die Kodierung für den Graphen aus Abbildung 1.2 lautet Der Bitstring bildet keine gültige Kodierung eines Graphen. Nach den ersten sieben Stellen müsste der Graph genau zwei Kanten und drei Knoten haben. Eine Inzidenzmatrix für solch einen Graphen hat also sechs Einträge, allerdings sind im obigen Bitstring nur vier weitere Bits, die diese Einträge repräsentieren, vorhanden. Hinweis: Es gibt deutlich bessere Methoden, Graphen über dem Alphabet {0,1} zu kodieren. Damit wollen wir uns an dieser Stelle aber nicht beschäftigen. Unser Ziel ist lediglich einzusehen, dass sich Graphen als Bitstrings kodieren lassen und damit letztlich die Menge aller Graphen als Sprache über {0,1} aufgefasst werden kann.

17 1.4 Formulierung von Problemen als Wortproblem Seite 15 Ähnlich lassen sich dann auch die Eingaben des Entscheidungsproblems Clique kodieren. Hier muss neben dem Graphen G = (V, E) auch eine natürliche Zahl k N 0 kodiert werden. Sei wieder G = (V,E) ein Graph mit n = V und m = E und I G = (a i j ) i {1,...,n} j {1,...,m} die Inzidenzmatrix des Graphen. Sei weiter k N 0 eine natürliche Zahl und k 1...k t {0,1} die Binärdarstellung von k (d. h. k = t i=1 k i2 i 1 ). Dann repräsentiert das folgende Wort über dem Alphabet {0,1} die Eingabe (G,k). ( }{{} 1 m 0 }{{} 1 n 0 a 11 a 12 a 1m a }{{} 21 a nm Anzahl Kanten Anzahl Knoten erste Zeile der Inzidenzmatrix }{{} Kodierung des Graphen k 1...k t }{{} Binärdarstellung von k ). Sei nun L Clique := {w Σ ;w kodiert eine Eingabe des Entscheidungsproblems Clique}. Dann gilt L Clique {0,1}. Wir nennen diese Sprache auch die Menge der zulässigen Kodierungen des Entscheidungsproblems Clique. Die Sprache L Clique zerfällt in zwei disjunkte Teilmengen: L false Clique := {w L Clique ;w ist Nein-Eingabe} L true Clique := {w L Clique ;w ist Ja-Eingabe} Diese zweite Menge L true Clique heißt die zum Entscheidungsproblem Clique assoziierte Sprache. Wir haben jetzt drei verschiedene Probleme: Optimierungsproblem Clique Eingabe: Ein Graph G = (V, E) Ausgabe: Eine Clique maximaler Größe. Entscheidungsproblem Clique Eingabe: Ein Graph G = (V,E) und eine natürliche Zahl n N 0 Frage: Gibt es eine Clique der Größe mindestens n in G. Wortproblem Clique Eingabe: Frage: Ein Wort w {0,1} Gilt w LClique? true Wie hängen diese Probleme zusammen? Wir haben bereits gesehen, dass das Optimierungsproblem Clique mindestens so schwer ist wie das Entscheidungsproblem Clique, ein Algorithmus für die Optimierungsvariante führt sofort zu einem Algorithmus für die Entscheidungsvariante (siehe Seite 13). Ähnlich hängen auch das Wortproblem und das Entscheidungsproblem zusammen: Ein Algorithmus A für das Entscheidungsproblem, der zu einem gegebenen Graph G und einer natürlichen Zahl k entscheidet, ob G eine Clique der Größe k enthält, d. h. { wahr, falls G eine Clique der Größe k enthält, A(G,k) = falsch, sonst liefert sofort einen Algorithmus für das Wortproblem:

18 Seite 16 Studienbrief 1 Einführung Algorithmus Wortproblem Clique Eingabe: w {0,1} 1 Berechne aus w den Graphen G und die natürliche Zahl k 2 boolean b := A(G,k); /*wahr genau dann, wenn es Clique k in G gibt*/ 3 return b; Es gilt nun: Ist das Optimierungsproblem Clique lösbar, so auch das Entscheidungsproblem, und, ist das Entscheidungsproblem Clique lösbar, so auch das Wortproblem Clique. Im Umkehrschluss bedeutet dies: Ist das Wortproblem nicht lösbar, so auch nicht das Entscheidungsproblem, und, ist das Entscheidungsproblem nicht lösbar, so ist auch das Optimierungsproblem nicht lösbar. Im Sinne der Effizienz, d. h. dem Laufzeitverhalten eines Algorithmus zum Lösen der jeweiligen Probleme, erhalten wir analoge Aussagen. z. B. haben wir gesehen, dass sich der Algorithmus für das Wortproblem in seiner Laufzeit nicht stark von der Laufzeit des Algorithmus für das Entscheidungsproblem unterscheidet. Hinweis: Für die drei in Bezug auf Clique formulierten Probleme gilt auch jeweils die Umkehrung, d. h. ein Algorithmus für das Wortproblem liefert auch einen Algorithmus für das Entscheidungsproblem (diese Aussage gilt im Allgemeinen für alle natürlichen Entscheidungsprobleme, siehe Vorlesung Komplexitätstheorie) und ein Algorithmus für das Entscheidungsproblem liefert auch einen Algorithmus für das Optimierungsproblem (dies gilt im Allgemeinen nicht).

19 Studienbrief 2 Endliche Automaten Seite 17 Studienbrief 2 Endliche Automaten 2.1 Lernziele Dieser Studienbrief befasst sich mit der Theorie endlicher Automaten. 2.2 Advanced Organizer Dieser Studienbrief führt Sie in das Themengebiet der endlichen Automaten ein. Zum Verständnis der im Folgenden vorgestellten Lerninhalte ist der Studienbrief 1 notwendig. 2.3 Einführung Wie wir im ersten Studienbrief am Beispiel des Problems Clique gesehen haben, lassen sich Entscheidungsprobleme als Wortprobleme über Sprachen L {0,1} auffassen. Die Frage ist nun, für welche Sprachen das Wortproblem entscheidbar ist, d. h. für welche Sprachen es einen Algorithmus gibt, der das Wortproblem löst. Ein Algorithmus ist nichts anderes als eine Berechnungsvorschrift: Zu einer Eingabe (z. B. einem Wort w Σ und einer Sprache L Σ ) beschreiben wir, welche Berechnungsschritte der Algorithmus durchführen muss, um ein Ergebnis zu erzielen. Dabei stellt sich die Frage, welche Berechnungsschritte/Berechnungsmöglichkeiten wir für einen Algorithmus erlauben. Es ist klar, dass unterschiedliche Berechnungsmodelle unterschiedlich mächtig sind, d. h. in der Lage sind, unterschiedlich komplexe Probleme zu lösen. Eines der einfachsten Berechnungsmodelle lernen wir in diesem Kapitel kennen und analysieren dessen Mächtigkeit. Algorithmus Berechnungsmodelle 2.4 Deterministische endliche Automaten Wir beginnen mit der Klasse der deterministischen endlichen Automaten, einem relativ einfachen Berechnungsmodell. deterministischer endlicher Automat Definition 2.1: (Deterministischer endlicher Automat, DEA) Ein deterministischer endlicher Automat A ist ein 5 Tupel A = (Q,Σ,q 0,δ,F), wobei D Q eine endliche Menge (Menge der Zustände), Σ ein endliches Alphabet mit Σ Q = /0, q 0 Q (der Anfangszustand), δ : Q Σ Q eine Abbildung (die Übergangsfunktion) und F Q (Menge der Endzustände) ist. Wir stellen uns die Arbeitsweise eines deterministischen endlichen Automaten wie folgt vor: Funktionsweise eines DEA

20 Seite 18 Studienbrief 2 Endliche Automaten Abb. 2.1: Arbeitsweise eines DEA Zu Beginn steht der Lesekopf auf dem ersten Feld des Arbeitsbandes. In jedem Schritt arbeitet der Automat wie folgt: Gilt: Der Automat befindet sich im Zustand q und ließt den Buchstaben x dann geht er in den Zustand δ(q,x) über und bewegt den Lesekopf um eine Stelle nach rechts. Nach Abarbeiten des Wortes auf dem Arbeitsband gibt es zwei Fälle: Der Automat befindet sich in einem Endzustand: dann akzeptiert er das Wort. Der Automat befindet sich in keinem Endzustand: dann akzeptiert er das Wort nicht. Lesekopf a a b b a a a a b b b b Arbeitsband Programm gesteuert durch die Übergangsfunktion δ B Beispiel 2.1 Gegeben sei der folgende deterministische endliche Automat A = (Q,Σ,q 0,δ,F) mit und der Übergangsfunktion Q = {q 0,q 1,q 2 },Σ = {0,1},F = {q 2 } δ(q 0,0) = q 1,δ(q 0,1) = q 0,δ(q 1,0) = q 2,δ(q 1,1) = q 1,δ(q 2,0) = q 1,δ(q 2,1) = q 2. Tabelle 2.1 und Abbildung 2.2 zeigen alternative Beschreibungen dieses deterministischen endlichen Automaten. Tabelle 2.1: Darstellung der Übergangsfunktion aus Beispiel 2.1 in tabellarischer Form q δ(q,0) δ(q,1) q 0 q 1 q 0 q 1 q 2 q 1 q 2 q 1 q 2 Die folgende graphische Repräsentation dieses Automaten nennen wir auch Zustandsübergangsdiagramm: Abb. 2.2: Zustandsübergangsdiagramm des deterministischen endlichen Automaten aus Beispiel start q q q 2

21 2.4 Deterministische endliche Automaten Seite 19 Für uns von Interesse ist die Nutzung dieser Automaten für das in der Einleitung definierte Wortproblem. Dazu definieren wir zunächst: Definition 2.2: (Erweiterte Übergangsfunktion) Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat. Die erweiterte Übergangsfunktion D δ : Q Σ Q ist iterativ wie folgt definiert: Für alle q Q und w Σ gilt δ (q,w) := q, falls w = ε, δ (q,w) := δ (δ(q,a),w ), falls w = aw mit a Σ und w Σ. Beispiel 2.2 Für den in Abbildung 2.2 dargestellten Automaten gilt bspw.: B δ (q 0,100110) = δ (δ(q 0,1) }{{} =q 0,00110) = δ (δ(q 0,0) }{{} =q 1,0110) = δ (δ(q 1,0),110) }{{} =q 2 = δ (δ(q 2,1),10) }{{} =q 2 = δ (δ(q 2,1),0) }{{} =q 2 = δ (δ(q 2,0) }{{} =q 1,ε) = δ (q 1,ε) = q 1. Definition 2.3 Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat. D Ein Wort w Σ wird genau dann von A akzeptiert, wenn δ (q,w) F gilt. Die Menge L(A) := {w Σ ;δ (q,w) F} aller von A akzeptierten Wörter heißt die von A akzeptierte Sprache. Für den Automaten aus Abbildung 2.2 gilt L(A) = {w {0,1} ; w > 0 und w enthält gerade viele Nullen}.

22 Seite 20 Studienbrief 2 Endliche Automaten K Kontrollaufgabe 2.1 Sei Σ = {0,1}. Weiter sei L 1 = {w Σ ;der erste Buchstabe von w ist eine 1} und L 2 = {w Σ; w > 0 und w hat eine ungerade Anzahl von Nullen}. Bestimmen Sie deterministische endliche Automaten für die beiden Sprachen L 1 undl 2 und geben Sie jeweils das Zustandsübergangsdiagramm an. In der Definition deterministischer endlicher Automaten fordern wir insbesondere, dass die Übergangsfunktion δ total ist, d. h. dass δ für alle (q,a) Q Σ definiert ist. Dass dies keine wirkliche Einschränkung ist, zeigt das folgende Beispiel. Wir betrachten den Automaten A in Abbildung 2.3: Abb. 2.3: Automat mit partieller Übergangsfunktion. b start a q 0 q 1 Da weder δ(q 0,b) noch δ(q 1,a) definiert ist, ist A kein deterministischer endlicher Automat im Sinne unserer Definition. Wir können aber durch geeignetes Hinzufügen eines sogenannten Papierkorbzustandes die Übergangsfunktion so fortsetzen, dass sich die vom Automaten A akzeptierte Sprache nicht ändert und δ total ist, siehe Abbildung 2.4. Abb. 2.4: Einführen eines Papierkorbzustands. b start a q 0 q 1 b q 2 a a,b Diese Konstruktion lässt sich wie folgt verallgemeinern. S Satz 2.1 Sei A = (Q,Σ,q 0,δ,F) ein endlicher Automat und die Übergangsfunktion δ nicht total. Dann ist Ā = ( Q,Σ,q 0, δ,f) mit Q := Q {q p }, wobei q p Q ein zusätzlicher Zustand sei, δ(q,x) := q p für alle (q,x) Q Σ, für die δ(q,x) nicht definiert ist, δ(q p,x) := q p für alle x Σ. ein deterministischer endlicher Automat mit totaler Übergangsfunktion, der die selbe Sprache akzeptiert. Wir nennen q p auch den Papierkorbzustand. Ziel des folgenden Beispiels ist es, einen Automaten zu konstruieren, der genau diejenigen natürlichen Zahlen akzeptiert, die durch 3 teilbar sind. Dazu betrachten wir, wie schon in der Einführung am Beispiel der Primzahlen kennen gelernt, jede natürliche Zahl k als Wort über dem Alphabet Σ = {0,1}. Für ein Wort w = w 1 w n {0,1} bezeichnen wir mit nat(w) = n 1 i=0 w n i2 i die durch den Bitstring

23 2.4 Deterministische endliche Automaten Seite 21 w repräsentierte natürliche Zahl (der Bitstring w ist also die Binärdarstellung der Zahl nat(w)). Beispielsweise gilt: nat(1011) = = 11. Anmerkung: Um uns das Leben einfacher zu gestalten, gehen wir davon, dass nat(ε) = 0 gilt, also dass das leere Wort ebenfalls die natürliche Zahl 0 repräsentiert. Wir interessieren uns also für die Sprache L = {w {0,1} ;nat(w) ist eine durch 3 teilbare Zahl}. Beispiel 2.3 Die Sprache L = {w {0,1} ;nat(w) ist eine durch 3 teilbare Zahl} wird von dem in Abbildung 2.5 dargestellten Automaten akzeptiert. B start q q q 2 1 Abb. 2.5: Automat für die Sprache der durch 3 teilbaren natürlichen Zahlen. Wie kommt man zu diesem Automaten? Zunächst überlegen wir uns, dass für jede natürliche Zahl k N 0 gilt, dass k bei Teilung durch 3 entweder den Rest 0, 1 oder 2 hat. Wenn k bei Teilung durch 3 den Rest 0 hat, so ist k durch 3 teilbar (dies sind also genau die Zahlen, die der Automat A akzeptieren soll). Um die folgende Darstellung zu vereinfachen bezeichnen wir mit R 3 (k) den Rest, den eine Zahl k N 0 bei Teilung durch 3 hat. Ein Automat kann offensichtlich nur seine Zustände benutzen, um sich zu merken, welche Informationen er bereits verarbeitet hat. Wir müssen uns also in den Zuständen kodieren, welche Eigenschaft (d. h. welchen Rest bei Teilung durch 3) die bis hierhin gelesene Zahl hat. Hierfür benötigen wir drei Zustände q 0, q 1 und q 2 (für den Fall, dass die bisher gelesene Zahl bei Teilung durch 3 den Rest 0, 1 bzw. 2 hat). Hat nun der Automat das Wort w bereits gelesen und befindet sich bspw. im Zustand q 1 (d. h. es gilt R 3 (nat(w)) = 1) und liest im Anschluss das Zeichen a {0,1}, so muss der Automat, abhängig davon, ob a den Wert 0 oder 1 hat, in einen Zustand übergehen. Welcher Zustand dies ist (d. h. welchen Rest die Zahl nat(wa) bei Teilung durch 3 hat), beantwortet uns die folgende Überlegung. (1) nat(w0) = 2 nat(w), denn für w = a 1 a n und a n+1 = 0 gilt nat(w0) = n i=0 n 1 = 0 + a n+1 i 2 i = a n i=0 n i=1 a n+1 (i+1) 2 i+1 n 1 = i=0 n 1 = 2 a n i 2 i = 2 nat(w). i=0 a n+1 i 2 i a n i 2 2 i

24 Seite 22 Studienbrief 2 Endliche Automaten (2) nat(w1) = 2 nat(w) + 1, denn für w = a 1 a n und a n+1 = 1 gilt nat(w1) = n i=0 a n+1 i 2 i = a n n i=1 a n+1 i 2 i n 1 = 1 + a n+1 (i+1) 2 i+1 n 1 = 1 + a n i 2 2 i i=0 i=0 n 1 = a n i 2 i = nat(w). (3) Aus (1) und (2) erhalten wir: R 3 (nat(w)) = 0 = R 3 (nat(w0)) = 0 und R 3 (nat(w1)) = 1, i=0 R 3 (nat(w)) = 1 = R 3 (nat(w0)) = 2 und R 3 (nat(w1)) = 0, R 3 (nat(w)) = 2 = R 3 (nat(w0)) = 1 und R 3 (nat(w1)) = 2. Die in (3) dargestellten Zusammenänge können nun benutzt werden, um den in Abbildung 2.5 dargestellten Automaten zu konstruieren. K Kontrollaufgabe 2.2 Sei der folgende deterministische endliche Automat A = (Q,Σ,q 0,δ,F) mit Q = {q 0,q 1,q 2,q 3 },Σ = {0,1},F = {q 2 } und δ(q 0,0) = q 3, δ(q 0,1) = q 1, δ(q 1,0) = q 3, δ(q 1,1) = q 2, δ(q 2,0) = q 2, δ(q 2,1) = q 2, δ(q 3,0) = q 3, δ(q 3,1) = q 3. gegeben. (a) Bestimmen Sie das Zustandsübergangsdiagramm von A. (b) Bestimmen Sie δ (q 0,0011),δ (q 0,0100),δ (q 0,1000) und δ (q 0,1100). (c) Geben Sie die von A akzeptierte Sprache an. 2.5 Deterministische endliche Automaten und das Wortproblem Wir kommen auf die in der Einleitung kennen gelernten Probleme zurück und werden sehen, dass diese für Sprachen, die durch deterministische endliche Automaten gegeben sind, entscheidbar sind. Dabei heißt ein Problem entscheidbar, wenn es einen Algorithmus (z. B. ein Computerprogramm) gibt, der für jede Eingabe terminiert, und zu jeder Eingabe die richtige Antwort liefert.

25 2.6 Minimale Automaten Seite 23 Wortproblem (für deterministische endliche Automaten). Eingabe: Ein deterministischer endlicher Automat A = (Q,Σ,q 0,δ,F) und ein Wort w Σ. Frage: Gilt w L(A)? Satz 2.2 Das Wortproblem ist für durch deterministische endliche Automaten gegebene Sprachen entscheidbar. S Beweis. Der Beweis ist einfach, da hier der Automat schon selbst, ohne weitere Vorüberlegungen, den Algorithmus vorgibt. Um zu entscheiden, ob ein Wort w Σ auch in L(A) enthalten ist, müssen wir prüfen, ob w von A akzeptiert wird, d. h. ob δ (q 0,w) F. Dies lässt sich in O( w ) Schritten durchführen. 2.6 Minimale Automaten Wir haben in Abschnitt 2.5 gesehen, dass sich das Wortproblem für von deterministischen endlichen Automaten gegebene Sprachen in Zeit O(n) entscheiden lässt, wobei n die Wortlänge bezeichnet. Eine weitere wesentliche Frage bezüglich der Effizienz von Algorithmen ist der Platzbedarf, d. h. wie viel Speicher wird benötigt, um ein Problem zu lösen. Für deterministische endliche Automaten bedeutet dies, möglichst wenige Zustände zu nutzen, um eine Sprache zu akzeptieren. Wir wollen zunächst in diesem Abschnitt erläutern, wie in einem gegebenen endlichen Automaten die Anzahl der benötigten Zustände minimiert werden kann und lernen dann in Abschnitt 2.7 einen Algorithmus kennen, der den minimalen Automaten effizient konstruiert. Wir beginnen mit einem Beispiel. Beispiel 2.4 Offensichtlich akzeptiert der Automat A 2 aus Abbildung 2.7 die selbe Sprache wie der Automat A 1 aus Abbildung 2.6. Es gilt also L(A 1 ) = L(A 2 ) = {b n a m ;n,m N 0 }. B b start q 0 a a q 1 b a,b Abb. 2.6: Automat A 1. q 2 a start a q 0 q 1 b a q 3 b b a,b a,b q 2 q 4 Abb. 2.7: Automat A 2. Definition 2.4: (Äquivalenz von Automaten) Wir nennen zwei Automaten äquivalent, wenn sie dieselbe Sprache akzeptieren. D Äquivalenz von Automaten

26 Seite 24 Studienbrief 2 Endliche Automaten Die Automaten aus Beispiel 2.4 sind also äquivalent. Minimalisierung Unser Ziel ist, aus einem gegebenen deterministischen endlichen Automaten einen minimalen Automaten (minimal in der Anzahl der Zustände) so zu konstruieren, dass sich die akzeptierte Sprache nicht ändert. Dazu betrachten wir zunächst den zweiten Automaten aus Beispiel 2.4 genauer. Erste Beobachtung: Der Zustand q 4 im zweiten Automaten ist vom Anfangszustand q 0 nicht zu erreichen und kann daher, ohne die vom Automaten akzeptierte Sprache zu ändern, gelöscht werden. D Definition 2.5: (Erreichbarer und unerreichbarer Zustand) Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat. Wir nennen einen Zustand q Q erreichbar, wenn es ein Wort w Σ mit δ (q 0,w) = q gibt. Andernfalls heißt q unerreichbar. Das Löschen des Zustandes q 4 führt zu dem in Abbildung 2.8 dargestellten Automaten. Alle weiteren Zustände in diesem Automaten sind erreichbar. Abb. 2.8: Automat A 2 ohne unerreichbare Zustände. a start a q 0 q 1 b a q 3 b b a,b q 2 Anmerkung: Im verbleibenden Teil dieses Kapitels betrachten wir nur noch deterministische endliche Automaten, in denen alle Zustände vom Anfangszustand aus erreichbar sind. Zweite Beobachtung: Ausgehend von den Zuständen q 0 und q 3 akzeptiert der obige Automat die selben Wörter, d. h. es gilt für alle w Σ : δ (q 0,w) F δ (q 3,w) F. Diese beiden Zustände tun also das selbe. Solche Zustände nennen wir im Folgenden äquivalent. D Definition 2.6 Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat. Zwei Zustände q 1,q 2 Q heißen genau dann äquivalent (in Zeichen q 1 q 2 ), wenn L(A,q 1 ) = L(A,q 2 ). Dabei ist L(A,q) := {w Σ ;δ (q,w) F}, äquivalente Zutände also die von A akzeptierte Sprache, falls q der Anfangszustand wäre.

27 2.6 Minimale Automaten Seite 25 Beispiel 2.5 In unserem obigen Beispiel gilt B L(A,q 0 ) = {b n a m ;n,m N 0 }, L(A,q 1 ) = {a n ;n N 0 }, L(A,q 2 ) = /0, und L(A,q 3 ) = {b n a m ;n,m N 0 }. Hier sind also nur die Zustände q 0 und q 3 äquivalent. Unser Ziel ist, äquivalente Zustände zu einem Zustand zu verschmelzen. Hierfür benötigen wir noch einige Eigenschaften der Relation. Wir werden in Lemma 2.1 zeigen, dass eine Äquivalenzrelation ist, also folgende Eigenschaften erfüllt: Reflexivität: für alle q Q gilt: q q. Symmetrie: für alle q, p Q gilt: q p q p, Transitivität: für alle q, p,r Q gilt: q p und p r q r.

28 Seite 26 Studienbrief 2 Endliche Automaten E Exkurs 2.1 Ziel von Äquivalenzrelationen ist es, komplizierte Strukturen zu vereinfachen, in dem Elemente, die die gleichen Eigenschaften besitzen, zusammengefasst werden. Wir wollen dies am Beispiel einer Menge von Schülerinnen und Schülern einer Schule erläutern. Äquivalenzklassen Es sei S = {S 1,...,S n } die Menge der Schüler einer Schule (es besuchen also n Schüler diese Schule). Wir sagen, Schüler S i stehe in Relation zu Schüler S j, wenn S i die selbe Schulklasse besucht wie S j (in Zeichen S i S j ). Offensichtlich ist diese Relation eine Äquivalenzrelation, denn es gilt: Reflexivität: Jeder Schüler besucht dieselbe Schulklasse wie er selbst, also gilt S i S i für alle i n. Symmetrie: Besucht Schüler S i dieselbe Schulklasse wie Schüler S j, so besucht Schüler S j die selbe Schulklasse wie Schüler S i, also gilt S i S j = S j S i für alle i, j n. Transitivität: Besucht Schüler S i dieselbe Schulklasse wie Schüler S j und S j dieselbe Schulklasse wie S k, dann gehen auch S i und S k in dieselbe Schulklassen, also gilt (S i S j S j S k ) = S i S k für alle i, j,k n. Wir können nun mit Hilfe dieser Äquivalenzrelation Schüler in sogenannten Äquivalenzklassen zusammenfassen. Dies nennt man auch die von der Äquivalenzrelation induzierte Klasseneinteilung Klasseneinteilung. Wir definieren für jeden Schüler S i die Äquivalenzklasse [S i ] := {S j S ;S i S j }. Was sind nun die Äquivalenzklassen bzgl. dieser Relation? Diese Frage lässt sich einfach beantworten. Ist S 1 ein Schüler der Klasse 6b, so gilt [S 1 ] = {S i ;S 1 S i } = {S i ;S i besucht die selbe Klasse wie S 1 } = {S i ;S i besucht die Klasse 6b} = Menge der Schüler der Klasse 6b. Die Äquivalenzklassen bzgl. sind also genau die Schulklassen der Schule. Lemma 2.1. Die zweistellige Relation ist eine Äquivalenzrelation auf Q. Beweis. Dies folgt unmittelbar aus der Tatsache, dass die Gleichheitsrelation eine Äquivalenzrelation ist: Reflexivität: Aus L(A, q) = L(A, q) folgt unmittelbar q q. Symmetrie: Aus L(A, q) = L(A, p) folgt sofort L(A, p) = L(A, q). Also folgt aus q p auch p q. Transitivität: Aus q p und p r folgt L(A,q) = L(A, p) und L(A, p) = L(A,r). Also gilt L(A,q) = L(A,r) und damit erhalten wir q r.

29 2.6 Minimale Automaten Seite 27 Mit [q] := {q Q;q q } bezeichnen wir die Äquivalenzklasse von q Q bezüglich. Die Äquivalenzklassen dieser Relation fassen diejenigen Zustände zusammen, die bezüglich der Eigenschaft Wörter abzuarbeiten, das selbe tun, also die selben Wörter abzuarbeiten. Beispiel 2.6 Für den zweiten Automaten aus Beispiel 2.4 gibt es genau drei Äquivalenzklassen: B [q 0 ] = [q 3 ] = {q 0,q 3 }, [q 1 ] = {q 1 }, [q 2 ] = {q 2 }. Was genau meint nun verschmelzen von Zuständen? Anstelle der Zustände betrachten wir nur noch die Äquivalenzklassen (fassen also äquivalente Zustände zusammen). Abbildung 2.9 zeigt dies für den Automaten A 2 aus Beispiel 2.4 (ohne den unerreichbaren Zustand q 4 ). b start {q 0,q 3 } a {q 1 } a a,b b {q 2 } Abb. 2.9: Verschmelzen von Zuständen. Formal definieren wir den sogenannten Quotientenautomaten. Quotientenautomat Definition 2.7: (Quotientenautomat) Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat. Der Quotientenautomat à = ( Q,Σ, q 0, δ, F) ist wie folgt definiert: D Q := {[q] ;q Q}, F := {[q] ;q F}, δ : Q Σ Q;([q],a) [δ(q,a)]. Zunächst ist nicht sofort klar, dass die modifizierte Übergangsfunktion δ tatsächlich wohldefiniert ist, d. h. dass für alle q 1,q 2 Q gilt: q 1 q 2 δ(q 1,a) δ(q 2,a) für alle a Σ. Lemma 2.2. Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat. Für alle q 1,q 2 Q mit q 1 q 2 gilt: δ(q 1,a) δ(q 2,a) für alle a Σ. Beweis. Seien q 1,q 2 Q. Dann wissen wir: q 1 q 2 L(A,q 1 ) = L(A,q 2 ) w Σ : (δ (q 1,w) F δ (q 2,w) F) a Σ v Σ : (δ (δ(q 1,a),v) F δ (δ(q 2,a),v) F) a Σ : L(A,δ(q 1,a)) = L(A,δ(q 2,a)) δ(q 1,a) δ(q 2,a).

30 Seite 28 Studienbrief 2 Endliche Automaten Damit erhalten wir: S Satz 2.3 Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat und à = ( Q,Σ,[q 0 ], δ, F) der Quotientenautomat von A. Dann gilt: (i) à ist ein deterministischer endlicher Automat, (ii) A und à akzeptieren die selbe Sprache. Beweis. zu (i): Diese Aussage folgt sofort aus Lemma 2.2 und der Definition von deterministischen endlichen Automaten. zu (ii): Offenbar gilt für alle w Σ : δ (q 0,w) F [δ (q 0,w)] F δ ([q 0 ],w) F. Es bleibt zu zeigen, dass der Quotientenautomat à von A ein minimaler deterministischer endlicher Automat ist, der die selbe Sprache wie A akzeptiert. Diesem Aspekt widmen wir uns im verbleibenden Teil dieses Abschnitts. Zunächst versuchen wir besser zu verstehen, welche strukturellen Eigenschaften Sprachen haben, die von deterministischen endlichen Automaten akzeptiert werden. D Definition 2.8: (Nerode-Relation) Sei L Σ eine gegebene Sprache. Die zur Sprache L gehörende Nerode- Relation R L ist wie folgt definiert: Zwei Wörter u 1,u 2 Σ stehen genau dann in der Relation R L (in Zeichen u 1 R L u 2 ), wenn N L (u 1 ) = N L (u 2 ) gilt. Dabei ist N L (u) = {w Σ ;uw L}, also die Menge alle Wörter w Σ, die an u angefügt, ein Wort aus L ergeben. Die zu einer Sprache L gehörende Nerode-Relation R L ist offenbar ebenfalls eine Äquivalenzrelation über Σ und induziert damit eine Klasseneinteilung auf Σ. Zur Illustration dieses Begriffs schauen wir uns die folgenden Beispiele an: B Beispiel 2.7 Es sei Σ = {a,b} und L = {a 2n b;n N 0 }. Man kann sich leicht überlegen, dass für alle u Σ gilt: N L (u) = {ε}, falls u L, N L (u) = {a 2 j b; j N 0 }, falls u = a 2i für ein i N 0, N L (u) = {a 2 j+1 b; j N 0 }, falls u = a 2i+1 für ein i N 0,

31 2.6 Minimale Automaten Seite 29 N L (u) = /0, sonst. Folglich induziert die zu L gehörende Nerode-Relation R L eine Klasseneinteilung auf der Menge Σ mit genau vier Äquivalenzklassen. Beispiel 2.8 Es sei Σ = {a,b} und L = {a n b n ;n N 0 }. Im Unterschied zum vorangegangen Beispiel induziert die zu dieser Sprache gehörende Nerode-Relation R L eine Klasseneinteilung auf der Menge Σ mit unendlich vielen Äquivalenzklassen. Dass dem so ist, sieht man am Einfachsten wie folgt: B Zu jedem i N sei u i = a i b. Offenbar gilt für jedes i N: Folglich gilt für alle i, j N: N L (u i ) = {b i 1 }. N L (u i ) N L (u j ). Also gibt es in der durch R L induzierten Klasseneinteilung unendlich viele Äquivalenzklassen. Die beiden Beispiele zeigen, dass sich die induzierten Klasseneinteilungen auf der Menge Σ hinsichtlich ihrer Größe unterscheiden. Es gibt Fälle, in denen eine endliche Klasseneinteilung induziert wird, und Fälle, in denen die induzierte Klasseneinteilung unendlich viele Äquivalenzklassen hat. Definition 2.9: (Nerode-Index) Sei L Σ. Die Anzahl der von der Nerode-Relation R L auf der Menge Σ induzierten Klasseneinteilung heißt Nerode-Index. D Sprachen L, die durch deterministische endlichen Automaten akzeptiert werden können, haben folgende Eigenschaft: Satz 2.4 Sei L Σ eine von einem deterministischen endlichen Automaten A akzeptierte Sprache. Dann gilt: Die Sprache L hat einen endlichen Nerode-Index. S Anmerkung: In Satz 2.8 zeigen wir die Umkehrung des obigen Satzes. Beweis. Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat mit L(A) = L. Wir erinnern uns an die Definition der den Zuständen q Q zugeordneten Mengen L(A,q) mit L(A,q) = {v Σ ;δ (q,v) F} (siehe Definition 2.6).

32 Seite 30 Studienbrief 2 Endliche Automaten Sei nun q Q und u Σ. Dann gilt offenbar für alle v Σ : v N L (u) uv L uv L(A) δ (q 0,uv) F δ (δ (q 0,u),v)) F δ (q,v) F v L(A,q) Daraus folgt sofort, dass N L (u 1 ) = N L (u 2 ) und damit auch u 1 R L u 2 für alle u 1,u 2 Σ mit δ (q 0,u 1 ) = δ (q 0,u 2 ) gilt. Also kann die von R L induzierte Klasseneinteilung höchstens Q viele verschiedene Äquivalenzklassen haben. Da A nur endliche viele Zustände hat, muss L einen endlichen Nerode-Index haben. Der Beweis von Satz 2.4 gestattet uns, die folgende wichtige Schlussfolgerung zu ziehen: Jeder deterministische endliche Automat, der eine gegebene Sprache L akzeptiert, hat mindestens so viele Zustände, wie es Äquivalenzklassen in der Klasseneinteilung gibt, die durch die zu L gehörende Nerode-Relation R L induziert wird. Um nachzuweisen, dass der zu einem gegebenen deterministischen endlichen Automat A gehörende Quotientenautomat à ein minimaler deterministischer endlicher Automat für die Sprache L = L(A) ist, genügt es folglich zu zeigen: S Satz 2.5 Sei L Σ eine von einem deterministischen endlichen Automaten A akzeptierte Sprache. Dann gilt: Die Klasseneinteilung, die die zu L gehörende Nerode-Relation R L auf Σ induziert, hat genauso viele Äquivalenzklassen, wie der zu A gehörende Quotientenautomat à Zustände hat. Beweis. Sei A ein deterministischer endlicher Automat und à = ( Q,Σ,[q 0 ], δ, F) der zu A gehörende Quotientenautomat. Da L(Ã) = L(A) = L gilt, können wir völlig analog zum Beweis von Satz 2.4 die folgende Beobachtung beweisen: Beobachtung: Für alle q Q und alle u Σ mit δ ([q 0 ],u) = q gilt: N L (u) = L(Ã, q). Wegen Satz 2.4 genügt es zu zeigen, dass die von R L induzierte Klasseneinteilung nicht weniger als Q viele Äquivalenzklassen hat. Aufgrund der obigen Beobachtung sind wir unmittelbar fertig, wenn es uns gelingt, die folgende Annahme zum Widerspruch zu führen. Annahme: Es gibt Wörter u 1,u 2 Σ für die gilt: N L (u 1 ) = N L (u 2 ), d. h. es gilt u 1 R L u 2, q 1 q 2 für q 1 = δ ([q 0 ],u 1 ) und q 2 = δ ([q 0 ],u 2 ).

33 2.7 Minimierungsalgorithmus Seite 31 Seien u 1 und u 2 entsprechend gewählt. Da à der zu A gehörende Quotientenautomat ist, folgt aus q 1 q 2 sofort L(Ã, q 1 ) L(Ã, q 2 ). Zusammen mit der obigen Beobachtung erhalten wir damit N L (u 1 ) N L (u 2 ), was unserer Annahme widerspricht. 2.7 Minimierungsalgorithmus Anhand der Überlegungen im letzten Abschnitt ist klar, wie man prinzipiell vorgehen muss, wenn man zu einem gegebenen deterministischen endlichen Automaten A einen minimalen Automaten konstruieren will, der dieselbe Sprache wie A akzeptiert. Es genügt die Zustandsmenge des zu A gehörenden Quotientenautomaten à zu bestimmen (die anderen Bestimmungstücke von à beschreibt man dann einfach wie in Definition 2.7 festgelegt). Auf den ersten Blick scheint es schwierig zu sein, die Zustandsmenge des Quotientenautomaten à (also die Klasseneinteilung, die durch die Äquivalenzrelation auf der Zustandsmenge von A induziert wird) zu bestimmen. Das liegt daran, dass man laut Definition 2.6 zunächst für jeden Zustand q von A die Sprache L(A,q) bestimmen muss und anschließend diese möglicherweise unendlichen Sprachen paarweise miteinander zu vergleichen hat. Wie wir im Folgenden sehen werden, kann man auch geschickter vorgehen und das Problem, unendliche Sprachen zu bestimmen und zu vergleichen, recht elegant umgehen. Definition 2.10 Sei A = (Q,Σ,q 0,δ,F) ein deterministischer endlicher Automat und k N 0. Zwei Zustände q 1,q 2 Q heißen nun genau dann k-äquivalent (in Zeichen q 1 k q 2 ), wenn L k (A,q 1 ) = L k (A,q 2 ) gilt. Dabei ist D L k (A,q) = {w Σ ;δ (q,w) F und w k}, also die Menge der von A akzeptierten Wörter mit einer Länge kleiner oder gleich k, falls q der Anfangszustand wäre. Zwei Zustände q 1 und q 2 sind also genau dann k-äquivalent, wenn sie für alle Wörter der Länge kleiner oder gleich k das selbe tun. Um festzustellen, ob q 1 k q 2 gilt, genügt es nun, zwei endliche Sprachen zu bestimmen und zu vergleichen. Offensichtlich ist jeder der in Definition 2.10 definierten Relationen eine Äquiva-

Berechenbarkeitstheorie 1. Vorlesung

Berechenbarkeitstheorie 1. Vorlesung Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Sommersemester 2016 Steffen Lange 0/1, Folie 1 2016 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik Literatur S. Lange, M. Margraf, Theoretische Informatik, Lehrmaterial

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal

Mehr

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

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

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier 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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten 30.04.2015 Viorica Sofronie-Stokkermans Matthias Horbach e-mail: sofronie@uni-koblenz.de, horbach@uni-koblenz.de 1 Bis jetzt 1. Motivation

Mehr

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme FORMALE SYSTEME 8. Vorlesung: Minimale Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 6. November 2017 Rückblick Markus Krötzsch, 6. November 2017 Formale Systeme Folie 2 von 26

Mehr

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

Mehr

Das Halteproblem für Turingmaschinen

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

Mehr

Musterlösung Informatik-III-Nachklausur

Musterlösung Informatik-III-Nachklausur Musterlösung Informatik-III-Nachklausur Aufgabe 1 (2+2+4+4 Punkte) (a) L = (0 1) 0(0 1) 11(0 1) 0(0 1) (b) Der Automat ist durch folgendes Übergangsdiagramm gegeben: 0, 1 0, 1 0, 1 0, 1 0 s q 1 1 0 0 q

Mehr

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

Klausur SoSe Juli 2013

Klausur SoSe Juli 2013 Universität Osnabrück / FB6 / Theoretische Informatik Prof. Dr. M. Chimani Informatik D: Einführung in die Theoretische Informatik Klausur SoSe 2013 11. Juli 2013 (Prüfungsnr. 1007049) Gruppe: Batman,

Mehr

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Einführung Ralf Möller Hamburg Univ. of Technology Übung Fr. 14:30-15:15 Max Berndt, D1025 Literatur Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs Theoretische Informatik,

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

FORMALE SYSTEME. Der Satz von Myhill und Nerode. Automaten verkleinern mit Quotientenbildung. Verschiedene Äquivalenzrelationen

FORMALE SYSTEME. Der Satz von Myhill und Nerode. Automaten verkleinern mit Quotientenbildung. Verschiedene Äquivalenzrelationen Automaten verkleinern mit Quotientenbildung Wir betrachten DFAs mit totaler Übergangsfunktion. FORMALE SYSTEME 9. Vorlesung: Minimale Automaten (2) Markus Krötzsch TU Dresden, 9. November 207 C 0 A 0 [A]

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten

Kapitel 1: Endliche Automaten Gliederung 1. Endliche Automaten Gliederung 0. Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechenbarkeitstheorie 4. Komplexitätstheorie.. Grundlagen.2. Minimierungsalgorithmus.3. /3, S. Gibt es Sprachen, die nicht Automatensprachen

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

Grundlagen der Programmierung (Vorlesung 24)

Grundlagen der Programmierung (Vorlesung 24) Grundlagen der Programmierung (Vorlesung 24) Ralf Möller, FH-Wedel Vorige Vorlesung Anwendung im Bereich Compilerbau Inhalt dieser Vorlesung Turing-Maschinen Berechenbarkeitstheorie, Halteproblem Lernziele

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Die mathematische Seite

Die mathematische Seite Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

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

Mehr

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015 Übungsblatt Lorenz Leutgeb 30. März 205 Aufgabe. Annahmen ohne Einschränkungen: P Σ und P Γ. Per Definitionem der Reduktion: P P 2 f : Σ Γ wobei f total und berechenbar, genau so, dass: w Σ : w P f(w)

Mehr

Die Nerode-Relation und der Index einer Sprache L

Die Nerode-Relation und der Index einer Sprache L Die Nerode-Relation und der Index einer Sprache L Eine zweite zentrale Idee: Sei A ein vollständiger DFA für die Sprache L. Repäsentiere einen beliebigen Zustand p von A durch die Worte in Σ, die zu p

Mehr

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012) Berlin, 05. Oktober 2012 Name:... Matr.-Nr.:... TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012) 1 2 3 4 5 6 7 Σ Bearbeitungszeit: 60 min.

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

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

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

Mehr

Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus

Übung zur Vorlesung Theoretische Information. Minimierungsalgorithmus Übung zur Vorlesung Theoretische Information Minimierungsalgorithmus Folie Warum Automaten minimieren? Zwei endliche Automaten Automat q q Automat 2 q q Beide akzeptieren die selbe Sprache Welche? q 2

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 30.04.2013 Grenzen regulärer Sprachen Wie beweist man, dass eine Sprache nicht regulär

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen: Probeklausur Automatentheorie & Formale Sprachen WiSe 2012/13, Wiebke Petersen Name: Matrikelnummer: Aufgabe A: Typ3-Sprachen 1. Konstruieren Sie einen endlichen Automaten, der die Sprache aller Wörter

Mehr

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz

Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni Christian Franz Vorlesungsmitschrift zur Vorlesung Theoretische Informatik I vom 23. Juni 2 Christian Franz Inhaltsverzeichnis Wiederholung: Vorlesung vom 9.6.2... Beispiele für Äquivalenzklassen... 4.5. Minimierung

Mehr

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit Theorie der Informatik 13. Mai 2015 20. P, NP und polynomielle Reduktionen Theorie der Informatik 20. P, NP und polynomielle Reduktionen 20.1 P und NP Malte Helmert Gabriele Röger 20.2 Polynomielle Reduktionen

Mehr

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein!

Fragen 1. Muss eine DTM ein Wort zu Ende gelesen haben, um es zu akzeptieren? a) Ja! b) Nein! 4 Turingmaschinen Eingabeband nicht nur lesen, sondern auch schreiben kann und die zudem mit ihrem Lese-Schreib-Kopf (LSK) nach links und rechts gehen kann. Das Eingabeband ist zudem in beide Richtungen

Mehr

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Vorname Nachname Matrikelnummer Hinweise Für

Mehr

Wie man eine Sprache versteht

Wie man eine Sprache versteht Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 10 Aufzählbarkeit und (Un-)Entscheidbarkeit Frank Heitmann heitmann@informatik.uni-hamburg.de 11. Mai 2015 Definition 1 Eine Menge M Σ heißt (rekursiv)

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr

Kapitel 4: Komplexitätstheorie Gliederung

Kapitel 4: Komplexitätstheorie Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 4.1. Motivation und Grundbegriffe 4.2. Die Komplexitätsklassen P und NP

Mehr

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

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

Mehr

Kapitel 4: Komplexitätstheorie Gliederung

Kapitel 4: Komplexitätstheorie Gliederung Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 4.1. Motivation und Grundbegriffe 4.2. Die Komplexitätsklassen P und NP 4.3.

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten und Formale Sprachen SoSe 2013 in Trier Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche

Mehr

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken 1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 5.2 Das P N P Problem 1. Nichtdeterministische Lösbarkeit 2. Sind N P-Probleme handhabbar? 3. N P-Vollständigkeit Bei vielen schweren Problemen ist Erfolg leicht zu testen

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung?

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung? Überblick 1. reguläre Sprachen endliche Automaten (deterministisch vs. nichtdeterministisch) Nichtregularität 2. Berechenbarkeit Registermaschinen/Turingmaschinen Churchsche These Unentscheidbarkeit 3.

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Informatik III - WS07/08

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

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009 Theoretische Informatik Rainer Schrader nichtdeterministische Turingmaschinen Zentrum für Angewandte Informatik Köln 29. April 2009 1 / 33 2 / 33 Turingmaschinen das Konzept des Nichtdeterminismus nahm

Mehr

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 25. Oktober 2006 Was ist ein Problem? Informelle Umschreibung

Mehr

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 5. April 2005 2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Lösung! Beachten

Mehr

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

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

Mehr

Automaten und Coinduktion

Automaten und Coinduktion Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und

Mehr

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

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

Mehr

Berechenbarkeit und Komplexität

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

Mehr

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

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

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

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

Mehr

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

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

Mehr

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

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

Mehr

Einführung in die Theoretische Informatik

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

Mehr

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

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

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 17.01.013 Parametrisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche Automaten und

Mehr

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

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

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

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

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

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

Mehr

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

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

Mehr

Musterlösung Informatik-III-Klausur

Musterlösung Informatik-III-Klausur Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,

Mehr

2.2 Nichtdeterministische endliche Automaten

2.2 Nichtdeterministische endliche Automaten 2 Endliche Automaten arbeiten und hier kann dann ggf. auch wieder auf die Konstruktion verwiesen werden. Fragen 1. Wie viele Informationen kann man in einem DFA speichern? a) beliebig viele b) endlich

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

1 Algorithmische Grundlagen

1 Algorithmische Grundlagen 1 Algorithmische Grundlagen Klocke/17.03.2003 1.1 1.1 Begriffsklärung Fragen Begriffsklärungen Abstraktionsebenen für Algorithmen und Datenstrukturen Algorithmus Qualität von Algorithmen Klocke/17.03.2003

Mehr

Klausur SoSe 2013 / PROBEKLAUSUR

Klausur SoSe 2013 / PROBEKLAUSUR Die Anzahl der Aufgaben, das Punkteschema, die Themenschwerpunkte, etc. können in der echten Klausur unterschiedlich sein! Uni Osnabrück / Theoretische Informatik Prof. Dr. M. Chimani Informatik D: Einführung

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

Mehr

Kapitel 2: Formale Sprachen Gliederung

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

Mehr

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

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

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 24. Februar 2005 1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Aufkleber Beachten

Mehr

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

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

Mehr

Theoretische Informatik für Medieninformatiker

Theoretische Informatik für Medieninformatiker Theoretische Informatik für Medieninformatiker Jan Johannsen Lehrveranstaltung im Sommersemester 27 / 6 Organisatorisches: Jede Lehrveranstaltungsstunde gliedert sich in einen Vorlesungsteil, dessen Länge

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: Homomorphismen Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: h(l) := {h(u) : u L} Γ, für jede Sprache L Σ, h 1 (M) := {u Σ : h(u) M} Σ,

Mehr

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer:

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Nico Döttling October 25, 22 Automatenminimierung Konstruktion des Äquivalenzklassenautomaten Aus der Vorlesung bekannt Überflüssige Zustände lassen sich effizient erkennen

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle

Mehr