Seminar. Das Steinerbaumproblem

Ähnliche Dokumente
Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Das Problem des minimalen Steiner-Baumes

Das Steinerbaumproblem

Theoretische Informatik 1

Theoretische Informatik 1

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Kombinatorische Optimierung

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Algorithmische Methoden für schwere Optimierungsprobleme

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Betriebliche Optimierung

Betriebswirtschaftliche Optimierung

Einführung in das Seminar Algorithmentechnik

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Informatik III - WS07/08

Approximationsalgorithmen für NP-harte Optimierungsprobleme

9 Minimum Spanning Trees

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Algorithmen & Komplexität

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Algorithmische Graphentheorie

Vorlesung Datenstrukturen

WS 2013/14. Diskrete Strukturen

Datenstrukturen und Algorithmen (SS 2013)

Probleme aus NP und die polynomielle Reduktion

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Theoretische Grundlagen der Informatik

Das Rucksackproblem. Definition Sprache Rucksack. Satz

Approximationsalgorithmen

Approximationsalgorithmen

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

1.Aufgabe: Minimal aufspannender Baum

Einige Grundlagen der Komplexitätstheorie

Kapitel 9: Lineare Programmierung Gliederung

Wie komme ich von hier zum Hauptbahnhof?

Effiziente Algorithmen I

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Das Problem des Handlungsreisenden

Weitere NP-vollständige Probleme

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Graphen. Definitionen

Theoretische Grundlagen der Informatik

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Rundreiseproblem und Stabilität von Approximationsalg.

NP-vollständig - Was nun?

Algorithmen II Vorlesung am

Kochrezept für NP-Vollständigkeitsbeweise

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Theoretische Informatik Mitschrift

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

Algorithmen zur Visualisierung von Graphen

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Übung Theoretische Grundlagen

Approximierbarkeit. Definition. Ein Optimierungsproblem P ist gegeben durch ein Quadrupel. P = (I, Sol, m, goal), wobei:

Übung zur Vorlesung Diskrete Strukturen I

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Die Klasse NP und die polynomielle Reduktion

Mustererkennung: Graphentheorie

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010

ADS: Algorithmen und Datenstrukturen 2

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Klausur zum Modul Einführung in die Diskrete Mathematik

Teil III. Komplexitätstheorie

3 Klassifikation wichtiger Optimierungsprobleme

Graphentheorie. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Hamilton-Pfad auf Gittergraphen ist NP vollständig

NP-Vollständigkeit einiger Zahlprobleme

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll.

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

ADS: Algorithmen und Datenstrukturen 2

Übungsblatt 7 - Voronoi Diagramme

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

ADS 2: Algorithmen und Datenstrukturen

Technische Universität München Zentrum Mathematik. Optimierung 2, WS 2008/09 Übungsblatt 12

Berechnung minimaler Spannbäume. Beispiel

Arbeitsheft zur NP-Vollständigkeit

Tutoraufgabe 1 (Suchen in Graphen):

Minimal spannende Bäume

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

5. Bäume und Minimalgerüste

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Approximation mit relativer Gütegarantie Überblick und einführende Beispiele

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

6. Übung zur Linearen Optimierung SS08

Transkript:

Seminar Das Steinerbaumproblem Philipp Gillitzer Matrikelnr.: 51829 Studiengang Informatik(IT-Sicherheit) Semester 6 Hochschule Aalen Wintersemester 16/17 1

Inhaltsverzeichnis 1 Einleitung 3 2 Grundlagen 4 2.1 Graphentheoretische Grundlagen................ 4 2.2 Definitionen Steinerbaum.................... 5 3 Komplexität 6 4 Approximationsalgorithmus 9 4.1 2er Approximation........................ 9 5 Zusammenfassung 13 2

