Formale Sprachen Mathematische Grundlagen Rudolf FREUND, Marian KOGLER.

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Compilertechnik Sommersemester 2008
Advertisements

Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Programmierung 1 - Repetitorium
II. Arithmetik. II. Arithmetik 4. Die natürlichen Zahlen.
Polynomial Root Isolation
Diskrete Mathematik I Wintersemester 2007 A. May
Schnelle Matrizenoperationen von Christian Büttner
Prof. Dr. W. Conen 15. November 2004
Wiederholung Operationen auf Mengen Relationen, Abbildungen/Funktionen
7. Natürliche Binärbäume
8. Formale Sprachen und Grammatiken
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Ein Modellansatz zur Beschreibung von Vagheiten
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Kapitel 5 Stetigkeit.
Kapitel 1 Das Schubfachprinzip
Kapitel 1 Mengen, Abbildungen, Logik
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Kapitel 2 Zählen (Kombinatorik)
Kapitel 2 Die rationalen und die irrationalen Zahlen.
Kapitel 3 Die reellen Zahlen
Mathematische Grundlagen
V. Algebra und Geometrie
Zahlen mit Zahlen ausmessen
Quaternionen Eugenia Schwamberger.
§14 Basis und Dimension (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§9 Der affine Raum – Teil 2: Geraden
§9 Der affine Raum – Teil 2: Geraden
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Formale Sprachen Grundbegriffe für formale Sprachen
§10 Vektorraum. Definition und Beispiele
§17 Produkte und Quotienten von Vektorräumen
§24 Affine Koordinatensysteme
Grenzen der Regularität
Effiziente Algorithmen
5. Erweiterungen der Zahlenmenge
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
§10 Vektorraum. Definition und Beispiele
§20 Der Rang einer Matrix Jede (m,n)-Matrix kann auch als ein n-Tupel von Spaltenvektoren geschrieben werden: wobei (20.1) Definition:
§15 Lineare Abbildungen (15.1) Definition: Eine Abbildung f zwischen K-Vektorräumen V und W ist linear (oder ein Vektorraumhomomorphismus), wenn für alle.
§23 Basiswechsel und allgemeine lineare Gruppe
Fuzzymengen – Was ist das?
Institut für Theoretische Informatik
Institut für Theoretische Informatik
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Noam CHOMSKY, Sheila GREIBACH
ENDLICHE KÖRPER RSA – VERFAHREN.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Fachschaft Mathematik und Informatik
Automaten und Formale Sprachen VO UE 1
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
§22 Invertierbare Matrizen und Äquivalenz von Matrizen
2. Mengen Unter einer Menge verstehen wir jede Zusammenfassung von bestimmten wohlunterschiedenen Objekten unserer Anschauung oder unseres Denkens zu.
7. Formale Sprachen und Grammatiken
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Grundlagen01Logik 02Mengen 03Relationen Arithmetik04Die natürlichen Zahlen 05Erweiterungen der Zahlenmenge Elementare Geometrie06Ebene Geometrie 07Trigonometrie.
Kapitel 4 Restklassen (die modulo-Rechnung)
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 3 / 1 Algebraische Hülle und Homomorphie A = [A, F ] sei  -Algebra. Eine.
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
Sprachen und Programmiersprachen
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
§17 Produkte und Quotienten von Vektorräumen
 Präsentation transkript:

Formale Sprachen Mathematische Grundlagen Rudolf FREUND, Marian KOGLER

Elementare Mengentheorie GEORG CANTOR (1845 - 1918) „Eine Menge ist eine Zusammenfassung von bestimmten wohlunterschiedenen Objekten unseres Denkens oder unserer Anschauung (welche die Elemente der Menge genannt werden) zu einem Ganzen.“ Im letzten Viertel des 19. Jh. 1874: Über eine Eigenschaft des Inbegriffs aller reellen algebraischen Zahlen. J. reine angew. Math., 77, 258-262

Elementare Mengentheorie Eine Menge ist eine Gruppe von Objekten, die als Einheit repräsentiert werden. Mengen können beliebige Typen von Objekten beinhalten, inklusive Zahlen, Symbole, und auch andere Mengen. Die Objekte einer Menge bezeichnet man als Elemente. Um einige Konzepte zu veranschaulichen, verwenden wir Venn-Diagramme. Dabei werden Mengen als Kreise dargestellt.

Mengentheorie - Zugehörigkeit Mengen können formal auf verschiedene Arten beschrieben werden. Eine Möglichkeit besteht darin, die Elemente aufzulisten: {7,21,57} enthält die Elemente 7,21,57 Notation:  ... Mengen-Zugehörigkeit 7  {7,21,57}  ... Nicht-Zugehörigkeit 5  {7,21,57}

Mengentheorie - (Multi-) Mengen Die Reihenfolge der Elemente und auch deren Wiederholung in einer Menge ist nicht von Bedeutung. {7,7,57,7,21} = {7,21,57} Bemerkung: {7} und {7,7} sind identische Mengen, aber unterschiedliche Multimengen (multisets).

Mengentheorie – Kardinalität von Mengen Eine unendliche Menge enthält unendlich viele Elemente. Beispiel: Menge der natürlichen Zahlen: N = {0, 1, 2, 3,...} Menge der natürlichen Zahlen  k: Nk = {k, k+1, k+2,...} Menge der natürlichen Zahlen zwischen k und m: [k..m] Besteht eine Menge aus den Elementen a1,...,an für n  1, dann schreibt man A = {a1,...,an } (endliche Menge). Die Anzahl der Elemente einer endlichen Menge bezeichnet man als Kardinalität, geschrieben als card(M). Die Menge, die keine Elemente enthält, wird als leere Menge bezeichnet und geschrieben als { } oder Ø. Beispiel: card(A) = n card(Ø) = 0

Mengentheorie – Mengenvorschrift Mengen können auch durch eine Mengenvorschrift angegeben werden: { x | E(x) } Menge der Objekte x für die E(x) gilt { x  A | E(x) } Menge der Objekte aus der Menge A für die E(x) gilt { x  A | E(x) } ist äquivalent zu { x | E(x) und x  A } Beispiel: { n | n = m2 für m  N }

Mengentheorie - (echte) Teilmengen Für zwei Mengen A und B gilt: A ist eine Teilmenge von B, wenn jedes Element von A auch ein Element von B ist. A  B A B A ist eine echte Teilmenge von B, wenn A eine Teilmenge von B ist, die nicht gleich B ist. A  B A = B wenn A  B und B  A

Mengentheorie – Operationen auf Mengen Vereinigung: A  B := { x | x  A oder x  B } A B Vereinigung endlich vieler Mengen M1,..,Mn i  {1,...,n}Mi Vereinigung abzählbar unendlich vieler Mengen M1,M2,...  i  N1Mi bzw.  i  N1 Mi  i  N1Mi = { x | x  Mi für ein i  N1 } Für beliebige Mengen A, sodass Ma für jedes a  A eine Menge ist, definiert man  i  A Ma= { x | x  Ma für ein a  A }

Mengentheorie – Operationen auf Mengen B Durchschnitt: A  B := { x | x  A und x  B } analog  i  {1,...,n}Mi ,  i  N1Mi ,  i  A Ma A und B sind disjunkt wenn A  B =  Differenzmenge: A – B := { x | x  A und x  B } A B A B Gilt A  B, so nennt man B – A das Komplement von A (bezüglich B), geschrieben A oder Ac A B _

Sequenzen und Tupel Eine Sequenz von Objekten ist eine geordnete Liste von Objekten. Beispiel: (7,21,57) ist eine andere Sequenz als (7,57,21) oder auch (7,7,21,57) Endliche Sequenzen werden auch Tupel genannt. Eine Sequenz mit k Elementen wird k-Tupel genannt; (7,21,57) ist also ein 3-Tupel oder Tripel; ein 2-Tupel wird auch Paar genannt. Mengen und Tupel können auch Elemente von anderen Mengen und Tupeln sein.

Mengentheorie – Operationen auf Mengen Potenzmenge von A: Menge aller Teilmengen von A 2A bzw. (A) Beispiel: A = { 0,1 } 2A = { { }, {0}, {1}, {0,1} } Kartesisches Produkt (Kreuzprodukt): A  B := { x | x = (a,b) mit a  A und b  B } M1 ... Mn := { x | x = (x1,...,xn) mit xi  Mi für 1  i  n } card(A) = n, card(B) = m card(2A) = 2n card(A  B ) = nm

Relationen und Funktionen Relation R auf S: R  S  S (Definitionsbereich (domain)  Wertebereich (range)) Menge von Paaren (a,b), wobei eine Beziehung zwischen a und b aus S besteht oder nicht besteht. Schreibweise: aRb Eigenschaften von Relationen Reflexiv wenn aRa für alle a aus S gilt Irreflexiv wenn aRa für alle a aus S falsch ist Transitiv wenn aRc aus aRb und bRc folgt Symmetrisch wenn bRa aus aRb folgt Asymmetrisch wenn aRb impliziert, dass bRa nicht gilt. Beispiel: Ordnungsrelation < auf der Menge der ganzen Zahlen ist transitiv und asymmetrisch (und daher irreflexiv )

Relationen und Funktionen Äquivalenzrelation: Relation, die reflexiv, symmetrisch und transitiv ist. Wichtige Eigenschaft einer Äquivalenzrelation R auf S: S wird durch R in disjunkte, nichtleere Äquivalenzklassen unterteilt. S = S1  S2  ... , wobei für i und j mit i  j gilt: 1. Si  Sj = {} 2. Für jedes a und b aus Si ist aRb wahr 3. Für jedes a aus Si und b aus Sj ist aRb falsch Beispiel: Kongruenz modulo einer ganzen Zahl m i  j (mod m) falls i und j ganze Zahlen sind mit der Eigenschaft, dass i - j durch m teilbar ist.

Relationen und Funktionen Hüllen von Relationen E..Menge von Eigenschaften von Relationen über S. E-Hülle von R ist die kleinste Relation R‘, die alle Paare von R enthält und die Eigenschaften aus E besitzt Transitive Hülle von R, geschrieben R+: Falls (a,b) in R ist, so ist (a,b) auch in R+ Falls (a,b) und (b,c) in R+ sind, so ist (a,c) auch in R+ Nichts ist in R+, außer es folgt aus 1. und 2. Reflexive und Transitive Hülle von R, geschrieben R*: R+  {(a,a) | a  S } Beispiel: Sei R = { (1,2),(2,2),(2,3) } Relation auf {1,2,3} R+ = { (1,2),(2,2),(2,3),(1,3) } R* = { (1,1),(1,2),(1,3),(2,2),(2,3),(3,3) }

Relationen und Funktionen Unter einer Funktion oder Abbildung f: X  Y einer Menge X in eine Menge Y (festgelegt durch f  X  Y) versteht man eine Vorschrift, die jedem Element x von X ein eindeutig bestimmtes Element y aus Y zuordnet: f(x)=y (f(x) ist der Funktionswert von f an Stelle x) Funktionswerte von f (range): rng(f) = { y | (x,y)  f für ein x  X} f: X  Y und g: X  Y heißen gleich, symbolisch f  g, wenn f(x) = g(x) für alle x  X.

Relationen und Funktionen Man nennt f surjektiv von X auf Y, wenn rng(f) =Y; injektiv wenn für beliebige x1,x2  X aus f(x1) = f(x2) auch x1= x2 folgt; bijektiv wenn f sowohl surjektiv als auch injektiv ist.

Beweise Ein Beweis ist ein überzeugendes logisches Argument, dass eine Aussage wahr ist. Beweis durch Konstruktion Viele Sätze behaupten die Existenz von bestimmten Typen von Objekten. Ein Weg, solche Sätze zu beweisen, besteht darin, zu zeigen, wie man diese Objekte konstruiert. Indirekter Beweis (Beweis durch Widerspruch) Wir nehmen an, dass der Satz wahr ist, und zeigen dann, dass diese Annahme zu einer offensichtlich falschen Konsequenz, einem Widerspruch, führt.

Beweise CARL FRIEDRICH GAUSS (1777-1855) Die Lehrer von Gauss waren sehr erstaunt, als dieser bereits im Alter von sieben Jahren die Zahlen von 1 bis 100 im Handumdrehen summieren konnte. Er erkannte nämlich sofort, dass diese Summe aus 50 Zahlenpaaren bestand, die jeweils 101 ergaben.

Beweise: Induktion Um eine Aussage A(n) für alle n  N (bzw. für alle n  Nk) zu beweisen: (A(n) hängt von der ganzen Zahl n  k ab.) Induktionsbasis: A(m) ist für m = k richtig. Induktionshypothese: Nehme an, A(m) gilt für m = n. Induktionsbehauptung: Zeige, A(m) gilt dann auch für m = n+1. Induktionsprinzip: Dann ist die Aussage A(m) für alle m  k richtig.

Beweise: Induktion Beispiel: Aussage: Für alle positiven natürlichen Zahlen gilt: 1+2+...+n = (n (n+1))/2 Induktionsbasis: A(n) ist offensichtlich für n = 1 richtig: 1 = (1*2)/2 Induktionshypothese: 1 + 2 +...+ n = (n (n+1))/2 Induktionsbehauptung: 1 + 2 +...+ n + n + 1 = ((n + 1) (n+1 + 1))/2 Einsetzen und Umformen ergibt: 1 + 2 +...+ n + n + 1 = (n (n+1))/2 + n + 1 = (n+1)((n/2)+1) = (n+1)((n+2)/2) = ((n + 1) (n+1 + 1))/2 Somit haben wir mittels Induktion bewiesen: 1+2+...+n = (n (n+1))/2 gilt für alle natürlichen Zahlen n 1.

Beweise: Induktion - Aufgaben Aufgabe INDA: Zeigen Sie mittels Induktion, dass für alle positiven natürlichen Zahlen n gilt: 13+23+...+n3 = ((n (n+1))/2)2 Aufgabe INDB**: Zeigen Sie mittels Induktion nach n, dass für alle positiven natürlichen Zahlen n und k gilt: 1k+2k+...+nk = ((n (n+1))/2) pk(n) wobei pk(x) ein Polynom vom Grad k-1 in x ist. Aufgabe INDC: Zeigen Sie mittels Induktion nach n, dass eine Zahl k so gewählt werden kann, dass für alle positiven natürlichen Zahlen n ≥ k gilt: n! ≥ 2n ( n! = n * (n-1) … 2 *1 )

Beweise: Generalisierung Kann man für jede beliebig gewählte natürlich Zahl n (≥k) zeigen, dass die Aussage A(n) gilt, dann gilt sie für alle natürlichen Zahlen n (≥k) . Beispiel: Es gibt beliebig große Primzahllücken. Wir nehmen eine beliebige natürlich Zahl n ≥ 1 und zeigen, dass es n-1 aufeinanderfolgende Zahlen gibt, die alle keine Primzahlen sind: Betrachte n! + k für k = 2,…, n Klarerweise gilt k/(n!+k), da k ein Faktor von n! ist. q.e.d.

Graphen Seien V und W endliche Mengen. Ein markierter gerichteter Graph g über V und W ist ein Tripel (K,E,L) wobei K die Menge der Knoten E  K  K  W die Menge der Kanten L: K  V die Knotenmarkierungsfunktion ist. Ein Element (x,w,y)  E stellt eine gerichtete Kante vom Knoten x zum Knoten y mit Markierung w dar. Beispiel: g = ({1,2}, {(1,u,2),(2,v,2)}, {(1,a),(2,b)}) ist ein markierter gerichteter Graph über W  {a,b} und V  {1,2} Übergangsmatrix: a b 1 2 u v  u v 1 {2} { } 2

Graphen: Isomorphie und Äquivalenz Zwei markierte gerichtete Graphen g = (K,E,L) und g‘= (K‘,E‘,L‘) über V und W heißen isomorph, wenn es eine bijektive Abbildung f: K  K‘ gibt, sodass für alle k,l  K und w  W gilt: (k,w,l)  E  (f(k),w,f(l))  E‘. r x a b 1 2 u v u s y Gilt außerdem L(k)=L‘(f(k)) für alle k  K, so heißen g und g‘ äquivalent. v y x a b 1 2 u v u b a v

Mächtigkeit von Mengen Zwei Mengen A und B heißen gleichmächtig, wenn es eine bijektive Abbildung von A nach B gibt. Jede Menge, die gleichmächtig mit N ist, heißt eine abzählbare Menge. Jede unendliche, nicht abzählbare Menge heißt überabzählbar. Beispiel: Die Menge aller reellen Zahlen ist gleichmächtig mit der Menge der reellen Zahlen in jedem beliebigen Intervall (a,b) = { x | x reell und a < x < b}. Beide Mengen sind nicht abzählbar.

Diagonalverfahren Sei M = {0,1}N die Menge aller Funktionen f: N  {0,1} . Dann ist M nicht abzählbar. Cantorsches Diagonalverfahren Angenommen, es gibt eine bijektive Funktion g: N  M. Sei dann die Funktion h: N  {0,1} folgendermaßen definiert: h(n) = ([g(n)] (n) +1 (mod 2)), i.e., 1 falls [g(n)](n) = 0 h(n) = 0 falls [g(n)](n) = 1 Dann ist h eine Funktion von N in {0,1}, die somit in M sein müsste, allerdings wurde h so definiert, dass für kein n  N h = g(n) sein kann, denn für jedes n  N gilt h(n) ≠ [g(n)](n), was aber h  M bedeutet. Somit ergibt sich aber ein Widerspruch zur Annahme, dass die Menge M abgezählt werden kann.

Cantorsches Diagonalverfahren … g(n) 1 [g(1)](1) h(1) [g(2)](1) [g(n)](1) 2 [g(1)](2) [g(2)](2)  h(2) [g(n)](2) n [g(1)](n) [g(2)](n) [g(n)](n)  h(n)

Folgerung Sei A eine abzählbar unendliche Menge. Dann ist 2A überabzählbar. Sei A = {xn | n  N } und für jede Teilmenge M  A die Funktion M: N  {0,1} durch M = 0, falls xn  M und M = 1, falls xn  M, definiert; M ist die charakteristische Funktion bezüglich A. Dann ist durch g: 2A  {0,1}N mit g(m) = M eine bijektive Abbildung zwischen 2A und {0,1}N definiert und 2A nach dem vorigen Satz somit ebenfalls überabzählbar.

Algebraische Strukturen Sei A eine nichtleere Menge und ○: A x A → A eine binäre Operation auf A. Dann heißt die algebraische Struktur (A,○) Gruppoid. In (A,○) können folgende Gesetzmäßigkeiten gelten: (1) Assoziativgesetz: Für alle a,b,c aus A gilt: (a ○ b) ○ c = a ○(b ○ c) (2) Existenz eines neutralen Elements: Es gibt ein Element e aus A derart, dass für alle a aus A gilt: e ○ a = a ○ e = a (3) Existenz inverser Elemente: Für alle a aus A gibt es ein Element a‘ aus A mit: a ○ a‘ = a‘ ○ a = e (4) Kommutativgesetz: Für alle a,b aus A gilt: a ○ b = b ○ a

Gruppe, Monoid Eine algebraische Struktur (A,○) heißt Halbgruppe, wenn sie assoziativ ist; Monoid, wenn sie eine Halbgruppe (also assoziativ) ist und ein neutrales Element besitzt; Gruppe, wenn sie ein Monoid ist und zu jedem Element aus A ein inverses Element in A existiert. Kommutative Gruppen werden auch als Abelsche Gruppen bezeichnet. Beispiel: (N,+) und (N,.) sind kommutative Monoide. Beispiel: (Z,+) und (Q \ {0},.) sind Abelsche Gruppen. Beispiel: (Σ*,  ) ist ein nichtkommutatives Monoid mit dem Leerwort als neutralem Element; Σ* wird auch als freies Monoid über dem Alphabet Σ bezeichnet.

Semiringe Eine algebraische Struktur (A,+,.) mit den beiden binären Operationen + (Addition) und . (Multiplikation) auf A heißt Semiring, wenn Folgendes gilt: (A,+) ist eine kommutative Halbgruppe. (A,.) ist eine Halbgruppe. Es gelten die Distributivgesetze: Für alle a,b,c aus A gilt: (a+b).c = a.c + b.c und c.(a+b) = c.a + c.b Besitzt der Semiring ein neutrales Element bezüglich der Addition, so nennt man dieses Nullelement. Besitzt der Semiring ein neutrales Element bezüglich der Multplikation, so nennt man dieses Einselement.

Semiringe Beispiel: (N,+,.) ist ein kommutativer Semiring mit Nullelement 0 und Einselement 1. Beispiel: Die Menge der formalen Sprachen über einem Alphabet T bildet daher einen nichtkommutativen Semiring mit der Vereinigung als Addition und dem neutralen Element {} sowie mit der Konkatenation als Multiplikation und dem Einheitselement {ε}.

Ringe, Körper Eine algebraische Struktur (A,+,.) heißt Ring, wenn sie ein Semiring ist und (A,+) sogar eine (kommutative) Gruppe ist. Ein Ring (A,+,.) mit Einselement 1 (ungleich dem Nullelement 0), in dem jedes Element ungleich 0 ein inverses Element besitzt, heißt Schiefkörper. Ist (A,+,.) ein Ring und auch (A,.) eine Abelsche Gruppe, so heißt (A,+,.) Körper. Beispiel: (Z,+,.) ist ein kommutativer Ring mit Einselement. Beispiel: (Q,+,.) ist ein Körper.