THEORETISCHE INFORMATIK

Größe: px
Ab Seite anzeigen:

Download "THEORETISCHE INFORMATIK"

Transkript

1 THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek Institut für Theoretische Informatik Technische Universität Braunschweig Januar 2014

2

3 Inhaltsverzeichnis 1 Endliche Automaten Mathematische Grundbegriffe Definition der endlichen Automaten Nichtdeterministische Automaten Reguläre Ausdrücke Der Brzozowsky-DEA Äquivalente Zustände Konstruktion eines Quotient-DEA Minimierung von Automaten Beweise der Regularität Algorithmische Aspekte von Automaten Algorithmus für Zugehörigkeit zu einer regulären Sprache Algorithmus für verschiedene Darstellungen Eigenschaften regulärer Sprachen Minimierung von Automaten Kontextfreie Sprachen und Kellerautomaten Die Idee einer formalen Grammatik Kontextfreie Grammatik Anwendungen von kontextfreien Grammatiken Ableitungsbäume Kontextfreie und reguläre Sprachen Eigenschaften kontextfreier Sprachen Nullierbare Variablen Chomsky-Normalform Algorithmen für kontextfreie Sprachen Kellerautomaten Kellerautomaten und kontextfreie Sprachen Turingmaschinen Definition einer Turingmaschine i

4 ii INHALTSVERZEICHNIS 3.2 Modifikationen von Turingmaschinen TM mit mehreren finalen Zuständen TM mit zusätzlichem Gedächtnis TM mit erweitertem Bandalphabet TM mit mehrspurigem Band TM mit mehreren Bändern Nichtdeterministische Turingmaschinen Rekursiv aufzählbare Sprachen Rekursive Sprachen Church-Turing-These, rekursive Funktionen und Grammatiken Berechenbare Funktionen Primitive Rekursion µ-rekursive Funktionen Grammatiken und Turingmaschinen Unentscheidbare Probleme Universelle Turingmaschine Das Halteproblem Ein Rechner als Turing-Maschine Unentscheidbare Probleme Das Akzeptanzproblem Akzeptanz des leeren Wortes Ist eine TM ein Algorithmus? Das Problem von hello world Programmen Satz von Rice Minimierung von Turingmaschinen Komplexität von Algorithmen Beispiele effizienter Algorithmen Komplexitätsklasse P Polynomiale Reduktion Robustheit der Klasse P TM mit zusätzlichem Gedächtnis TM mit mehrspurigem Band Mehr-Band TM Komplexitätsklasse N P N P-Vollständigkeit Weitere N P-vollständige Probleme Raumkomplexität Raumkomplexität von mehr-band-tm

5 Kapitel 1 Endliche Automaten kapea In diesem Kapitel wird das einfachste Maschinenmodell eingeführt, das wir in diesem Skript untersuchen werden: die endlichen Automaten. Wie bei den realistischeren Modellen (Kellerautomaten, Turingmaschinen, usw.), die in den folgenden Kapiteln behandelt werden, gibt es auch zwei Typen von endlichen Automaten: die, die formale Sprachen akzeptieren und die, die Funktionen berechnen. Eine formale Sprache ist nichts anderes als eine Menge von Wörtern, die über einem Alphabet Σ gebildet werden, z. B. über dem binären Alphabet Σ = {0, 1}. Sie repräsentieren für uns alle Entscheidungsprobleme. Beispiel: Hat ein gegebener Graph G eine Clique von 14 Elementen? Das ist ein Entscheidungsproblem: die Antwort auf jede Eingabe, die einen Graphen codiert, ist JA oder NEIN. Es gibt verschiedene Codierungsmöglichkeiten für Graphen über dem Alphabet {0, 1} (z. B. als Liste aller Knoten und Kanten oder als Adjazenzmatrix zwischen Knoten und Kanten), aber für jede feste Codierung c läßt sich die Antwort auf die obige Frage auf folgende Weise ersetzen: L sei die formale Sprache aller Codes der Graphen mit Antwort JA, also L = { c(g) G ist ein Graph mit einer Clique von 14 Elementen }. Wir fragen dann, ob ein gegebenes Wort zu der Sprache L gehört. Diese einfache Formulierung ermöglicht es, dass wir uns weiterhin mit formalen Sprachen anstatt Entscheidungsproblemen beschäftigen können. So müssen wir nicht mehr die verschiedenen Codierungen der Eingaben diskutieren, sondern können annehmen, dass vorher eine geeignete Codierung vereinbart wurde. Nicht alle Probleme sind Entscheidungsprobleme, oft ist ein Ergebnis zu berechnen, anstatt eine Frage mit JA oder NEIN zu beantworten. Beispiel: Gegeben ist ein Graph G, finde eine Clique mit 14 Elementen. Was hier erwartet wird, ist eine Funktion f, die jedem binären Wort w = c(g), wobei G ein Graph mit einer Clique von 14 Elementen ist, ein Wort f(w), das eine Codierung einer konkreten Clique ist, zuordnet. Auch die Berechnungsprobleme haben viel mit den formalen Sprachen zu tun z. B. ist der Definitionsbereich unserer Funktion f genau die oben erwähnte formale Sprache L. Wir werden also Maschinen untersuchen, die entweder formale Sprachen erkennen oder Funktionen zwischen formalen Sprachen berechnen. Wir beginnen mit den sehr simplen, aber für einige Anwendungen noch hinreichenden, endlichen Automa- 1

6 2 KAPITEL 1. ENDLICHE AUTOMATEN ten. Ihre Theorie ist klarer als die der komplizierteren Maschinen, die wir später einführen. Vorher geben wir noch kurz einige Grundbegriffe an, die im ganzen Skript eine wichtige Rolle spielen. 1.1 Mathematische Grundbegriffe (a) Mengen Eine Menge kann durch eine Aufzählung ihrer Elemente gegeben werden, z. B.: A = {2} nur ein Element, 2, B = (leere Menge) kein Element, C = {a, b, c, 2} oder durch eine erzeugende Eigenschaft P in der Form {x; x hat Eigenschaft P }, z. B.: A = {x; x ist eine gerade Primzahl}, = {x; x x}. Für unendliche Mengen gibt es nur die zweite Variante. Wichtiges Beispiel: N bezeichnet die Menge aller natürlichen Zahlen. In diesem Skript ist 0 eine natürliche Zahl, also N = {0, 1, 2,...}. Eine Teilmenge einer Menge A ist eine Menge B mit der Eigenschaft, dass x B x A. Notation: B A. Wir benutzen die übliche Notation für die Mengenoperationen: A B A B A B A B Vereinigung, Durchschnitt, Komplement, A B = {x; x A und x B}, Kartesisches Produkt, A B = {(x, y); x A und y B}.

7 1.1. MATHEMATISCHE GRUNDBEGRIFFE 3 (b) Relationen und Funktionen Eine Relation zwischen zwei Mengen A und B ist eine Menge R von Paaren (a, b), wobei a A und b B gilt. Wir sagen, dass a in Relation R zu b steht und schreiben arb. Formal ist eine Relation R dasselbe wie eine Teilmenge von A B. Im Fall A = B nennen wir R eine Relation auf der Menge A. Diese heißt reflexiv, falls ara für alle a A gilt, und transitiv, falls aus arb und brc folgt arc (a, b, c A) Für jede Relation R auf der Menge A bezeichnen wir mit R die kleinste reflexive und transitive Relation, die R enthält, die sogenannte reflexive transitive Hülle von R. Also gilt für zwei Elemente a, b aus A: ar b genau wenn a = b oder es gibt a = c 1, c 2,..., c n = b in A mit c i Rc i+1 für i = 1,..., n 1 Eine Funktion f A B ist eine Relation f A B mit der Eigenschaft, dass es für jedes Element a A genau ein Element b B gibt, mit dem a in Relation steht; das bezeichnen wir wie üblich mit f(a) = b. A heißt der Urbildbereich oder Definitionsbereich und B der Wertebereich der Funktion f. Ein schwächerer Begriff ist der einer partiellen Funktion f A B: das ist eine Relation, die für jedes Element a A höchstens ein Element b B hat, das in Relation zu a steht. Funktionen nennen wir manchmal auch totale Funktionen, wenn wir betonen wollen, dass wir sie von den partiellen Funktionen unterscheiden. Beispiel 1. Die Nachfolgerfunktion ist eine (totale) Funktion suc: N N. Die Vorgängerfunktion ist dagegen eine partielle Funktion pred: N N, die durch pred(n) = n 1 für alle n 1 definiert ist (und pred(0) ist nicht definiert). Funktionen zweier Variablen lassen sich als (übliche) Funktionen formalisieren, deren Definitionsbereich ein kartesisches Produkt ist. Also ist f A B C eine Funktion, die Variablen aus A und B nimmt und ihnen Werte in C zuordnet.

