Geschichtliches Jacob Steiner, Universität Berlin, frühes 19tes Jahrhundert: Das Steiner Baum Problem A-Dorf René Weiskircher Geschichtliches Erste belegte Erwähnung: Pierre Fermat (frühes 17. Jhd.): isogonisches Zentrum eines Dreieckes Erste belegte Lösung: Evangelista Torricelli (ca. 1640) Torricelli Punkt im Viereck • Torricelli Punkt ist Schnittpunkt der Diagonalen B-Dorf Verbinde Dörfer durch Straßensystem mit minimaler Gesamtlänge Optimale Lösung durch Hinzufügen eines 4ten Punktes C-Dorf Position? Torricelli Punkt im Dreieck • Ist ein Winkel mindestens 120 Grad, ist die entsprechende Ecke Lösung • Sonst findet man Punkt durch Aufbau von gleichseitigen Dreiecken auf SeitenTorricelli Punkt ist dann Schnittpunkt der Umkreise Geometrisches Steiner Baum Problem Verallgemeinerung des Torricelli Problems Gegeben n Punkte p1,…,pn Verbinde alle Punkte so dass: Jeder Punkt von jedem anderen erreichbar Gesamtlänge aller Verbindungen minimal 1 Steiner Baum Problem in Netzwerken Beispiel Beispiel Beispielanwendung Beispielanwendung Beispielanwendung 2 Spezialfälle Komplexität |K|=2: Shortest Path Problem Lösung z.B. mit Dijkstra Algorithmus Formulierung des Steiner Baum Problems als Entscheidungsproblem: K=V: Minimum Spanning Tree Problem Lösung z.B. mit Prim oder Kruskal Komplexität Transformation 3SAT: NP-vollständiges Problem Literal Transformation Klausel Transformation 3 Komplexität Exakte Algorithmen Steiner Baum Problem ist NP-vollständig Auch auf planaren Graphen bleibt das Problem NP-vollständig (Beweis schwieriger) Exakte Algorithmen haben im Allgemeinen exponentielle Laufzeit Heuristiken? Es gibt für einen endlichen Graphen nur endlich viele mögliche Lösungen Man kann das Problem exakt lösen, indem man alle möglichen Lösungen aufzählt Eine Lösung ist eine Teilmenge der Kanten Wie viele Mengen müssen wir aufzählen? Dreyfus Wagner Algorithmus Dynamische Programmierung Berechnet minimalen Steinerbaum für K aus minimalen Steinerbäumen für alle Teilmengen von K Berechne minimale Steinerbäume für alle 2elementigen Teilmengen Berechne daraus minimale Bäume für alle 3elementigen Teilmengen usw. 4 X’ X\X’ v X 5