8.4 KiB
Übungsblatt 5
Wenzel Schwan (1125033), Paul Kneidl (1125219), David Schirrmeister (1125746), Michelle Klein (1126422)
Übung 1
Bestimmen Sie den Nerode-Index der folgenden Sprachen und begründen Sie Ihre Antwort.
Ist der Nerode-Index endlich, so geben Sie alle Nerode-Klassen der Sprache an.
Ist der Nerode-Index unendlich, so geben Sie 5 selbst gewählte Nerode-Klassen der Sprache an.
-
L_2 = \{ w \in \{ a, b \}^* \mid \#a(w) \equiv \#b(w) \mod 3 \}
über dem Alphabet\Sigma_2 = \{ a, b \}
- Nerode-Index = 3
N_0 = N(ε) = \{w ∈ \{a,b\}^*\space|\space 0 = \#_a(w) = \#b(w) \}
N_1 = N(a) = \{w ∈ \{a,b\}^*\space|\space 1 ≡ \#_a(w) ≡ \#b(w) \mod 3\}
N_2 = N(aa) = \{w ∈ \{a,b\}^*\space|\space 2 ≡ \#_a(w) ≡ \#b(w) \mod 3\}
N_3 = N(aaa) = \{w ∈ \{a,b\}^*\space|\space 0 ≡ \#_a(w) ≡ \#b(w) \mod 3\}
- Nerode-Index = 3
-
L_3 = \{ w \in \Sigma^* \mid w \text{ enthält eine ungerade Anzahl von Nullen} \}
über dem Alphabet\Sigma_3 = \{ 0, 1 \}
- Nerode-Index = 2
N_1 = N(1) = \{w ∈ {0,1}^*\space|\space 0 ≡ \#_1(w) \mod 2\}
N_2 = N(0) = \{w ∈ {0,1}^*\space|\space 1 ≡ \#_1(w) \mod 2\}
- Nerode-Index = 2
-
L_4 = \{ w \cdot w^{\text{rev}} \mid w \in \{ 0, 1 \}^* \}
über dem Alphabet\Sigma_3 = \{ 0, 1 \}
Dabei istw^{\text{rev}}
die Umkehrung vonw
, also:w = w_1w_2\ldots w_n \Rightarrow w^{\text{rev}} = w_nw_{n-1}\ldots w_1
fürn \in \mathbb{N},\ w_i \in \{ 0, 1 \}
- Nerode-Index = ∞
- Man müsste unendlich viele Zustände speichern, um diese dann umgekehrt wieder einzufügen, daher unendlicher Nerode-Index
- Beispiel Nerode-Klassen:
N_0 = N(\varepsilon) = \{ w \in \{0,1\}^* \mid \exists u \in \{0,1\}^* : w = u \cdot u^{\text{rev}} \}
N_1 = N(0) = \{ w \in \{0,1\}^* \mid w \text{ beginnt mit } 0 \text{ und es existiert kein } u : w = u \cdot u^{\text{rev}} \}
N_2 = N(00) = \{ w \in \{0,1\}^* \mid w = 00 \cdot v \text{ mit } v \neq 00, \text{ sodass } w \notin L_4 \}
N_3 = N(1) = \{ w \in \{0,1\}^* \mid w \text{ beginnt mit } 1 \text{ und ist kein Palindrom der Form } u \cdot u^{\text{rev}} \}
N_4 = N(000) = \{ w \in \{0,1\}^* \mid w = 000 \cdot v, \text{ aber kein } u : w = u \cdot u^{\text{rev}} \}
- Nerode-Index = ∞
Übung 2
Betrachten Sie die Sprache
L = \{ s \in \Sigma^* \mid \#0(s) = \#1(s) \}
über dem Alphabet \Sigma = \{ 0, 1 \}
.
Welche der folgenden Mengen kann genutzt werden, um zu zeigen, dass L
einen unendlichen Nerode-Index hat? Begründen Sie Ihre Antwort.
-
(a)
X_1 = \{ 0^{2i}1^i \mid i \in \mathbb{N} \}
-
(b)
X_2 = \{ 0 1^i 0^i 0 \mid i \in \mathbb{N} \}
Antwort:
- (a)
- besteht aus mehr Nullen als Einsen
- Für zwei verschiedene Worte
w_i und w_j
- durch Anhängen eines Suffixes
z
, der gleichviele Nullen und Einsen hat- weiterhin nicht
∈ L
- weiterhin nicht
- → Wörter lassen sich unterscheiden → nicht Nerode-Äquivalent
- durch Anhängen eines Suffixes
- darum nicht (b):
- Unterschied immer genau zwei Nullen mehr als Einsen
- Nicht sicher, dass sie alle Nerode-ungleich sind
- Unterschied immer genau zwei Nullen mehr als Einsen
Übung 3
Betrachten Sie den Automaten A
aus Abbildung 1 über dem Alphabet \Sigma = \{ 0, 1 \}
.
Lesen Sie sich nochmals Definition 4.8 aus den Vorlesungsfolien sowie die Definition der $k$-Äquivalenz (\equiv_k^A
) durch.
3(a)
Beantworten Sie die folgenden Fragen und begründen Sie Ihre Antwort mit Hilfe der Definition von $k$-Äquivalenz.
- (i) Sind
a
undg
1-äquivalent?- nein, da man von q mithilfe vom Wort
1
in einen akzeptierenden Zustand kommt und von a aus nicht.
- nein, da man von q mithilfe vom Wort
- (ii) Sind
a
undg
2-äquivalent?- nein, da sie auch nicht 1 äquivalent sind
- (iii) Sind
d
unde
2-äquivalent?- nein, da man mit dem Wort
ε
in unterschiedlich akzeptierenden Zuständen landet.
- nein, da man mit dem Wort
- (iv) Sind
d
undf
1-äquivalent?- ja, sie kommen für
1
bzw.0
gleichermaßen in einen (nicht) akzeptierenden Zustand.
- ja, sie kommen für
- (v) Sind
d
undf
2-äquivalent?- ja, da sie 1-äquivalent sind und für Wörter der Länge
2
ebenfalls gleich reagieren.
- ja, da sie 1-äquivalent sind und für Wörter der Länge
3(b)
Beschreiben Sie, was Sie tun müssen, um über die Definition von 6-Äquivalenz zu überprüfen, ob d
und f
6-äquivalent sind. Wie aufwendig wäre dieses Vorgehen?
- ich müsste alle Wörter der Länge ≤ 6 überprüfen in beiden Zuständen.
- es gibt
2^7-1
verschiedene Wörter, die ich je zweimal einsetzen müsste.
3(c)
Die Zustände d
und f
sind 5-äquivalent (dies müssen Sie nicht selbst begründen).
Nutzen Sie dies aus, um mit möglichst wenig Aufwand zu überprüfen, ob d
und f
6-äquivalent sind. Begründen Sie Ihre Antwort.
- die beiden Zustände
- bleiben bei Eingabe von beliebig vielen Einsen im gleichen (akzeptierenden) Zustand.
- gehen bei Eingabe von einer
0
in den Zustandc
- ab da gleiches Verhalten, da gleicher Zustand nach gleicher Eingabe
- daher verhalten sie sich bei beliebiger Wortlänge identisch
3(d)
Bestimmen Sie für i \in \{0, 1, 2\}
nachvollziehbar die $i$-äquivalenten Zustände von A
.
i = 0
\{\{d,f\},\{a,c,e,g\}\}
- akzeptierende, nicht akzeptierende Zustände
i = 1
\{\{d,f\},\{c,e,g\},\{a\}\}
- d, f führen für
0
in einen nicht akzeptierenden Zustand1
in einen akzeptierenden Zustand
- c, e, g führen für
0
in einen nicht akzeptierenden Zustand1
in einen akzeptierenden Zustand
- a führt für
0,1
in einen nicht akzeptierenden Zustand
i = 2
\{\{d,f\},\{c,e,g\},\{a\}\}
- alle Übergänge bleiben wie bei
i = 1
- Wörter
00
,01
,10
,11
führen in gleiche Akzeptanzklassen
Übung 4
4(a)
Gegeben sei eine Sprache L
über dem Alphabet \Sigma
. Sei i
der Nerode-Index von L
.
Was ist der Nerode-Index der Sprache \Sigma^* \setminus L
? Begründen Sie Ihre Antwort.
- da für alle Wörter
u ∈ L
giltu \not ∈ L'
- und alle akzeptierenden Zustände in
L
inL'
nicht akzeptierend sind (und umgekehrt) - ist der Nerode-Index ebenfalls
i
4(b)
Gegeben seien die Sprachen
L_1 = \{ a^n \mid n \in \mathbb{N} \}
L_2 = \{ b^n \mid n \in \mathbb{N} \}
über dem Alphabet \Sigma = \{ a, b \}
.
Bestimmen Sie die Nerode-Indizes der Sprachen L_1
, L_2
und L_1 \cup L_2
und begründen Sie jeweils Ihre Antwort.
N(L_1)
= 3
- kein Zeichen eingegeben
- b eingegeben
- danach schleife auf sich selbst mit
a,b
- danach schleife auf sich selbst mit
- a eingegeben (akzeptierend)
- Schleife auf sich selbst mit
a
- Übergang zu b eingegeben mit
b
- Schleife auf sich selbst mit
N(L_2)
= 3
- kein Zeichen eingegeben
- a eingegeben
- danach schleife auf sich selbst mit
a,b
- danach schleife auf sich selbst mit
- b eingegeben (akzeptierend)
- Schleife auf sich selbst mit
b
- Übergang zu a eingegeben mit
a
- Schleife auf sich selbst mit
N(L_1 ∪ L_2)
= 4
- kein Zeichen eingegeben
- a eingegeben (akzeptierend)
- danach schleife auf sich selbst mit
a
- Übergang zu müllzustand mit
b
- danach schleife auf sich selbst mit
- b eingegeben (akzeptierend)
- Schleife auf sich selbst mit
b
- Übergang zu müllzustand mit
a
- Schleife auf sich selbst mit
- müllzustand
4(c)
Gegeben seien die Sprachen
L_1 = \{ a^n \mid n \in \mathbb{N}_0 \}
L_2 = \{ b^n \mid n \in \mathbb{N}_0 \}
über dem Alphabet\Sigma = \{ a, b \}
.
Bestimmen Sie die Nerode-Indizes der Sprachen L_1
, L_2
und L_1 \cup L_2
und begründen Sie jeweils Ihre Antwort.
N(L_1)
= 2
- Startzustand (akzeptierend)
- schleife auf sich selbst mit
a
- Übergang zu b eingegeben mit
b
- b eingegeben
- Schleife auf sich selbst mit
a,b
- Schleife auf sich selbst mit
- schleife auf sich selbst mit
- Startzustand (akzeptierend)
N(L_2)
= 2
- Startzustand (akzeptierend)
- schleife auf sich selbst mit
b
- Übergang zu a eingegeben mit
a
- schleife auf sich selbst mit
- a eingegeben
- Schleife auf sich selbst mit
a,b
- Schleife auf sich selbst mit
- Startzustand (akzeptierend)
N(L_1 ∪ L_2)
= 4
- Startzustand (akzeptierend)
- a eingegeben (akzeptierend)
- danach schleife auf sich selbst mit
a
- Übergang zu müllzustand mit
b
- danach schleife auf sich selbst mit
- b eingegeben (akzeptierend)
- Schleife auf sich selbst mit
b
- Übergang zu müllzustand mit
a
- Schleife auf sich selbst mit
- müllzustand
4(d)
Gegeben sei eine Sprache L_1
über einem Alphabet \Sigma
.
Wählen Sie eine Sprache L_2
über demselben Alphabet \Sigma
, so dass der Nerode-Index der Sprache L_1 \cup L_2
möglichst klein wird. Begründen Sie Ihre Wahl.
- Kleinstmöglicher
N(L_1 ∪ L_2)
wennL_2=L_1'
- Alles wird akzeptiert
- Nerode-Index = 1