1 Einleitung Das Steinerbaumproblem ist ein Problem der Graphentheorie das eine Verallgemeinerung des minimalen Spannbaums darstellt. In beiden Problemen wird jeweils versucht eine gewisse Auswahl von Kanten auszuwählen, die alle Knoten des Graphens verbinden. Somit soll jeder Knoten von jedem anderen Knoten erreichbar sein. Die Anzahl der Kanten bzw. die Summe derren Gewichte soll möglichst gering sein. Bei dem Steinerbaumproblem ist es jedoch möglich zu den eigentlichen vorgegebenen Knoten noch andere Knoten zu verwenden um das gesamte Kantengewicht weiter zu verringern. Diese Knoten nennt man dann auch Steinerpunkte. Dies ist eine Beobachtung, die der Schweizer Mathematiker Jacob Steiner im 19. Jahrhundert machte. Genau wie bei den minimalen Spannbäumen findet sich auch für das Ausfindig machen der Steiner-Knoten reelle und praktische Anwendungen. So zum Beispiel im Entwurf von integrierten Schaltkreisen und in der Planung von Weg- und Telekommunikationsnetzen. Es soll nun ein Kommunikationsnetz zwischen mehreren Großstädten erneuert werden. Das Netz darf aber natürlich auch durch Kleinstädte verlaufen. Dabei sollen die Gesamtkosten des Netzes minimal gehalten werden, indem die Gesamtlänge der Kanten minimiert wird. Diese Aufgabe entspricht dem Auffinden eines minimalen Steinerbaumes. In der Ausarbeitung wird genau auf dieses Problem eingegangen. Das euklidische Steinerbaumproblem, bei welchem unendlich viele Punkte aus dem metrischen Raum frei wählbar hinzugefügt werden können, wird hierbei nicht näher erläutert. Der überwiegende Teil dieser Ausarbeitung stammt aus dem Buch [1] 3

2 Grundlagen 2.1 Graphentheoretische Grundlagen Bevor mit der Definition des Steinerbaumproblems begonnen wird, sollen zunächst noch einige graphentheoretische Grundlagen wiederholt werden um auch den Begriff Baum nochmals klar zu definieren. Beweise Lemma 2.1. Sei G = (V, E) ein Wald mit n Kanten und c Komponenten. Dann ist E = n - c. Korollar 2.2. Jeder Baum T mit n Knoten hat genau n 1 Kanten. Korollar 2.3. Jeder Baum T hat mindestens 2 Blätter. Lemma 2.4. Ein Graph G = ( V, E) ist genau dann zusammenhängend, wenn G einen aufspannenden Graph enthält. Theorem 2.5. Sei G = ( V, E) ein Graph mit n Knoten. Folgende Aussagen gelten dann als äquivalent 1. G ist ein Baum. 2. Jedes Paar x, y V mit x y besitzt genau einen Pfad von x nach y in G. 3. G ist minimal zusammenhängend. Das heißt, dass G für alle {x, y} E zusammenhängend ist und G {x, y} nicht zusammenhängend ist. 4. G ist maximal azyklisch. Das heißt, dass Gfür alle {x, y} / E azyklisch ist und G + {x, y} ein Kreis enthält. 5. G ist azyklisch und E = n 1. 6. G ist zusammenhängend und E = n 1. Beweis. Sei G ein Baum und x, y V mit x y. Da G zusammenhängend ist besitzt der Graph mindestens einen Pfad von Konten x nach Knoten v. Auch ist jedes Paar von Knoten höchstens durch einen Pfad verbunden, da G azyklisch ist. Dies beweist 1 2. Die Implikationen 2 3 und 3 4 sind klar. 4 5 und 5 6 folgen direkt aus Lemma 2.1. Die Implikation 6 1 folgt aus Lemma 2.4, dass jeder zusammenhängende Graph eine aufspannenden Baum T enthält, mit E(T ) = n 1 nach Korollar 2.2. Diese Informationen und dieses Wissen genügen um die Frage nach dem minimal aufspannenden Spannbaum eine Graphen G = ( V, E) zu beschreiben, bei der ein zusammenhängender Teilgraph gesucht wird, der alle Konten des Graphen G enthält. 4