8 4 KAPITEL 1. ENDLICHE AUTOMATEN (c) Wörter Eine nichtleere endliche Menge heißt auch Alphabet und ihre Elemente werden auch Buchstaben genannt. Beispiel: das binäre Alphabet ist die Menge mit zwei Buchstaben, 0 und 1. Falls Σ ein Alphabet ist und n eine natürliche Zahl, so wird ein geordnetes n-tupel von Elementen aus Σ als Wort der Länge n über dem Alphabet Σ bezeichnet. Wir schreiben die Wörter, etwas informell, ohne Kommas oder Klammern einfach als a für a Σ (Wörter der Länge 1) ab für a, b Σ (Wörter der Länge 2) usw. Der Fall n = 0 entspricht dem leeren Wort, das mit ε bezeichnet wird. Für die Länge eines Wortes w schreiben wir z. B. ε = 0, ab = 2 usw. w, Die Menge aller (endlichen!) Wörter über dem Alphabet Σ bezeichnen wir mit Σ. Beispiel: für das binäre Alphabet Σ = {0, 1} gilt Σ = {ɛ, 0, 1, 00, 01, 10, 11, 000,... }. Die Konkatenation zweier Wörter u = a 1 a 2... a n und v = b 1 b 2... b m ist das Wort uv = a 1 a 2... a n b 1 b 2... b m (ohne Lücke geschrieben, denn Lücke kann selbst ein Symbol in Σ sein). Vereinbarung. Weiter nehmen wir immer an, daß jedes Alphabet, das hier betrachtet wird, die beiden Symbole ε (leeres Wort) und # (Blankzeichen) nicht als Elemente enthält. Das vermeidet Unklarheiten des Typs, ob εε die Konkatenation zweier leerer Wörter ist (also εε = ε), oder ein Wort der Länge 2 die zweite Variante schließen wir hier aus. Darüberhinaus nehmen wir an, dass für zwei Elemente a b des Alphabets, b kein Wort mit Präfix a ist. Also ist beispielsweise {0, 1, 13} kein Alphabet während {0, 1, 24} eines ist. (d) Formale Sprachen Eine formale Sprache ist eine Menge von Wörtern. Genauer: eine formale Sprache über dem Alphabet Σ ist das gleiche wie eine Teilmenge L der Menge Σ, L Σ. Beispiel: Σ selbst ist eine formale Sprache, aber auch ist eine. Die Menge L aller binären Codierungen der Graphen, die eine Clique mit 14 Elementen haben, ist eine formale Sprache L {0, 1}.

9 1.2. DEFINITION DER ENDLICHEN AUTOMATEN 5 (e) Graphen Ein gerichteter Graph ist eine Menge V (von Knoten) zusammen mit einer Relation E auf V, d.h. E V V. Die Paare (a, b) E heißen Kanten des Graphen. Beispiel: b a c bezeichnet den gerichteten Graphen mit den Knoten a, b, c und den Kanten (a, b), (b, c), (c, b) und (c, c). Falls die Kanten oder Knoten mit Symbolen eines Alphabets M bezeichnet werden, sprechen wir von markierten Graphen. Konkreter ist ein kantenmarkierter Graph ein Tripel (V, E, f), wobei (V, E) ein gerichteter Graph und f E M eine Funktion ist. Beispiel: bezeichnet den obigen Graphen mit der Markierung a 0 b 0 1 c f V {0, 1} mit dem Wert 0 für (a, b) und (b, c) und dem Wert 1 für (b, c) und (c, c). 1 sectdea 1.2 Definition der endlichen Automaten Reale Rechner bestehen aus einem Prozessor, der sich in einem von endlich vielen Zuständen befindet, einem Speicher und einer Ein-/Ausgabe-Einheit. Falls der Speicher beliebig erweitert werden kann, betrachten wir ihn als potentiell unendlich. Wenn aber keine Erweiterung möglich ist, können wir die Zustände des Speichers auch als globale Zustände des Rechners betrachten. Dann hat der Rechner also nur endlich viele Zustände. Wir befassen uns jetzt mit einem solchen Rechner, der noch dazu die Eingabe mit einem read-only Kopf bearbeitet, der sich systematisch von links nach rechts bewegt und das Ausgabealphabet {JA, NEIN} hat, so dass wir einfach zwei Typen von Zuständen unterscheiden: die finalen Zustände (Antwort JA) und die nicht finalen (Antwort NEIN). Mathematisch läßt sich solch eine einfache Maschine dadurch beschreiben, dass wir für jedes Paar (q, s) q - Zustand, s - Eingabesymbol den nächsten Zustand δ(q, s) bestimmen. Sei also Q die Menge aller Zustände und Σ das Eingabealphabet. Dann beschreibt die Übergangsfunktion δ Q Σ Q

10 6 KAPITEL 1. ENDLICHE AUTOMATEN die Arbeitsweise der Maschine. Wir gehen davon aus, dass die Bearbeitung der Eingabe immer in demselben (initialen) Zustand beginnt. Das führt zur folgenden Definition: Definition. Ein deterministischer endlicher Automat (DEA) ist ein Fünftupel A = (Q, Σ, δ, q 0, F ), wobei Q Σ δ Q Σ Q q 0 Q eine endliche Zustandsmenge, ein Eingabealphabet, die Übergangsfunktion, der Initialzustand und F Q die Menge aller akzeptierender (oder finaler) Zustände ist Notation. Statt δ(q, s) = q schreibt man auch q s q oder Wir benutzen auch kennzeichnen: (q, s) q., um den Initialzustand und die finalen Zustände zu q Initialzustand q Finaler Zustand bspdea Beispiel 1. Sei A = ({q 0, q 1, q 2 }, {0, 1}, δ, q 0, {q 2 }) der Automat, dessen Übergangsfunktion δ wie folgt definiert ist: (q 0, 0) q 0 (q 0, 1) q 1 (q 1, 0) q 2 (q 1, 1) q 1 (q 2, 0) q 1 (q 2, 1) q 0 Diesen Automaten kann man durch den folgenden markierten Graphen repräsentieren: 0 1 q 0 1 q q 1

11 1.2. DEFINITION DER ENDLICHEN AUTOMATEN 7 Das Wort 0110 wird akzeptiert, denn der Initialzustand q 0 wird dadurch in einen finalen Zustand überführt. Das Wort wird nicht akzeptiert. q 0 0 q0 1 q1 1 q1 0 q2 F. Definition. 1. Eine Konfiguration eines DEA A = (Q, Σ, δ, q 0, F ) ist ein Paar (q, w), wobei q ein Zustand und w ein Wort über Σ ist (der momentane Zustand und der noch nicht gelesene Teil des Eingabewortes). Konfigurationen (q 0, w) heißen Initialkonfigurationen und Konfigurationen (q, ε) heißen Finalkonfigurationen. 2. Für jede Konfiguration (q, w) mit w = s 1 s 2... s n heißt die Konfiguration (q, w ) mit q = δ(q, s 1 ) und w = s 2... s n die Folgekonfiguration, und wir bezeichnen dies mit dem Symbol (q, w) (q, w ). bspdea0110 Kürzer: (q, s 1 s 2... s n ) (δ(q, s 1 ), s 2... s n ). Beispiel 1 (Fortsetzung) Der Automat aus Beispiel 1 berechnet das Wort 0110 durch die folgende Reihe von Konfigurationen: (q 0, 0110) (q 0, 110) (q 1, 10) (q 1, 0) (q 2, ε) Bemerkung 1. Das kartesische Produkt Q Σ ist also die Menge aller möglichen Konfigurationen und (Folgekonfiguration) ist eine Relation auf dieser Menge. Wir bezeichnen durch die reflexive und transitive Hülle dieser Relation. Für zwei Konfigurationen (q, w) und (q, w ) aus Q Σ gilt demzufolge (q, w) (q, w ), wenn eine Berechnung, die in der Konfiguration (q, w) anfängt, endet in der Konfiguration (q, w ). Dies gilt genau dann, wenn entweder (q, w) = (q, w ) ist oder Konfigurationen (q 1, w 1 ),..., (q n, w n ) existieren, so dass (q, w) = (q 1, w 1 ), (q, w ) = (q n, w n ) und (q 1, w 1 ) (q 2, w 2 )... (q n, w n ) gilt. Die Liste der Konfigurationen heißt Berechnung von (q, w ) aus (q, w). (q i, w i ), i = 1,..., n Definition. Ein DEA A = (Q, Σ, δ, q 0, F ) akzeptiert ein Wort w über Σ, falls die Initialkonfiguration (q 0, w) zu einer Berechnung mit Endkonfiguration (q, ε) führt, wobei q ein finaler Zustand ist. Das heißt, falls es einen Zustand q F gibt mit (q 0, w) (q, ε). Die Sprache aller Wörter, die A akzeptiert, wird mit L(A) bezeichnet und heißt die von A akzeptierte Sprache. Kurz: L(A) = {w Σ ; es gibt q F mit (q 0, w) (q, ε)}

