Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 11. Übungsblatt, WiSe 2014/15 Abgabetermin: 22.1.2015 Aufgabe 23 (4 Punkte) Sei A eine n×m Matrix und b ein m-Vektor. Beweisen Sie direkt mit Hilfe von Fourier-Motzkin-Elimination: Gilt für alle nicht-negativen m-Vektoren y mit y T A = 0 auch y T b ≥ 0, so existiert ein n-Vektor x mit Ax ≤ b. Aufgabe 24 (6 Punkte) Für alle natürlichen k sei das folgende Ungleichungssystem Ax ≤ b gegeben −kx + y kx + y −y ≤ 0 ≤ k ≤ 0, dessen ganzzahlige Lösungen die Vektoren (0, 0)T und (1, 0)T sind. Zeigen Sie: a) Die Ungleichungen y −x x ≤ b k2 c ≤ 0 ≤ 1 gehören zu e1 (A, b), nicht aber (für k ≥ 2) die Ungleichung y ≤ 0. b) Die Ungleichung y ≤ 0 gehört zu cl(A, b). Konstruieren Sie eine geeignete Folge von Teilmengen der elementaren Abschlüsse e1 (A, b), . . . , el (A, b), so dass {y ≤ 0} ∈ el (A, b). Aufgabe 25 (12 Bonuspunkte, bis 26.01.) - siehe Rückseite - Aufgabe 25 (12 Bonuspunkte, bis 26.01.) Gegeben sei ein Digraph D = (V, A). Das zugehörige Azyklische-Subdigraphen-Polytop PAC (D) ist definiert als PAC (D) = conv({χB | B ⊆ A ist azyklisch}). a) Zeigen Sie: Die Kreisungleichung Kreis C ⊆ A der Länge k ≥ 2. P a∈C xa ≤ k − 1 definiert eine Facette von PAC (D) für jeden b) Schreiben Sie ein Programm in C/C++, das alle Ecken der Polytope PAC (Dn ) generiert, wobei Dn den vollständigen Digraphen mit n Knoten bezeichnet. c) Verwenden Sie anschließend das Programm PANDA1) , um die kompletten äußeren Beschreibungen von PAC (Dn ) für 3 ≤ n ≤ 5 zu bestimmen. Welche Facettenklassen besitzen diese Polytope? Ist die Berechnung für n = 6 noch möglich? Hinweise zu PANDA: a) Verwenden Sie in den Input-Dateien für PANDA die MAPS-Funktion, um den Rechenaufwand zu reduzieren und die Ausgabe zu vereinfachen. Beispiel für 3 Knoten und Kantenvariablen xij : NAMES x12 x13 x21 x23 x31 x32 MAPS x23 x21 x32 x31 x12 x13 x21 x23 x12 x13 x32 x31 b) Verwenden Sie lexikographisch abwärts sortierten Input (PANDA-Parameter -s lex desc). Dies beschleunigt die Berechnung erheblich. Hinweise zur Abgabe von Aufgabe 25: Teil a) geben Sie bitte in der Übungsstunde oder Vorlesung ab. Senden Sie für Teil b) und c) ein Abgabearchiv per E-Mail an Stefan Wiesberg ([email protected]). Dieses enthält Ihren gut kommentierten Code aus Teil b), eine kurze Bedienungsanleitung (Kompilierung, Verwendung), die in Teil c) berechneten äußeren Beschreibungen, sowie die Beantwortung der Fragen aus Teil c). 1) http://www.iwr.uni-heidelberg.de/groups/comopt/software/PANDA/ Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 10. Übungsblatt, WiSe 2014/15 Abgabetermin: 15.1.2015 Aufgabe 21 (6 Punkte) Betrachten Sie für alle n = 2k + 1 mit k ∈ N+ das ganzzahlige Programm min xn+1 2x1 + 2x2 + . . . + 2xn + xn+1 = n xi ∈ {0, 1}. Zeigen Sie, dass jeder Branch-and-Bound Algorithmus, der LP-Relaxierungen verwendet, exponentiell viele Unterprobleme in n generiert. Aufgabe 22 (6 Punkte) Lösen Sie die folgende Instanz des 0/1-Knapsack-Problems mithilfe des Algorithmus von Dakin: max 16x1 + 19x2 + 23x3 + 28x4 2x1 + 3x2 + 4x3 + 5x4 ≤ 7 0 ≤ xi ≤ 1 xi ∈ Z. Beachten Sie Übungsblatt 9, das am 18.12. ausgegeben wurde! Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 9. Übungsblatt, WiSe 2014/15 Abgabetermin: 8.1.2015 Aufgabe 19 (6 Punkte) Gegeben ist das folgende ganzzahlige lineare Programm: max 2x1 x1 −x1 6x1 + + + + x2 x2 x2 2x2 xi xi ≤ 5, ≤ 0, ≤ 21, ≥ 0, ∈ Z. a) Lösen Sie das ganzzahlige Programm sowie die zugehörige LP-Relaxierung graphisch. b) Geben Sie alle ableitbaren Gomory-Schnitte (h = 1) an, indem Sie die Nebenbedingungen zunächst auf die Form Ax = b, x ≥ 0 bringen, dann eine Basis-Nichtbasis-Aufteilung im optimalen Punkt der LP-Relaxierung bestimmen. c) Stellen Sie die Gomory-Schnitte graphisch dar. Aufgabe 20 (6 Punkte) Eine Matrix A heißt total unimodular, wenn die Determinante jeder quadratischen Untermatrix von A einen Wert aus {−1, 0, 1} hat. Seien b und c ganzzahlige Vektoren und A eine total unimodulare Matrix. a) Das Polyeder {x | Ax = b, x ≥ 0} hat nur ganzzahlige Ecken. (Tipp: Wenden Sie die cramersche Regel auf AB an.) b) Das Polyeder {x | Ax ≤ b, 0 ≤ x ≤ c} hat nur ganzzahlige Ecken. (Tipp: Zurückführung auf a).) Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 8. Übungsblatt, WiSe 2014/15 Abgabetermin: 18.12.2014 Aufgabe 17 (6 Punkte) Bei der Berechnung des Produkts A1 A2 · · · An mehrerer Matrizen beeinflusst die Reihenfolge der Abarbeitung den Aufwand. Ai sei dabei eine Matrix mit li Zeilen und li+1 Spalten. Beispiel: l1 = 4, l2 = 6, l3 = 10, l4 = 4. (A1 A2 )A3 erfordert 4 · 6 · 10 + 4 · 10 · 4 = 400 Multiplikationen, A1 (A2 A3 ) dagegen nur 6 · 10 · 4 + 4 · 6 · 4 = 336. a) Zeigen Sie, dass die Anzahl der möglichen Klammerungen überpolynomial in n wächst. b) Formulieren Sie einen Algorithmus, der eine Reihenfolge der Matrizen mit minimaler Anzahl von Multiplikationen bestimmt und der dynamische Programmierung verwendet. Aufgabe 18 (4 Punkte) Bestimmen Sie eine optimale Angleichung der Wörter EQUAL und QUART. Die Strafkosten sind • 2 für eine Lücke, • 1 für die Zuordnung unterschiedlicher Vokale oder unterschiedlicher Konsonanten, • 3 für die Zuordnung von Vokalen zu Konsonanten. Geben Sie den Graphen GXY explizit an. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 7. Übungsblatt, WiSe 2014/15 Abgabetermin: 11.12.2014 Aufgabe 15 (4 Punkte) Beim Job-Zuordnungsproblem sind n Jobs von m Maschinen zu bearbeiten. Jedem Job i ist eine Bearbeitungszeit ti ∈ R+ zugeordnet sowie die Teilmenge der Maschinen, auf welchen er bearbeitet werden kann. Jeder Job darf beliebig in Teiljobs unterteilt werden, welche beliebig auf die geeigneten Maschinen verteilt werden können. Dabei können insbesondere auch mehrere Maschinen gleichzeitig an Teiljobs desselben Jobs arbeiten. Zu finden ist ein Produktionsplan, welcher die späteste Fertigstellungszeit minimiert. a) Formulieren Sie das Job-Zuordnungsproblem als lineares Programm. b) Formulieren Sie eine Lagrange-Funktion f (λ) für das Programm. Relaxieren Sie dabei diejenigen Ungleichungen, welche fordern, dass jeder Job komplett bearbeitet werden muss. Die Definition der Lagrange-Funktion eines linearen Programms ergibt sich aus Definition 12.5 durch Vernachlässigung der Bedingung x ganzzahlig“. ” Aufgabe 16 (4 Punkte) Das Target-Visitation-Problem (TVP) ist eine Kombination aus Linear-Ordering-Problem und asymmetrischem Traveling-Salesman-Problem. Es ist wie folgt definiert: Gegeben sei der vollständige Digraph Kn = (Vn , An ) auf n Knoten mit Kantengewichten dij > 0 (Distanzen) und pij ≥ 0 (Präferenzen) für alle 1 ≤ i, j ≤ n, i 6= j. Eine TVP-Tour ist ein gerichteter Hamiltonscher Kreis, der an Knoten 1 beginnt. Der Wert einer solchen Tour T ergibt sich als LOP(T ) − ATSP(T ), wobei • LOP(T ) die Summe aller Präferenzen pij für Knotenpaare i, j ∈ {1, . . . , n} ist, so dass i früher als j besucht wird (dabei wird angenommen, dass Knoten 1 als erster und nicht als letzter besucht wird), • ATSP(T ) die Summe der Distanzen dij für Tourkanten ist. Gesucht ist eine TVP-Tour mit maximalem Wert. a) Formulieren Sie das Target-Visitation-Problem als ganzzahliges lineares Programm. Verwenden Sie darin beide der folgenden Typen von Binärvariablen: 1, 0, falls (i, j) in der TVP-Tour enthalten ist, sonst. 1, 0, falls i früher als j besucht wird, sonst. xij = wij = b) Nehmen Sie an, Ihnen stünden separate exakte Löser für das Linear-Ordering-Problem (maximiere LOP über allen TVP-Touren) und das asymmetrische Traveling-Salesman-Problem (minimiere ATSP über allen TVP-Touren) zur Verfügung. Entwerfen Sie ein Subgradienten-Verfahren, das die Löser verwendet und eine Schranke für das TVP mittels Lagrange-Relaxierung berechnet. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 6. Übungsblatt, WiSe 2014/15 Abgabetermin: 4.12.2014 Aufgabe 13 (6 Punkte) Das Graphische Traveling Salesman Problem (GTSP) besteht darin, in einem Graphen G = (V, E) mit Kantengewichten ce ∈ Q+ , e ∈ E, einen geschlossenen Pfad u0 , e0 , u1 , . . . , uk−1 , ek−1 , uk , wobei ej = uj uj+1 ∈ E und uk = u0 , zu finden, der alle Knoten besucht“, d.h. V = {u0 , . . . , uk−1 }, und ” Pk−1 dessen Gewicht j=0 cej unter diesen Bedingungen minimal ist. (Kanten- und Knotenwiederholungen sind erlaubt.) a) Eine Relaxierung für das GTSP ist durch folgendes LP gegeben: min cT x P xij ≥ 2 für alle U ⊂ V, ∅ = 6 U 6= V ≥ 0 für alle ij ∈ E. uv∈E: u∈U,v ∈U / xij Geben Sie ein Beispiel für einen Graphen, Kantengewichte c und eine ganzzahlige Optimallösung x ∈ Zm dieses LPs an, so dass x keinen geschlossenen Pfad darstellt. b) Transformieren Sie das GTSP auf das TSP. Aufgabe 14 (6 Punkte) Betrachten Sie das Knoten-Überdeckungsproblem aus Kapitel 11.4. a) Formulieren Sie das Problem als ganzzahliges lineares Programm. b) Wie schlecht kann das Verhältnis zwischen dem Optimum des ganzzahligen Programms und dem Optimum seiner LP-Relaxierung höchstens sein? c) Geben Sie ein Beispiel an, in welchem dieses Verhältnis beinahe angenommen wird. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 5. Übungsblatt, WiSe 2014/15 Abgabetermin: 27.11.2014 Aufgabe 11 (6 Punkte) Formulieren Sie die folgenden Probleme als gemischt-ganzzahlige lineare Programme: a) Gegeben ist ein Graph G = (V, E) mit Kantengewichten ce für alle e ∈ E. Zu bestimmen ist ein Baum in G, der alle Knoten enthält und das kleinstmögliche Gesamtgewicht hat. b) Gegeben seien n Jobs mit Ausführungszeiten p1 , . . . , pn , die auf einer Maschine in einer beliebigen Reihenfolge ausgeführt werden sollen. Damit die Maschine den j-ten Job ausführen kann, muss sie im Zustand Sj sein. Es sei tij = cij + pj die Zeit, die benötigt wird, um den Job j direkt nach Job i ausführen zu können. Dabei ist cij die benötigte Zeit, um die Maschine von Zustand Si in Zustand Sj zu bringen. Gesucht ist nun die Reihenfolge der Jobs mit Anfangs- und Endzustand S0 und geringstem Zeitaufwand. c) Gegeben sei ein Graph G = (V, E) mit Kantengewichten cuv für alle uv ∈ E. Den Knoten v ∈ V sollen P paarweise verschiedene Zahlen π(v) aus {1, . . . , |V |} zugeordnet werden, so dass die Zielfunktion uv∈E cuv |π(u) − π(v)| für gegebene Koeffizienten cuv minimiert wird. Aufgabe 12 (4 Punkte) Geben Sie das duale lineare Programm zu folgendem allgemeinen linearen Programm an. max s.t. cT1 x + cT2 x2 + cT3 x3 A11 x1 + A12 x2 + A13 x3 A21 x1 + A22 x2 + A23 x3 A31 x1 + A32 x2 + A33 x3 x1 x2 ≤ ≥ = ≤ ≥ a1 a2 a3 0 0 Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 4. Übungsblatt, WiSe 2014/15 Abgabetermin: 20.11.2014 Aufgabe 9 (6 Punkte) Beim Max-k-Cut-Problem ist ein Graph G = (V, E) mit KantengewichtenP cuv ≥ 0 gegeben. Es soll nun jedem Knoten v ∈ V eine Zahl P (v) ∈ {1, . . . , k} zugewiesen werden, sodass uv∈E,P (u)6=P (v) cuv maximiert wird. Beweisen Sie eine möglichst gute Gütegarantie für die folgende Heuristik. 1. Sei Z = ∅ die Menge der bereits zugewiesenen Knoten. 2. Für jeden Knoten v ∈ V : 2.1 Weise v diejenige Zahl i P ∈ {1, . . . , k} zu, welche den aktuellen Zielfunktionswert am meisten erhöht, d.h. i maximiert uv∈E,u∈A,i6=P (u) cuv . Gibt es mehrere solche Partitionen, wähle eine davon zufällig aus. Setze Z = Z ∪ {v}. 3. Gib die Werte P (v) für alle v ∈ V zurück. Aufgabe 10 (6 Punkte) Gegeben sei ein n × n-Gittergraph G = (V, E) wie abgebildet. Die Knoten haben paarweise verschiedene Gewichte wv ∈ N für alle v ∈ V . Gesucht ist eine stabile Menge S ⊂ V maximalen Gewichts. Betrachten Sie den folgenden Greedy-Algorithmus: 1. Setze S = ∅. 2. Wiederhole, bis V leer ist: 2.1 Sei v der Knoten maximalen Gewichts in V . Füge v der Menge S hinzu. Lösche v und alle seine Nachbarn aus V . Beweisen Sie: a) Sei S die Lösung des Greedy-Algorithmus und sei T eine beliebige stabile Menge in G. Für jedes v ∈ T gilt entweder v ∈ S oder es gibt ein u ∈ S mit wv < wu und uv ∈ E. b) Der Greedy-Algorithmus besitzt eine Worst-Case-Schranke von 14 . Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 3. Übungsblatt, WiSe 2014/15 Abgabetermin: 13.11.2014 Aufgabe 6 (4 Punkte) Aus der Vorlesung kennen Sie die Heuristiken First-Fit und First-Fit-Decreasing für das Bin-PackingProblem. Entwerfen Sie die Heuristik Best-Fit, die für jeden Gegenstand eine Kiste wählt, welche die geringste Restkapazität besitzt. Weisen Sie nach, dass keine dieser drei Heuristiken den anderen grundsätzlich überlegen ist. Geben Sie hierfür zu jedem Paar {Hi , Hj } von Heuristiken zwei Bin-Packing-Instanzen an, sodass Hi für die erste und Hj für die zweite Instanz eine bessere Lösung findet. Aufgabe 7 (4 Punkte) Im Folgenden wird eine Heuristik zur näherungsweisen Lösung des Knoten-Überdeckungs-Problems ohne Gewichte aus Kapitel 11.4 vorgestellt. Bestimmen Sie die Laufzeit und beweisen Sie, dass das Verfahren 1-approximativ ist. Nimm beide Endknoten einer beliebigen Kante aus G in die Knotenmenge auf. Entferne anschließend beide Knoten und alle zu den beiden Knoten inzidenten Kanten aus G. Wiederhole dieses Vorgehen solange, bis G keine Kanten mehr enthält. Aufgabe 8 (4 Punkte) Das Approximationsschema von Sahni ist ein voll-polynomiales Approximationsschema (FPAS) für das binäre Knapsack-Problem. Es basiert auf den folgenden Überlegungen: • P Ein binärer Vektor x = (x1 , . . . , xr ) heißt (zulässiges) Anfangsstück des 0/1-Knapsack Problems, falls r i=1 ai xi ≤ b erfüllt ist. • Ein Pn Anfangsstück Pn y dominiert ein Anfangsstück z :⇐⇒ ∃yr+1 , . . . , yn : (y1 , . . . , yn ) ist zulässig und c y ≥ i i i=1 i=1 ci zi gilt für alle zulässigen Fortsetzungen (z1 , . . . , zn ) des Anfangsstückes z. Pr Pr • Es seien y und zP zulässige Anfangsstücke mit i=1 ci yi = i=1 ci zi . Dann dominiert y das AnP r r fangsstück z falls i=1 ai yi ≤ i=1 ai zi . Das Verfahren besteht aus n + 1 Phasen. In Phase i, i = 0, . . . , n − 1 wird jeweils eine Liste S(i) von zulässigen Anfangsstücken der Länge i bearbeitet Pi und daraus S(i+1) berechnet. Man definiert pi := max{ j=1 cj xj |x ∈ S(i)} und teilt [0, pi ] in Intervalle der Größe pi ε/n auf. Der Zielfunktionswert zulässiger Anfangsstücke aus S(i), die im gleichen Intervall liegen, wird als gleich betrachtet. Dann kann zu jedem Teilintervall ein Anfangsstück angegeben werden, das die anderen dominiert. Die so bestimmten Anfangsstücke werden verlängert (um 0 und/oder 1) und in die Liste S(i + 1) übernommen. In Phase n wird das beste Anfangsstück in S(n) als Lösung ermittelt. a) Geben Sie eine exakte algorithmische Formulierung dieses Schemas an. b) Zeigen Sie, dass die Laufzeit polynomial in der Inputlänge und in 1/ε ist. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 2. Übungsblatt, WiSe 2014/15 Abgabetermin: 6.11.2014 Aufgabe 4 (6 Punkte) Betrachten Sie das Min-Openshop-Problem: Gegeben sind m Maschinen und n Jobs. Jeder Job Ji besteht aus ni Teiljobs, welche in beliebiger Reihenfolge bearbeitet werden können. Jedoch dürfen keine zwei Teiljobs eines Jobs gleichzeitig bearbeitet werden. Für jeden Teiljob existiert genau eine Maschine, auf welcher er in bekannter Dauer bearbeitet werden kann. Zu minimieren ist die späteste Fertigstellungszeit. Zeigen Sie, dass der folgende Greedy-Algorithmus die Gütegarantie 2 besitzt: Sobald eine Maschine unbeschäftigt ist und ein ausführbarer Teiljob existiert, starte ihn auf dieser Maschine. Aufgabe 5 (6 Punkte) Gegeben sei ein Parallel-Shop-Problem (m, n, t1 , . . . , tn ) mit Präzedenzendigraph D, wie in Kapitel 11.2 definiert. Jedem Job Ti wird nun aber wie folgt ein Gewicht wi zugeordnet: Für die Jobs Ti ohne Nachfolger in D setze wi := ti , für die anderen Ti setze rekursiv wi := ti + max{wj | Tj ist direkter Nachfolger von Ti in D}. Eine Greedy-Heuristik arbeite nach dem Prinzip: Ist eine Maschine nicht belegt, so weise ihr den Job unter den verfügbaren Jobs mit dem größten Gewicht zu. Geben Sie möglichst gute obere und, für den Spezialfall m = 2, untere Abschätzungen für die bestmögliche Gütegarantie der Heuristik an. Prof. Dr. Gerhard Reinelt Dipl.-Math. Stefan Wiesberg Institut für Informatik Universität Heidelberg Effiziente Algorithmen II 1. Übungsblatt, WiSe 2014/15 Abgabetermin: 30.10.2014 Aufgabe 1 (6 Punkte) Jedes der folgenden Probleme ist NP-vollständig: HAMILTON-PATH: Gegeben ein gerichteter Graph D = (V, A). Gibt es zwei Knoten s und t, so dass es in D einen Hamilton’schen Weg von s nach t gibt? VERTEX-COVER: Gegeben ein Graph G = (V, E) und eine positive Ganzzahl k. Gibt es ein V 0 ⊆ V mit |V 0 | ≤ k, sodass jede Kante e ∈ E mit einem Knoten aus V 0 inzidiert? SUBSET-SUM: Gegeben natürliche Zahlen w1 , w2 , . . . , wn und eine Zahl W . Gibt es eine Teilmenge von {w1 , . . . , wn } mit Summe gleich W ? Weisen Sie durch geeignete polynomiale Transformationen nach, dass auch die folgenden Probleme NPvollständig sind: a) FEEDBACK-VERTEX-SET: Gegeben ein gerichteter Graph D = (V, A) und eine positive Ganzzahl k. Gibt es ein V 0 ⊆ V mit |V 0 | ≤ k, so dass jeder gerichtete Kreis in D einen Knoten aus V 0 enthält? b) HAMILTON-CYCLE: Gegeben ein gerichteter Graph D = (V, A). Enthält D einen Hamilton’schen Kreis? c) RELEASETIME-DEADLINE-SCHEDULING: Gegeben n Jobs mit Bearbeitungszeiten ti , spätesten Fertigstellungszeiten di und Verfügbarkeitszeitpunkten ri , i = 1, . . . , n. Können die Jobs so auf einer Maschine bearbeitet werden, dass alle Zeitvorgaben erfüllt werden? (Die Bearbeitung eines Jobs darf nicht unterbrochen werden.) Aufgabe 2 (4 Punkte) Das Azyklische-Subdigraphen-Problem (ASP) ist auf Digraphen D = (V, A) mit nichtnegativen ganzzahligen Kantengewichten wa für alle a ∈ A definiert. Gesucht ist eine Teilmenge der Kanten mit maximalem Gesamtgewicht, die keine gerichteten Kreise enthält. Zeigen Sie, dass der folgende Greedy-Algorithmus keine Worst-Case-Schranke besitzt, d.h. beliebig schlechte Ergebnisse liefern kann. 1. Setze S = ∅. 2. Sortiere die Kanten a ∈ A nichtaufsteigend nach ihren Gewichten wa . 3. Für alle Kanten a ∈ A: Falls S ∪ {a} keinen gerichteten Kreis enthält, setze S = S ∪ {a}. 4. Gib S aus. - Bitte wenden - Aufgabe 3 (4 Punkte) Gegeben sei ein Graph G = (V, E) mit Kantengewichten ci,j > 0 für jede Kante ij ∈ E und eine Teilmenge F ⊂ E. Das Rural Postman Problem ist die Suche nach dem kürzesten geschlossenen Kantenzug, der jede Kante e ∈ F enthält. Im Kantenzug dürfen Kanten mehrfach vorkommen. Führen Sie die Lösung des Rural Postman Problems auf die Lösung des Symmetrischen Traveling-SalesmanProblems (STSP) zurück, d. h. konstruieren Sie eine geeignete polynomiale Transformation vom Rural Postman Problem auf das STSP.