# Ü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\}$ - $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\}$ - $L_4 = \{ w \cdot w^{\text{rev}} \mid w \in \{ 0, 1 \}^* \}$ über dem Alphabet $\Sigma_3 = \{ 0, 1 \}$ Dabei ist $w^{\text{rev}}$ die Umkehrung von $w$, also: $w = w_1w_2\ldots w_n \Rightarrow w^{\text{rev}} = w_nw_{n-1}\ldots w_1$ für $n \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}} \}$ ## Ü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$ - → Wörter lassen sich unterscheiden → nicht Nerode-Äquivalent - darum nicht (b): - Unterschied immer genau zwei Nullen mehr als Einsen - Nicht sicher, dass sie alle Nerode-ungleich sind ## Ü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. ![image_842.png](image_842.png) ### 3(a) Beantworten Sie die folgenden Fragen und begründen Sie Ihre Antwort mit Hilfe der Definition von $k$-Äquivalenz. - (i) Sind $a$ und $g$ 1-äquivalent? - nein, da man von q mithilfe vom Wort `1` in einen akzeptierenden Zustand kommt und von a aus nicht. - (ii) Sind $a$ und $g$ 2-äquivalent? - nein, da sie auch nicht 1 äquivalent sind - (iii) Sind $d$ und $e$ 2-äquivalent? - nein, da man mit dem Wort `ε` in unterschiedlich akzeptierenden Zuständen landet. - (iv) Sind $d$ und $f$ 1-äquivalent? - ja, sie kommen für `1` bzw. `0` gleichermaßen in einen (nicht) akzeptierenden Zustand. - (v) Sind $d$ und $f$ 2-äquivalent? - ja, da sie 1-äquivalent sind und für Wörter der Länge `2` ebenfalls gleich reagieren. ### 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 Zustand `c` - 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 Zustand - `1` in einen akzeptierenden Zustand - c, e, g führen für - `0` in einen nicht akzeptierenden Zustand - `1` 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$ gilt $u \not ∈ L'$ - und alle akzeptierenden Zustände in $L$ in $L'$ 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$ - a eingegeben (akzeptierend) - Schleife auf sich selbst mit $a$ - Übergang zu _b eingegeben_ mit $b$ - $N(L_2)$ - $= 3$ - kein Zeichen eingegeben - a eingegeben - danach schleife auf sich selbst mit $a,b$ - b eingegeben (akzeptierend) - Schleife auf sich selbst mit $b$ - Übergang zu _a eingegeben_ mit $a$ - $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$ - b eingegeben (akzeptierend) - Schleife auf sich selbst mit $b$ - Übergang zu _müllzustand_ mit $a$ - 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$ - $N(L_2)$ - $= 2$ - Startzustand (akzeptierend) - schleife auf sich selbst mit $b$ - Übergang zu _a eingegeben_ mit $a$ - a eingegeben - Schleife auf sich selbst mit $a,b$ - $N(L_1 ∪ L_2)$ - $= 4$ - Startzustand (akzeptierend) - a eingegeben (akzeptierend) - danach schleife auf sich selbst mit $a$ - Übergang zu _müllzustand_ mit $b$ - b eingegeben (akzeptierend) - Schleife auf sich selbst mit $b$ - Übergang zu _müllzustand_ mit $a$ - 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)$ wenn eins von - $L_1 ⊆ L_2$ - $L_2 ⊆ L_1$ - Nichts Neues kommt hinzu, daher muss auch nichts Neues unterschieden werden