Automaten und Formale Sprachen WS 06/07

Werbung
K
TU Ilmenau, Fakultät IA
Institut TI, FG Komplexitätstheorie und Effiziente Algorithmen
Priv.-Doz. Dr.rer.nat.habil. K.-H. Niggl, Dipl.-Inf. U. Schellbach
http://www.tu-ilmenau.de/fakia/afs.html
Automaten und Formale Sprachen WS 06/07
Übungsblatt 5
Abgabetermin: Donnerstag, den 16.11.2006, in der Vorlesung
Aufgabe 1 (Induktion über den Aufbau binärer Bäume)
Betrachten Sie die in der Vorlesung behandelte (informale) induktive Definition der Menge BB
von binären Bäumen:
(B) ist ein binärer Baum.
(R) Sind T1 , T2 binäre Bäume, so auch hT1 ; ; T2 i.
(A) Nur die gemäß (B) und (R) erzeugbaren Objekte sind binäre Bäume.
Die Tiefe d(T ) eines binären Baumes T (d.h. die maximale Anzahl der Kanten eines Weges in
T von der Wurzel zu einem Blatt) wurde durch Rekursion über den Aufbau“ von BB definiert:
”
d() := 0
d(hT1 ; ; T2 i) := 1 + max{d(T1 ), d(T2 )}
Beweisen Sie durch Induktion über den Aufbau von BB die folgende Aussage:
(∗) Für alle binären Bäume T gilt: #Knoten(T ) ≤ 2d(T )+1 − 1
Dabei bezeichne #Knoten(T ) die Anzahl der Knoten in T .
Aufgabe 2 (Eine Standardbasis“ der Booleschen Funktionen)
”
Bezeichne BF := {f : {0, 1}n → {0, 1} | n ∈ + } die Menge der Booleschen Funktionen und
werde (analog zur Menge alF) die Menge der B-Formeln induktiv aus Variablen und den Konjunktoren aus B := {¬, ∧, ∨} definiert.
Eine n-stellige Boolesche Funktion f heiße B-definierbar, falls eine B-Formel φ(X1 , . . . , Xn )
existiert, so daß f (v(X1 ), . . . , v(Xn )) = [[φ]]v für alle Belegungen v gilt.
N
Beweisen Sie durch vollständige Induktion nach der Stelligkeit n ∈
jede Boolesche Funktion B-definierbar ist.
N+ von BF-Funktionen, daß
Hinweis: Im Induktionsschritt zerlegt man eine beliebige (n + 1)-stellige Funktion f geeignet
in zwei n-stellige Funktionen f0 , f1 und gewinnt aus den nach I.V. existierenden B-Formeln für
f0 , f1 eine B-Formel für f .
Aufgabe 3 (Informale induktive Definitionen)
Geben Sie (informal) induktive Definitionen für die folgenden Mengen an:
N
(a) Die Menge UD := {1i | i ∈ } der Unärdarstellungen der natürlichen Zahlen.
(b) Die Menge BD := {bin(n) | n ∈ + } der Binärdarstellungen der natürlichen Zahlen ≥ 1.
(c) Die Menge AA der vollständig geklammerten arithmetischen Ausdrücke über {+, −, ·, /}
aufgebaut aus rationalen Zahlen.
(d) Die Menge AAV der vollständig geklammerten arithmetischen Ausdrücke über {+, −, ·, /}
aufgebaut aus rationalen Zahlen und Variablen x0 , x1 , . . . .
N
2
Automaten und Formale Sprachen WS 06/07
Übungsblatt 5
Aufgabe 4 (Rekursionen über den Aufbau)
Definieren Sie durch Rekursion über den Aufbau“ (ausgehend von Aufgabe 3) die folgenden
”
Funktionen:
N mit l(1i ) = i für alle i ∈ N.
(b) val : BD → N mit val(bin(n)) = n für alle n ∈ N+ .
(a) l : UD →
(c) val : AA → Q ∪ {⊥}, wobei val jedem Ausdruck expr ∈ AA seinen numerischen Wert
val(expr) zuordnen soll, wenn sich dieser ohne Division durch 0 ermitteln läßt. Andernfalls
soll val(expr) = ⊥ gelten, wobei ⊥ für undefiniert“ steht.
”
(d) valb : AAV → Q ∪ {⊥}, wobei b : {x0 , x1 , . . . } → Q eine Belegung der Variablen mit Werten
aus Q ist und valb jedem Ausdruck expr ∈ AAV seinen numerischen Wert valb (expr) unter
der Belegung b zuordnen soll (bzw. ⊥, wenn bei der Auswertung eine Division durch 0
vorkommt).
Aufgabe 5 (Induktion über den Aufbau korrekter Klammerausdrücke)
Betrachten Sie die folgende (informale) induktive Definition der Menge KKA von korrekten
Klammerausdrücken:
(B) ε ist ein korrekter Klammerausdruck.
(R) Sind w1 , w2 korrekte Klammerausdrücke, so auch (w1 )w2 .
(A) Nur die gemäß (B) und (R) erzeugbaren Objekte sind korrekte Klammerausdrücke.
Im folgenden bezeichne |u|( bzw. |u|) für Wörter u wie üblich die Anzahl der Vorkommen von
(“ bzw. )“ in u.
”
”
(a) Bestimmen Sie Mengen A, B, R für eine Darstellung von KKA als Menge IR (B).
(b) Beweisen Sie durch Induktion über den Aufbau von KKA die folgende Aussage:
(∗∗) Für alle w ∈ KKA gilt: Ist u ∈ A ein Präfix von w, so gilt |u|( ≥ |u|) .
Anschauliche Interpretation: Beim Lesen von korrekten Klammerausdrücken (von
links nach rechts) hat man zu jedem Zeitpunkt mindestens so viele öffnende wie schließende
Klammern gesehen.
Herunterladen