12 8 KAPITEL 1. ENDLICHE AUTOMATEN Beispiel 2. Ist eine Zahl gerade? Dies ist die Sprache aller Wörter in Σ = {0, 1,..., 9}, die folgende Eigenschaften erfüllen: (a) die letzte Ziffer ist 0, 2, 4, 6, 8 (b) wenn die erste Ziffer 0 ist, dann ist die Wortlänge 1 0 q 1 0,1,...,9 0,1,...,9 q 2 q 0 2,4,6,8 q 3 1,3,5,7,9 2,4,6,8 q 4 1,3,5,7,9 Das Wort 123 wird wie folgt berechnet (q 0, 123) (q 4, 23) (q 3, 3) (q 4, ε) und nicht akzeptiert, weil der letzte Zustand in Q-F liegt. B:sechs Beispiel 3. Die Sprache L {0, 1} aller Wörter mit einer geraden Anzahl von 0 en und einer geraden Anzahl von 1 en wird von dem Automaten q q 2 1 q q 3 1 akzeptiert. Definition. Eine Sprache heißt regulär, falls es einen DEA gibt, der sie akzeptiert. bspregtriv bspnichtreg Beispiel 4. Σ, und die Menge aller geraden Zahlen sind regulär. Beispiel 5 (Eine nicht reguläre Sprache). Über dem Alphabet {a} definieren wir die Sprache L = {ε, a, aaaa,...} aller Wörter der Länge k 2 (k = 0, 1, 2,...) Wir zeigen, dass jeder Automat A mit L L(A) auch Wörter außerhalb L akzeptiert, also L L(A). Sei n die Anzahl der Zustände von A. Da n 2 von A akzeptiert wird, gibt es einen Weg durch A, der nach n 2 Schritten in einem finalen Zustand endet: q 0 initial q 1 = δ(q 0, a) q 2 = δ(q 1, a) q n 2 = δ(q n2 1, a) final. Die Zustände q i, i = 0,..., n, sind nicht alle verschieden, da A nur n Zustände hat und hier n+1 Indizes auftreten. Daher existieren i und k mit 0 < k n und q i = q i+k :

13 1.2. DEFINITION DER ENDLICHEN AUTOMATEN 9 q 0 q 1... q i q i+k+1... q n 2 q i+k 1 q i+1... Weil A das Wort a n2 der Länge n 2 = i + k + (n 2 i k) akzeptiert, folgt, dass auch a n2 +k mit n 2 + k = i + 2k + (n 2 i k) von A akzeptiert wird. (In beiden Fällen wird derselbe Weg durch A zurückgelegt, im zweiten Fall wird der Zyklus q i,..., q i+k 1, q i zweimal durchlaufen.) Es gilt aber: n 2 < n 2 +k, da k > 0, und (n+1) 2 > n 2 +n n+k, da k n. Also liegt n 2 + k zwischen n 2 und (n + 1) 2 und a n2 +k kann kein Wort der Sprache L sein. Beobachtung. Sei A ein DEA mit Eingabealphabet Σ. beobonestepabl 1. Für jedes Wort u über Σ gilt: aus (q, w) (q, w ) folgt (q, wu) (q, w u). In der Tat, für w = s 1 s 2... s n haben wir Sei u = t 1... t m, dann gilt also q = δ(q, s 1 ) und w = s 2... s n. q = δ(q, s 1 ) und w u = s 2... s n t 1... t m. Das sagt genau, dass (q, wu) (q, w u), weil wu = s 1... s n t 1... t m. 2. Es gilt ebenfalls für jedes Wort u, dass aus (q, w) (q, w ) folgt (q, wu) (q, w u). Dies ist nur eine wiederholte Anwendung von 1. Notation. Die Übergangsfunktion δ Q Σ Q können wir von Buchstaben aus Σ auf Worte aus Σ erweitern: wir definieren δ Q Σ Q einem Paar (q, w) durch Induktionin der Länge n des Wortes w wie folgt: n = 0: δ (q, ε) = q (keine Eingabe keine Bewegung) n + 1: hier w = vs und v hat länge n, deswegen ist δ (q, v) = q schon definiert. Wir setzen δ (q, vs) = δ( q, s) Diese Funktion δ weist jeder Konfiguration (q, w) den Endzustand der Berechnung des Eingabewertes w zu. Jetzt können wir die Sprache L(A) noch kürzer definieren: es besteht aus allen Worten w mit δ (q 0, w) F.

14 10 KAPITEL 1. ENDLICHE AUTOMATEN sectnea 1.3 Nichtdeterministische Automaten Nichtdeterministische Automaten sind wie endliche Automaten definiert, nur hat die Übergangsfunktion δ(q, s) mehrere Möglichkeiten. Kurz: δ ist keine Funktion, sondern eine Relation zwischen Q Σ und Q: Beispiel 1. Lexikale Analyse von Positionen. Nehmen wir alle binären Wörter, die auf Position 2 von rechts eine 1 haben. Dafür haben wir den Automat 0,1 q 0 1 q 1 0,1 q 2 Der ist aber nicht deterministisch: aus q 0 kann Eingabe 1 zu q 0 oder q 1 führen usw. Analog für Der Automat L (n) = alle binären Wörter mit 1 auf Position n von rechts. 0,1 q 0 1 q 1 0,1 q 2 0,1... 0,1 q n hat n + 1 Zustände und akzeptiert die erwünschte Sprache. Es gibt auch DEA s dafür, aber diese sind sehr kompliziert und sehr groß: L (n) braucht mindestens 2 n Zustände, siehe Beispiel 2 in 1.8. Beispiel 2. Textsuche. Eine häufig benötigte Aufgabe im Internet ist die Untersuchung von Dokumenten auf gewisse Wörter (sogenannte Schlüsselwörter). Dies wird mit NEAs durchgeführt. Nehmen wir an, dass nur ein Schlüsselwort a 1... a k im Alphabet Σ (= ASCII-Zeichen, zum Beispiel) gegeben wird. Hier ist unser Automat: Σ a 1 a 2... Bei mehreren Schlüsselwörtern ist der NEA analog. Konkret für Schlüsselwörter: web und ebay: Σ w e b a k e b a y Definition. Ein nichtdeterministischer endlicher Automat (NEA) ist ein Quintupel A = (Q, Σ, δ, q 0, F ), wobei Q, Σ und F Q endliche Mengen sind, δ (Q Σ) Q eine Relation ist und q 0 Q. bspnea Beispiel q 0 q q 2 0 1

15 1.3. NICHTDETERMINISTISCHE AUTOMATEN 11 Das ist der nichtdeterministische Automat mit Σ = {0, 1}, Zuständen q 0 (initial), q 1 und q 2 (final) und den angedeuteten Übergängen. Bemerkung Wir verwenden dieselbe Notation wie im deterministischen Fall. Speziell schreiben wir q s q oder (q, s) q statt (q, s)δq. Hier können jedoch zwei verschiedene Übergangsregeln (q, s) q dieselbe linke Seite haben (und umgekehrt muß für ein Paar (q, s) keine Regel mit dieser linken Seite vorhanden sein). 2. Auch Konfigurationen sind, wie im deterministischen Fall, als Paare (q, w) in Q Σ definiert. Für jede Konfiguration (q, w) mit w = s 1 s 2... s n gibt es im allgemeinen mehrere Folgekonfigurationen: alle Konfigurationen (q, w ), wobei (q, s 1 ) q und w = s 2... s n. Wir benutzen wieder das Symbol, also (q, s 1 s 2... s n ) (q, s 2... s n ) für alle q Q mit (q, s 1 ) q. Die reflexive und transitive Hülle dieser Relation wird wieder mit bezeichnet. 3. Wichtige Frage: wann wird ein Wort akzeptiert? Jedes Eingabewort w hat natürlich verschiedene Berechnungen. Falls wenigstens eine Berechnung in einem finalen Zustand endet, sagen wir, dass der NEA das Wort w akzeptiert: Definition. Für einen NEA A wird ein Wort w über Σ akzeptiert, falls es einen finalen Zustand q mit (q 0, w) (q, ε) gibt. Die Menge L(A) aller akzeptierten Wörter heißt die von A akzeptierte Sprache. bspneaakzeptiert Beispiel 1 (Fortsetzung) Der nichtdeterministische Automat aus Beispiel 3 akzeptiert die Sprache L aller Wörter, die entweder 1. genau eine 0 enthalten, oder 2. die Form 1 i 0 j 1 k mit i 0, j > 0, k > 0 haben. Kann diese Sprache von einem deterministischen Automaten mit nur drei Zuständen akzeptiert werden? NEIN (Beweis später, siehe??, Beispiel??) Mit 2 3 = 8 Zuständen geht es: Notation. Für jede Menge Q bezeichnet PQ (die Potenzmenge von Q) die Menge aller Untermengen von Q. Beispiel: P{0, 1} = {, {0}, {1}, {0, 1}}. Konstruktion. Sei A ein NEA. Wir können einen DEA A mit derselben Sprache konstruieren: L(A) = L(A ). Die Idee ist, dass jede Gruppe M von Zuständen von A (das heißt, jede Untermenge M Q) als ein einziger Zustand des neuen Automaten betrachtet wird. Dann ergibt die nichtdeterministische Übergangsrelation δ die folgende deterministische Übergangsfunktion δ : für jeden Zustand von A, das heißt jede Menge M Q und jedes Eingabesymbol s Σ, bezeichnen wir durch δ (M, s)

