# Übungsblatt 4 > Wenzel Schwan (1125033), Paul Kneidl (1125219), David Schirrmeister (1125746), Michelle Klein (1126422) ## Übung 1 Betrachten Sie den Automaten $A$ aus Abbildung 1 über dem Alphabet $\Sigma = \{ 0, 1 \}$. ![image_822.png](image_822.png) ### 1(a) Gibt es einen endlichen Automaten mit 9 Zuständen, der die Sprache $L(A)$ akzeptiert? Begründen Sie Ihre Antwort. ja, da man bspw. von `d` aus weitere Zustände erstellen könnte, auf die man mit `1` kommt und von dort auf dann auf `g` verweist mit `0` ### 1(b) Gibt es einen endlichen Automaten mit 3 Zuständen, der die Sprache $L(A)$ akzeptiert? Begründen Sie Ihre Antwort. Nein, da der Automat 5 Nerode-Klassen hat. ### 1(c) Bestimmen Sie für jeden Zustand $q$ ($q \in \{ a, b, c, d, e, f, g \}$) von Automat $A$ die Sprache (in formaler Mengenschreibweise), die $A$ akzeptieren würde, wenn $q$ der Startzustand von $A$ wäre. - $L_a :=\{00*1^n, n ∈ \mathbb{N}_0 υ 1 *0^m*1^i, m ∈ \mathbb{N}_0, i ∈ \mathbb{N}\}$ - $L_b :=\{0^n*1^m \space | \space n ∈ \mathbb{N}_0, m ∈ \mathbb{N}\}$ - $L_c :=\{1^n \space|\space n ∈ \mathbb{N}_0\}$ - $L_d :=\{1^n \space|\space n ∈ \mathbb{N}_0\}$ - $L_e :=\{0*1^n \space|\space n ∈ \mathbb{N}_0 \}$ - f, g: Müllzustand - von hier aus wird die Sprache nicht mehr akzeptiert ### 1(d) Bestimmen Sie alle Nerode-Klassen und den Nerode-Index der Sprache $L(A)$ und begründen Sie Ihre Antwort. - $N_0 = N(ε) = \{w ∈\{0,1\}^*\space|\space w = ε\}$ - $N_1 = N(1) = \{w ∈\{0,1\}^*\space|\space w = 1*0^n, n ∈ \mathbb{N}_0\}$ - $N_2 = N(0) = \{w ∈\{0,1\}^*\space|\space w = 0\}$ - $N_3 = N(00\space U \space11) = \{w ∈\{0,1\}^*\space|\space w = 1*0^n*1^m, n ∈ \mathbb{N}_0, m ∈ \mathbb{N}\ \space u \space w ∈ \{0,1\}^*\space|\space w=0*0*1^n, n ∈ \mathbb{N}_0\}$ - $N_4 =$ Müllzustand ### 1(e) Geben Sie den Nerode-Automaten der Sprache $L(A)$ an (Graphdarstellung oder formale Tuppeldarstellung, Ihre Wahl). ```plantuml @startuml scale 0.50 left to right direction skinparam dpi 150 skinparam state { BackgroundColor #96cf95 BorderColor black FontName Helvetica RoundCorner 30 Shadowing false LineThickness 0 } state c##[bold] [*] --> a a --> b: 1 a --> e: 0 b --> b: 0 b --> c: 1 c --> c: 1 e --> c: 0 e --> f: 1 c --> f: 0 f --> f: 0,1 @enduml ``` ## Übung 2 Betrachten Sie die folgenden Sprachen: - $L_1 = \{ 111 * s \space | \space s \in \{ 0,1,2,4 \}^* \}$ - $L_2 = \{ s * xx \space | \space s \in \{ x,y,z \}^* \}$ - $L_3 = \{ 0^n 1^0 2^n \space | \space n \in \mathbb{N} \}$ - $L_4 = \{ x^n y^z n^m \space | \space n,m \in \mathbb{N} \}$ ### 2(a) Welche der angegebenen Sprachen haben einen Nerode-Index größer oder gleich vier? Begründen Sie für die von Ihnen ausgewählten Sprachen Ihre Antwort. - $L_1$ - Nerode-Index=4 - leere Menge, 3 weitere für jede eins & einen Müllzustand in den ein akzeptiertes Wort nicht mehr zu erreichen ist, da es z.B. mit einer 0 anfängt - $L_2$ - Nerode-Index=3 - leere Menge&Wörter ohne x/xx am Ende, Wörter die mit x enden, Wörter die mit xx enden (akzeptierter Zustand) - $L_3$ - Nerode-Index=∞ - um n = n = n zu unterscheiden braucht man unendlich Nerode-Klassen - $L_4$ - Nerode Index ∞ - min so viele z+1 wie x - gleiches wie bei $L_3$, es kommt auf die Anzahl x an & es gibt ∞ Optionen ### 2(b) Welche der angegebenen Sprachen haben einen endlichen Nerode-Index? Begründen Sie für die von Ihnen ausgewählten Sprachen Ihre Antwort. Wie in a schon beschrieben haben $L_1$ und $L_2$ einen endlichen Nerode-Index. Bei $L_1$ muss der Präfix untersucht werden und der Rest ist egal, somit ist dies mit 4 Zuständen möglich Bei $L_2$ muss der Suffix untersucht werden, somit ist dies mit 3 Zuständen möglich ### 2(c) Für welche der angegebenen Sprachen existiert kein endlicher Automat, der die Sprache akzeptiert? Begründen Sie für die von Ihnen ausgewählten Sprachen Ihre Antwort. Wie in a beschrieben existiert bei $L_3$ und $L_4$ kein endlicher Automat, da beide einen unendlichen Nerode-Index haben. Beide Automaten benötigen ∞ Zustände um n zu speichern ## Übung 3 Betrachten Sie die folgenden Sprachen über dem Alphabet $\Sigma = \{ 0, 1, 2 \}$: - $L_1 = \{ 0^n 1^m \space | \space n,m \in \mathbb{N} \} \cup \{ 0^n 2^m \space | \space n,m \in \mathbb{N} \}$ - $L_2 = \{ 0^n 1^m \space | \space n,m \in \mathbb{N} \} \cup \{ 2^n 1^m \space | \space n,m \in \mathbb{N} \}$ - $L_3 = \{ s \in \Sigma^* \space | \space \exists s_1 \in \Sigma^* : s = 2 * s_1 \wedge \forall s_2 \in \Sigma^* : s \neq s_2 * 00 \}$ Für welche der angegebenen Sprachen gilt, dass **jeder** endliche Automat, der die Sprache akzeptiert, **mehr als einen akzeptierenden Zustand** hat? Begründen Sie Ihre Antwort für jede der drei Sprachen. - $L_1$ - Es gibt mehr als 2 akzeptierende Zustände, da ein akzeptiertes Wort immer mit beliebig vielen 0 anfängt, aber dann entweder mit beliebig vielen 1 oder 2 endet, wodurch 2 akzeptierte Zustände benötigt werden. - $L_2$ - Ein akzeptierter Zustand reicht, da ein Wort zwar unterschiedlich anfängt, aber am Ende immer mit einer beliebigen Zahl 1 aufhört, wodurch alle vorherigen Schritte in einem Zustand zusammengeführt werden können. - $L_3$ - Es sind mehr als ein akzeptierter Zustand benötigt, da man einen Zustand benötigt für den Fall, dass das Wort mit nur einer 0 endet und einen für den Fall, dass das Wort mit keiner 0 endet. ## Übung 4 Benutzen Sie das Kochrezept aus der Vorlesung, um zu zeigen, dass die Sprache $L = \{ a^n b^n c^n \space | \space n \in \mathbb{N} \}$ von **keinem endlichen Automaten** akzeptiert wird. - $L = \{a^n,b^n,c^n\space|\space n ∈ \mathbb{N}\}$ - definiere $X=\{a^n\space|\space n ∈ \mathbb{N}\}$ - seien $u = a^i, v=a^j ∈ X mit i \not= j$ - dann gilt für $w = b^i*c^i$: - $u*w=a^i*b^i*c^i ∈ L$ - $u*v=a^j*b^j*c^j \not ∈ L$ - → $L$-Index $≥ |X| = ∞$, sodass kein DEA $L$ akzeptiert