update
This commit is contained in:
parent
840fcfe2a8
commit
8fffe1762e
BIN
Writerside/images/image_792.png
Normal file
BIN
Writerside/images/image_792.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
@ -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,
|
||||
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)
|
||||
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
|
||||
$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
|
||||
{{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.
|
||||
|
||||
|
||||
|
||||
|
||||
## Übung 2
|
||||
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$,
|
||||
$s_3 = yyy$, $s_4 = xxz$ und $s_5 = xxzxxzxxzxxz$ definiert.
|
||||
|
||||

|
||||
Automat $N$ für Worte aus $\{x,y,z\}^*$, die kein $y$ enthalten und die Zeichenkette $xxy$ beinhalten
|
||||

|
||||
|
||||
### 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
|
||||
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)
|
||||
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
|
||||
|
||||
**Antwort:**
|
||||
|
||||
- $s_1$: {a,b}
|
||||
- $s_2$: {}
|
||||
- $s_3$: {$e$}
|
||||
- $s_4$: {a,d}
|
||||
- $s_5$: {a,d}
|
||||
|
||||
### 2(c)
|
||||
Wie viele Berechnungspfade gibt es, die das Wort $s_5$ vollständig lesen? Begründen
|
||||
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)
|
||||
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 \})$
|
||||
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)
|
||||
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
|
||||
oder informal, Ihre Wahl). Also die Worte, für die kein Berechnungspfad existiert
|
||||
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
|
||||
### 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
|
||||
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)
|
||||
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,
|
||||
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
|
||||
@ -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
|
||||
oder informal, Ihre Wahl)
|
||||
|
||||
- informal: alle Worte, die genau drei `1` enthalten oder keine zwei `1` aufeinanderfolgend beinhalten
|
||||
|
||||
|
||||
### 4(b)
|
||||
Konstruieren Sie einen nichtdeterministischen endlichen Automaten $N_∪$, der die
|
||||
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)
|
||||
Beschreiben Sie den Aufbau von Worten $w$ aus der Sprache $L(A_1) ∩ L(A_2)$ (formal
|
||||
oder informal, Ihre Wahl)
|
||||
|
||||
- Alle Wörter, die aus genau drei `1` bestehen und niemals 2x hintereinander eine `1` haben
|
||||
|
||||
### 4(d)
|
||||
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
|
||||
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user