16 12 KAPITEL 1. ENDLICHE AUTOMATEN die Menge aller Zustände q, für die gilt (q, s) q (in δ), wobei q in M liegt. Kürzer: defdeltastrich (1) δ (M, s) = {q Q; es gibt q M mit (q, s)δq}. Also ist A der folgende deterministische Automat A = (2 Q, Σ, δ, {q 0 }, F ), wobei δ durch (1) (für alle M 2 Q und s Σ) definiert ist, {q 0 } der Initialzustand ist und F genau die Zustände von A enthält, in denen wenigstens ein Finalzustand von A liegt: F = {M; M Q und M F }. Beispiel 1 (Fortsetzung) Der DEA, der Beispiel 1 darstellt, hat 8 = 2 3 Zustände: {q 0, q 1, q 2 } 1 {q 0 } 1 {q 0, q 1 } 0 {q 1, q 2 } 0 0 {q 1 } q {q 0, q 2 } 0,1 satzpotenzkonstr Satz 1. Die Automaten A und A akzeptieren dieselbe Sprache. potenzkonstrbew (2) Beweis. Für jedes Wort s 1... s n über Σ bezeichnen wir durch M 0, M 1,..., M n die Zustände der Berechnung des Wortes im Automat A M 0 = {q 0 } und M i+1 = δ (M i, s i+1 ). Wir beweisen, dass ein Zustand q von A genau dann in M n liegt, wenn eine Berechnung von s 1... s n durch A existiert, die in q endet. Damit wird bewiesen, dass, falls s 1... s n in L(A ) liegt (falls also M n F einen finalen Zustand von A enthält), eine Berechnung durch A existiert, die in einem finalen Zustand endet also akzeptiert auch A das Wort s 1... s n. Umgekehrt gibt es, falls A das Wort akzeptiert, eine Berechnung, die in einem finalen Zustand endet. Dieser Zustand ist, aufgrund von (2), ein Element von M n das beweist, dass M n F, also akzeptiert A das Wort s 1... s n. Der Beweis von (2) erfolgt durch Induktion über die Länge n des gegebenen Wortes: n = 0 Hier ist M n = {q 0 } und eine Berechnung von ε durch A endet immer in q 0. n n + 1 Da M n+1 = δ (M n, s n+1 ), sagt uns (1), dass M n+1 einen Zustand q genau dann enthält, wenn es einen Zustand q in M n gibt mit (q, s n+1 )δq. Bei der Induktionsvoraussetzung sind diese Zustände q genau die, die in A durch eine Berechnung von s 1... s n erreicht werden können. Hier folgt (2) also aus der Beobachtung, dass die Berechnung von s 1... s n s n+1 einen Zustand q genau dann erreicht, wenn es einen Zustand q gibt, der durch die Berechnung von s 1... s n erreicht werden kann und (q, s n+1 )δq erfüllt. Bemerkung 2. Bei vielen Anwendungen ist es möglich, einen viel kleineren DEA zu konstruieren indem wir uns auf die Zuständem die vom Initialzustand durch ein Eingabewort erreichbar sind, beschränken.

17 1.3. NICHTDETERMINISTISCHE AUTOMATEN 13 Definition. Ein Zustand q eines DEA A = (Q, Σ, δ, q 0, F ) ist erreichbar, falls es ein Wort w in Σ mit (q 0, w) (q, ε) gibt. Der folgende DEA A r = (Q r, Σ, δ r, q 0, F Q r ) wobei Q r die Menge aller erreichbaren Zustände von A ist und δ r die Restriktion von δ ist, heißt der erreichbare Teil von A. Falls A = A r ist, also jeder Zustand von A erreichbar ist, heißt A ein erreichbarer Automat. bemerreichbarabg Bemerkung 3. Falls q erreichbar ist, ist auch der Zustand q = δ(q, s) (für jedes s Σ) erreichbar, denn aus (q 0, w) (q, ε) folgt (q 0, ws) (q, s) (q, ε). Wir erhalten also eine Funktion δ r Q r Σ Q r als Restriktion von δ Q Σ Q. bemerreichbareqiv Bemerkung 4. Es gilt: A und A r sind äquivalent, d.h. sie akzeptieren dieselbe Sprache. Es ist nämlich leicht zu sehen, dass (q 0, w) (q, ε) in A genau dann gilt, wenn es auch in A r gilt. Beispiel 1 (Fortsetzung) Die obere Konstruktion des DEA mit 8 Zuständen ist nicht erreichbar: die Zustände {q 0, q 1 } und {q 0, q 1, q 2 } können weggelassen werden. Beispiel 4. Im Automat A 0 q q 0 1 q 3 1 q 2 1 0,1 ist der Zustand q 3 nicht erreichbar. Alle anderen Zustände sind aber erreichbar, deswegen ist A r der folgende Automat 0 q 1 0 q q 2 0,1

18 14 KAPITEL 1. ENDLICHE AUTOMATEN Beispiel 5. Für den NEA 1 q 3 1 q 1 0 q 4 q 0 1 q 2 0 q 5 1 q 6 konstruieren wir einen äquivalenten DEA als den erreichbaren Teil der obigen Konstruktion: 1 {q 0 } {q 1, q 2 } 0 0,1 {q 3, q 6 } Dieser hat also 5 (und nicht 2 7 = 128) Zustände. 0,1 1 0,1 0 {q 4, q 5 } Bemerkung 5. Für manche Anwendungen ist es geschickt, auch spontane Übergänge, d.h. Übergänge ohne Eingabe, zu erlauben. Dazu benutzen wir ε als ein Spezialsymbol, das keine Eingabe bezeichnet. Jetzt können wir den spontanen Übergang von q nach q im selben Stil wie die anderen Übergänge (q, s) q bezeichnen, nämlich als q ε q oder (q, ε) q. Genauer: die Übergangsrelation δ (Q Σ) Q wird jetzt durch eine Relation δ (Q (Σ {ε})) Q ersetzt. Die spontanen Übergänge heißen auch ε-übergänge und die entsprechenden Maschinen ε-neas: Definition. Ein nichtdeterministischer endlicher Automat mit spontanen Übergängen (ε-nea) ist ein Quintupel A = (Q, Σ, δ, q 0, F ), wobei Q, Σ und F Q endliche Mengen sind, δ (Q (Σ {ε})) Q eine Relation ist und q 0 Q. Bemerkung 6. Für jeden ε-nea definieren wir, wie zuvor, eine Konfiguration als ein Paar (q, w) in Q Σ. Die Folgekonfigurationen einer Konfiguration (q, w) sind und 1. wie bisher: alle Konfigurationen (q, s 2... s n ), wobei w = s 1 s 2... s n und (q, s 1 ) q, 2. alle Konfigurationen (q, w), wobei (q, ε) q also alle Konfigurationen, die durch spontane Übergänge den Zustand ändern, ohne das restliche Eingabewort zu beeinflussen.