Um dieses Problem nun etwas interessanter zu machen, sei eine Teilmenge K V gegeben. Auch hier sucht man einen zusammenhängenden Teilgraph von G, der alle Knoten von K enthält aber auch zusätzliche Knoten aus V K enthalten darf. Auch soll dieser Teilgraph so wenig Kanten wie möglich enthalten, um die Knoten zu verbinden. Es steht fest, dass dieser Teilgraph nicht mehr als V 1 Kanten hat, nach Lemma 1.4 selbst ein Baum sein muss und alle Blätter aus der Menge K sein müssen, da sonst die Kantenanzahl unnötigerweise erhöht werden würde. Dies bildet die Grundlage für den nächsten Abschnitt. 2.2 Definitionen Steinerbaum Die im vorherigen Abschnitt beschriebene Modifikation des minimalen Spannbaumes soll nun in eine Definition gefasst werden. Ein Teilgraph T von G bezeichnet man als Steinerbaum für K, falls T alle Knoten von K (d.h. K V (T )) enthält, sodass alle Blätter von T Element der Menge K sind. Die Knoten von K nennt man dabei die Terminale von T. Die Knoten V (T )\K nennt man Steiner-Knoten. Ein minimaler Steinerbaum für K im Graphen G ist ein Steinerbaum mit der minimalen Anzahl von Kanten im Teilgraph T. Hieraus folgt die nachstehende Definition: MINIMUM STEINER PROBLEM IN GRAPHS Gegeben: Ein zusammenhängender Graph G = (V, E) und eine Teilmenge von Terminalen K V. Gesucht: Ein minimaler Steinerbaum für K in G. Das heißt einen Steinerbaum T für K, sodass E(T ) = min{ E(T ) T ist ein Steinerbaum für K in G}. Dieses Problem erscheint zunächst recht einfach lösbar zu sein. Jedoch ist aus algorithmischer Sicht höchst herausfordernd. Das oben beschriebene Problem beschränkt sich auf Graphen mit Kantengewicht Eins. Da dies aus praktischer Sicht nicht sehr tauglich ist, soll als nächstes das Problem für gewichtete Graphen beschrieben werden. Ein gewichter Graph oder Netzwerk wird mit einem Triple N = (V, E, l) beschrieben. G = (V, E) beschreibt einen Graph und l : E(G) R 0 beschreibt die eine Funktion, die jeder Kante einen nichtnegativen Wert zuweist, welcher beispeilsweiße als Länge, Kosten oder Gewicht angesehen werden kann. Die Länge eines Teilgraphens H von G ist l(h) = e E(H) l(e). Ist G ein ungewichter Graph ist die Länge l(h) gleich der Anzahl der Kanten in H. Dies nennt man dann auch die Größe von H und bezeichnet dies mit H. Mit p(v, w) bezeichnet man die Länge des kürzesten Pfades vom Knoten v zum Knoten w. Hieraus folgt die erweiterte Definition: 5

MINIMUM STEINER PROBLEM IN WEIGHTED GRAPHS/NETWORKS Gegeben: Ein zusammenhängender gewichteter Graph N = (V, E, l) und eine Teilmenge von Terminalen K V. Gesucht: Ein minimaler Steinerbaum für K in N. Das heit einen Steinerbaum T für K, sodass l(t ) = min{ l(t ) T ist ein Steinerbaum für K in N}. 3 Komplexität Die meisten Probleme der Komplexitätstheorie spiegeln reelle Probleme wieder. Viele sind jedoch schwierig zu lösen und zu diesen gehört auch das Auffinden eines minimalen Steinerbaum. Dieses Problem liegt in der Komplexitätsklasse der NP-vollständigen Probleme. Theorem 3.1. Das STEINER PROBLEM IN GRAPHS ist NP-Vollständig. Beweis. Um zu zeigen dass STEINER PROBLEM IN GRAPHS NP, genügt es zu zeigen dass das Problem N P -vollständig ist. Dazu reduzieren wir das Entscheidungsproblem 3SAT auf die Entscheidungsproblemversion des Steinerbaums und geben eine polyonmielle Reduktionsfunktion an. Seien x 1,..., x n die Variablen und C 1,..., C m die Klauseln einer beliebig vorgegebenen 3SAT -Instanz. Das Ziel ist es einen Graphen G = (V, E), eine Menge von Terminalen K und eine Schranke B zu erzeugen bzw. zu bestimmen, sodass G einen Steinerbaum für K, mit höchstens der Größe B besitzt, genau dann wenn die gegebene 3SAT -Instanz erfüllbar ist. Der Graph G wird folgendermaßen konstruiert. Als Erstes verbindet man die Knoten u und v mit einem Variablenpfad, wie es in der Abbildung 1 ersichtlich ist. Abbildung 1: Die Umwandlung von 3SAT zum Steinerproblem: Der Variablenpfad 6

