5.1 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? - (ii) Sind
a
undg
2-äquivalent? - (iii) Sind
d
unde
2-äquivalent? - (iv) Sind
d
undf
1-äquivalent? - (v) Sind
d
undf
2-äquivalent?
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?
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.
3(d)
Bestimmen Sie für i \in \{0, 1, 2\}
nachvollziehbar die $i$-äquivalenten Zustände von A
.
Ü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.
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.
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.
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.