Formelsammlung theoretische Informatik I
|
|
|
- Adam Leon Frei
- vor 10 Jahren
- Abrufe
Transkript
1 Formelsammlung theoretische Informatik I <[email protected]> Stand: Version: Erhältlich unter Diese Formelsammlung basiert auf der Vorlesung Theoretische Informatik 1 von Prof. Dr. Heinrich Werner an der Universität Kassel im Sommersemester Die folgende Formelsammlung steht zum kostenlosen Download zur Verfügung. Das Urheberrecht und sonstige Rechte an dem Text verbleiben beim Verfasser, der keine Gewähr für die Richtigkeit und Vollständigkeit der Inhalte übernehmen kann. Inhaltsverzeichnis 1 Mathematische Grundlagen Alphabet und Symbole Definition Konkatenation Wort Länge eines Wortes Sprachen Definition Rechenregeln Relationen auf Sprachen Äquivalenzklassen & Index Komplexitätsfunktionen (O-Notation) 189 / AlgoDS Skript Seite Obere Schranke Untere Schranke Genaue Schranke Ergänzung Allgemeines zu Sprachen Grammatiken Definition Ableitungen Sprache einer Grammatik Darstellung von Ableitungen Chomsky-Hierarchie Typ 0 oder rekursiv aufzählbar
2 2 INHALTSVERZEICHNIS Typ 1 oder kontextsensitiv Typ 2 oder kontextfrei Typ 3 oder regulär Wortproblem Algorithmus zum Lösen des Wortproblems bei Typ 1 - Grammatiken Syntaxbäume Backus-Naur-Form Reguläre Sprachen (Typ 3) Deterministische (endliche) Automaten Definition Zustandsgraph Sprache eines DFA Grammatik zu einem gegebenen DFA Nichtdeterministische (endliche) Automaten Definition Zustandsgraph Sprache des NFA Vom NFA zum DFA - Potenzmengenkonstruktion Vom NFA zum DFA - effizientere Methode Von einer Grammatik zum NFA Reguläre Ausdrücke Das Pumping Lemma Äquivalenzrelation und Minimalautomat Definition Äquivalenzrelation Algorithmus Minimalautomat Abschlusseigenschaften Entscheidbarkeit Wortproblem Leerheitsproblem Endlichkeitsproblem Schnittproblem Äquivalenzproblem Kontextfreie Sprachen (Typ 2) Normalformen Chomsky Normalform Greifenbach Normalform Das Pumping Lemma (uvwxy-theorem) Satz für einelementige Alphabete Sprachen mit Wiederholungen Abschlusseigenschaften
3 4.4 Der CYK-Algorithmus Kellerautomaten Definition Von Grammatik zum Kellerautomaten Von Kellerautomaten zur Grammatik Deterministisch kontextfreie Sprachen Entscheidbarkeit Kontextsensitive Sprachen (Typ 1) und Typ 0 Sprachen Kuroda Normalform Turingmaschine Definition Linear Beschränkte Turingmaschinen Umwandlung TM in Grammatik und umgekehrt Abschlusseigenschaften Überblick über Sprachen und dazugehörige Werkzeuge Beschreibungsmittel (Nicht)Determinismus Abschlusseigenschaften Entscheidbarkeit Die hinter den Überschriften angegebenen Nummern beziehen sich auf die Seitenzahlen des Buches Theoretische Informatik - kurzgefasst von Uwe Schöning (4. Auflage). Grundlagen der Logik und der Mengenlehre sind in meiner Formelsammlung Mathe I/II für Informatiker nachzuschlagen. 3 1 Mathematische Grundlagen Alphabet und Symbole Definition Als Alphabet bezeichnen wir eine endliche, nicht-leere Menge Σ. Elemente aus w Σ heißen Zeichen oder Symbole. Σ = Menge aller Wörter, die sich aus Σ bilden lassen incl. leerem Wort ε Σ + = Menge aller Wörter, die sich aus Σ bilden lassen ohne ε Σ = Anzahl der verschiedenen Symbole in Σ (Mächtigkeit der Menge Σ) Konkatenation Sei ein Symbol für die Konkatenation, dann ist die algebraische Struktur (Σ, ) eine Halbgruppe mit neutralem Element, ein so genanntes Monoid. Abgeschlossenheit x Σ y Σ x y = xy Σ Assoziativität (x y) z = x (y z) = xyz neutrales Element ε x = x ε = x
4 4 1 MATHEMATISCHE GRUNDLAGEN Wort Ein Wort (mathm. ein Tupel) entsteht durch hintereinanderschreiben (Konkatenation) von Symbolen aus Σ. ε steht für das leere Wort (eine art neutrales Element). w n = ww...w } {{ } n mal (n N 0 ) w 0 = ε Länge eines Wortes Für ein Wort w bezeichnet w seine Länge, d.h. die Anzahl der in ihm enthaltenen Zeichen. ε = 0 uv = u + v w n = n w Diese Regeln haben eine gewisse Ähnlichkeit mit derer der Logarithmus Funktion. 1.2 Sprachen Definition Eine Teilmenge von Σ wird als Sprache Bezeichnet. (A Σ ) Rechenregeln Da es sich bei Sprachen um Mengen handelt, gelten für sie (fast) alle Operatoren und Regeln der Mengen. Eine Sprache lässt sich aus anderen Sprachen zusammensetzen (ähnlich Konkatenation). Dies bedeutet, das der ein Wort aus der neuen Sprache, aus den Teilen der anderen Sprachen zusammengesetzt wird. A 0 = {ε} A 1 = A A n+1 = AA n A i A j = A i+j ( A i) j = A ij A = n 0 A n A + = n 1 A n Menge aller Sprachen (Potenzmenge über Σ ) P (Σ ) = 2 Σ = {A A Σ }
5 1.3 Komplexitätsfunktionen (O-Notation) 189 / AlgoDS Skript Seite Relationen auf Sprachen 187 Eine zweistellige Relation zwischen a und b (arb) mit R Σ Σ ist wahr, wenn (a, b) R und falsch, wenn (a, b) / R. Hintereinandschreiben von Relationen: RS = {(x, y) z Σ : xrz zsz} R 0 = {x, x x Σ } = Identität R n+1 = RR n R = n 0 R n R + = n 1 R n R heißt reflexiv wenn: x Σ : xrx R heißt transitiv wenn: xry yrz xrz R ist die kleinste reflexive und transitive Relation, die R umfasst (die reflexive und transitive Hülle von R) kleiner als hoch geht es nicht, da R sonst nicht transitiv wäre (es muss jede Hintereinanderausführung von zwei Realtionen enthalten) R 0 muss enthalten sein, damit auch die Reflexivität gilt. R heißt symmetrisch wenn: xry yrx R heißt Äquivalenzrelation wenn: R ist reflexiv und transitiv und symmetrisch Äquivalenzklassen & Index Jedem Element aus dem Grundbereich (hier: Σ ) kann die Menge der Elemente zugeordnet werden, die zu x äquivalent sind. Diese werden mit [x] R bezeichnet. [x] R = {y yrx} = {y xry} Wenn R aus dem Kontext hervorgeht, schreiben wir auch einfach [x]. Diese Mengen heißen Äquivalenzklassen. Die Grundmenge Σ lässt sich in Äquivalenzklassen zerlegen: Σ = n k=0 [x k ] Index(R) = n Mit Index (R) bezeichnen wir die Anzahl der verschiedenen Äquivalenzklassen, die R hat. Index (R) ist die maximale Anzahl von Elementen x 1, x 2,...,x n,... mit (x i Rx j ) (i j) Falls Index (R) < gilt, so sagen wir: R hat einen endlichen Index 1.3 Komplexitätsfunktionen (O-Notation) 189 / AlgoDS Skript Seite 13 Diese dienen zum abschätzen des (asymptotischen) Verhaltens einer Funktion. Eigentlich werden hiermit Mengen von Funktionen angegeben, aber es hat sich eingebürgert trotzdem = zu schreiben (wenn das O rechts steht). Z.B: 5n n = O ( n 2)
6 6 2 ALLGEMEINES ZU SPRACHEN Obere Schranke O (g (n)) = {f (n) c > 0 n 0 > 0 n > n 0 : 0 f (n) cg (n)} Untere Schranke Ω (g (n)) = {f (n) c > 0 n 0 > 0 n > n 0 : 0 cg (n) f (n)} Genaue Schranke θ (g (n)) = O (g (n)) Ω (g (n)) Wenn die Untere und Obere Schranke übereinstimmen, kann man dies als Genaue Schranke angeben Ergänzung o(g (n)) = {f (n) c > 0 n 0 > 0 n > n 0 : 0 f (n) < cg (n)} Gibt eine Funktion an, die auf jeden Fall größer ist als die Eingabefunktion. Sie ist also von einem Höheren Grad als O (g (n)). 2 Allgemeines zu Sprachen 2.1 Grammatiken Definition 13 Eine Grammatik ist ein 4-Tupel G = (V, Σ, P, S), das folgende Bedingungen erfüllt. V ist eine endliche Menge, die Menge der Variablen Σ ist eine endliche Menge, das Terminalalphabet V Σ = S V Startsymbol P ist die endliche Menge der Produktionen oder Regeln. Formal: P (V Σ) + (V Σ) ist endlich. l r P : l V 1 Seien u, v (V Σ). Wir definieren die Relation u G v (u geht unter G unmittelbar über in v), falls x,y (V Σ) : u = xyz v = xy z (y y ) P Wenn klar, ist welche Grammatik gemeint ist, so schreiben wir einfach u v Beispiel für Schreibweise (mit erweiterter Schreibweise / Backus-Naur-Form): G := (V, Σ, P, S) V := {S, N, Z} Σ := {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,, ǫ} P := {S ZN; Z ǫ ; N N N}
7 2.2 Chomsky-Hierarchie Ableitungen 14 Eine Folge von Wörtern (w 0, w 1,...,w n ) mit w 0 = S, w n Σ und w 0 w 1... w n heißt Ableitung von w n. Ein Wort w (V Σ), das also noch Variablen enthält (wie es typischerweise im Verlauf einer Ableitung vorkommt) heißt auch Satzform. Ein Wort w (Σ), das ausschließlich Terminale enthält heißt auch Terminalwort. Ableiten ist ein nichtdeterministischer Prozess (es steht im allgemeinen nicht fest, auf was etwas abgeleitet werden muss) Sprache einer Grammatik 14 Die von G = (V, Σ, P, S) dargestellte (erzeugte, definierte) Sprache ist: L (G) = {w Σ S G w} Dies bedeutet, das man mit einer beliebigen Kombination von Ableitungen, irgendwie zu dem Wort w kommen können muss Darstellung von Ableitungen 16 Graphisch kann man sich das Ableiten wie ein endlich verzweigter, aber im allgemeinen unendlich großen Baum vorstellen. Mit S als Wurzel, und Wörtern der Sprache als Blätter. 2.2 Chomsky-Hierarchie 17 Die Menge aller Grammatiken (und der dazugehörigen Sprachen) lässt sich in folgende Kategorien unterteilen. Die Sprachen werden abgekürzt mit L n. Dabei gilt: P (Σ ) L 0 L 1 L 2 L Typ 0 oder rekursiv aufzählbar Jede Grammatik ist automatisch vom Typ 0. Es gibt hier also keine Einschränkungen. (Außer das es eine korrekte Grammatik sein muss) sind nicht entscheidbar (ob ein Wort in der Sprach liegt oder nicht, siehe Wortproblem) Typ 1 oder kontextsensitiv wenn: (w1 w2) P : w 1 w 2 Typ 1 Grammatiken sind monoton, das heißt, das die Satzformen nie kürzer werden können. ε / L 1 gilt nach der aktuellen Definition. Wenn dies doch erwünscht, dann muss folgende Sonderregel erlaubt werden: (S ε) P wenn gilt: (l r) P : r S falls S doch auf rechten Seiten vorkommt, einfach ein neues S definieren, als neue Startvariable benutzen, und folgende Regeln aufnehmen: (S S);(S ε)
8 8 2 ALLGEMEINES ZU SPRACHEN Typ 2 oder kontextfrei wenn: (w1 w2) P : w 1 V Wenn Regeln der Form A ε existieren kann man diese aus Grammatik entfernen um sie kontextfrei zu machen, indem die Regeln entsprechend angepasst werden. (Buch S. 19): Zerlegen der Menge der Variablen V in V 1 und V 2, so dass für alle A V 1 (und nur für diese) gilt A ε. Dabei wie folgt vorgehen: Wenn (A ε) P, so ist A V 1 Weitere Variablen findet man sukzessive dadurch, dass es in P eine Regel B A 1... A k, k 1, gibt mit A i V 1 (i = 1,...,k). Nach endlich vielen Schritten hat man V 1 gefunden Entfernen der Form (A ε) P und fügen für jede Regel der Form B xay mit B V, A V 1, xy (V Σ) + eine weitere Regel der Form B xy zu P hinzu. Dies muss entsprechend oft durchgeführt werden. Ergebnis ist eine von ε-regeln befreite Grammatik G Wenn ein Wort x auf verschieden Arten erzeugt werden kann, ist die Grammatik mehrdeutig. Eine kontextfreie Sprache A heißt inhärent mehrdeutig, wenn jede Grammatik mit L (G) = A mehrdeutig ist Typ 3 oder regulär wenn: (w1 w2) P : w 1 V w 2 (Σ ΣV ) Es gibt keine reguläre Sprache, die inhärent Mehrdeutig ist 2.3 Wortproblem 21 Das Wortproblem für Typ 1-Sprachen (und damit auch für Typ 2,3) ist entscheidbar. Es gibt einen Algorithmus, der bei Eingabe einer kontextsensitiven Grammatik G = (V, Σ, P, S) und eines Wortes x Σ in endlicher Zeit entscheidet, ob x L (G) oder x / L (G) Algorithmus zum Lösen des Wortproblems bei Typ 1 - Grammatiken Vorweg zur Notation: Bei Tn m handelt es sich um die Menge aller Satzformen, die maximal m Symbole haben, und in maximal n Ableitungsschritten aus dem Startsymbol S ableitbar sind. Um das Wortproblem für ein Wort w Σ mit der Länge w = m zu lösen, muss geprüft werden, ob es in der Menge Tn m (mit genügend großem n) enthalten ist. T n m lässt sich wie folgt konstruieren: Die nullte Ableitung ist hier als identische Ableitung definiert. D. h., dass nur S selber als Element der Menge T0 m infrage kommt: T0 m = {S} Die folgenden Schritte können nun alle nach dem gleichen (iterativen) Schema ablaufen, und zwar solange, bis keine Änderung an T m n mehr auftritt (T m n = T m n+1 ). Nehme die letzte Menge (Tn 1), m und ziehe die vorletzten Menge (Tn 2) m und alle Terminalwörter ab bilde alle Ableitungen dieser Menge. Dies Vereinigt mit der letzten Menge (Tn 1) m ergibt die neue Menge (Tn m ) das ganze Formal: Tn+1 m = T n m Abl ( m T m n \ ( Tn 1 m Σ )) Unter Abl m (X) versteht man die Menge aller Ableitungen von Elementen aus X die maximal m Symbole besitzen. Formal 1 : Abl m (X) = Das Wortproblem für w ist nun gelöst: w T m n w L (G) Dieser Algorithmus hat eine Laufzeit von O (c n ) } {w (V Σ) w m w X : w w 1 Diese Definitionen entsprechen nicht ganz den Angaben in der Literatur, sind aber leichter handhabbar, da die Ableitung nur für eine viel kleiner Menge durchgeführt werden muss.
9 2.4 Syntaxbäume Syntaxbäume 23 Einer Ableitung eines Wortes x in einer Typ 2 (oder 3) Grammatik G kann man einen Syntaxbaum oder Ableitungsbaum zuordnen. Sei x L (G) und sei S x 0 x 1... x n = x eine Ableitung eines Wortes x. Um den Baum zu erstellen gehe wie folgt vor: Beschrifte die Wurzel des Syntaxbaumes mit der Startvariable S Für i = 1,...,n gehe man wie folgt vor: Falls im i-ten Ableitungsschritt (also beim Übergang von x i 1 nach x i ) gerade die Variable A durch ein Wort z ersetzt wird (wegen (A Z) P): Sehe im Syntaxbaum z viele Söhne von A vor beschrifte diese mit den einzelnen Zeichen von z Auf diese Weise erhält man eine Baum mit den Symbolen aus x an den Blättern. Verschiedene Ableitungen können den selben Syntaxbaum besitzen Linksableitung: Immer am weitesten Links stehende Variable zuerst ableiten Rechtsableitung: Immer am weitesten Rechts stehende Variable zuerst ableiten Für ein und das selbe Wort kann es verschiedene Syntaxbäume geben. Die Grammatik ist dann mehrdeutig. Eine kontextfreie Sprache A heißt inhärent mehrdeutig, wenn jede Grammatik mit L (G) = A mehrdeutig ist. 2.5 Backus-Naur-Form 25 Hierbei handelt es sich um einen Formalismus zum kompakten niederschreiben von Typ 2-Grammatiken. Kurz BNF. Folgende neue Schreibweisen für Produktionen werden eingeführt: Metaregel ( = Metasymbol) A β 1 ; A β 2 ;... ; A β n = A β 1 β 2... β n Folgende Schreibweisen gehören zusätzlich zur erweiterten BNF (EBNF): Eventueller Teil: A α [β] γ = A αβγ; A αγ Beliebig häufige Wiederholung: A α {β} γ = A αγ; A αbγ; B β; B βb Durch die (E)BNF werden exakt die Typ 2 - Sprachen dargestellt. 3 Reguläre Sprachen (Typ 3) Deterministische (endliche) Automaten Definition 27 Ein deterministischer (endlicher) Automat, kurz DFA (deterministic finite automation), wird auf ein Eingabewort angesetzt und erkennt, bzw. akzeptiert dieses Wort, oder auch nicht. Ein DFA M wird spezifiziert durch ein 5-Tupel M = (Z, Σ, δ, z 0, E)
10 10 3 REGULÄRE SPRACHEN (TYP 3) 27 Z Menge der Zustände Σ Eingabealphabet Z Σ = z 0 Z Startzustand E Z Menge der Endzustände δ : Z Σ Z (Zustands-)Überführungsfunktion Zustandsgraph 27 Darstellen lässt sich ein Automat durch einen Zustandsgraphen, (gerichtet und beschrifteter Graph) der sich wie folgt konstruieren lässt: Zeichne für jeden Zustand z n aus der Menge z n Z einen Kreis, und beschrifte ihn mit z n Umkreise alle Kreise (doppelt Umkreisen) die einen z n E Endzustand enthalten Markiere den Startzustand z 0 mit einem nicht beschrifteten Pfeil der auf ihn Zeigt (entspringt aus dem Nichts) Für jede Überführungsvorschrift: δ (z n, a) = z m Zeichen einen Pfeil von z n nach z m (wenn noch nicht vorhanden) beschrifte ihn (zusätzlich) mit a Sprache eines DFA 29 Zu einem gegebenen DFA M = (Z, Σ, δ, z 0, E) definieren wir eine Funktion ˆδ : Z Σ Z durch eine induktive Definition wie folgt (erweitert die Definition von σ von Einzelzeichen zu ganzen Wörtern): Mit z Z, x Σ, a Σ ˆδ (z, ε) = ˆδ (z, ax) = z ˆδ (δ (z, a),x) Die Menge der akzeptierten Wörter bildet die durch den Automaten dargestellte oder definierte Sprache: { } T (M) = x Σ ˆδ (z 0, x) E eine Sprache L wird durch einen endlichen Automaten erkannt die Sprache ist regulär (L L 3 ) das lösen des Wortproblems ist mit Hilfe eines DFA in O (n) möglich Grammatik zu einem gegebenen DFA 30 Aus einem DFA M = (Z, Σ, δ, z 0, E) lässt sich wie folgt eine (reguläre / Typ 3) Grammatik G = (V, Σ, P, S) konstruieren: Σ die Mengen der Terminale sind gleich Z = V die Menge der Variablen entspricht der Menge der Zustände S = z 0 die Startvariable ist der Startzustand des Automaten Für jede Überführungsvorschrift: δ (z n, a) = z m falls z m E:
11 3.2 Nichtdeterministische (endliche) Automaten 11 füge eine Produktion (z n a) zu P (der Menge der Produktionen) hinzu wenn es eine Regel in σ gibt, die von z m fortführt ( z k Z : b Σ : δ (z m, b) = z k ) füge eine Produktion (z n az m ) zu P (der Menge der Produktionen) hinzu falls z m / E: füge eine Produktion (z n az m ) zu P (der Menge der Produktionen) hinzu M und G beschreiben die gleiche Sprache: T (M) = L (G) 3.2 Nichtdeterministische (endliche) Automaten Definition 30 Bei einem nichtdeterministischen (endlichen) Automaten (NFA nondeterministic finite automation) ist es zugelassen, dass vom selben Zustand z Z aus mehrere (oder auch garkeine) Pfeile ausgehen, die mit a Σ beschriftet sind. Ein NFA M ist ein 5-Tupel M = (Z, Σ, δ, S, E): Z Zustandsmenge (endlich) Σ Eingabealphabet (endlich) Z Σ = δ : Z Σ P (Z) (Zustands-)Überführungsfunktion S Z Startzustandsmenge E Z Endzustandsmenge Zustandsgraph Vom Prinzip her wie beim DFA (siehe auf der vorherigen Seite). Einzige Unterschiede sind: Es gibt mehrere Startsustände Es kann von einem Zustand zwei Pfeile mit der gleichen Beschriftung zu unterschiedlichen Zuständen geben Sprache des NFA 31 Zu einem gegebenen NFA M = (Z, Σ, δ, S, E) definieren wie eine Funktion ˆδ : P (Z) Σ P (Z) durch eine induktive Definition wie folgt (erweitert die Definition von σ von Einzelzeichen zu ganzen Wörtern): ˆδ (Z, ε) = Z Z Z ˆδ (Z, ax) = z Z ˆδ (δ (z, a),x) Die Menge der akzeptierten Wörter bildet die durch den NFA akzeptierte Sprache: { } T (M) = x Σ ˆδ (S, x) E eine Sprache L wird durch einen endlichen Automaten erkannt die Sprache ist regulär (L L 3 ) Jede von einem NFA akzepierbare Sprache ist auch durch einen DFA akzeptierbar
12 12 3 REGULÄRE SPRACHEN (TYP 3) Vom NFA zum DFA - Potenzmengenkonstruktion 32 Sei M = (Z, Σ, δ, S, E) ein gegebener NFA. Wir konstruieren einen DFA M = (Z, Σ, δ, z 0, E ), der ebenfalls die gleiche Sprache erkennt T (M) = T (M ) wie folgt (der neue DFA hat Mengen als Zustände): Terminalalphabet Σ bleibt unverändert. Z = P (Z) die neuen Zustände sind alle möglichen Teilmengen der alten Zustandsmenge z 0 = S die Startzustandsmenge ist der neue Startzustand E = {Z Z Z E } Alle Zustandsmengen, die Endzustände enthalten sind auch neue Endzustände δ (Z k, a) = z Zk δ (z, a) = ˆδ (Z k, a) (Z k Z ) Das Bild eines Urbildes, ist die Menge von allen möglichen Ableitungen von Elementen aus dem Urbild. Hierbei entstehen in der Regel sehr viele unnötige Zustände und Überführungsfunktionen. Besser ist den Algorithmus aus zu nutzen. Der Laufzeitkomplexität ist dieses Algorithmus ist O (c n ) Vom NFA zum DFA - effizientere Methode Bei folgenden Algorithmus bietet es sich an, zunächst einen Graphen von M zu zeichnen, und anhand diesem den Graphen von M anhand des Algorithmusses zu erstellen. Diesen Graphen sollte man dann erst zum Schluss als Funktion nierderschreiben. Sei M = (Z, Σ, δ, S, E) ein gegebener NFA. Wir konstruieren einen DFA M = (Z, Σ, δ, z 0, E ), der ebenfalls die gleiche Sprache erkennt T (M) = T (M ) wie folgt (der neue DFA hat Mengen als Zustände): Terminalalphabet Σ bleibt unverändert. z 0 = S die Startzustandsmenge ist der neue Startzustand Folgendes solange ausführen, bis sich an δ und Z nichts mehr ändert. Für jedes Element z x Z : Für jedes Terminal t Σ: Bestimme für jedes Element a der Menge die den akt. Zustand z x bildet, die Menge der neuen Zustände bezüglich dem Terminal t. a zx {b Z δ (a, t) = b} Fasse diese zu einer neuen Menge z neu zusammen. z neu = a zx {b Z δ (a, t) = b} Wenn z neu noch nicht in Z enthalten (z neu / Z ), füge es in die Zustandsmenge Z hinzu. Z {z neu } Wenn die Menge z neu ein Endzustand aus E enthält und z neu noch nicht in E enthalten ist ( ( a z neu : a E ) z neu / E ), dann füge z neu der Menge E hinzu. Wenn es in δ noch keine Regel der Gestalt δ (z x, t) = z neu gibt, ergänze diese. Der Laufzeitkomplexität ist dieses Algorithmus ist O (c n ) Von einer Grammatik zum NFA 35 Für jede reguläre Grammatik G = (V, Σ, P, S) (Typ 3) gibt es einen NFA M = (Z, Σ, δ, S, E) mit L (G) = M (G). Diese lässt sich wie folgt konstruieren: Z = V {X}, X / V Die Zustandsmenge besteht aus der Menge der Variablen, zuzüglich einer neuen Variable (hier X)
13 3.3 Reguläre Ausdrücke S = {S} Der Startzustand ist die Menge, die nur die Startvariable enthält { {S, X}, (S ε) P E = {X}, (S ε) / P Die Menge der Endzustände enthält X und wenn es eine Produktion der Form (S ε) P gibt zusätzlich auch noch S B δ (A, a), (A ab) P Erstelle für alle Produktionen der Form (A ab) P eine Regel für δ mit B δ (A, a) X δ (A, a), (A a) P Erstelle für alle Produktionen der Form (A a) P eine Regel für δ mit X δ (A, a) Der Laufzeitkomplexität ist dieses Algorithmus ist O (n). 3.3 Reguläre Ausdrücke 36 Reguläre Ausdrücke sind spezielle Formen, mit denen (reguläre / Typ 3) Sprachen definiert werden können. Folgendes sind reguläre Ausdrücke (mit jeweils den von Ihnen beschriebenen Sprachen): γ = L (γ) = γ = ε L (γ) = {ε} a Σ : γ = a L (γ) = {a} γ = αβ L (γ) = L (α) L (β) γ = (α β) L (γ) = L (α) L (β) γ = (α) L (γ) = L (α) Jedem regulären Ausdruck lässt sich ein NFA (und dadurch auch DFA) zuordnen, der die gleiche Sprache beschreibt. 3.4 Das Pumping Lemma 39 Das Pumping Lemma (Schleifenlemma, Lemma von Bar-Hillel, uvw-theorem) ist ein wichtiges Hilfsmittel, um zu Zeigen, das eine Sprache nicht regulär ist. Sei L eine reguläre Sprache. Dann gibt es eine Zahl n, so dass sich alle Wörter x L mit x n zerlegen lassen in x = uvw, so dass folgende Eigenschaften erfüllt sind: v 1 uv n i 0 : uv i w L Es gibt auch Sprachen die das Pumping Lemma erfüllen, und nicht regulär sind. Das bedeutet, das mit dem Pumping Lemma nur das nicht regulärsein von Sprachen gezeigt werden kann. Umgekehrt gilt: L L 3 [ n N : ( x L x n : ( u,v,w Σ x = uvw v 1 uv n : ( i 0 : ( uv i w L ))))] [ n N : ( x L x n : ( u,v,w Σ x = uvw v 1 uv n : ( i 0 : ( uv i w / L ))))] L / L 3 Eine Sprache, bei der mehrere Exponenten in irgendwelchen Beziehungen zueinander stehen, sind (laut Pumping Lemma) nicht regulär.
14 14 3 REGULÄRE SPRACHEN (TYP 3) Äquivalenzrelation und Minimalautomat Definition Äquivalenzrelation 42 Es gilt xr L y genau dann, wenn für alle Wörter z Σ gilt: xz L yz L: (xr L y) ( z Σ : xz L yz L) Mit Hilfe von R L wird die Sprache L in disjunkte Äquivalenzklassen unterteilt. Wenn der Index von R L (Index (R L ) ist die Anzahl solcher Äquivalenzklassen, siehe auf Seite 5) endlich ist, ist L eine reguläre Sprache: (Index(R L ) < ) L L Algorithmus Minimalautomat 46 Gegeben sei ein DFA M = (Z, Σ, δ, z 0, E), der nach folgenden Algorithmus in eine Zustandsminimalen DFA M = (Z, Σ, δ, z 0, E ) überführt wird. entferne alle Zustände aus Z die vom Startzustand aus nicht erreicht werden können. Stelle eine Kreuztabelle aller Zustandspaare {z, z } mit z z von M auf (entspricht einer quadratischen Matrize, von der nur das ober/unter Dreieck ohne die Hauptdiagonale genommen wurde) Markiere alle Paare {z, z } mit z E und z / E (oder umgekehrt). Wiederhole folgendes, bis sich keine Änderung in der Tabelle mehr ergibt Für jedes noch unmarkierte Paar {z, z } und jedes a Σ (es reicht, das dies für ein Terminal gilt) teste, ob {δ (z, a),δ (z, a)} bereits markiert ist. Wenn ja: markiere auch {z, z } Alle jetzt noch unmarkierten Paare können jeweils zu einem Zustand verschmolzen werden. Das heißt, das man wenn z.b. das Paar (z, z ) nicht markiert ist, wird für beide zusammen ein neuer Zustand geschaffen. Dieser Algorithmus hat (bei geeigneter Implementierung (siehe Hopcroft/Ullmann)) die Laufzeitkomplexität O ( n 2) 3.6 Abschlusseigenschaften 48 Die regulären Sprachen sind abgeschlossen unter: Vereinigung L (G 1 ) L (G 2 ) Schnitt Wort muss in beiden Sprachen vorkommen Komplement Bei Grammatik: Endzustände ersetzen gegen Variablen ohne die alten Endzustände Produkt Konkatenation der Wörter aus den einzelnen Sprachen L (G 1 )L(G 2 ) Stern Wiederholen der Wörter Umkehrschluss nicht möglich: Wenn nichtreguläre Sprachen kombiniert werden, kann das Resultat trotzdem eine reguläre Sprache sein. Das einzige was sich Aussagen lässt ist, dass wenn eine Sprache nicht Regulär ist, mindestens eine Ihrer Komponenten auch nicht regulär war.
15 3.7 Entscheidbarkeit Entscheidbarkeit Wortproblem Das Wortproblem (gegeben: x, gefragt: ist x L (G) bzw. x T (M)) ist mit Hilfe eines DFA leicht möglich. Verfolge einfach Zeichen für Zeichen die Zustandsübergänge im Automaten, die durch die Eingabe x hervorgerufen werden. Falls ein Endzustand erreicht wird, liegt x in der Sprache. Die Laufzeitkomplexität beträgt hier O (n) Leerheitsproblem Das Leerheitsproblem stellt bei gegebenem G (bzw. M) die Frage, ob L (G) = (bzw. T (M) = ). Sei M ein gegebener Automat für die Sprache. T (M) ist genau dann leer, wenn es keinen Pfad vom (einem) Startzustand zu einem Endzustand gibt Endlichkeitsproblem Das Endlichkeitsproblem stellt bei gegebenem G (bzw. M) die Frage, ob L (G) < (bzw. T (M) < ), also ob die definierte Sprache endlich oder unendlich ist. Hier gibt es zwei Verfahren: Sei n die Pumping Lemma (siehe 3.4 auf Seite 13) Zahl zu L. Es gilt: L = x L : x n x < 2n Diese Argument verläuft so, dass alle Wörter der Länge n und < 2n auf Mitgliedschaft in L geprüft werden müssen. Die Laufzeitkomplexität beträgt O (c n ) Es ist T (M) = genau dann, wenn es in dem von Startzustand erreichbaren Teilgraphen einen Zyklus gibt, und wenn von diesem Zyklus aus ein Endzustand erreichbar ist. z0 Startzustand : z1 Zustand : z2 Endzustand : z 0 z 1 + z 1 z 2 wesentlich effizienter als erste Methode Schnittproblem Das Schnittproblem stellt bei gegebenen G 1, G 2 (bzw. M 1, M 2 ) die Frage, ob L (G 1 ) L (G 2 ) = (bzw. T (M 1 ) T (M 2 ) = ). Hierfür muss man eine Sprache (Grammatik) konstruieren, die aus G 1 und G 2 hervorgeht, und die beide Grammatiken sozusagen simultan durchläuft. Hiermit ist dieses Problem auf das Leerheitsproblem zurückgeführt Äquivalenzproblem Das Äquivalenzproblem stellt bei gegebene G 1, G 2 (bzw. M 1, M 2 ) die Frage, ob L (G 1 ) = L (G 2 ) (bzw. T (M 1 ) = T (M 2 )). Hierzu gibt es mehrere Lösungsmöglichkeiten: Per Minimalautomat: Wenn Sprachen nicht als DFA s vorliegen, diese dahingehend transformieren. Jeweils den Minimalautomaten konstruieren Diese auf Isomorphie (Umbenennung der Variablen) untersuchen, wenn ja, dann sind die Sprachen gleich. Rückführung auf Leerheitsproblem: L 1 = L 2 ( L 1 L 2 ) ( L1 L 2 ) = Am Effizientesten ist die Methode des Minimalautomaten, wenn die Sprache bereits als DFA vorliegt. Allgemein ist das Problem NP-hart, hat also eine Laufzeitkomplexität von O (c n ).
16 16 4 KONTEXTFREIE SPRACHEN (TYP 2) 51 4 Kontextfreie Sprachen (Typ 2) 51 Werden gebraucht, um korrekt geklammerte Ausdrücke zu erstellen. 4.1 Normalformen 52 Für die Normalformen müssen folgende Regeln gelten (durch Umformungen erreichbar): ε-regeln entfernen (siehe auf Seite 8) Kettenregeln (A B) entfernen Bestimme äquivalente Variable: A B gdw. A B und B A [A] := {B V A B} Wähle ein B 0 [A]aus, uns ersetze alle Vorkommen von B [A] durch B 0 Sei V = {A 1, A 2,..., A n } die aktuelle Menge der Variablen, und zwar so sortiert, dass aus (A i A j ) P folgt i < j Wir gehen nun von von hinten nach vorne vor und eliminieren für k = n 1,..., 1 alle Regeln der Form (A k A k ),k > k. Seien die Regeln, mit A k auf der linken Seite, gegeben durch A k x 1 x 2... x k. Wir fügen dann die Regeln A k x 1 x 2... x k hinzu Chomsky Normalform 53 Zu jeder kontextfreien Grammatik G mit ε / L (G) existiert eine Chomsky Normalform (CNF). Die Chomsky Normalform liegt vor, wenn alle Regeln eine der folgenden Formen haben: A AB A a Ist w L (G), so gilt: S 2 w 1 G w Ein Algorithmus für die Umformung findet sich im Buch (vorher Kettenregeln, und ε-regeln entfernen!) Greifenbach Normalform 54 Zu jeder kontextfreien Grammatik G mit ε / L (G) existiert eine Greifenbach Normalform. Diese liegt vor, wenn alle Regeln eine der folgenden Formen haben: A ab 1 B 2...B k (k 0) Die Greifenbach Grammatik ist eine Erweiterung der regulären Grammatik, dort wäre nur k = 0 und k = 1 zugelassen. Ein Algorithmus für die Umformung findet sich im Buch.
17 4.2 Das Pumping Lemma (uvwxy-theorem) Das Pumping Lemma (uvwxy-theorem) 56 Sei L eine reguläre Sprache. Dann gibt es eine Zahl n N, sodass sich alle Wörter z L mit z n zerlegen lassen als x = uvwxy mit folgenden Eigenschaften: 1. vx 1 2. vwx n 3. i 0 : uv i wx i y L L L 2 [ n N : ( z L z n : ( u,v,w,x,y Σ z = uvwxy vx 1 vwx n : ( i 0 : ( uv i wx i y L ))))] Das Pumping Lemma (Schleifenlemma, Lemma von Bar-Hillel, uvwxy-theorem) ist ein wichtiges Hilfsmittel, um zu Zeigen, das eine Sprache nicht regulär ist. Die Kontraposition lautet wie folgt: [ n N : ( z L z n : ( u,v,w,x,y Σ z = uvwxy vx 1 vwx n : ( i 0 : ( uv i wx i y / L ))))] L / L Satz für einelementige Alphabete 62 Jede kontextfreie Sprache über einem einelementigen Alphabet ist bereits regulär Sprachen mit Wiederholungen Eine Sprache, bei der keine Exponenten in irgendwelchen Beziehungen zueinander stehen, sind (laut Pumping Lemma) regulär. Eine Sprache, bei der genau zwei Exponenten in irgendwelchen Beziehungen zueinander stehen, sind (laut Pumping Lemma) Kontext frei. Eine Sprache, bei der drei oder mehr Exponenten in irgendwelchen Beziehungen zueinander stehen, sind (laut Pumping Lemma) Kontext sensitiv. 4.3 Abschlusseigenschaften 62 Die kontextfreien Sprachen sind abgeschlossen unter: Vereinigung L (G 1 ) L (G 2 ) Produkt Konkatenation der Wörter aus den einzelnen Sprachen L (G 1 )L(G 2 ) Stern Wiederholen der Wörter Umkehrschluss nicht möglich: Wenn nicht kontextfreie Sprachen kombiniert werden, kann das Resultat trotzdem eine kontextfreie Sprache sein. Das einzige was sich Aussagen lässt ist, dass wenn eine Sprache nicht kontextfreie ist, mindestens eine Ihrer Komponenten auch nicht kontextfrei war. Der Durchschnitt einer (deterministischen) kontextfreien Sprache mit einer regulären Sprache ist wieder (deterministisch) kontextfrei
18 18 4 KONTEXTFREIE SPRACHEN (TYP 2) Der CYK-Algorithmus 64 Der CYK-Algorithmus (Cocke, Younger, Kasami) ist eine Möglichkeit das Wortproblem für kontextfreie Sprachen zu lösen. Dafür muss die Grammatik in der Chomsky Normalform vorliegen (gegeben falls umformen). 1. Erstelle eine Tabelle, deren Zeilenanzahl z gleich der Länge des Wortes w ist, für das dass Wortproblem gelöst werden soll. Die Spaltenanzahl s ist um eins höher. 2. Trage in die erste Zeile die einzelnen Terminale von w ein. 3. Trage in die Zweite Spalte alle Variablen ein, aus denen man die Variablen oberhalb von ihnen ableiten kann. 4. Fülle die restlichen Zellen nun zeilenweise aus. Beachte, das man in der j ten Zeile immer nur die ersten w j + 1 Zellen ausfüllen braucht (kann). (a) in die Aktuelle Zelle x j,i kommen alle Variablen V hinein, aus denen man AB ableiten kann (V AB), wobei A ein Element der Menge aller Zelleninhalte oberhalb ( ) von x j,i und B ein Element der Menge aller Zelleninhalte diagonal rechts oberhalb (ր) von x j,i ist. 5. Wenn das Startsymbol S ein Element der ersten Zelle der letzten Zeile ist, dann ist w L (G) ansonsten w / L (G). 4.5 Kellerautomaten Definition 67 Ein (nichtdeterministischer) Kellerautomat, kurz PDA (pushdown automation), wird auf ein Eingabewort ist eine Erweiterung von DFA / NFA um das einen Keller als Speicher. Ein PDA M wird spezifiziert durch ein 6-Tupel M = (Z, Σ, Γ, δ, z 0, #) Z endliche Menge der (internen) Zustände Σ endliches Eingabealphabet Γ endliches Kelleralphabet z 0 Z Startzustand δ : Z (Σ {ε}) Γ P e (Z Γ ) Überführungsfunktion z.b. (z, B 1...B k ) δ (z, a, A) (z, B 1... B k ) δ (z, ǫ, A) spontaner Zustandswechsel ohne lesen eines neuen Terminals # Γ das unterste Kellersymbol Eine Konfiguration k eines Kellerautomaten ist durch ein Tripel k Z Σ Γ gegeben. Startkonfiguration zur Eingabe x Σ : (z 0, x, #) Die Rechenschrittrelation ist wie folgt definiert: (z, a 1... a n, A 1... A m ) { (z, a 2... a n, B 1...B k A 2...A m ) (z, B 1... B k ) δ (z, a 1, A 1 ) (z, a 1 a 2...a n, B 1... B k A 2... A m ) (z, B 1...B k ) δ (z, ε, A 1 ) es wird immer in Abhängigkeit vom obersten Symbol auf dem Stack, dem akt. internen Zustand, und eventuell (wenn es eine Regel mit einem ε an zweiter Stelle gibt, dann nicht) dem Eingabeterminal ein neuer interner Zustand und ein Satz an Symbolen bestimmt, die auf den Stack gelegt werden, nachdem das oberste Symbol auf dem Stack entfernt wurde.
19 4.5 Kellerautomaten ) k k ( m 0 : k 0, k 1,..., k m : k = k 0 k = k m i [0,m 1] : k i k i+1 Die von M (durch leeren Keller) akzeptierte Sprache ist: N (M) = {x Σ z Z : (z 0, x, #) (z, ε, ε)} L kontextfrei L wird von einem nichtdeterministischen Kellerautomaten akzeptiert Zu jedem PDA M gibt es einen PDA M mit nur einem Zustand, sodass N (M) = N (M ) gilt durch Transformation in Grammatik, und anschließende Rücktransformation Von Grammatik zum Kellerautomaten 72 Gegeben ist eine kontextfreie Grammatik G = (V, Σ, P, S) (Chomskynormalisierung nicht erforderlich, sogar eher kontraproduktiv, da die alles viel komplizierter macht). Ausgegeben wird ein PDA M = (Z, Σ, Γ, δ, z 0, #). Z = {z} Σ wird 1:1 übernommen Γ = V Σ z 0 = z # = S Startvariable wird als unterstes Kellersymbol genommen Erstellen der Überführungsfunktion δ Für alle Produktionen (l r) P Füge eine Regel der Form δ (z, ε, l) = (z, r) hinzu Für alle Terminale a Σ Füge eine Regel der Form δ (z, a, a) = (z, ε) hinzu Von Kellerautomaten zur Grammatik 73 Gegeben ist ein PDA M = (Z, Σ, Γ, δ, z 0, #). Ausgegeben wird eine kontextfreie Grammatik G = (V, Σ, P, S). Σ wird 1:1 übernommen S wird mit S besetzt V = {S} (Z Γ Z) Erstelle Produktionsregeln P Für alle Zustände z Z Füge eine Regel der Form S (z 0, #, z) hinzu Für alle (z, ε) δ (z, a, A) Füge eine Regel der Form (z, A, z ) a hinzu Für alle (z 1, B) δ (z, a, A) und alle z Z Füge eine Regel der Form (z, A, z ) a (z 1, B, z ) hinzu Für alle (z 1, BC) δ (z, a, A) und alle z, z 2 Z Füge eine Regel der Form (z, A, z ) a (z 1, B, z 2 )(z 2, C, z ) hinzu Ist G in Greibach Normalform, so kann ein PDA M mit L (G) = N (M) konstruiert werden, der keine ε- Übergänge hat.
20 20 5 KONTEXTSENSITIVE SPRACHEN (TYP 1) UND TYP 0 SPRACHEN Deterministisch kontextfreie Sprachen 76 Ein Kellerautomat M heißt deterministisch, falls für alle z Z, a Σ und A Γ gilt: δ (z, a, A) + δ (z, ε, A) 1 Ferner hat ein deterministischer Kellerautomat (Deterministic Push Down Automation = DPDA) eine ausgezeichnete Menge von Endzuständen E Z. ist die von einem DPDA akzeptierte Sprache. T (M) = {x Σ z E : (z 0, x, #) (z, ε, α)} Eine Sprache L Σ heißt deterministisch kontextfrei, wenn es einen DPDA M gibt mit L = T (M). L 2 deterministisch kontextfreie Sprachen L 3 Stimmen mit den LR (k)-sprachen überein (siehe Compilerbau) Die deterministisch kontextfreien Sprachen sind unter Komplementbildung abgeschlossen nicht unter Durchschnitt abgeschlossen nicht unter Komplementbildung abgeschlossen Der Durchschnitt einer (deterministischen) kontextfreien Sprache mit einer regulären Sprache ist wieder (deterministisch) kontextfrei 4.7 Entscheidbarkeit 78 Wortproblem entscheidbar (CYK-Algorithmus) Leerheitsproblem entscheidbar Idee: markiere Variable A mit {x Σ A x} Endlichkeitsproblem entscheidbar L = x L : n x < 2n Gleichheit Wenn L 1 det. kontextfrei, und L 2 regulär. Ist L 1 = L 2 entscheidbar? Ja, siehe Buch. Äquivalenzproblem für DPDA s entscheidbar 5 Kontextsensitive Sprachen (Typ 1) und Typ 0 Sprachen Kuroda Normalform 79 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der 4 Formen haben: A a A B A BC AB CD Hierbei stehen A, B, C, D für Variablen und a für ein Terminalsymbol. Für jede Typ 1 Grammatik G mit ε L (G) gibt es eine Grammatik G in Kuroda Normalform mit L (G) = L (G ) Durch aufbrechen der Regeln, ähnlich Chomsky-Normalisierung
21 5.2 Turingmaschine Turingmaschine Definition 81 Eine Touringmaschine (Kurz: TM) ist gegeben durch ein 7-Tupel M = (Z, Σ, Γ, δ, z 0,, E) Z die endliche Zustandsmenge Σ das Eingabealphabet Γ Σ das Arbeitsalphabet δ : Z Γ Z Γ {L, N, R} im deterministischen Fall (bzw. δ : Z Γ P (Z Γ {L, N, R}) im nichtdeterministischen Fall) die Überführungsfunktion z 0 Z der Startzustand (Γ\Σ) das Blank (Leerzeichen) E Z die Menge der Endzustände Die Überführungsfunktion bedeutet informal: δ(alter Zustand,Symbol vor Lesekopf)=(neuer Zustand,neues Symbol auf Band,Kopfbewegung LinksRechtNeutral) Eine Konfiguration der TM M ist ein Wort k Γ ZΓ +. k deckt den von verschiedenen Teil des Bandes ab. Dabei sind die einzelnen Teile des Wortes: Band Links vom Lesekopf; Akt. Zustand; Band unter und Rechts vom Lesekopf. Die Startkonfiguration für Eingabe x Σ ist z 0 x. Die Berechnungsrelation ersetzt den Zustand durch den neuen Zustand, ersetzt das Symbol auf dem Band durch das neue Symbol, und führt die Kopfbewegung aus, indem bei L (R) ein Zeichen von Links nach Rechts neben dem Zustand (bzw. andersherum) bewegt wird. Falls sich der Kopf am Bandrand befindet, können an den Rändern zusätzliche eingefügt werden. Die von einem TM M = (Z, Σ, Γ, δ, z 0,, E) akzeptierte Sprache ist definiert als T (M) = {x Σ z 0 x αzβ (α, β Γ, z E)} Die durch allgemeine TMen akzeptierten Sprachen sind genau die Typ 0 Sprachen Linear Beschränkte Turingmaschinen 84 Eine nichtdeterministische TM M heißt linear beschränkt, wenn für alle a 1 a 2... a n 1 a n Σ + und alle Konfigurationen αzβ mit z 0 a 1 a 2... a n 1 aˆ n αzβ folgendes gilt: αβ = n. Hierbei ist Σ = Σ {â a Σ} (Alphabet um modifizierte Symbole ergänzt) T (M) = {a 1 a 2...a n 1 a n Σ z 0 a 1... a n 1 â n αzβ (α, β Γ, z E)} Informal bedeutet dies, das der TM nur ein Band der Länge n zurverfügung steht, und alle Berechnungen auf diesem Durchgeführt werden. Dazu muss Das letzte Zeichen auf dem Band markiert werden, damit die Maschine das Ende erkennt. Das erste Zeichen ist wird als erstes beim Start gekennzeichnet, da die Maschine hier beginnt. Die von linear beschränkten, nichtdeterministischen TMen (LBAs) akzeptierten Sprachen sind genau die kontextsensitiven Sprachen. 5.3 Umwandlung TM in Grammatik und umgekehrt 84 Siehe hierzu im Skript.
22 22 6 ÜBERBLICK ÜBER SPRACHEN UND DAZUGEHÖRIGE WERKZEUGE Abschlusseigenschaften 86 Die Klasse der Kontextsensitiven Sprachen ist unter Komplementbildung abgeschlossen. Überblick über Sprachen und dazugehörige Werkzeuge 88 6 Überblick über Sprachen und dazugehörige Werkzeuge Beschreibungsmittel 89 Typ 3 det. kontextfrei Typ 2 Typ 1 Typ 0 reguläre Grammatik, DFA, NFA, reguläre Ausdrücke LR (k)- Grammatik kontextfreie Grammatik, Kellerautomat (PDA) kontextsensitive Grammatik, linear beschränkter Automat (LBA) Typ 0 - Grammatik, Turingmaschine (TM) 6.2 (Nicht)Determinismus 89 Nichtdet. Automat Determ. Automat äquivalent? NFA DFA ja PDA DPDA nein LBA DLBA? TM DTM ja 6.3 Abschlusseigenschaften 89 Schnitt Vereinigung Komplement Produkt Stern Typ 3 ja ja ja ja ja Det. kf. nein nein ja nein nein Typ 2 nein ja nein ja ja Typ 1 ja ja ja ja ja Typ 0 ja ja nein ja ja 6.4 Entscheidbarkeit 90 Wortproblem Leerheitsproblem Äquivalenzproblem Schnittproblem Typ 3 ja mit O (n) ja ja ja Det. kf. ja mit O (n) ja ja nein Typ 2 ja mit O ( n 3) ja nein nein Typ 1 ja mit O (c n ) nein nein nein Typ 0 nein nein nein nein
23 Index Äquivalentzklassen, 14 Äquivalenzklassen, 5 Äquivalenzproblem, 15 Äquivalenzrelation, 5, 14 Überführungsfunktion, 10, 11 Abgeschlossenheit, 3 Ableitung, 7 Ableitungsbaum, 9 Abschlusseigenschaften, 14, 17, 22 Aequivalentzproblem, 20 Aequivalenzproblem, 22 Alphabet, 3 Alphapet, 3 Arbeitsalphabet, 21 Assoziativität, 3 asymptotischen, 5 Backus-Naur-Form, 6, 9 Berechnungsrelation, 21 Beschreibungsmittel, 22 Blank, 21 BNF, 9 Chomsky Normalform, 16 Chomsky-Hierarchie, 7 CNF, 16 CYK-Algorithmus, 18 Determinismus, 22 deterministisch, 20 deterministisch kontextfrei, 20 Deterministische Automaten, 9 DFA, 9 DPDA, 20 EBNF, 9 Eingabealphabet, 10, 11, 18, 21 Eingabewort, 9, 18 endliche Automaten, 9, 11 Endlichkeitsproblem, 15, 20 Endzustände, 10 Endzustaende, 21 Endzustandsmenge, 11 entscheidbar, 7 Entscheidbarkeit, 15, 20, 22 Ergänzung, 6 erweiterte BNF, 9 Genaue Schranke, 6 Grammatik, 6 Graph, 10 Greifenbach Normalform, 16 Häufungspunkt, 3 Hülle, 5 Halbgruppe, 3 Hillel, 13, 17 Hopcroft, 14 Index, 5 inhärent Mehrdeutig, 8 inhärent mehrdeutig, 8, 9 Kelleralphabet, 18 Kellerautomaten, 18 Kellersymbol, 18 Komplement, 14, 22 Komplexitätsfunktionen, 5 Konfiguration, 18, 21 Konkatenation, 3, 4 kontextfrei, 8 deterministisch, 20 Kontextfreie Sprachen, 16 kontextsensitiv, 7 Kuroda Normalform, 20 LBA, 21 Leerheitsproblem, 15, 20, 22 Leerzeichen, 21 linear beschraenkt, 21 Linksableitung, 9 LR(k), 20 Mächtigkeit, 3 mehrdeutig, 8, 9 Metaregel, 9 Metasymbol, 9 Minimalautomat, 14 Monoid, 3 neutrales Element, 3 NFA, 11 Nichtdeterminismus, 22 nichtdeterministisch, 7 Nichtdeterministische Automaten, 11 Normalformen, 16 NP-hart, 15 O-Notation, 5 Obere Schranke, 6 PDA, 18 Produkt, 14, 17, 22 Produktionen, 6 Pumping Lemma, 13, 17 Rechenschrittrelation, 18 Rechtsableitung, 9 reflexiv, 5 Regeln, 6 regulär, 8 Reguläre Ausdrücke, 13 Reguläre Sprachen, 9 rekursiv aufzählbar, 7 Relationen, 5 Satzform, 7 Schleifenlemma, 13, 17 23
24 24 INDEX Schnitt, 14, 22 Schnittproblem, 15, 22 Schranke, 6 Sprache, 4, 7 Sprachen, 4 Startkonfiguration, 18, 21 Startsymbol, 6 Startzustand, 18, 21 Startzustandsmenge, 11 Stern, 14, 17, 22 Symbole, 3 symmetrisch, 5 Syntaxbäume, 9 Syntaxbaum, 9 Terminalalphabet, 6 Terminalwort, 7 TM, 21 transitiv, 5 Tupel, 4 Turingmaschine, 21 Ueberfuehrungsfunktion, 18, 21 Ullmann, 14 Untere Schranke, 6 uvw-theorem, 13 uvwxy-theorem, 17 Variablen, 6 Vereinigung, 14, 17, 22 Wort, 4 Wortproblem, 8, 15, 18, 20, 22 Zeichen, 3 Zustände, 10, 18 Zustandsüberführungsfunktion, 10, 11 Zustandsgraph, 10 Zustandsmenge, 11, 21 Zustandsminimalen, 14
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
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
Zusammenfassung Grundzüge der Informatik 4
Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1
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
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 [email protected]
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
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
Mathematische Grundlagen der Informatik 2
Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss [email protected] 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert
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?
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
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
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,
Kontextfreie Sprachen
Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch
Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten
Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie
Kontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
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
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
Theoretische Informatik SS 04 Übung 1
Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die
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
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier [email protected]
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier [email protected] 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik
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.
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.
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
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)
Informatik III - WS07/08
Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner [email protected] Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition
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:
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.....................................
Theoretische Informatik I
Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken
Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13)
Ein verständiges Herz erwirbt Kenntnisse, und das Ohr der Weisen lauscht dem Wissen. (Die Bibel, "Buch der Sprüche", Kapitel 18 Vers 15) Inhalt 1. Empfehlenswerte Referenzen 2. Aufgabe 1 CF Grammatik für
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
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 [email protected] WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik
Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende
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
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
1. Formale Sprachen 1.2 Grammatiken formaler Sprachen
1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit
2.2 Reguläre Sprachen Endliche Automaten
2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten
Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung
Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Frank Heitmann [email protected] 13. Mai 2014 Frank Heitmann [email protected] 1/17 Überblick Wir hatten
Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur
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
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
Was bisher geschah: Formale Sprachen
Was isher geschah: Formale Sprachen Alphaet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen reguläre Ausdrücke: Syntax, Semantik, Äquivalenz Wortersetzungssysteme Wortersetzungsregeln
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
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:
Erstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
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
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
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
Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.
Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:
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
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
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte
Erstellen einer GoTalk-Auflage
Erstellen einer GoTalk-Auflage 1. Bei dem Startbild Vorlage öffnen wählen 2. In dem folgenden Fenster Geräte Schablonen doppelt anklicken. - und schon öffnet sich der gesamte Katalog der verfügbaren Talker-Auflagen...eigentlich
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Sommersemester 2011 Dozent: Prof. Dr. J. Rothe, Prof. Dr. M. Leuschel J. Rothe (HHU Düsseldorf)
Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!
Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright
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)
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
Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen
TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK)
TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010 2. Schriftliche Leistungskontrolle (EK) Punktzahl In dieser schriftlichen Leistungskontrolle sind 100 Punkte
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
Repetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
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
Theorie der Informatik
Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man
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
Grundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken
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
Formale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten
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
EINFACHES HAUSHALT- KASSABUCH
EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)
Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
Automaten und formale Sprachen Klausurvorbereitung
Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen
8. Turingmaschinen und kontextsensitive Sprachen
8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten
Eigenen Farbverlauf erstellen
Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites
11.1 Kontextsensitive und allgemeine Grammatiken
Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert
4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
Beispiele für Relationen
Text Relationen 2 Beispiele für Relationen eine Person X ist Mutter von einer Person Y eine Person X ist verheiratet mit einer Person Y eine Person X wohnt am gleichen Ort wie eine Person Y eine Person
Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de
Fusszeile mit Datumsfeld und Dateiname
Fusszeile mit Datumsfeld und Dateiname Für innerbetriebliche Rundschreiben kann es nützlich sein, in der Fusszeile den Namen der Autorin bzw. des Autors und das Datum mit der Uhrzeit als Feld einzufügen.
GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, [email protected]
GTI Hannes Diener ENC B-0123, [email protected] 6. Juni - 13. Juni 1 / 49 Die Turingmaschine war das erste (bzw. zweite) formale Modell der Berechenbarkeit. Sie wurden bereits 1936 (also lange
Informatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: [email protected] Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben
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
Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler
Formale Sprachen Der Unterschied zwischen Grammatiken und Sprachen Rudolf Freund, Marian Kogler Es gibt reguläre Sprachen, die nicht von einer nichtregulären kontextfreien Grammatik erzeugt werden können.
Beweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit [email protected] 6
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?
Ü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
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
Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
3. Grundlagen der Linearen Programmierung
3. Grundlagen der linearen Programmierung Inhalt 3. Grundlagen der Linearen Programmierung Lineares Programm Grafische Lösung linearer Programme Normalform Geometrie linearer Programme Basislösungen Operations
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
Mathematik für Informatiker II. Beispiellösungen zur Probeklausur. Aufgabe 1. Aufgabe 2 (5+5 Punkte) Christoph Eisinger Sommersemester 2011
Mathematik für Informatiker II Christoph Eisinger Sommersemester 211 Beispiellösungen zur Probeklausur Aufgabe 1 Gegeben sind die Polynome f, g, h K[x]. Zu zeigen: Es gibt genau dann Polynome h 1 und h
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
Kostenstellen verwalten. Tipps & Tricks
Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4
Kapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
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
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
Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
7. Formale Sprachen und Grammatiken
7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)
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
Datensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
