David Schirrmeister a13909a556 update
2025-05-12 22:45:01 +02:00

5.8 KiB
Raw Blame History

Ü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

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 = 10^n, n ∈ \mathbb{N}_0}$
  • $N_2 = N(0) = {\w ∈{0,1}^*\space|\space w = 0}$
  • $N_3 = N(00\spaceu\space11) = {\w ∈{0,1}^\space|\space w = 10^n1^m, n ∈ \mathbb{N}_0, m ∈ \mathbb{N}\ \space u \space w ∈ {0,1}^\space|\space w=001^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 \cdot s \mid s \in \{ 0,1,2,4 \}^* \}
  • L_2 = \{ s \cdot xx \mid s \in \{ x,y,z \}^* \}
  • L_3 = \{ 0^n 1^0 2^n \mid n \in \mathbb{N} \}
  • L_4 = \{ x^n y^z n^m \mid 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 \mid n,m \in \mathbb{N} \} \cup \{ 0^n 2^m \mid n,m \in \mathbb{N} \}
  • L_2 = \{ 0^n 1^m \mid n,m \in \mathbb{N} \} \cup \{ 2^n 1^m \mid n,m \in \mathbb{N} \}
  • L_3 = \{ s \in \Sigma^* \mid \exists s_1 \in \Sigma^* : s = 2 \cdot s_1 \wedge \forall s_2 \in \Sigma^* : s \neq s_2 \cdot 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 \mid 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