Notizen

Werbung
Automaten und formale Sprachen
Notizen zu den Folien
1
Grundlagen und formale Beweise
Beispiel eines Widerspruchsbeweises (Folie 59)
Satz.
√
2 ist irrational, das heißt, es gibt keine m, n ∈ Z, so dass
m
n
=
√
2.
Beweis. Wir nehmen die Negation der zu beweisenden Aussage an und leiten einen Widerspruch
ab. Wir nehmen also an, dass es ganze Zahlen m und n gibt, so dass
m √
= 2.
n
Weil wir m und n durch gemeinsame Teiler teilen können, folgt aus der obigen Annahme, dass es
teilerfremde p, q ∈ Z gibt, so dass
p √
= 2.
q
Beide Seiten mit q multiplizieren liefert
p=
√
2 · q,
und quadratieren liefert
p2 = 2q 2 .
Das heißt, dass p2 eine gerade Zahl ist. Weil das Quadrat einer ungeraden Zahl immer ungerade
ist, muss p auch eine gerade Zahl sein. Das heißt, dass
p = 2a
für eine ganze Zahl a. Daraus folgt
2q 2 = p2 = (2a)2 = 4a2 ;
teilen durch 2 liefert
q 2 = 2a2 .
Sowohl q 2 als auch q sind also auch gerade Zahlen.
Dass p und q beide gerade sind, ist aber im Widerspruch zur Tatsache, dass p und q teilerfremd
sind (2 ist Teiler beider Zahlen). Unsere Annahme war√also falsch, und deswegen schließen wir,
dass es keine ganze Zahlen m und n gibt, so dass m
2.
n =
Beispiel eines Beweises durch Induktion (Folie 61)
Satz. Für alle n > 0 gilt, 1 + 2 + · · · + n =
n · (n + 1)
.
2
Beweis. Wir beweisen den Satz mit vollständiger Induktion.1
1 Vollständige
Induktion ist Induktion auf den natürlichen Zahlen.
1
• Induktionsanfang. Für n = 1 gilt:
1
X
1 · (1 + 1)
2
= =1=
i
2
2
i=1
(Bemerkung:
n
X
i ist Kurznotation für 1 + · · · + n.)
i=1
• Induktionschritt. Nehme an, dass
n
X
i=
i=1
n · (n + 1)
.
2
(Dies ist die Induktionsvoraussetzung.) Dann gilt:
n+1
X
i=
i=1
n
X
i + (n + 1)
i=1
=
=
=
=
Der mit (IH) geschrifteten
these).
n · (n + 1)
+ (n + 1)
(IH)
2
n2 + n 2n + 2
+
2
2
n2 + 3n + 2
2
(n + 1) · (n + 2)
2
Schritt folgt aus der Induktionsvoraussetzung (Induktionshypo-
Wegen vollständiger Induktion, gilt der Satz.
2
Sprachen und Grammatiken
Beispielableitung in einer Grammatik (Zu Folie 75)
Eine Ableitung des Wortes aabbcc in der Grammatik der Folie 72:
S ⇒ aSBC ⇒ aaBCBC ⇒ aaBBCC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc
Das heißt, dass aabbcc ∈ L(G).
Bemerkung zur Chomsky-Hierarchie für Grammatiken (Folie 85)
Alle genannten Bedingungen gelten zusätzlich zu den vorher genannten Bedingungen. Das heißt,
eine reguläre Grammatik G = (Σ, V, P, S) muss die folgenden Bedingungen erfüllen: für alle Regeln
l → r gilt:
• |l| ≤ |r|;
• l ∈ V (l ist eine einzelne Variable);
• r = a oder r = aB, für a ∈ Σ und B ∈ V .
Die Chomsky-Hierarchie für Grammatiken ist eine Hierarchie. Das heißt, jede Chomsky-i-Grammatik
ist auch eine Chomsky-(i − 1)-Grammatik (für i ∈ {1, 2, 3}).
Es ist möglich, dass die gleiche Sprache von zwei verschiedenen Grammatiken erzeugt wird. Die
zwei verschiedenen Grammatiken können auch von verschiedenem Chomsky-Typ sein.
2
Grammatiken in Chomsky-Hierarchie einordnen (Folien 85, 86 und 89)
Beispiele
• Sei G0 = ({S}, {a, b}, P0 , S), wobei P0 die folgenden Produktionen enthält:
S → aaSbb | aa → a
bb → b
aaa → bbb → Die Grammatik G0 ist vom Typ 0, aber nicht vom Typ 1, denn es gibt Produktionen l → r
mit |l| > |r|.
• Sei G1 = ({S, A, B, T, X}, {a, b}, P1 , S), wobei P1 die folgenden Produktionen enthält:
S → XT | a | b | T → BT | T A | B | A
BA → AB
XA → aX
XB → bb
B→b
Die Grammatik G1 ist kontextsensitiv (Typ 1), denn für alle Produktionen l → r gilt, dass
|l| ≤ |r| (S → is erlaubt wegen der -Sonderregel.)
Sie ist aber nicht kontextfrei, denn drei Produktionen enthalten nicht eine einzelne Variable
als linke Seite.
• Sei G2 = ({S, T }, {a, b}, P2 , S), wobei P2 die folgenden Produktionen enthält:
S→T |
T → aT | T b | a | b
Die Grammatik G2 ist kontextfrei (Typ 2), denn sie ist kontextsensitiv und alle linke Seiten
bestehen aus einer einzelnen Variable. (Die Produktion S → ist erlaubt wegen der Sonderregel.)
Sie ist aber nicht regulär (Typ 3), denn die rechte Seite der Produktion T → T b ist nicht
von der richtigen Form.
• Sei G3 = ({S, A, B}, {a, b}, P3 , S), wobei P3 die folgenden Produktionen enthält:
S → aA | aB | a | bB | A → aA | aB | a
B → bB | b
Die Grammatik G3 ist regulär, denn sie ist konstextsensitiv, kontextfrei, und alle Regeln
haben die richtige Form. (S → is wieder erlaubt wegen der -Sonderregel.)
Übrigens erzeugen alle Grammatiken die selbe Sprache: L(G0 ) = L(G1 ) = L(G2 ) = L(G3 ) =
{ak bn | k, n ≥ 0}. Die von allen Grammatiken erzeugte Sprache ist also regulär, denn es gibt eine
reguläre Grammatik, die die Sprache erzeugt (in diesem Fall: G3 ). (Die Sprache ist natürlich auch
kontextfrei und kontextsensitiv.)
3
Bemerkung zur Chomsky-Hierarchie für Sprachen (Folie 89)
Es gilt folgendes:
• Die Sprachklassen sind in einander enthalten. Jede Typ i-Sprache ist auch eine Typ-(i − 1)Sprache (für i ∈ {1, 2, 3}).
• Die Sprachklassen sind echt in einander enthalten. Für jede Sprachklasse Typ i (wobei i ∈
{0, 1, 2}), gibt es eine Sprache die vom Typ i ist, aber nicht vom Typ (i + 1).
• Es gibt auch Sprachen, die gar nicht von einer Grammatik erzeugt werden! (Dazu mehr in
der Vorlesung Berechenbarkeit und Komplexität.)
Wortproblem-Algorithmus für Typ-1-Grammatiken (Folie 93)
Wortproblem für das Wort aabbc und die Beispiel-Grammatik von Folie 77.
1.
2.
3.
4.
Anfang:
Schritt:
Schritt:
Schritt:
Schritt:
T
T
T
T
T
= {S}
= {S, aSBC, aBC}
(
( ((((
(((
aaSBCBC, abC}
aaBCBC,
= {S, aSBC, aBC,(
(
= {S, aSBC, aBC, abC, abc}
= {S, aSBC, aBC, abC, abc}
Keine Änderungen mehr, also terminiert der Algorithmus. Weil aabbc ∈
/ T , gilt aabbc ∈
/ L(G).
4
Herunterladen