update
This commit is contained in:
@ -0,0 +1,147 @@
|
||||
# Übungsblatt 9
|
||||
> Wenzel Schwan (1125033), Paul Kneidl (1125219), David Schirrmeister (1125746), Michelle Klein (1126422)
|
||||
|
||||
## Aufgabe 1
|
||||
Geben Sie für die folgende Sprachen über dem Alphabet $\Sigma = \{ a, b, c \}$ eine kontextfreie Grammatik $G_1$ an, so dass $L(G_1) = L_1$ gilt:
|
||||
|
||||
**$L_1 = \{ a^m b^c n \mid n, m \in \mathbb{N}, m < n + 1 \}$**
|
||||
|
||||
```
|
||||
S → aXc
|
||||
X → aXc | Xc | b
|
||||
```
|
||||
|
||||
$L_2 = \{ a^m b^c n \mid n, m \in \mathbb{N}, m > n + 1 \}$
|
||||
|
||||
```
|
||||
S → aaaXc
|
||||
X → aXc | aX | b
|
||||
```
|
||||
|
||||
$L_3 = \{ a^m b^c n \mid n, m \in \mathbb{N}, m \neq n + 1 \}$
|
||||
|
||||
```
|
||||
S → aXc | aaaYc
|
||||
X → aXc | Xc | b
|
||||
Y → aYc | aY | b
|
||||
```
|
||||
|
||||
## Aufgabe 2
|
||||
|
||||
### 2a)
|
||||
Geben Sie eine kontextfreie Grammatik $G_{arithm}$ an, welche die Sprache der vollständig geklammerten arithmetischen Ausdrücke über dem Alphabet $\Sigma = \{ 0, 1, \dots, 9, +, -, \cdot, /, (, ) \}$ erzeugt.
|
||||
Beispiel: $((23 - 42)/21) \in L(G_{arithm})$
|
||||
|
||||
```
|
||||
S → (SOS) | Z
|
||||
O → + | - | * | /
|
||||
Z → OZ | O
|
||||
O → 0 | 1 | ... | 9
|
||||
```
|
||||
|
||||
### 2b)
|
||||
Geben Sie eine kontextfreie Grammatik $G_{reg}$ an, welche die Sprache der vollständig geklammerten regulären Ausdrücke für reguläre Sprachen über dem Alphabet $\{ 0, 1, \dots, 9 \}$ erzeugt.
|
||||
|
||||
```
|
||||
S → (S|S) | (S*S) | (S*) | O
|
||||
O → OZ | Z
|
||||
Z → 0 | 1 | ... | 9
|
||||
```
|
||||
|
||||
## Aufgabe 3
|
||||
|
||||
### 3a)
|
||||
Gegeben sei die folgende kontextfreie Grammatik $G$ über dem Alphabet $\Sigma = \{ x, y, z \}$:
|
||||
|
||||
```
|
||||
S → y S y | H
|
||||
H → x H | x | H'
|
||||
H' → H | z
|
||||
```
|
||||
|
||||
Geben Sie eine CNF-Grammatik $G'$ an, so dass $L(G') = L(G)$ gilt. Geben Sie geeignete Zwischenschritte an und erläutern Sie Ihr Vorgehen.
|
||||
|
||||
```
|
||||
G'(0):
|
||||
S → S'
|
||||
S' → yS'y | H
|
||||
H → xH | x | H'
|
||||
H' → H | z
|
||||
|
||||
G'(1):
|
||||
S → S'
|
||||
S' → yS'y | H
|
||||
H → xH | x | H'
|
||||
H' → H | z
|
||||
|
||||
G'(2):
|
||||
S → yS'y | xH | x | z
|
||||
S' → yS'y | xH | x |z
|
||||
H → xH | x | z
|
||||
|
||||
G'(3):
|
||||
S → XS'' | XH | x | z
|
||||
S'' → S'Y
|
||||
S' → YS'' | XH | x | z
|
||||
H → XH | x | z
|
||||
Y → y
|
||||
X → x
|
||||
```
|
||||
|
||||
|
||||
### 3b)
|
||||
Geben Sie für die Sprache $L = \{ v \cdot a^n b^n \mid v \in \{ a, b, c \}^\ast, n \in \mathbb{N} \}$ eine CNF-Grammatik $G$ an, so dass $L(G) = L$ gilt.
|
||||
|
||||
$$S → VX | V_aX_1 | V_aV_b$$
|
||||
$$V → V_aV | V_bV | V_cV | a | b | c$$
|
||||
$$X → V_aX_1 | V_aV_b$$
|
||||
$$X_1 → XV_b$$
|
||||
$$V_a → a$$
|
||||
$$V_b → b$$
|
||||
$$V_c → c$$
|
||||
|
||||
|
||||
|
||||
## Aufgabe 4
|
||||
|
||||
Gegeben sei die folgende CNF-Grammatik $G$:
|
||||
|
||||
```
|
||||
S → A B | N H | N E
|
||||
A → N H | N E
|
||||
B → E B | 1
|
||||
H → A E
|
||||
N → 0
|
||||
E → 1
|
||||
```
|
||||
|
||||
### 4a)
|
||||
Beschreiben Sie die Sprache $L(G)$ in formaler Mengenschreibweise.
|
||||
|
||||
$$L(G) := \{0^n1^m|n,m ∈ N, n ≤ m\}$$
|
||||
|
||||
### 4b)
|
||||
Leiten Sie fünf selbstgewählte Wörter $w \in \{ 0, 1 \}^\ast$ unterschiedlicher Länge mit Hilfe der Grammatik $G$ ab (Folge von 1-Schritt-Ableitungen).
|
||||
|
||||
$$01: S → NE → 0E → 01$$
|
||||
|
||||
$$011: S → AB → NEB → 0EB → 01B → 011$$
|
||||
|
||||
$$00111: S → AB → NHB → NAEB → NNEEB → 0NEEB → 00EEB → 001EB → 0011B → 00111$$
|
||||
|
||||
$$0111: S→ AB→ NEB → 0EB → 01B → 01EB → 011B → 0111$$
|
||||
|
||||
$$001111: S → AB → NHB → NAEB → NNEEB → 0NEEB → 00EEB → 001EB → 001EEB → 0011EB → 00111B → 001111$$
|
||||
|
||||
### 4c)
|
||||
Wie viele Ableitungsschritte wurden jeweils in 4b benötigt? Geben Sie möglichst exakt an, wie viele Ableitungsschritte (in Abhängigkeit von $n$) nötig sind, um ein Wort $w \in L(G)$ der Länge $n \in \mathbb{N}$ abzuleiten.
|
||||
|
||||
2 → 3; 3 → 5; 5 → 9; 4 → 7; 6 → 11
|
||||
|
||||
→ $2n - 1$
|
||||
|
||||
### 4d)
|
||||
Lässt sich Ihre Erkenntnis aus 4c auf andere CNF-Grammatiken übertragen? Begründen Sie Ihre Antwort.
|
||||
|
||||
Ja, da die CNF eine binäre Struktur erzwingt, was stets zu $2n-1$ Ableitungsschritten führt.
|
||||
→ Jede Regel ist entweder vom Typ `A→BC` oder `A→a`, was zu einem binären Baum führt.
|
Reference in New Issue
Block a user