Files
zusammenfassungen/Writerside/topics/04/Theoretische Informatik/Hausaufgaben/ti_hausaufgabe9.md
David Schirrmeister 3ba9cf09b5 update
2025-07-08 10:21:11 +02:00

3.5 KiB

Ü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.