19 1.3. NICHTDETERMINISTISCHE AUTOMATEN 15 Kurz: ist die kleinste Relation auf die Menge Q Σ aller Konfigurationen mit und (q, s 1 s 2... s n ) (q, s 2... s n ) falls (q, s 1 ) q (q, s 1 s 2... s n ) (q, s 1 s 2... s n ) falls (q, ε) q Die Bedeutung von ist wie oben, ein Wort w über Σ wird akzeptiert, falls es einen finalen Zustand q gibt mit (q 0, w) (q, ε). NEAS0u1s Beispiel 6. Der folgende ε-nea q 0 0 ε ε q 1 q 2 1 akzeptiert das leere Wort, denn es gibt die folgende Berechnung (q 0, ε) (q 2, ε) (q 1, ε). Auch 01 wird aufgrund der Berechnung (q 0, 01) (q 1, 1) (q 2, ε) (q 1, ε) akzeptiert. Bemerkung 7. Speziell gilt für Zustände q und q (q, ε) (q, ε) genau dann wenn es eine Berechnung wie folgt gibt: q ε q 1 ε q 2... ε q i ε q i+1 ε q i+2... ε q Wir sagen, dass q in der ε-hülle von q liegt. Definition. Zwei Automaten A und A (DEA, NEA, oder ε-neas) heißen äquivalent, falls sie dieselbe Sprache akzeptieren, das heißt, L(A) = L(A ). Konstruktion. Für jeden ε-nea A = (Q, Σ, δ, q 0, F ) konstruieren wir einen äquivalenten ε-nea: wir lassen Q und q 0 unverändert und definieren wie folgt: in δ haben wir einen Übergang s q q A = (Q, Σ, δ, Ī, F ) genau dann wenn q in der ε-hülle eines Zustandes q liegt, für den der Übergang s q q vorhanden ist. Und F {q 0 } F = F wenn die ε-hülle von q 0 einen Zustand aus F enthält sonst. Satz 2. Die Automaten A und Ā sind äquivalent.

20 16 KAPITEL 1. ENDLICHE AUTOMATEN BerInA (3) Beweis. (a) Sei w ein Wort, dass A akzeptiert. Falls w = ε, folgt aus der Definition von F, dass q 0 final in A ist, also akzeptiert auch A das leere Wort. Falls w = s 1 s 2... s n, n > 0, bedeutet das, dass es einen finalen Zustand q F gibt und eine Berechnung in A der Form q 0 ε... ε s 1 ε... ε s n ε ε... q Bezeichnen wir mit q i den Zustand, den A nach der Eingabe s i erreicht (i = 1,..., n), dann gilt in A: q 0 s 1 q 1 q 1 s 2 q 2 q n 1 s n q n, sogar q n 1 s n q BerInAs (4) Also haben wir eine Berechnung in A q 0 s 1 q 1 s 2... s n q und da q F, ist das Wort s 1 s 2... s n von A akzeptiert. (b) Sei w ein Wort, das A akzeptiert. Falls w = ε, bedeutet das, dass q 0 F. Also entweder q 0 F (dann akzeptiert A natürlich ε) oder q 0 F F und A akzeptiert ε aufgrund der Definition von F. Falls w = s 1 s 2... s n, n > 0, haben wir eine Berechnung (4) in A mit q F. Daraus folgt, dass wir in A eine Berechnung (3) haben. Falls q F, akzeptiert also A das Wort w = s 1 s 2... s n. Falls q F F, gilt: q = q 0, und A akzeptiert ε. Das letzte bedeutet, dass es einen Finalzustand q 1 F gibt mit der folgenden Berechnung: q 0 ε ε... ε q 1 Diese Berechnung kann, da q = q 0, an die von (3) angeknüpft werden, und wir sehen, dass (q 0, s 1... s n, ) (q 1, ε). Daraus folgt, dass A das Wort s 1 s 2... s n akzeptiert. sectreg 1.4 Reguläre Ausdrücke Wir wollen jetzt die regulären Sprachen (siehe Abschnitt 1.2) charakterisieren. Notation. Wir verwenden die folgenden Operationen für Sprachen L Σ : 1. Vereinigung L 1 L 2 ist die Sprache aller Wörter, die in L 1 oder L 2 liegen. 2. Konkatenation L 1 L 2 (oder nur L 1 L 2 ) ist die Sprache aller Wörter w 1 w 2 mit w 1 L 1, w 2 L 2. Falls L 1 = L 2 = L, schreiben wir L 2 statt L L (analog L 3 usw.).

