Lösung - Arbeitsgruppe Kryptographie und Sicherheit

Werbung
Institut für Kryptographie und Sicherheit
Prof. Dr. Jörn Müller-Quade
Nico Döttling
Dirk Achenbach
Tobias Nilges
Vorlesung Theoretische Grundlagen der Informatik
Übungsblatt Nr. 2
Lösungsvorschlag
Aufgabe 1 (K) (4 Punkte): Konstruktion äquivalenter Automaten und
Automatenminimierung
Der ebenso geniale wie unberechenbare Wissenschaftler und Superbösewicht Doktor Meta hat
den Eingang zu seinem geheimen Labor mit einem Zugangsschutz versehen. Die Tür öffnet
sich erst, wenn auf einem Tastenfeld (Σ = {0, 1, · · · , 9}) eine korrekte PIN eingegeben wird.
Doktor Meta hat die PIN-Eingabe als endlichen Automaten A implementiert, der durch den
folgenden Zustandsübergangsgraphen gegeben ist:
2
q0
ε, 2
1, 3
1, 3
q1
1, 7
1, 7
q2
q4
ε
q3
ε
ng
Existiert für eine gegebene Eingabe ein Pfad zu einem akzeptierenden Zustand, öffnet sich die
Tür zum Labor. Sonst öffnet sich eine Falltür zu einem Haifischbecken (mit „Lasern“). Auf
diese Weise kann Doktor Meta jedem seiner Handlanger eine individuelle PIN zuteilen.
Aufgrund jüngerer Vorfälle im Zusammenhang mit dem System ist Doktor Meta beunruhigt.
i.) Geben Sie die Zustandsübergangstabelle für A an. (0,5P)
Lö
su
ii.) Wandeln Sie den Automaten in einen deterministischen Akzeptor um. (1P)
iii.) Minimieren Sie den Automaten. Zeichnen Sie den Automatengraphen. (1P)
iv.) Geben Sie die vom Automaten akzeptierte Sprache (die „Meta-PIN“) als regulären Ausdruck an. Geben Sie weiter eine rechtslineare Grammatik an, die sie erzeugt. Ist Doktor Meta zurecht beunruhigt? (1,5P)
Lösungsvorschlag
i.)
q0
q1
q2
q3
q4
ε
q1
∅
q1
q4
∅
1
∅
q2
q2 , q4
∅
q3
2
q1
q1
∅
∅
∅
3
∅
q2
q2
∅
∅
7
∅
∅
q4
∅
q3
wobei Σ = {0, 1, . . . , 9}. Nicht definierte Übergänge führen in den Fehlerzustand. Es war
nicht gefordert, die Tabelle vollständig anzugeben, ist aber selbstverständlich erlaubt.
ii.)
ii
{q0 , q1 }
{q1 , q2 }
{q1 }
{q1 , q2 , q4 }
{q4 }
{q1 , q2 , q3 , q4 }
{q3 , q4 }
∅
1
{q1 , q2 }
{q1 , q2 , q4 }
{q1 , q2 }
{q1 , q2 , q3 , q4 }
{q3 , q4 }
{q1 , q2 , q3 , q4 }
{q3 , q4 }
∅
2
{q1 }
{q1 }
{q1 }
{q1 }
∅
{q1 }
∅
∅
3
{q1 , q2 }
{q1 , q2 }
{q1 , q2 }
{q1 , q2 }
∅
{q1 , q2 }
∅
∅
7
∅
{q4 }
∅
{q3 , q4 }
{q3 , q4 }
{q3 , q4 }
{q3 , q4 }
∅
An dieser Stelle ist es sinnvoll, Zustandsbezeichnungen geeignet zu substituieren, aber
nicht notwendig.
iii.) Für eine Zustandsmenge {qi , qi+1 , . . . , qi+j } (aufsteigend sortiert) definieren wir einen
neuen Zustand qi i+1 ... i+j und substituieren entsprechend:
q1
–
–
2
1
1
1
1
q12
–
–
–
1
1
1
1
q124
–
–
–
–
2
≡
2
q4
–
–
–
–
–
2
≡
q1234
–
–
–
–
–
–
2
q34
–
–
–
–
–
–
–
ng
q01
q1
q12
q124
q4
q1234
q34
q01
–
≡
2
1
1
1
1
Lö
su
3
7
[q12 ]
1, 7
[q4 ]
1
1, 3
2
7
3
[q01 ]
2
2
[q124 ]
1
iv.) Den regulären Ausdruck entwickelt man am einfachsten aus dem ursprünglich gegebenen
Automaten: (2 + ε)(2∗ (1 + 3))+ (1 + 7)+
Die Grammatik lesen wir aus dem minimierten, deterministischen Automatengraphen
ab:
S → 1A | 2S | 3A,
A → 1C | 2S | 3A | 7B,
B → λ | 1B | 7B,
C → λ | 1C | 2S | 3A | 7B
iii
Doktor Meta ist zurecht beunruhigt. Die kürzesten akzeptierten PINs haben die Länge
2 und es gibt vier Stück von ihnen (11, 17, 31, 37). Raten Eindringlinge unkoordiniert
4
eine zweistellige PIN, ist die Erfolgswahrscheinlichkeit pro Versuch |Σ|4 2 = 100
. Es ist also
ein erfolgreicher Einbruch für je 25 Eindringlinge zu erwarten. (Korrekturhinweis: Jede
andere sinnvolle Aussage ist auch richtig zu bewerten.)
Aufgabe 2 (K) (4 Punkte): Automatenkonstruktion
Zwei Zahlen in Binärdarstellung sollen verglichen werden. Sie werden als zwei Worte a =
an · an−1 · . . . · a1 ∈ {0, 1}∗ und b = bn · bn−1 · . . . · b1 ∈ {0, 1}∗ gleicher Länge n notiert. (Kleinere
Zahlen werden mit führenden Nullen dargestellt.)
a) wenn a > b,
b) wenn b > a,
c) sonst.
ng
i.) Die Zahlen sollen als Wort der Form an · bn · an−1 · bn−1 · . . . · a1 · b1 an einen Akzeptor
übergeben werden, mit dem jeweils größtwertigen Bit zuerst. Konstruieren Sie jeweils
einen DEA, der genau dann akzeptiert
Lö
su
Zeichnen Sie die Automatengraphen. Geben Sie reguläre Ausdrücke für die von den
Automaten akzeptierten Sprachen La>b , Lb>a , La=b an. (1,5P)
ii.) Die Zahlen werden nun mit dem niederwertigsten Bit zuerst übergeben, also in der Form
a1 · b1 · a2 · . . . · an · bn . Konstruieren Sie analog zur vorigen Teilaufgabe die drei DEAs.
(1P)
iii.) Wie lautet die Vereinigung der drei akzeptierten Sprachen La>b ∪La<b ∪La=b ? Wie lautet
diese Sprache in Worten? Zeichnen Sie einen DEA, der genau die Vereinigung akzeptiert.
(0,5P)
iv.) Kann man einen endlichen Automaten angeben, der genau dann akzeptiert, wenn a > b,
wobei zuerst a und dann b übergeben werden, also in der Form an ·an−1 ·. . .·a1 ·bn ·bn−1 ·b1 ?
Warum, wie? Oder warum nicht? Beweisen Sie Ihre Behauptung. (1P)
Lösungsvorschlag
i.)
a)
iv
0, 1
1
q2
q4
q5
0
0, 1
0
q0
1
1
0, 1
0
q1
q3
q6
0, 1
(Korrekturhinweis: Der Automat enthält einen unnötigen Zustand. Lösungen sind
sowohl mit wie auch ohne diesen Zustand richtig.)
b)
ng
La>b = (11 + 00)∗ 10((0 + 1)(0 + 1))∗
0, 1
1
q2
0
q5
0, 1
Lö
su
0
q4
q0
1
1
0
q1
0, 1
q3
q6
0, 1
(Korrekturhinweis: Der Automat enthält einen unnötigen Zustand. Lösungen sind
sowohl mit wie auch ohne diesen Zustand richtig.)
Lb>a = (11 + 00)∗ 01((0 + 1)(0 + 1))∗
c)
v
0, 1
1
q2
q4
q5
0
0, 1
0
q0
1
1
0, 1
0
q1
q3
q6
0, 1
(Korrekturhinweis: Der Automat enthält unnötige Zustände. Lösungen sind sowohl
mit wie auch ohne diese Zustände richtig.)
ii.)
ng
La=b = (00 + 11)∗
a)
q7
0, 1
Lö
su
0
1
q2
1
q4
q5
0
1
0
q0
1 0
1
1
0
q1
0
q3
q6
0
0, 1
1
q8
Das Minimieren des Automaten war nicht gefordert. Dennoch:
vi
q2
0
0, 1
q0
1
0
1
1
q1
q3
q6
0
0, 1
b)
ng
q7
0, 1
0
1
1
q2
0
q5
1
Lö
su
0
q4
q0
1 0
1
1
0
q1
0
q3
0
0, 1
Minimiert:
vii
q6
1
q8
1
0
q1
q4
q5
0
1
0, 1
0
q0
1
0, 1
q2
c)
ng
q7
0, 1
0
1
1
q2
0
q5
1
Lö
su
0
q4
q0
1 0
1
1
0
q1
0
q3
0
0, 1
Minimiert:
viii
q6
1
q8
q2
0
1
0
q0
q3
0, 1
1
0
1
q1
iii.) La>b ∪ La<b ∪ La=b = ((0 + 1)(0 + 1))∗ . Es handelt sich um die Sprache aller geradzahliger
Worte über dem Alphabet Σ = {0, 1}. Der folgende DEA akzeptiert sie:
0, 1
q1
ng
q0
0, 1
iv.) Ist n beschränkt, so ist die akzeptierte Sprache endlich und die Konstruktion trivial. Ist
n unbeschränkt, kann ein solcher Automat nicht existieren. Er müsste sich a „merken“,
bevor er b einliest.
Lö
su
Wir führen einen Beweis durch Widerspruch. Sei A = (Q, {0, 1}, δ, q0 , F) ein endlicher
Automat, der an ·an−1 ·. . .·a1 ·bn ·. . .·b1 ∀a, b ∈ {0, 1}n , n ∈ N genau dann akzeptiert, wenn
a > b. Lies ein beliebiges a ∈ {0, 1}n mit n > ld |Q| ein und stoppe die Berechnung. Da es
2n > |Q| verschiedene Zeichenfolgen der Länge {0, 1}n gibt, gibt es a und a0 der Länge n,
nach deren Einlesen A nun im gleichen Zustand ist, obwohl a 6= a0 . Sei o. B. d. A. a0 > a.
Wähle nun b = a als zweite Eingabe in A. Der Automat akzeptiert nicht, da a = b. Lies
nun a0 · b in den Automaten ein. Da a0 > b, akzeptiert er. Dies ist ein Widerspruch dazu,
dass er nach dem Einlesen von a und a0 im gleichen Zustand war und danach dieselbe
Eingabe b erfolgte. E
(Hinweis: Ein Beweis mit der Anwendung des Pumping Lemmas genügt hier nicht ganz,
wenn so nur gezeigt wird, dass der Automat nicht erkennen kann, dass Eingaben nicht
„wohlgeformt“ (|a| =
6 |b|) sind. Es geht hier aber darum, dass der Automat nicht zählen
kann, selbst wenn alle Eingaben per Definition wohlgeformt sind. (Es könnte ja sein, dass
es einen Automaten gibt, der erkennen kann, ob a > b, obwohl er nicht erkennen kann,
wenn er eine nicht wohlgeformte Eingabe erhält. Warum das nicht sein kann, thematisiert
diese Aufgabe.) Es gibt eine gültige Form des Beweises mit Pumping Lemma: Dabei wird
w = 0n 10n+1 (a > b) gewählt. Dann enthält y für jede Zerlegung w = xyz mit |y| ≥ 1
und |xy| ≤ n keine 1 und durch (geradzahliges!) „Aufpumpen“ von y 2i wird a < b und
w 6∈ La>b . E)
ix
Aufgabe 3 (K) (4 Punkte): Grenzen endlicher Automaten
Zeigen Sie unter Zuhilfenahme des Pumping Lemmas für reguläre Sprachen, dass die folgenden
Sprachen nicht regulär sind:
i.) L1 = {0m 12m | m > 0}. (1P)
ii.) L2 = {w ∈ {0, 1}∗ | w ist ein Palindrom}. (1P)
iii.) L3 = {0n 1m 0k | m, n, k ≥ 0, m − n > k}. (1P)
iv.) L4 = {w1 w2 ∈ {a, b, c}∗ | w1 ∈ {a, b}∗ , w2 ∈ {b, c}∗ , #a w1 + #b w1 = #b w2 + #c w2 }.
Hier sei #x w die Häufigkeit des Vorkommens eines Zeichens x ∈ {a, b, c} in einem Wort
w ∈ {a, b, c}∗ . (1P)
Lösungsvorschlag
ng
i.) Wir wählen das Wort s = 0l 12l , wobei l = p gilt. Dann ist für s = xyz: |xy| ≤ p und
damit xy = 0l . Daraus folgt x = 0l−m , y = 0m und z = 12l . Wäre L regulär, müsste auch
s0 = xy 2 z = 0l+m 12l in L liegen (Pumping Lemma). Dies ist aber offensichtlich nicht der
Fall. E
Lö
su
ii.) Wir wählen das Wort s = 0l 10l , wobei l = p gilt. Dann ist für s = xyz: |xy| ≤ p und
damit xy = 0l . Daraus folgt x = 0l−m , y = 0m und z = 10l . Wäre L regulär, müsste auch
s0 = xy 2 z = 0l+m 10l in L liegen (Pumping Lemma). Dies ist aber offensichtlich nicht der
Fall. E
iii.) Wir wählen das Wort s = 0l 12l (also m = l, n = 2l und k = 0), wobei l = p gilt. Damit
kann die Argumentation aus Teilaufgabe i.) verwendet werden. E
iv.) Wir wählen das Wort s = al cl , wobei l = p gilt. Dann ist für s = xyz: |xy| ≤ p und
damit xy = al . Daraus folgt x = al−m , y = am und z = cl . Wäre L regulär, müsste auch
s0 = xy 2 z = al+m cl in L liegen (Pumping Lemma). Dies ist aber offensichtlich nicht der
Fall. E
Aufgabe 4 (K) (4 Punkte): Chomsky-Normalform
Gegeben sei die folgende Grammatik G = ({0, 1}, {A, B, C, D, E, F, G, S}, S, P), wobei P gegeben ist durch:
S → 01A
A → 1B|0C
B → 0A|G
C → D|AEG
D → C|0
E → F |G|01
x
F →1
G→ε
Überführen Sie G in Chomsky-Normalform, indem Sie in folgenden Schritten vorgehen:
i.) Eliminieren Sie die ε-Regeln. (1P)
ii.) Eliminieren Sie die Kettenregeln. (1P)
iii.) Eliminieren Sie die nutzlosen Variablen. (1P)
iv.) Transformieren Sie die Grammatik in die Chomsky-Normalform. (1P)
Lösungsvorschlag
Lö
su
ii.) Eleminieren des Zyklus C ↔ D.
Entfernen der Kettenregeln:
S → 01A
A → 1B|0C|1
B → 0A
C → AEG|AE|AG|1B|0C|1|0
D → 0|AEG|AE|AG|1B|0C|1
E → 01|1
F →1
ng
i.) Folgende Variablen bilden auf ε ab: {B, E, G}
Daraus ergeben sich folgende Produktionen:
S → 01A
A → 1B|0C|1
B → 0A|G
C → D|AEG|A|AE|AG
D → C|0
E → F |G|01
F →1
iii.) F kann nicht erreicht werden und G war eine ε-Produktion.
Entfernen der nutzlosen Variablen:
S → 01A
A → 1B|0C|1
B → 0A
C → AE|1B|0C|1|0
E → 01|1
iv.) Chomsky-Normalform:
S → DA
A → Y B|XC|1
B → XA
C → AE|Y B|XC|1|0
xi
D → XY
E → XY |1
X→0
Y →1
Aufgabe 5 (*): Abgeschlossenheit kontextfreier Sprachen
Zeigen Sie:
i.) Der Schnitt einer regulären und einer kontextfreien Sprache ist kontextfrei.
ii.) Der Schnitt zweier kontextfreier Sprachen ist im allgemeinen nicht kontextfrei.
iii.) Kontextfreie Sprachen sind unter Vereinigung abgeschlossen.
Lösungsvorschlag
ng
iv.) Kontextfreie Sprachen sind nicht unter Komplementbildung abgeschlossen.
Lö
su
i.) Der Schnitt einer regulären und einer kontextfreien Sprache ist kontextfrei.
Lösung
Sei M = (Q, Σ, δ, q0 , F) ein deterministischer endlicher Automat der eine reguläre Sprache L1 erkennt, K = (W, Σ, Γ, ρ, w0 , H) ein Kellerautomat der eine kontextfreie Sprache
L2 erkennt. Wir konstruieren einen Kellerautomaten R der L1 ∩ L2 erkennt. Sei dazu
R = (Z, Σ, Γ, φ, z0 , E). Wir setzen Z = Q × W, z0 = (q0 , w0 ) und E = F × H. Die
Zustandsübergangsrelation φ : Z × (Σ ∪ {}) × (Γ ∪ {}) → P(Z × (Γ ∪ {})) sieht
folgendermaßen aus.
φ((qi , wj ), , g) = {((qi , wj0 ), g 0 )|(wj0 , g 0 ) ∈ ρ(wj , , g)}
und für s 6= φ((qi , wj ), s, g) = {((δ(qi , s), wj0 ), g 0 )|(wj0 , g 0 ) ∈ ρ(wj , s, g)}.
Es ist nun klar dass R ein Wort w genau dann akzeptiert, wenn sowohl M als auch K
w akzeptieren, da R simultan M und K simuliert.
ii.) Der Schnitt zweier kontextfreier Sprachen ist im allgemeinen nicht kontextfrei.
Lösung Die Sprachen L1 = {an bn cm |n, m ∈ N} und L2 = {an bm cm |n, m ∈ N} sind
beide kontextfrei. Ihr Schnitt L3 = {an bn cn |n, m ∈ N} ist nicht kontextfrei, wie in der
Vorlesung mit dem Pumping-Lemma für kontextfreie Sprachen gezeigt wurde.
iii.) Kontextfreie Sprachen sind unter Vereinigung abgeschlossen.
Lösung
Sind G1 = (T1 , V1 , S1 , P1 ) und G2 = (T2 , V2 , S2 , P2 ) kontextfreie Grammatiken mit T1 ∩
T2 = ∅ und V1 ∩ V2 = ∅, so ist G = (T1 ∪ T2 , V1 ∪ V2 ∪ {S}, S, P1 ∪ P2 ∪ {S → S1 |S2 }),
mit einem neuen Nichtterminal S eine kontextfreie Grammatik für L1 ∪ L2 .
xii
Lö
su
ng
iv.) Kontextfreie Sprachen sind nicht unter Komplementbildung abgeschlossen.
Lösung
Wären kontextfreie Grammatiken und Komplementbildung abgeschlossen, so wären sie
auch unter Schnitt abgeschlossen, denn L1 ∩ L2 = L1 ∪ L2 . Dies ist jedoch ein Widerspruch zu (ii).
xiii
Herunterladen