¨Ubungen zur Vorlesung Berechenbarkeit und Formale Sprachen

Werbung
Prof. Dr. Rolf Wanka
Bernd Bassimir, Alexander Raß,
Sebastian Tschuppik, Jeanette Wohnig
Erlangen, 12. Januar 2017
Abgabe bis 19.1.17, 23:59 Uhr
Übungen zur Vorlesung
Berechenbarkeit und Formale Sprachen
WS 2016/2017
Blatt 10
Je mehr Plus-Zeichen +, desto wichtiger, je mehr Sterne ?, desto schwieriger.
AUFGABE 50:
[Präsenzaufgabe,++, ?] Sei G = (V, Σ, P, S) eine beliebige kontextfreie Grammatik. Eine Variable A ∈ V
∗
heißt nützlich, falls es ein Wort w ∈ Σ∗ gibt, so daß A → w. Anderenfalls wird A nutzlos genannt.
(a) Geben Sie einen Algorithmus an, der die nutzlosen Variablen von G berechnet, beweisen Sie seine
Korrektheit und bestimmen Sie seine Laufzeit in Abhängigkeit der Komponenten von G.
(b) Folgern Sie daraus, daß es zu gegebener kontextfreier Grammatik G entscheidbar ist, ob L(G) = 0/ ist
oder nicht.
AUFGABE 51 (4 Punkte):
[+ + + + +, ??] (Alte Klausuraufgabe)
(a) Aus der Vorlesung kennen Sie das NP-vollständige Knotenüberdeckungsproblem (engl.: Vertex Cover)
VC := {hG, ki | k ∈ IN, G = (V, E) ist ein ungerichteter Graph, für den es eine Knotenmenge U, U ⊆ V ,
gibt mit |U| = k, so daß für jede Kante {u, v} ∈ E gilt: u ∈ U oder v ∈ U}.
bin(a) bezeichne die Binärdarstellung der natürlichen Zahl a. Sei
n
S UMME = bin(a1 )# · · · #bin(an ) | n ≥ 2, a1 = ∑ ai .
i=2
Zeigen Sie: S UMME ≤p VC
Hinweis: Vergessen Sie nicht, die Laufzeit der Berechnung der Reduktionsfunktion zu begründen.
(b) Angenommen, P = NP. Zeigen Sie, daß S UMME dann NP-vollständig ist, indem Sie zeigen: VC ≤p
S UMME
Begründen Sie insbesondere durch Hinweis auf die Definition des Begriffs NP-Vollständigkeit, warum
S UMME damit NP-vollständig ist (was gilt dann für alle NP-vollständigen Probleme wie (nur als
Beispiel) SAT?).
AUFGABE 52 (4 Punkte):
[+ + +, ?] Sei Σ ein Alphabet.
(a) Zeigen Sie: Jede endliche Sprache L über Σ (also Sprachen L mit |L| 6= ∞) ist regulär.
(b) Sei L1 , L2 , . . . eine unendliche Aufzählung regulärer Sprachen. Ist L =
[
i∈IN
Li grundsätzlich regulär?
AUFGABE 53 (4 Punkte):
[++, ? ? ?] Sei
L = {w | w ∈ {a, b}∗ , #a (w) = #b (w)} .
Geben Sie eine kontextfreie Grammatik G an, die L erzeugt. Beweisen Sie die Korrektheit Ihrer Grammatik.
(#a (w) gibt die Anzahl an, wie oft das Zeichen a in w vorkommt)
Hinweis: Die Lösungsidee besteht darin, eine rekursive Beziehung der Wörter in L zu finden. Ist z. B. w ∈ L
von der Form aw0 b, dann ist auch w0 ∈ L. Dieser Beziehung würde die Produktion S → aSb entsprechen.
Schwieriger ist der Fall für Wörter wie aababbbbaa ∈ L. Zählen Sie positionsweise von links nach rechts
den Überschuß“ an as (der auch negativ sein kann ,). Was muß passieren?
”
Vergessen Sie nicht, daß das leere Wort ε auch in L ist.
AUFGABE 54 (6 Bonus- Punkte):
[+ + +, ? ? ?] Geben Sie für die beiden folgenden Sprachen Grammatiken vom Typ Chomsky-3 an und
begründen Sie die Korrektheit.
(a) L1 = {w | w ∈ {0, 1}∗ , w enthält nicht die Teilfolge 011}
(b) L2 = {w | w ∈ {0, 1}∗ , w ist Binärdarstellung einer Zahl n ∈ IN mit n mod 5 = 3}
Herunterladen