Beate Bollig, André Gronemeier Lehrstuhl 2, Fakultät für Informatik Sommersemester 2009 TIfAI Übung – Blatt 14 Ausgabedatum: 14.7.2009 — Abgabedatum: 20.7.2009, 12:00 Uhr Abgabe: Die Übungszettel können im LS2-Sekretariat (OH 14, Raum 306 ) abgegeben werden oder in den TIfAI-Übungsbriefkasten (Briefkasten 11 im Pav. 6 auf dem Süd-Campus) geworfen werden. Wichtig: Bitte die Übungsgruppe (Wochentag oder Nummer) angeben! Lernraum: Am 30.7. wird zur üblichen Zeit eine weitere Lernraumbetreuung zur Unterstützung eurer Prüfungsvorbereitungen angeboten. Aufgabe 14.1: Kurzaufgabe (2 Punkte): Beschreibe die Tripelkonstruktion bei der Umformung NPDA → kontextfreie Grammatik. Hauptaufgabe (8 Punkte): Es sei L = {an bn | n ≥ 1} ⊆ {a, b}n . Im Folgenden ist die Zustandsübergangsfunktion eines DPDAs für L mit dem Stackalphabet Γ = {Z, X} und der Zustandsmenge Q = {q0 , q1 } angegeben. Der Startzustand ist q0 , der Stack wird mit Z initialisiert und der Akzeptanzmodus des DPDA ist leerer Stack. δ(q0 , a, Z) = (q0 , X) δ(q0 , a, X) = (q0 , XX) δ(q0 , b, X) = (q1 , ) δ(q1 , b, X) = (q1 , ) Wie üblich hält und verwirft der DPDA, falls für den aktuellen Zustand, das aktuelle Eingabezeichen und das aktuelle Stacksymbol die Zustandsübergangsfunktion nicht definiert ist. Konstruiere mittels der Tripelkonstruktion die zugehörige kontextfreie Grammatik. Welche besondere Eigenschaft hat diese Grammatik? Aufgabe 14.2: Kurzaufgabe (2 Punkte): Informiere dich unter http://www.gnu.org/software/bison/manual/bison.html über das Programm bison und erkläre kurz den Zweck dieses Programms. Hauptaufgabe (8 Punkte): Mache dich zunächst mit dem Beispiel calc auf http://www.gnu.org/software/bison/manual/bison.html#Infix-Calc vertraut. Benutze darauf aufbauend bison, um ein Programm zur Bildmanipulation“ zu schrei” ben. Dieses soll die binären Infix-Operatoren Differenz (−) und Überlagerung (+) und die unären Präfix-Operatoren Glätten (G), Kanten schärfen (K) und Aufhellen (A) unterstützen, die in beliebiger Reihenfolge in geklammerten Ausdrücken auf Bildquellen mit den Bezeichnungen 1-9 angewendet werden können. Das Programm soll dabei z.B. für die Operation A(A G 2 − K 3) die Ausgabe aufgehellte Differenz von geglättete aufgehellte Quelle 2 und geschärte Quelle 3 ausgeben, d.h. es geht hier nur um das Parsen der Eingabe, nicht um die tatsächliche Durchführung der Bildmanipulation. Aufgabe 14.3: Kurzaufgabe (2 Punkte): Beschreibe kurz das graphische Lösungsverfahren für LPs mit zwei Variablen. Hauptaufgabe (8 Punkte): Gib einen Algorithmus an, der unter der Bedingung, dass der Wert der Zielfunktion für zulässige Lösungen beschränkt ist, lineare Programme in Standardform mit zwei Variablen und m Nebenbedingungen in Zeit O(m2 ) löst. Aufgabe 14.4: Kurzaufgabe (2 Punkte): Wie sieht die Adjazenzmatrix eines Kreises aus? Hauptaufgabe (8 Punkte): Modelliere das Problem TSP als ganzzahliges lineares Programm. Beachte, dass die Lösung des ILPs einen Kreis auf n Knoten darstellen muss, nicht mehrere Kreise auf weniger Knoten. Bemerkung: Vermutlich findet ihr nur Lösungen, die für n Orte mindestens 2n Nebenbedingungen enthalten. Es gibt allerdings auch sehr clevere Lösungen mit polynomieller Größe.