5.9 KiB
Ü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 \}
.
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).
@startuml
scale 0.50
left to right direction
skinparam dpi 150
skinparam state {
BackgroundColor #FFFACD
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 DEAL
akzeptiert