Als zweiten Schritt erstellt man für jede Klausel C i einen Knoten, der zu seinen enthaltenen Literalen einen Pfad der Länge t = 2n + 1. Die Terminalmenge setzt man K = {u, v} {C 1,..., C m } und wählt B = 2n + t m. Abbildung 2: Der Klauselknoten zu der Klausel C i = x 2 x j x n. Die gestrichelte Linie stellt den Pfad der Länge t = 2n + 1 zu den enthaltenen Literalen des Variablenpfads dar. Gegeben sei nun eine erfüllbare 3SAT -Instanz. Um einen Steinerbaum für K zu konstruieren wird zunächst der Variablenpfad P zwischen den Knoten u und v konstruiert und mit einer erfüllbaren Belegung erweitert. Dies geschieht indem man x i P setzt, falls x i in der Belegung wahr bzw. Eins ist. Analog wird x i P gesetzt, falls x i in der Belegung falsch bzw. Null sein sollte. Da nun für jede Klausel der zugehörige Knoten C i mit einem Pfad der Länge t zu P hinzugefügt werden kann, erhält man einen Steinerbaum der Länge 2n + t m = B. Somit wurde die erste Richtung gezeigt. Für die andere Richtung sei T ein Steinerbaum für K, der höchstens die Länge B besitzt. Nach Konstruktion muss jede Klausel ihren zugehörigen Knoten C i mit dem Variablenpfad verbunden sein. Nimmt man nun an, dass es eine Klausel C i0 gibt, die mit mindestens 2 Pfaden zum Variablenpfad verbunden ist, dann ist E(T ) (m + 1) t > B, da der Pfad zu einem Klauselknoten größer als 2 n ist. Somit wurde die definierte Schranke überschritten. Dies kann aber nicht sein und zeigt, dass u und v nur durch den Variablenpfad verbunden werden kann, welcher 2n Kanten benötigt. Da jede Klausel mindestens t Kanten benötigt um C i mit dem Variablenpfad zu verbinden kann man schließen, dass der Pfad von u nach V genau 2n Kanten umfasst und jede Klausel bzw. jeder Klauselknoten mit genau t Kanten zu genau diesem Pfad verbunden sein muss. Daher stellt der Pfad von u nach v eine erfüllbare Belegung von 3SAT dar. Die beschrieben Konstruktion ist in polynomieller Zeit erzeugbar. 7

C 1 C 2 u x 1 x 1 v Abbildung 3: Beispielgraph für F (x 1 ) = (x 1 x 1 x 1 ) (x 1 x 1 x 1 ) Als Beispiel sei die 3Sat-Instanz F (x 1 ) = (x 1 x 1 x 1 ) (x 1 x 1 x 1 ) gegeben. Diese Instanz ist offensichtlich nicht erfüllbar. Die resultierende Schranke B beträgt demnach 2 1 + (2 1 + 1) 1 = 5. Da nun alle Terminale {u, v, C 1, C 2 } erreicht werden müssen ist uns die Konstruktion des Steinerbaumes nicht möglich, da der Pfad zu den Klauselknoten alleine schon 2 3 = 6 beträgt. Somit ist kein Steinerbaum der Länge B erzeugbar. C 1 C 2 C 3 x 1 x 2 x 3 u v x 1 x 2 x 3 Abbildung 4: Beispielgraph für F (x 1 ) = (x 1 x 1 x 1 ) (x 1 x 2 x 3 ) (x 1 x 2 x 1 ) Dieses ausführlichere Beispiel der Instanz F (x 1 ) = (x 1 x 1 x 1 ) (x 1 x 2 x 3 ) (x 1 x 2 x 1 ) besitzt erfüllbare Belegungen. Um genau zu sein liefern nur die Belegungen (0, 0, 0), (0, 1, 0)und(1, 0, 1) den Wahrheitswert 0. Betrachtet man solch eine Belegung auf dem Variablenpfad, können manche Klauselknoten nicht erreicht werden ohne zusätzliche Kanten hinzuzufügen. 8