21 1.4. REGULÄRE AUSDRÜCKE Iteration (oder Kleenescher Stern) L = {ε} L (L L) (L L L)... ist die Sprache aller Wörter w 1 w 2... w n mit w 1,..., w n L (n N) (inklusive ε für den Fall n = 0); wir benutzen auch für die Sprache aller Wörter w 1 w 2... w n mit w 1,..., w n L und n Komplement L = Σ L. L + Beispiel 1. Für L 1 = {00} und L 2 = {1, 101} gilt L 1 L 2 = {00, 1, 101} L 1 L 2 = {001, 00101} L 1 = {ε, 00, 0000,... }. satzregabgpluscat Satz 1. Falls L 1 und L 2 reguläre Sprachen sind, sind auch die Sprachen L 1 L 2 und L 1 L 2 regulär. Beweis. Für L i (i = 1, 2) gibt es nach Definition einen DEA A i = (Q i, Σ, δ i, q 0i, F i ), der L i akzeptiert. Wir können ohne Beschränkung der Allgemeinheit annehmen, dass die Zustandsmengen Q 1 und Q 2 disjunkt sind. 1. Regularität von L 1 L 2 : die folgende parallele Komposition von A 1 und A 2 : q 0 ε q 01 F 1 ε q 02 F 2 akzeptiert die Sprache L(A 1 ) L(A 2 ) = L 1 + L 2. Formal ist dies der ε-nea A = (Q 1 Q 2 {q 0 }, Σ, δ, q 0, F 1 F 2 ), wobei q 0 Q 1 Q 2 und δ durch die folgenden Übergangsregeln definiert wird: E:fuenf (1) (q, s) δ i (q, s) für alle q Q i, i = 1, 2, s Σ und (q 0, #) q 10, (q 0, #) q Regularität von L 1 L 2 : die folgende serielle Komposition von A 1 und A 2 : ε ε q 01 F 1 q 02 F 2 ε akzeptiert die Sprache L(A 1 ) L(A 2 ) = L 1 L 2. Formal ist dies der ε-nea A = (Q 1 Q 2, Σ, δ, q 01, F 2 ), wobei δ durch (1) und (q, #) q 02 für alle q F 1 definiert wird.

22 18 KAPITEL 1. ENDLICHE AUTOMATEN kor:finiteregular satzregabgstar Folgerung 1. Jede endliche Sprache ist regulär. Beweis. Für L = {w 1,..., w n } gilt: L ist die Vereinigung der Sprachen L i = {w i }, und L i ist die Konkatenation der Sprachen L ij = {s j }, falls w i = s 1... s k oder L i = {ε}. Die Sprache {s j } bzw. {ε} sind regulär: siehe die folgenden NEAs: s j und Daher ist L regulär. Satz 2. Falls L eine reguläre Sprache ist, sind auch L und L + regulär. Beweis. Der folgende Feedback eines L akzeptierenden Automaten A = (Q, Σ, δ, q 0, F ): q 0 F ε akzeptiert die Sprache L +. Formal definieren wir den ε-nea A = (Q, Σ, δ, q 0, F ), wobei δ die ursprüngliche Übergangsfunktion mit den zusätzlichen spontanen Übergängen l00p11s ist. Es gilt L(A ) = L(A) + = L +. (q, ε) q 0 für alle q F Der Fall L = L + {ε} folgt aus Satz 1 und Folgerung 1. Beispiel 2. Die Sprache L aller Wörter in {0, 1}, in denen jeder Buchstabe wiederholt wird, d. h. L = ({11} {00}), wird von dem folgenden Automaten akzeptiert: für 11 haben wir 1 1 analog für {00}. Die parallele Komposition dieser Automaten: 1 1 ε ε 0 0 akzeptiert die Sprache {11} {00}. Jetzt machen wir den Feedback mit q 0 final: ε 1 1 ε ε 0 0 ε Dieser Automat akzeptiert die Sprache L.

23 1.4. REGULÄRE AUSDRÜCKE 19 Definition. Ein regulärer Ausdruck über einem Alphabet Σ = {s 1,..., s n } ist ein Ausdruck mit den Operationen +,,, die auf Buchstaben s 1,..., s n und auf die Symbole ε und angewendet werden. Genauer: die regulären Ausdrücke r werden durch BNF wie folgt definiert: r = s 1... s n ε (r + r) (rr) (r ) Jeder reguläre Ausdruck repräsentiert eine Sprache: s i ε L 1 + L 2 L 1 L 2 L repräsentiert {s i }, die Sprache, die nur das Wort s i enthält repräsentiert {ε}, die Sprache, die nur das leere Wort enthält repräsentiert (kein Wort) repräsentiert die Vereinigung repräsentiert die Konkatenation repräsentiert die Iteration (L) repräsentiert dasselbe wie L. Konvention 3. Wie in der Arithmetik bindet (Konkatenation) stärker als +. Dies erlaubt uns viele überflüssige Klammern wegzulassen. Beispiel 3. Die Sprache aller Wörter, die entweder mit 11 beginnen oder enden, wird durch 11(0 + 1) + (0 + 1) 11 repräsentiert. Beispiel 4. Für jede endliche Sprache L = {s 1 s 2... s n, t 1 t 2... t m,..., u 1 u 2... u k } gibt es einen regulären Ausdruck, der L repräsentiert: s 1 s 2... s n + t 1 t 2... t m + + u 1 u 2... u k. Folgerung 2. Jede Sprache, die durch einen regulären Ausdruck repräsentiert wird, ist regulär. Beweis. Die trivialen Fälle s i, ε und repräsentieren reguläre Sprachen siehe Folgerung 1. Für kompliziertere reguläre Ausdrücke wissen wir schon aus den Sätzen 1 und 2, dass die Operationen +,, die Regularität erhalten. Satz 4 (Kleenescher Satz). Eine Sprache ist genau dann regulär, wenn sie durch einen regulären Ausdruck repräsentiert werden kann. Beweis. Dies ist ein konstruktiver Beweis: für jeden DEA, A, konstruieren wir einen regulären Ausdruck, der L(A) repräsentiert. Seien q 0 (initial), q 1,..., q n alle Zustände von A. Wir bezeichnen mit L ij die Sprache aller Wörter, die q i nach q j überführen, also w L ij (q i, w) (q j, ε). Wenn wir einen regulären Ausdruck für jede Sprache L ij finden, sind wir fertig, da falls q ji, q j2,... q jm alle finalen Zustände sind, gilt L(A) = L 0j1 L 0j2 L 0jm. Um einen regulären Ausdruck für L ij zu finden, führen wir noch eine Verfeinerung dieser Sprache ein: wir bezeichnen mit L k ij (k = 0,..., n + 1) die Sprache aller Wörter w = s 1... s n in L ij : q i s 1 s 2... s r 1 s r q j

24 20 KAPITEL 1. ENDLICHE AUTOMATEN wo die inneren (nicht markierten) Zustände nur Indizes kleiner als k benutzen. D.h., jeder innere Zustand ist q d für d < k. Z.B. L 0 ij erlaubt gar keinen inneren Zustand: L 0 ij besteht aus (a) s Σ mit q s i q j und (b) ε wenn i = j. Es ist klar, dass L ij = L n+1 ij. Es genügt also zu zeigen, wie jede Sprache L k ij (für beliebige i, j und k) durch einen regulären Ausdruck repräsentiert wird kann. Das beweisen wir durch Induktion über k: k = 0 Für L 0 ij mit i j ist der reguläre Ausdruck die Summe aller s mit δ(q i, s) = q j. Wenn i = j kommt noch der Summand ε dazu. k k + 1 Für jedes Wort w in L k+1 ij bezeichnen wir mit s die Zahl aller inneren Zustände, die q k gleich sind. Falls s = 0 ist, liegt w in L k ij. Falls s > 0, können wir das Wort so in s Wörter w = w 1 w 2... w s zerlegen, dass die Berechnung des ersten Teils w 1 den Zustand q i zum ersten Mal nach q k überführt (also liegt w 1 in L k ik ), die Berechnung von w 2 von der ersten zur zweiten Begegnung mit q k führt (also liegt w 2 in L k kk ), analog w 3,..., w s 1 und w s überführt den Zustand q k beim letzten Auftreten nach q j (also liegt w s in L k kj ). Beispiel: s = 2. W 1 W 2 W 3 q i... q k... q h... q j Es folgt, dass entweder w L k ij oder w L k ik (L k kk) L k kj. Umgekehrt ist es leicht zu sehen, dass alle Wörter aus L k ik (Lk kk ) L k kj in L k+1 ij liegen. Es gilt also reklijk (*) L k+1 ij = L k ij L k ik (L k kk) L k kj. Das ergibt einen regulären Ausdruck für L k+1 ij Ausdrücken für L k ij (Induktionsvoraussetzung). aufgrund von regulären Beispiel 5. Wir beschreiben einen regulären Ausdruck für die Sprache, die der folgende Automat akzeptiert: q 0 a b b q 1 a Wir suchen L(A) = L Erst berechnen wir L 0 ij L 0 ij j = 0 1 i = 0 ε + b a 1 b ε + a Dann L 1 ij = L0 ij + L0 i0 (L0 00) L 0 oj. Zum Beispiel L 1 00 = L L 0 00(L 0 00) 0 L 1 00 = ε + b + (ε + b)(ε + b) (ε + b) = b

25 1.5. DER BRZOZOWSKY-DEA 21 Hier alle Ergebnisse: L 1 ij j = s 1 i = 0 b b a 1 b ε + b a Zuletzt L 2 01: L 2 01 = L L 1 01(L 1 11) L 1 11 = b a + b a(ε + b a) (ε + b a) = b a(ε + (ε + b a) + ) = b a(ε + b a) = (a + b) a sectabl 1.5 Der Brzozowsky-DEA Hier charakterisieren wir reguläre Sprachen als genau die, die nur endliche Ableitungen haben. Dies ermöglicht uns ein einfaches Beispiel einer nicht regulären Sprache zu zeigen. Die Ableitungen können für eine Konstruktion von DEAs benutzt werden. Im nächsten Abschnitt zeigen wir, dass diese Konstruktion optimal ist. Definition. Gegeben sei eine Sprache L Σ und ein Wort w Σ. Die Ableitung w 1 L ist die Sprache aller Wörter u mit wu L. Bemerkung 1. L selbst ist eine Ableitung: man setze w = ε. Beispiel 1. (1) Die Sprache L {0, 1} aller Wörter von gerader Länge hat die Ableitung 0 1 L von allen Wörtern ungerader Länge. Es ist leicht zu sehen, dass alle Ableitungen von L gleich L oder 0 1 L sind. (2) Die Sprache L = {0 n 1 n ; n N} hat die Ableitungen die alle voneinander verschieden sind. 0 1 = {0 n 1 1 n ; n 1} 00 1 = {0 n 2 1 n ; n 2} (3) Die Sprache L aller Wörter über {a, b} die dieselbe Anzahl von a s und b s besitzen ist nicht regulär: alle Ableitungen (a n ) 1 L sind voneinander verschieden. Lemma 1. (wv) 1 L = v 1 (w 1 L). Beweis. Die rechte Seite besteht aus genau den Wörtern u mit vu w 1 L, d.h. mit wvu L. Konstruktion. Wenn eine Sprache L nur endlich viele Ableitungen besitzt, definieren wir den Brzozowsky DEA für L wie folgt: (a) Zustände sind alle Ableitungen von L. (b) Der Initialzustand ist L. (c) Eine Ableitung w 1 L ist akzeptierend g.d.w. w L. (d) Die Übergänge sind für jedes a Σ durch K a a 1 K definiert. (D.h., wenn K = w 1 L, dann ist der Folgezustand a 1 (w 1 K) = (aw) 1 K.)

26 22 KAPITEL 1. ENDLICHE AUTOMATEN Die Sprache aller Wörter gerader Länge hat den Br- Beispiel 1 (Fortsetzung) zozowsky DEA L 0,1 0,1 0 1 L Beobachtung. Der Brzozowsky DEA akzeptiert L. In der tat, jedes Wort w Σ mit w = a a... a n hat die folgende Berechnung (siehe Lemma oben): L a 1 a 1 1 L a 2 a 1 a 1 2 L a 3... a n w 1 L Das Wort wird akzeptiert g.d.w. der zustand w 1 akzeptierend ist, d.h., w L Satz 1. Eine Sprache ist regulär, g.d.w. sie nur endlich viele Ableitungen besitzt. Beweis. Wenn L endlich viele Ableitungen besitzt, ist sie durch einen Brzozowsky DEA akzeptiert und deswegen regulär. Umgekehrt, wenn L Σ regulär ist, gibt es einen DEA, A, der mit n Zuständen L akzeptiert. Wir beweisen, dass L höchstens n Ableitungen besitzt. Für jedes Wort w Σ bezeichnen wir durch q w den Zustand von A, den wir vom Initialzustand durch die Eingabe w erreichen. Es genügt zu beweisen, dass zwei Wörter w und v die selbe Ableitung ergeben, wenn sie q w = q v erfüllen: q w = q v w 1 L = v 1 L In der Tat, ein Wort u liegt in w 1 L genau dann, wenn die Berechnung q 0... q w... q wu w u in einem akzeptierenden Zustand q wu endet. Das bedeutet, dass der DEA, den wir aus A bekommen, wenn der Initialzustand zu q w geändert wird, w akzeptiert. Das selbe gilt für u v 1 L. Deswegen folgt w 1 L = v 1 L aus q w = q v. Beispiel 2. Die Sprache aller Wörter über {a, b} mit der gleichen Anzahl von a s und b s ist nicht regulär, denn sie hat unendlich viele Ableitungen. 1.6 Äquivalente Zustände Wir zeigen, wie zu jedem erreichbaren DEA ein minimaler DEA für die selbe Sprache konstruiert werden kann. Dieser minimale Automat ist durch die Anzahl seiner Zustände völlig bestimmt. Wir haben durch L(A) die Sprache, die ein DEA akzeptiert, indem er im Initialzustand q 0 anfängt, bezeichnet: ein Wort w Σ liegt in L(A) g.d.w. δ (q 0, w) ein akzeptierender Zustand ist (siehe Notation in 1.2). Nehmen wir an, dass wir statt q 0 einen anderen Zustand q Q gewählt haben. Dann bezeichnen wir durch A(q) den so geänderten Automat. Seine Sprache L(A(q)) besteht aus allen Wörtern w mit dem Zustand δ (q, w) akzeptierend.

27 1.6. ÄQUIVALENTE ZUSTÄNDE 23 Definition. Zwei Zustände q und r eines DEAs heißen äquivalent wenn sie die selbe Sprache akzeptieren, d.h., Notation. q A r Beispiel 1. Im DEA LA(q) = LA(r) (oder nur q r wenn A klar ist). a q 1 a q 0 b b q 2 a,b b q 3 a sind q 1 und q 3 äquivalent. In der Tat, beide Zustände akzeptieren a(a + b) Die Zustände q 0 und q 1 sind nicht äquivalent: q 1 akzeptiert a, q 0 nicht. Satz 1. Wenn die Zustände q und r äquivalent sind und nach Eingabe a Σ bekommen wir die zustände q und r, sind auch diese äquivalent. Kurz: q r δ(q, a) δ(r, a) Beweis. Der Zustand q akzeptiert ein Wort w: w q a q... q g.d.w. die Berechnung in einem akzeptierenden Zustand q = δ (q, w) endet. Das Wort aw wird im Zustand q mit demselben Ergebnis berechnet: δ (q, aw) = δ (q, w) = q. Deswegen gilt: L(A(q)) = al(a(q )). Analog L(A(r)) = al(a(r )) Da L(A(q )) = L(A(r )), folgt daraus L(A(q)) = L(A(r)). Bemerkung 1. a. Umgekehrt: wenn zwei Zustände q und r nicht äquivalent sind, a und wenn wir für eine Eingabe a Übergänge q a q sowie r r haben, sind auch q und r nicht äquivalent. b. Ein akzeptierender Zustand ist zu keinem nicht-akzeptierenden Zustand äquivalent. Es gilt nämlich: q F g.d.w. ε LA(q) Algorithmus 2. für die Äquivalenz. Wir formen eine tabelle in der jedes zugeordnete Paar von Zuständen q i q j einmal vorkommt q 0 q 1 q 2 q n q 0 q 1... q n 1 Dann kreuzen wir nicht-äquivalente Paare an. Dies geschieht rekursiv bis kein neues nicht-äquivalentes Paar vorkommt, dann ist durch die ungekreuzten Paare charakterisiert.

28 24 KAPITEL 1. ENDLICHE AUTOMATEN Erster Schritt Kreuze jedes Paar von Zuständen an, wobei ein akzeptierend und der andere nicht-akzeptierend ist. Rekursiver Schritt Nimm ein ungekreuztes paar (q i, q j ) und versuche eine Eingabe a Σ zu finden, für die das Paar δ(q i, a) und δ(q j, a) angekreuzt wird. Dann kreuze (q i, q j ) an. Beispiel 2. Im Oberen DEA ergibt Schritt 1 q 1 q 2 q 3 q 0 q 1 q 2 Im Schritt 2 ergibt Eingabe a neue nicht-äquivalenzen : q 0 / q 1 und q 0 / q 3 : Hier endet der Algorithmus und ergibt q 1 q 2 q 3 q 0 q 1 q 2 und sonst nur q i q i. Beispiel 3. Der DEA q 1 q 3 A 0 1 E 1 0 B 1 0 F C G D H 0 ergibt B C D E F G H A B C D E F G Nur A E, H B und F D bleiben übrig. Satz 3. Der Algorithmus ist korrekt: nach endlich vielen Schritten endet er und dann gilt: ein Paar von zuständen ist äquivalent g.d.w. er nicht angekreuzt ist.

29 1.7. KONSTRUKTION EINES QUOTIENT-DEA 25 Beweis. Ein Automat von n Zuständen hat nur ( n ) verschiedene Paare und nach 2 so vielen Schritten endet der Algorithmus. Wir beweisen, dass (a) jedes angekreuzte Paar (q i, q j ) erfüllt q i / q j und (b) jedes nicht angekreuzte erfüllt q i q j. (a) Induktion in der Zahl k des Schrittes, wo das Paar angekreuzt wurde. Induktionsanfang: k = 0. Wenn q i akzeptierend ist und q j nicht, ist es klar, dass q i / q j gilt. Induktionsschritt: in Schritt k wird (q i, q j ) nur dann angekreuzt, wenn es ein in Schritt k 1 angekreuztes Paar (q i, q j ) gibt mit q i = δ(q i, a) und q j = δ(q j, a) für eine Eingabe a Σ. Nach Induktionsvorraussetzung gilt q i / q j. Aus Satz 1 folgt q i / q j. (b) Diese Aussage können wir so formulieren: wenn q i / q j, dann wird (q i, q j ) angekreuzt. Nehmen wir ein Wort w, das Zeuge von q i / q j ist. D.h., δ (q i, w) ist akzeptierend und δ (q j, w) nicht (oder umgekehrt). Wir beweisen, dass das Paar angekreuzt wird, per Induktion in der Länge k des Wortes w. Induktionsanfang: k = 0. D.h., w = ε und wir sehen, dass q i akzeptierend ist und q j nicht. Das Paar wird im ersten Schritt angekreuzt. Induktionsschritt: w = av mit v = k 1. Setzen wir q i = δ (q i, a) und q j = δ (q j, a). Dann gilt: δ (q i, v) = δ (q i, w) ist akzeptierend und δ (q j, v) = δ (q j, w) nicht: v q i a q i... q j a q j... v Da v = k 1, besagt die Induktionsvorraussetzung, dass (q i, q j ) angekreuzt wurde. Wenn dies im Schritt l passiert, wird (q i, q j ) im Schnitt l +1 angekreuzt. 1.7 Konstruktion eines Quotient-DEA Gegeben sei ein DEA. Wir berechnen die Äquivalenzrelation und bekommen einen neuen DEA Ā. Zustände: Äquivalenzklassen [q] von Zuständen von A, d.h. [q] Q ist die menge aller zu q äquivalenten Zustände. Übergänge: [q] Initialzustand: [q 0 ] a [r] g.d.w. q Akzeptierende Zustände: [q] mit q F. a s in A mit r s.

30 26 KAPITEL 1. ENDLICHE AUTOMATEN Beispiel 3 (Fortsetzung): 1 G 1 D, F A, E 1 0 B, H 0 1 C Satz 1. Der Quotient-DEA Ā akzeptiert dieselbe Sprache wie A. Beweis. Erstens, die Definition der Übergänge ist korrekt auf Grund von Satz 1: wenn die Klasse [q] durch einen anderen Zustand q dargestellt wird, d.h., q q, dann haben wir einen Übergang q a s in A von dem wir wissen, dass s s. Mit anderen Worten [r] = [s] = [s ]. Und wenn q ein akzeptierender zustand in A ist, sind alle zustände in [q] akzeptierend. Wir beweisen für jedes Wort w = a 1... a n, dass w von A akzeptiert wird, g.d.w. Ā es akzeptiert. Sei q 0 a 1 q 1 a 2... die Berechnung von w in A. Dann folgt aus der Definition von Ā, dass w die folgende Berechnung hat: [q 0 ] a 1 [q 1 ] a 2... a n q n a n [q n ] Dann akzeptiert A das Wort g.d.w. q n akzeptierend in A ist, dies ist dazu äquivalent, dass [q n ] ein akzeptierender Zustand von Ā ist, d.h., Ā das Wort akzeptiert. sectmin 1.8 Minimierung von Automaten Definition. Ein DEA heißt minimal wenn er (a) erreichbar ist und (b) paarweise nicht-äquivalente Zustände hat. Bemerkung 1. Bedingung (a) sagt, dass der DEA nicht durch wegwerfen von Zuständen minimiert werden kann. Bedingung (b) sagt, dass keine Minimierung durch Identifikation von Zuständen möglich ist. Zusammen bedeuten sie, wie wir unten beweisen, dass die Anzahl der zustände minimal ist. Beispiel 1. Der Brzozowsky DEA ist minimal. In der Tat, jeder zustand w 1 L wobei w = a 1... a n ist vom Initialzustand q 0 erreichbar: siehe Beobachtung in 1.5. Und für beliebige Zustände w 1 L v 1 L gibt es ein Wort u mit wu L und vu / L (oder umgekehrt) und dann führt die Eingabe u den Zustand zum akzeptierenden Zustand (wu) 1 L, während sie den Zustand v 1 L zum nicht-akzeptierenden Zustand (vu) 1 L führt. Deswegen sind die Zustände w 1 L und v 1 L nicht äquivalent.

31 1.8. MINIMIERUNG VON AUTOMATEN 27 Bemerkung 2. Die folgenden DEAs q 1 0 s 0 0,1 r 1 q ,1 q 2 q 1 1 sind, bis auf Umbenennung der Zustände, gleich. Im allgemeinen, gegeben DEAs A = (Q, Σ, δ, q 0, F ) und A = (Q, Σ, δ, q 0, F ) mit dem selben Eingangsalphabet Σ, sagen wir, dass sie bis auf Umbenennung der Zustände gleich sind, wenn es eine Bijektion (d.h. invertierbare Funktion) b Q Q zwischen den Zuständen gibt, sodass (a) für jeden Übergang wobei q = b(q) und r = b(r), (b) b(q 0 ) = q 0 und q a r in A gibt es den Übergang q a r in A, (c) q ist ein akzeptierender Zustand in A g.d.w. b(g) ein akzeptierender Zustand in A ist. Satz 1. Jeder minimale DEA ist bis auf Umbenennung der Zustände gleich dem Brzozowsky DEA. Beweis. Gegeben sei ein minimaler DEA A = (Q, Σ, δ, q 0, F ) mit Sprache L = L(A). Für jedes Wort w Σ bezeichnen wir durch q w den Zustand, den A bei Eingabe w erreicht. Wenn wir den Initialzustand von A zu q w ändern, bekommen wir den DEA A(q w ), der w 1 L akzeptiert: ein Wort u wird vom neuen DEA akzeptiert q 0... q w... q w u g.d.w. der Zustand q final ist, d.h., wenn wu L. Deswegen wenn q w = q v für zwei Worte gilt, sehen wir, dass w 1 L = v 1 L. Umgekehrt, wenn w 1 L = v 1 L, sind die Zustände q w und q v gleich, denn A ist minimal und q w q v. In der Tat, A(q w ) akzeptiert w 1 L, die selbe Sprache wie A(q, v). Deswegen haben wir eine Funktion b, die jedem Zustand w 1 L des Brzozowsky DEA den Zustand q w von A zuordnet. Ein Übergang w 1 a L (wa) 1 L in Brzozowsky s DEA entspricht einem Übergang q w a q wa in A. Der Initialzustand L wird zu b(l) = q ε = q 0 überführt: q 0 ist durch das leere Wort erreichbar. Und ein Zustand w 1 L ist akzeptierend g.d.w. w L, und dies bedeutet genau, dass q w akzeptierend in A ist. Folgerung 3. (Minimal = Zustand-minimal). Sei A ein minimaler DEA, der L akzeptiert und n Zustände hat. Jeder L akzeptierender DEA hat wenigstens n Zustände. Und wenn er genau n Zustände hat, ist er gleich A bis auf Umbenennung der Zustände.

THEORETISCHE INFORMATIK

THEORETISCHE INFORMATIK THEORETISCHE INFORMATIK Vorlesungsskript Jiří Adámek @ Institut für Theoretische Informatik Technische Universität Braunschweig Dezember 28 Inhaltsverzeichnis Endliche Automaten. Mathematische Grundbegriffe......................

Mehr

THEORETISCHE INFORMATIK I

THEORETISCHE INFORMATIK I THEORETICHE INFORMATIK I Vorlesungsskript Jiří Adámek Institut für Theoretische Informatik Technische Universität Braunschweig Juni 23 Inhaltsverzeichnis Endliche Automaten. Mathematische Grundbegriffe.......................

Mehr

Programmiersprachen und Übersetzer

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

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

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

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

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

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

Mehr

Grundbegriffe der Informatik

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

Mehr

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

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

Mehr

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

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

Mehr

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

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

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Grammatiken. Einführung

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

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Wortproblem für kontextfreie Grammatiken

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

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Vorlesung Theoretische Informatik

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

Mehr

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

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

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

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

Mehr

Theoretische Informatik I

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

Mehr

Mathematische Grundlagen der Informatik 2

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

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

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

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

Mehr

Das Briefträgerproblem

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

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

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

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

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Absolute Stetigkeit von Maßen

Absolute Stetigkeit von Maßen Absolute Stetigkeit von Maßen Definition. Seien µ und ν Maße auf (X, Ω). Dann heißt ν absolut stetig bezüglich µ (kurz ν µ ), wenn für alle A Ω mit µ(a) = 0 auch gilt dass ν(a) = 0. Lemma. Sei ν ein endliches

Mehr

Reguläre Sprachen Endliche Automaten

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

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also kann nur A ist roter Südler und B ist grüner Nordler gelten. Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

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

Mehr

Mengensysteme, Wahrscheinlichkeitsmaße

Mengensysteme, Wahrscheinlichkeitsmaße Kapitel 1 Mengensysteme, Wahrscheinlichkeitsmaße Der Großteil der folgenden fundamentalen Begriffe sind schon aus der Vorlesung Stochastische Modellbildung bekannt: Definition 1.1 Eine Familie A von Teilmengen

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 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/ws0809

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

WS 2009/10. Diskrete Strukturen

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

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Theorie der Informatik

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

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

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

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

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen 4.3.2 Zusammengesetzte Zufallsvariablen Beispiel 48 Ein Würfel werde zweimal geworfen. X bzw. Y bezeichne die Augenzahl im ersten bzw. zweiten Wurf. Sei Z := X + Y die Summe der gewürfelten Augenzahlen.

Mehr

Logische Folgerung. Definition 2.11

Logische Folgerung. Definition 2.11 Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Theoretische Informatik

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

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

a n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Wie löst man Mathematikaufgaben?

Wie löst man Mathematikaufgaben? Wie löst man Mathematikaufgaben? Manfred Dobrowolski Universität Würzburg Wie löst man Mathematikaufgaben? 1 Das Schubfachprinzip 2 Das Invarianzprinzip 3 Das Extremalprinzip Das Schubfachprinzip Verteilt

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Formale Sprachen und Grammatiken

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

Mehr

Was ist Sozial-Raum-Orientierung?

Was ist Sozial-Raum-Orientierung? Was ist Sozial-Raum-Orientierung? Dr. Wolfgang Hinte Universität Duisburg-Essen Institut für Stadt-Entwicklung und Sozial-Raum-Orientierte Arbeit Das ist eine Zusammen-Fassung des Vortrages: Sozialräume

Mehr

Grundbegriffe der Informatik

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

Mehr

4. Relationen. Beschreibung einer binären Relation

4. Relationen. Beschreibung einer binären Relation 4. Relationen Relationen spielen bei Datenbanken eine wichtige Rolle. Die meisten Datenbanksysteme sind relational. 4.1 Binäre Relationen Eine binäre Relation (Beziehung) R zwischen zwei Mengen A und B

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Grundbegriffe der Informatik

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

Mehr

Komplexität und Komplexitätsklassen

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

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode

Mehr

Sprachen/Grammatiken eine Wiederholung

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

Mehr

Grammatiken und die Chomsky-Hierarchie

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

Mehr

Analysis I für Studierende der Ingenieurwissenschaften

Analysis I für Studierende der Ingenieurwissenschaften Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

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

Mehr

Mathematische Maschinen

Mathematische Maschinen Mathematische Maschinen Ziel: Entwicklung eines allgemeinen Schemas zur Beschreibung von (mathematischen) Maschinen zur Ausführung von Algorithmen (hier: (partiellen) Berechnungsverfahren). Mathematische

Mehr

Algorithmen II Vorlesung am 15.11.2012

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

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 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/ws1314

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr

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

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

Mehr

Die Post hat eine Umfrage gemacht

Die Post hat eine Umfrage gemacht Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.

Mehr

Einführung in die Kodierungstheorie

Einführung in die Kodierungstheorie Einführung in die Kodierungstheorie Einführung Vorgehen Beispiele Definitionen (Code, Codewort, Alphabet, Länge) Hamming-Distanz Definitionen (Äquivalenz, Coderate, ) Singleton-Schranke Lineare Codes Hamming-Gewicht

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr