# Ü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) \mod 3\}$
    - $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\}$

- $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? 
- man müsste alle Wörter der Länge ≤ 6 überprüfen in beiden Zuständen.
- es gibt $2^7-1$ verschiedene Wörter, die  man 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 $L_2=L_1'$
  - Alles wird akzeptiert
- Nerode-Index = 1