Für die anderen Belegungen ist die Konstruktion möglich, was ausreicht um sagen zu können das die Fromel erfüllbar ist, falls nur der Graph vorgegeben wäre. 4 Approximationsalgorithmus Im Kapitel 2 hat man gesehen, dass das Steinerbaumproblem N P -Vollständig ist. Daher ist es sehr unwahrscheinlich, dass effiziente Algorithmen, in polynomieller Zeit, zur Lösung des Problems gibt. Daher wird in diesem Kapitel ein Verfahren vorgestellt der eine 2-Approximation darstellt. Dieser basiert auf der Berechnung des minimalen Spannbaumes in einem angepassten Graphen. Der Algorithmus stammt von Kou, Markowsky und Berman. Folgende Notationen werden verwendet. N = (V, E, l; K) beschreibt ein Steinerbaumproblem in einem zusammenhängenden gewichteten Graphen mit seiner Längenfunktion(l 0) und der Terminal Menge K. Nun wird jedem dieser Steinerbaumprobeme N = (V, E, l) einen complete distance network(kompletter Distanzgraph) N D = (K, E D, l D )zugeordnet. Die Knotenmenge von N D entspricht dabei der Menge der Terminale von K. Die Kantenmenge definiert man mit E D = ( ) K 2, was einen vollständigen Graphen zwischen den Terminalen aufspannt. Die Längenfunktion l d ordnet jeder Kante {x, y} E D die Länge des kürzesten Pfades x y in N zu. Zum Abschluss bezeichnet man die Länge eines minimalen Steinerbaumes für die Menge der Terminale K in N mit smt(n). 4.1 2er Approximation Der Springpunkt dieses Algorithmus ist das folgende Lemma, welches die Länge eines Steinerbaums in einem gewichteten Graphen mit der Länge des minimalen Spannbaums in dem zugehörigen Distanzgraphen vergleicht. Lemma 4.1. Sei N = (V, E, l; K) ein Steinerbaumproblem. Dann erfüllt jeder minimale Spannbaum T im Distanzgraphen N D die Gleichung l D (T ) (2 2 ) smt(n) (1) k wobei k = K der Kardinalität der Menge der Terminale entspricht. Beweis. Sei S opt ein beliebiger minimaler Steinerbaum in N. Man verankert nun den Baum S opt im Graphen und betrachtet einen Weg W über die äusseren Regionen. Dabei wird jedes Terminal genau einmal und jede Kante genau zwei Mal durchlaufen. Die Länge dieses Weges, vom Startpunkt und wieder zurück, hat daher genau die doppelte Länge von S opt. 9

Abbildung 5: Illustriert den Beweis von Lemma 4.1. Der Weg W besteht aus den Pfaden 1 2, 2 3,..., 7 8, 8 1. Um den Weg W zu erhalten, entfernt man den Weg vom Knoten 7 zum Knoten 8. Sei t die Anzahl der Blätter in S opt. Dann besthet der Weg W aus t k Pfaden zwischen aufeinanderfolgenden Blättern in S opt. Entfernt man nun den längsten dieser Pfade (Abbildung 5) aus W beträgt die Länger resultierende Weg W höchstens das (1 1 t ) fache von W. Man kann nun beobachten, dass man durch das Folgen des Weges W ohne Probleme einen Spannbaum in N D erstellen kann, dessen Länge maximal die der von W ist. Dies schlussfolgert den Beweis dieses Lemmas. Abbildung 6: Gewichteter Graph N = (V, E, l; K) mit untenstehenden Eigenschaften zeigt auf, dass die Schranke von Lemma 6.1 die bestmögliche ist. Aus der Vorlesung ist bekannt, dass die Berechnung des minimalen Spannbaumes effizient ist. Mit dem Algorithmus von Kruskal oder Prim kann somit die minimale Kantenmenge berechnet werden, die alle Knoten zu verbindet. Somit war auch jeder Knoten von jedem beliebigen Knoten genau über ein Pfad erreichbar. Nach Lemma 3.1 ist nun klar, dass der minimale 10

