This commit is contained in:
David Schirrmeister 2025-05-04 21:10:11 +02:00
parent 840fcfe2a8
commit 8fffe1762e
2 changed files with 185 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -11,7 +11,11 @@ Wie viele Berechnungspfade gibt $e$, die das Wort `1111` lesen? Wie viele Berech
Berechnungspfade (deterministisch) zu simulieren? Begründen Sie nachvollziehbar, Berechnungspfade (deterministisch) zu simulieren? Begründen Sie nachvollziehbar,
wie Sie auf Ihre Antworten gekommen sind. wie Sie auf Ihre Antworten gekommen sind.
**Antwort:**
Da wir bei jedem Übergang in `a` bleiben, gibt es nur einen möglichen Berechnungspfad für das Wort `1111`
Die Anzahl der deterministischen Berechnungsschritte liegt bei 4, da der Pfad 4 Eingaben verarbeitet.
### 1(b) ### 1(b)
Konstruieren Sie den Potenzautomaten $A_N$ zu $N$. Geben Sie bei der Konstruktion Konstruieren Sie den Potenzautomaten $A_N$ zu $N$. Geben Sie bei der Konstruktion
@ -170,6 +174,7 @@ e --> e : 1
Gibt es einen deterministischen endlichen Automaten mit weniger Zuständen als Gibt es einen deterministischen endlichen Automaten mit weniger Zuständen als
$A_N$, der $L(N)$ akzeptiert? Begründen Sie Ihre Antwort. $A_N$, der $L(N)$ akzeptiert? Begründen Sie Ihre Antwort.
**Antwort:**
Um $A_N$ zu minimieren, könnte man nicht erreichbare Zustände, in diesem Fall Um $A_N$ zu minimieren, könnte man nicht erreichbare Zustände, in diesem Fall
{{b},{c},{d},{ε}}, entfernen. {{b},{c},{d},{ε}}, entfernen.
@ -177,39 +182,76 @@ Ansonsten ist der Automat bereits in minimaler Form, da die Zustände sich alle
Erreichbarkeit und/oder ihrem Umgang mit Eingaben unterscheiden. Erreichbarkeit und/oder ihrem Umgang mit Eingaben unterscheiden.
## Übung 2 ## Übung 2
Betrachten Sie den nichtdeterministischen Automaten N aus Abbildung 2 über dem Betrachten Sie den nichtdeterministischen Automaten N aus Abbildung 2 über dem
Alphabet $Σ = \{ x, y, z \}^*$. Weiterhin seien die Zeichenketten $s_1 = zzx$, $s_2 = xxyz$, Alphabet $Σ = \{ x, y, z \}^*$. Weiterhin seien die Zeichenketten $s_1 = zzx$, $s_2 = xxyz$,
$s_3 = yyy$, $s_4 = xxz$ und $s_5 = xxzxxzxxzxxz$ definiert. $s_3 = yyy$, $s_4 = xxz$ und $s_5 = xxzxxzxxzxxz$ definiert.
![image_785.png](image_785.png) ![image_792.png](image_792.png)
Automat $N$ für Worte aus $\{x,y,z\}^*$, die kein $y$ enthalten und die Zeichenkette $xxy$ beinhalten
### 2(a) ### 2(a)
Geben Sie für jedes $s_i (i ∈ \{ 1, 2, . . . , 5 \})$ an, ob es eine Berechnung (Bearbeitungspfad) für den Automaten N gibt, welche die Zeichenkette si vollständig liest (also Geben Sie für jedes $s_i (i ∈ \{ 1, 2, . . . , 5 \})$ an, ob es eine Berechnung (Bearbeitungspfad) für den Automaten N gibt, welche die Zeichenkette si vollständig liest (also
alle Zeichen abarbeitet bevor entschieden wird, ob $s_i$ akzeptiert wird oder nicht.) alle Zeichen abarbeitet bevor entschieden wird, ob $s_i$ akzeptiert wird oder nicht.)
**Antwort:**
- $s_1$: ja
- $s_2$: nein
- $s_3$: ja
- $s_4$: ja
- $s_5$: ja
### 2(b) ### 2(b)
Geben Sie für jedes $s_i (i ∈ \{ 1, 2, . . . , 5 \})$ die Menge aller Zustände an, die $N$ durch Geben Sie für jedes $s_i (i ∈ \{ 1, 2, . . . , 5 \})$ die Menge aller Zustände an, die $N$ durch
die Zeichenkette si erreichen kann die Zeichenkette si erreichen kann
**Antwort:**
- $s_1$: {a,b}
- $s_2$: {}
- $s_3$: {$e$}
- $s_4$: {a,d}
- $s_5$: {a,d}
### 2(c) ### 2(c)
Wie viele Berechnungspfade gibt es, die das Wort $s_5$ vollständig lesen? Begründen Wie viele Berechnungspfade gibt es, die das Wort $s_5$ vollständig lesen? Begründen
Sie nachvollziehbar, wie Sie auf Ihre Antwort gekommen sind. Sie nachvollziehbar, wie Sie auf Ihre Antwort gekommen sind.
**Antwort:**
- $s_5 = xxzxxzxxzxxz = (xxz)^4$
- Anzahl Pfade:
- 4x (xxz) in `a` → nicht akzeptierend
- 3x (xxz) in `a` → akzeptierend
- 2x (xxz) in `a` → akzeptierend
- 1x (xxz) in `a` → akzeptierend
- 0x (xxz) in `a` → akzeptierend
- **5 Berechnungspfade**
### 2(d) ### 2(d)
Beschreiben Sie die Sprache $L(N)$ aller Worte, die der Automat $N$ akzeptiert Beschreiben Sie die Sprache $L(N)$ aller Worte, die der Automat $N$ akzeptiert
(formal oder informal, Ihre Wahl). Welche der Zeichenketten $s_i (i ∈ \{ 1, 2, . . . , 5 \})$ (formal oder informal, Ihre Wahl). Welche der Zeichenketten $s_i (i ∈ \{ 1, 2, . . . , 5 \})$
gehören zu $L(N )$, welche nicht? gehören zu $L(N )$, welche nicht?
**Antwort:**
- Automat $N$ für Worte aus $\{x,y,z\}^*$, die kein $y$ enthalten und die Zeichenkette $xxy$ beinhalten
- $L(N):=\{w ∈ Σ^* \space | \space w = a^n*b*c^n, n ∈ \mathbb{N}, a,c ∈ Σ\backslash\{y\}, b = xxz\}, Σ = \{c,y,z\}$
### 2(e) ### 2(e)
Beschreiben Sie die Sprache aller Worte, welche der Automat $N$ nicht vollständig Beschreiben Sie die Sprache aller Worte, welche der Automat $N$ nicht vollständig
bearbeiten kann, unabhängig davon ob $N$ die Worte akzeptiert oder nicht (formal bearbeiten kann, unabhängig davon ob $N$ die Worte akzeptiert oder nicht (formal
oder informal, Ihre Wahl). Also die Worte, für die kein Berechnungspfad existiert oder informal, Ihre Wahl). Also die Worte, für die kein Berechnungspfad existiert
der alle Zeichen liest der alle Zeichen liest
**Antwort:**
- Informell: Alle Worte, welche nach einem `y` ein `x` oder `z` beinhalten.
- Formell: $L(\not N) := \{w ∈ Σ^* \space | \space w = a^n*b^m*c^m*d^n, n ∈ \mathbb{N}, m ∈ \mathbb{N}_0, a,c ∈ \{x,z\}, b ∈ \{y\}, d ∈ Σ\}$
## Übung 3 ## Übung 3
### 3(a) ### 3(a)
@ -218,6 +260,20 @@ Konstruieren Sie einen deterministischen endlichen Automaten $A$ in formaler Tup
Darstellung, der genau die Worte akzeptiert die $A$ nicht akzeptiert. Beweisen Sie Darstellung, der genau die Worte akzeptiert die $A$ nicht akzeptiert. Beweisen Sie
die Korrektheit Ihrer Konstruktion. die Korrektheit Ihrer Konstruktion.
**Antwort:**
- $A' = (Σ,Q,q_s,Q'_a,δ)$
- $Q'_a=Q\backslash Q_a$
- Beweis:
- wenn $w ∈ Σ^*$ ein beliebiges Wort ist
- $δ(q_s, w) = q$
- Falls $q ∈ Q_a$
- $A$ akzeptiert das Wort
- da $q \not ∈ Q'_a$, akzeptiert $A'$ nicht
- Falls $q \not ∈ Q_a$
- $A$ akzeptiert das Wort nicht
- da $q ∈ Q'_a$, akzeptiert $A'$
- Es gilt also
- $w ∈ L(A') ↔ w \not ∈ L(A)$
### 3(b) ### 3(b)
Gegeben sei ein beliebiger nichtdeterministischer endlicher Automat $N = (Σ, Q, q_s, Q_a, δ)$. Gegeben sei ein beliebiger nichtdeterministischer endlicher Automat $N = (Σ, Q, q_s, Q_a, δ)$.
@ -226,6 +282,30 @@ endlichen Automaten $N$ konstruieren, der genau die Worte akzeptiert, die $N$ ni
akzeptiert? Falls ja, beweisen Sie die Korrektheit der Konstruktion. Falls nein, akzeptiert? Falls ja, beweisen Sie die Korrektheit der Konstruktion. Falls nein,
geben Sie ein Beispiel für das die Konstruktion scheitert. geben Sie ein Beispiel für das die Konstruktion scheitert.
**Antwort:**
- Nein, kann nicht konstruiert werden
- in einem NEA gibt es _mindestens_ einen Pfad, der in einen akzeptierenden Zustand führt, damit das Wort akzeptiert wird
- durch einfaches Subtrahieren der Mengen ändert sich nicht automatisch die Gesamtaussage über (Nicht-)Akzeptanz aller Pfade
- Beispiel
- $Σ = \{a\}$
- $Q = \{q_0, q_1\}$
- $q_s = q_0$
- δ
- | | (.,a) |
|-------|---------------|
| $q_0$ | $\{q_0,q_1\}$ |
| $q_1$ | |
- Verhalten von A
- für $w=a$
- $q_0 \xrightarrow[a] q_0$ → nicht akzeptierend
- $q_0 \xrightarrow[a] q_1$ → akzeptierend
- es existiert ein akzeptierender Pfad → a wird akzeptiert
- $Q'_a=\{q_0\}$
- für $w=a$
- $q_0 \xrightarrow[a] q_0$ → akzeptierend
- $q_0 \xrightarrow[a] q_1$ → nicht akzeptierend
- es existiert ein akzeptierender Pfad → a wird wieder akzeptiert
## Übung 4 ## Übung 4
@ -236,15 +316,117 @@ Betrachten Sie die beiden deterministischen endlichen Automaten $A_1$ und $A_2$
Beschreiben Sie den Aufbau von Worten $w$ aus der Sprache $L(A_1) L(A_2)$ (formal Beschreiben Sie den Aufbau von Worten $w$ aus der Sprache $L(A_1) L(A_2)$ (formal
oder informal, Ihre Wahl) oder informal, Ihre Wahl)
- informal: alle Worte, die genau drei `1` enthalten oder keine zwei `1` aufeinanderfolgend beinhalten
### 4(b) ### 4(b)
Konstruieren Sie einen nichtdeterministischen endlichen Automaten $N_$, der die Konstruieren Sie einen nichtdeterministischen endlichen Automaten $N_$, der die
Sprache $L(A_1) L(A_2)$ akzeptiert Sprache $L(A_1) L(A_2)$ akzeptiert
```plantuml
@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
}
[*] --> S
S --> A1 : ε
S --> A2 : ε
' --- Automat A1 ---
state "A" as A1 {
[*] --> a0
a0 --> a0 : 0
a0 --> a1 : 1
a1 --> a1 : 0
a1 --> a2 : 1
a2 --> a2 : 0
a2 --> a3 : 1
a3 --> a3 : 0
state a3##[bold]
}
' --- Automat A2 ---
state "B" as A2 {
[*] --> b0
b0 --> b0 : 0
b0 --> b1 : 1
b1 --> b0 : 0
b1 --> b2 : 1
state b0##[bold]
state b1##[bold]
}
@enduml
```
### 4(c) ### 4(c)
Beschreiben Sie den Aufbau von Worten $w$ aus der Sprache $L(A_1) ∩ L(A_2)$ (formal Beschreiben Sie den Aufbau von Worten $w$ aus der Sprache $L(A_1) ∩ L(A_2)$ (formal
oder informal, Ihre Wahl) oder informal, Ihre Wahl)
- Alle Wörter, die aus genau drei `1` bestehen und niemals 2x hintereinander eine `1` haben
### 4(d) ### 4(d)
Konstruieren Sie einen nichtdeterministischen endlichen Automaten $N_∩$, der die Konstruieren Sie einen nichtdeterministischen endlichen Automaten $N_∩$, der die
Sprache $L(A_1) ∩ L(A_2)$ akzeptiert Sprache $L(A_1) ∩ L(A_2)$ akzeptiert
```plantuml
@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
}
[*] --> a
' a: noch keine 1 gelesen
state a {
}
a --> a : 0
a --> b : 1
' b: eine 1 gelesen, darf nur 0 folgen
b --> b : 0
b --> c : 0
' c: bereit für zweite 1
c --> d : 1
' d: zwei 1 gelesen, darf nur 0 folgen
d --> d : 0
d --> e : 0
' e: bereit für dritte 1
e --> f : 1
' f: drei 1 gelesen akzeptierend
state f##[bold]
f --> f : 0
@enduml
```