Spannbaum im kompletten Distanzgraphen die Länge des minimalen Steinerbaums um den Faktor Zwei approximiert. Und tatsächlich kann ein minimaler Spannbaum im kompletten Distanzgraphen auch zur Konstruktion eines Steinerbaumes verwendet werden, dessen Länge höchstens zwei mal so groß ist wie die des minimalen Steinerbaums. Dazu sei folgender Algorithmus angegeben: MST-ALGORITHM Eingabe: Gewichteten Graphen bzw. Netzwerk N = (V, E, l; K) Ausgabe: Steinerbaum S K für N. (1) Berechnung des kompletten Distanzgraphen N D = (K, E D, l D ) (2) Berechnung des minimalen Spannbaum T D in N D (3) Umwandlung von T D in einen gewichteten Teilgraphen N[T D ] von N, indem jede Kante von T D mit zugehörigen kürzesten Pfad ersetzt wird. (4) Berechnung des minimalen Spannbaums T für den Teilgraphen N[T D ]. (5) Umwandlung von T in einen Steinerbaum S K für N, indem nacheinander alle Blätter gestrichen werden, die keine Terminale sind. Abbildung 7 verdeutlicht die Schritte des Algorithmus. Theorem 4.2. Sei N = (V, E, l; K) ein Netzwerk. Dann berechnet der MST-ALGORITHM in polinommieller Zeit einen Steinerbaum S K für N sodass l(s K ) (2 2 ) smt(n) (2) k Beweis. Nach Lemma 4.1 gilt l D (T ) (2 2 k ) smt(n). Nach den Schritten (3), (4) und (5) können keine neunen Kanten hinzugekommen sein. Daher gilt l(t D ) l(t ) l(s K ). 11

Abbildung 7: Zeigt alle Schritte des MST-ALGORITHM. Die Analyse des Algorithmus zeigt auf, dass der Großteil der Zeit für die Berechnung des Distanzgraphen N D benötigt wird. Dieses kann mittels der Berechnung der kürzesten Wege berechnet werden, die eine Laufzeit von O(n log n + m). Als Gesamtlaufzeit ergibt sich O(n 2 log n + n m). Mit dem Algorithmus von Melhorn gibt es einen Algorithmus der auf dem Beschriebenen aufsetzt. Allerdings wird dort anstatt des vollsta ndigen nur ein modifizierter Distanzgraph errechnet. Der Algorithmus von Melhorn erreicht ebenfalls die Aproximationsgüte 2, verbessert jedoch die Laufzeit auf O(n log n + n m). Auch existieren andere Algorithmen, wie z.b. Greedy- Algorithmen, die eine verbesserte Approximationsgüte aufweisen. So erreicht ein auf der Linearen Optimierung basierter Algorithmus sogar die Approximationsgüte 1,39. 12

5 Zusammenfassung Nach den allgemeinen Graphentheoretischen Grundlagen und den Definitionen der Steinerbaum Probleme könnte man meinen, dass das Problem nicht sonderlich schwer sei, da es dem minimalen Spannbaum recht ähnlich ist und für diesen effiziente Algorithmen existieren. Die Reduktion von 3SAT auf das Steinerbaumproblem in Graphen zeigte jedoch, dass das Problem der Klasse der N P -Vollständigen Probleme angehört. Die Charakteristik dieser Probleme ist, dass keine effizienten Algorithmen bekannt sind um dieses Probleme effizient zu lösen und daher mit Approximationsalgorithmen versucht wird, Näherungslösungen zu berechnen. Dies ist für das Steinerbaumproblem auch möglich und es wurde eine Approximation der Güte 2 aufgezeigt, was aber höchstens als obere Schranke angesehen werden kann. Jedoch existieren auch Algorithmen mit einer besseren Approximationsgüte. 13

Literatur [1] Hans Jürgen Prömel, Angelika Steger, The Steiner Tree Problem, Vieweg Verlag, 1st edition, Februar 2002 [2] Dr. G. Nirmala, C. Sujatha, Every u-v path of NP-complete Steiner graphs contains exactly 2n-edges, www.ijsrp.org/research-paper- 0914/ijsrp-p3308.pdf [3] Steinerbaumproblem, 2016, https://de.wikipedia.org/wiki/steinerbaumproblem [4] Algorithmen 1, Vorlesung und Übung, SS 2016, Karlsruher Institut für Technologie, https://www.youtube.com/watch?v=a2xnfoeul6k 14