Algorithmische Methoden für schwere Optimierungsprobleme

Größe: px
Ab Seite anzeigen:

Download "Algorithmische Methoden für schwere Optimierungsprobleme"

Transkript

1 Algorithmische Methoden für schwere Optimierungsprobleme Henning Meyerhenke mit Roland Glantz 15. März 2017

2

3 3 Inhaltsverzeichnis 1 Einleitung Literaturhinweise Behälterproblem (Bin packing) Modellierung Komplexität Greedy-Heuristiken mit Gütegarantie Next-Fit First-Fit First-Fit-Decreasing Metaheuristik Bergsteigen Online-Bin-Packing Literaturhinweise Problem des Handlungsreisenden (TSP) Modellierung und Komplexität Lokale Suche mit fester und mit variabler Tiefe Algorithmus von Christofides Allgemeine Approximationsergebnisse Metaheuristik Simulated Annealing Grundlagen Konvergenz zum Optimum Online-TSP Untere Schranke Der 2-kompetitive Algorithmus PAH Literaturhinweise Max-SAT Problemvarianten und deren Komplexität Randomisierte Algorithmen mit relativer Güte Einfacher randomisierter Algorithmus LP-Relaxation mit randomisiertem Runden Tabusuche Generische Konzepte von Tabusuche Literaturhinweise Graphclustering Zielfunktion Modularität Mehrebenen-Paradigma Spektrale Optimierung von Modularität Herleitung des Algorithmus Algorithmus Diskussion

4 4 Inhaltsverzeichnis 5.4 Heuristiken zur Modularitätsoptimierung Die CNM-Methode Die Louvain-Methode Verbesserung von Clusterungen mit Gütegarantie Algorithmus Analyse Zusammenfassung Weiterführende Literatur Graphpartitionierung Definitionen Lokale Suchheuristiken Kernighan-Lin-Heuristik Fiduccia-Mattheyses-Heuristik Vergröberung durch Matchings Greedy-Algorithmus Path-Growing-Algorithmus PGA Metaheuristik Ameisenkolonie Weiterführende Literatur Einbettung von Graphen Greedy-Algorithmus Reverse Cuthill-McKee (RCM) Weiterführende Literatur Literaturverzeichnis 51

5 5 Vorwort Dieses Skript basiert im Wesentlichen auf der Vorlesung Algorithmische Methoden für schwere Optimierungsprobleme, die ich mehrfach am Karlsruher Institut für Technologie (KIT) gehalten habe. Mehrere Personen haben sich um das Skript verdient gemacht. Zuallererst danke ich Sarah Dold, die als studentische Hilfskraft maßgeblich an der Entstehung beteiligt war. Außerdem hat Lukas Barth einen Entwurf zum Thema Simulated Annealing beigesteuert, der nur leicht überarbeitet wurde. Roland Glantz hat das Kapitel zum Einbettungsproblem wesentlich mitgestaltet. Das Material zu evolutionären Algorithmen wiederum basiert auf Vorarbeiten von Patrick Flick. Das Skript erhebt keinen Anspruch auf Vollständigkeit, insbesondere nicht in den Versionsnummern mit führender Null. Es ergänzt lediglich in einigen Teilen die Folien zur Vorlesung mal mehr, mal weniger. Momentan fehlen noch viele Erklärungen, die gerade das Skript als Erweiterung zu den Folien liefern soll. Diese sollen in künftigen Version folgen. Beide zusammen, Folien und Skript, sind jedoch nicht als Ersatz zum Besuch der Vorlesung gedacht, sondern als Hilfestellung bei der notwendigen Vor- und Nachbereitung. Sollten Sie auf Fehler stoßen, bitte ich um einen entsprechenden Hinweis. Karlsruhe, im Winter 2016/17 Henning Meyerhenke

6

7 7 Versionshinweise Version 0.1 ( ): Allgemeine Struktur, allgemeine Einleitung sowie erste detaillierte Ergebnisse zum Online-TSP Version 0.2 ( ): Kapitel 1-3 ergänzt (bspw. um Simulated Annealing) und korrigiert Version ( ): Teile des Materials zu Max-SAT und zum Graphclustering sowie Korrekturen Version ( ): Mehr Details zu Tabusuche und Graphclustering sowie Korrekturen Version 0.3 ( ): Mehr Details zum Graphclustering, erste Teile zur Graphpartitionierung sowie Korrekturen Version 0.4 ( ): Erste Details zur Einbettung von Graphen, Ergänzungen in allen anderen Bereichen; weitere Ergänzungen und Verbesserungen sind noch im März geplant

8

9 9 1 Einleitung Wir werden in dieser Vorlesung algorithmische Methoden behandeln, mit deren Hilfe man schwere (im Sinne der Komplexitätstheorie schwierigen) Optimierungsprobleme lösen kann. Aus dem Bereich der Optimierung betrachten wir dabei kombinatorische Optimierungsprobleme. Definition 1. Eine Instanz eines kombinatorischen Optimierungsproblems ist ein Paar (L, f), bei dem L eine abzählbare Menge aller zulässigen Lösungen bezeichnet und f : L R eine Zielfunktion, die jedem Element auf L einen Wert (bspw. Kosten, Gewinn, etc.) zuweist. Das Ziel ist allgemein, eine global optimale Lösung i L zu finden, also eine Lösung mit f(i) f(j) für alle j L. Das Zeichen steht dabei für mindestens so gut wie, also für bei einem Maximierungsproblem und für bei einem Minimierungsproblem. Betrachten wir dazu folgendes Beispiel: Problem 2. Bohrpunktproblem Gegeben: Eine Menge von Punkten p 1,..., p n R 2. Menge der zulässigen Lösungen: Permutationen π : {1,..., n} {1,..., n}. Diese beschreiben eine Tour, die alle Punkte genau einmal besuchen und dann zum Startpunkt zurückkehrt. Zielfunktion: Länge der Tour, also n 1 i=1 d(p π(i), p π(i+1) ), wobei d(x, y) die Distanz zwischen den Punkten x und y angibt. Aufgabe: Bestimme eine Permutation mit minimaler Länge! Auch wenn in Definition 1 keine explizit erwähnt sind: Nebenbedingungen, die die Form einer zulässigen Lösung beschreiben, sind häufig auch Teil der Formulierung eines Optimierungsproblems. Beispielsweise könnten wir in Problem 2 zusätzlich verlangen, dass ein gewisser Bohrpunkt nicht zu den ersten fünf besuchten Punkten gehört. Bei kleinen Instanzen kann man alle Lösungen aufzählen und die beste auswählen. Je nach Größe des Lösungsraumes (und dieser ist bei vielen Problemen sehr groß) kommt diese Methode allerdings bereits bei kleinen Instanzgrößen an ihre Grenzen. Aufgabe 3. Wie viele verschiedene zulässige Lösungen hat das Bohrpunktproblem? Sie kennen bereits aus Algorithmen 1 und vermutlich auch aus Algorithmen 2 exakte Lösungsverfahren wie Branch-and-bound. Auch das Problem, einen minimalen Spannbaum (MST) eines Graphen zu berechnen, gehört zu den kombinatorischen Optimierungsproblemen. Aufgabe 4. Formulieren Sie das MST-Problem gemäß Definition 1!

10 10 1 Einleitung Für das MST-Problem kennen wir exakte Algorithmen, die nahezu lineare Laufzeit in der Zahl der Kanten haben. In dieser Vorlesung wollen wir aber Problemstellungen untersuchen, deren global optimale Lösungen schwer zu berechnen sind. Die Namen der behandelten Problemstellungen finden Sie in den Überschriften der nachfolgenden Kapitel. Die zugehörigen Entscheidungsprobleme sind alle NP-vollständig. (Zur Definition von NP- Vollständigkeit seien Sie an Grundlagen der theoretischen Informatik erinnert.) Es steht somit nicht zu erwarten, dass wir die betrachteten Optimierungsprobleme exakt in polynomieller Zeit lösen können. Mit dieser Komplexität gehen wir um, indem wir uns in dieser Vorlesung mit Lösungen zufrieden geben, die nicht notwendigerweise global optimal sind. Trotzdem sollen die Lösungen natürlich ziemlich gut sein. Je nach Kategorie der betrachteten algorithmischen Lösungsmethoden bedeutet ziemlich gut etwas Anderes: 1. Approximationsalgorithmen: Die Lösungsqualität eines Approximationsalgorithmus ist beweisbar nah dran an der Qualität der optimalen Lösung. Eine formale Definition folgt in Kapitel Online-Algorithmen: Online-Algorithmen kennen vor dem Start ihrer Ausführung noch nicht die gesamte Eingabe; letztere wird erst nach und nach während der Ausführung mitgeteilt. Hier interessiert man sich dafür, wie gut Online-Algorithmen im Vergleich zu Offline-Algorithmen (also solchen, die bereits a priori die gesamte Eingabe kennen) sein können. 3. Heuristiken: Dieser Begriff bezeichnet ganz allgemein Lösungsverfahren, die menschliches Wissen über die Problemstellung einfließen lassen, um häufig zu einer sehr guten Lösung zu kommen. Heuristiken haben oft (aber bei weitem nicht immer) eine vergleichsweise gute Laufzeit. Allerdings ist ihre Lösungsqualität selten einschätzbar (könnte man eine gewisse Lösungsqualität im Vergleich zum Optimum garantieren, wäre eine Klassifizierung als Approximationsalgorithmus angebrachter). 4. Metaheuristiken: Hierbei handelt es sich um sehr generische stochastische Lösungsverfahren, die prinzipiell auf viele verschiedene Optimierungsprobleme anwendbar sind. Sie besitzen einen (nahezu) unveränderlichen Rahmen, sozusagen ein Skelett des Algorithmus. In diesem Rahmen gibt es verschiedene Teile, die dann auf das konkret vorliegende Problem angepasst werden müssen. Die beiden letztgenannten Klassen gehören zu den manchmal weich genannten Lösungsmethoden, weil sie eben gerade (üblicherweise) keine Qualitätsgarantie bieten. In der Praxis haben sich Heuristiken und Metaheuristiken aber vielfach bewährt. 1.1 Literaturhinweise Ein umfassendes und gut geschriebenes Buch zur kombinatorischen Optimierung ist das Lehrbuch von Korte und Vygen [KVR08]; es stellt theoretische (inkl. algorithmische) Aspekte in den Vordergrund. Viele darin behandelte Probleme sind allerdings nicht NPschwer (was sie nicht uninteressant, aber weniger geeignet für diese Vorlesung macht), so dass wir nur wenige Teile des Buches als Vorlage verwenden. Bei den behandelten Metaheuristiken folgen wir oft (aber längst nicht immer) der Beschreibung von Talbi [Tal09]. Weitere lesenswerte Bücher zu unseren Themen sind von Wanka [Wan07] über Approximationsalgorithmen sowie von Hromković [Hro04] zur Algorithmik schwieriger Probleme.

11 11 2 Behälterproblem (Bin packing) 2.1 Modellierung Stellen Sie sich vor, Sie arbeiten als Software-Entwickler für die Firma Optimierung GmbH. Ihr Kunde ist eine Tischlerei mit folgendem Problem. Für einen Auftrag muss die Tischlerei viele kurze Balken (Länge 10m) sägen und ausliefern. Der Gesamtauftrag ergibt einen festen Erlös. Vom Großhandel kann man nur Balken der Länge 10m kaufen, diese kosten pro Stück 9 EUR. Aufgabe 5. Wie erreichen Sie, dass die Tischlerei möglichst hohen Gewinn macht? Modellieren Sie vor dem Weiterlesen das Problem Ihres Kunden formal als kombinatorisches Optimierungsproblem! Da der Auftragserlös fix ist, müssen wir zur Profitmaximimierung die Zahl der eingekauften Balken minimieren (deren Preis ist dabei gar nicht relevant, solange er fest ist). Man könnte auch sagen, dass möglichst wenig Verschnitt anfallen soll. Die formale Formulierung führt uns auf das Behälterproblem, das wir üblicherweise mit seinem englischen Namen Bin packing bezeichnen werden. Dabei ist zu beachten, dass wir alle Balkenlängen normiert haben. Problem 6. Bin packing Gegeben: Eine Liste nichtnegativer Zahlen a 1,..., a n 1. Menge der zulässigen Lösungen: Zuordnung f : {1,..., n} {1,..., k} mit i:f(i)=j a i 1 für alle j {1,..., k}. Zielfunktion: Zahl der gemäß f notwendigen Behälter. Aufgabe: Bestimme eine Zuordnung f, die k minimiert! Die Behälter modellieren die zu kaufenden Balken, die a i sind die zu sägenden kurzen Balkenstücke. Es gibt viele andere Praxisprobleme, die sich auf Bin-Packing zurückführen lassen bzw. Varianten davon sind. Denken Sie zum Beispiel an einen Versandhändler, der für eine Bestellung möglichst wenige Kartons verwenden möchte diese aber nicht beliebig groß oder schwer werden dürfen. 2.2 Komplexität Siehe auch Kapitel 18.1 im Lehrbuch von Korte und Vygen [KVR08]. Wir geben hier nur Teile der Ergebnisse wider. Theorem 7. Das folgende Problem ist NP-vollständig: Entscheide für eine gegebene Instanz I von Bin-packing, ob es eine Lösung für I mit zwei Behältern gibt.

12 12 2 Behälterproblem (Bin packing) Der Beweis basiert auf der Reduktion zum Problem Partition. Er ist nicht Teil dieser Vorlesung, kann aber in Korte und Vygen [KVR08], S. 504, nachgelesen werden. Unter der Annahme P NP lässt sich also nicht in polynomieller Zeit entscheiden, ob zwei Behälter ausreichen. Wir werden uns daher mit nicht optimalen, aber dennoch beweisbar guten, Lösungen zufriedengeben und führen das Konzept der relativen Approximationsgüte ein. Definition 8. Bezeichne Π ein Optimierungsproblem. Ein Algorithmus A heißt α- Approximationsalgorithmus 1, wenn A zu jeder Instanz I von Π eine zulässige (aber nicht notwendigerweise optimale) Lösung mit R A (I) α berechnet, wobei R A (I) := A(I)/OP T (I), falls Π Minimierungsproblem, R A (I) := OP T (I)/A(I), falls Π Maximierungsproblem. Hierbei bezeichnen A(I) den Wert der Lösung, die A für I berechnet und OP T (I) den Wert einer optimalen Lösung für I. Theorem 9. Falls P N P, dann gibt es keinen Approximationsalgorithmus für Bin- Packing mit polynomieller Laufzeit und relativer Güte < 3 2. Theorem 10. Das Entscheidungsproblem Bin-Packing ist streng N P -vollständig, d. h. das Problem bleibt auch bei unärer Kodierung N P -vollständig. 2.3 Greedy-Heuristiken mit Gütegarantie Dieser Abschnitt mit den drei Heuristiken findet sich in Kapitel 18.1 im Lehrbuch von Korte und Vygen [KVR08] Next-Fit First-Fit First-Fit-Decreasing Algorithm 2.1 FIRSTFITDECREASING function FIRSTFITDECREASING(I = (a 1,..., a n )) setze I := absteigend sortierte Permutation von I return FIRSTFIT(I ) end function Theorem 11. Der FIRST-FIT-DECREASING-Algorithmus ist ein Approximationsalgorithmus mit relativer Güte 3/2 für das BIN-PACKING-Problem. Beweis. Sei I die Instanz, k = F F D(I), j : 2 3k. (i) Der j-te Behälter enthält Elemente > 1 2. Es gibt mindestens j Elemente > 1 2. OP T (I) j 2 3k. (ii) j-te Behälter enthält kein Element > 1 2. Behälter j, j + 1,..., k enthält 2(k j + 1) + 1 Elemente. 2(k j) + 1 2(k ( 2 3 k )) + 1 = 2 3 k 1 3 j 1 OP T (I) SUM(I) > j 1 Der letzte Container ist nicht darin enthalten. Deshalb bei der letzten Ungleichung nicht sondern nur >. OP T (I) j 2 3 k 1 oder Approximationsalgorithmus, der relative Güte α garantiert

13 2.4 Metaheuristik Bergsteigen 13 Wegen Theorem 9 ist die relative Güte 3 2 anderen Sinn noch besser: bestmöglich. Allerdings geht es in einem etwas Definition 12. Asympotische relative Güte Sei Π ein Optimierungsproblem mit nichtnegativen Gewichten. A heißt Approximationsalgorithmus mit asymptotischer relativer Güte α, wenn es eine Konstane c gibt und A zu jeder Instanz I von Π eine zulässige Lösung berechnet mit: 1 αop T (I) c A(I) αop T (I) + c. Theorem 13. Für alle Instanzen I des BIN-PACKING-Problems gilt und diese Schranke ist bestmöglich. F F D(I) 11 9 OP T (I) Definition 14 (Asympotisches Approximationsschema). Ein AAS für Π ist ein Algorithmenpaar (A, A ) mit: A ist ein Polynomialzeit-Algorithmus, der aus Eingabe ɛ > 0 1 eine Zahl c ɛ berechnet. A erhält eine Instanz I mit 1+ɛ OP T (I) c ɛ A(I, ɛ) (1 + ɛ) OP T (I) + c ɛ. Die Laufzeit von A ist polynomiell in der Größe von I. Definition 15. Ein streng polynomielles AAS ist ein AAS, dessen Laufzeit polynomiell in der Größe der Eingabe und in 1 ɛ ist. Theorem 16. Es gibt ein streng polynomielles asymptotisches Approximationsschme für das BIN-PACKING-Problem. 2.4 Metaheuristik Bergsteigen Siehe Lewis [Lew09]. Beachten Sie, dass der Algorithmus von Lewis nicht notwendigerweise die beste Art und Weise darstellt, das Behälterproblem mit einer Metaheuristik zu lösen. Im Rahmen der Vorlesung illustriert der Algorithmus, wie ein Bergsteigeralgorithmus funktioniert. 2.5 Online-Bin-Packing Siehe Literaturverweise (Harmonic-Artikel von Lee und Lee bzw. Übersichtsartikel von Epstein). 2.6 Literaturhinweise Die Abschnitte 2.1 bis 2.3 folgen der Darstellung im Lehrbuch von Korte und Vygen [KVR08]. Der Bergsteiger-Algorithmus stammt von Lewis [Lew09]. Der Harmonic- Algorithmus für das platzbeschränkte Online-Bin-packing wurde von Lee und Lee [LL85] entwickelt; eine neuere Beschreibung findet sich bspw. bei Epstein [Eps16].

14

15 15 3 Problem des Handlungsreisenden (TSP) 3.1 Modellierung und Komplexität Stellen Sie sich vor, Sie arbeiten in einer Firma, die Software für mobile Pflegedienste entwickelt. Ihre Aufgabe ist die Entwicklung eines Algorithmus für die Tourenplanung. Die Pfleger starten an der Arbeitsstelle und besuchen von dort aus mit ihrem Auto mehrere Patienten. Abends kehren sie wieder an ihren Ausgangspunkt zurück. Wie modellieren Sie das Problem? Definition 17. Das Problem des Handlungsreisenden (TSP, von traveling salesman problem) kann auf verschiedene Arten formuliert werden: Geometrisch: Finde für endlich viele Punkte, deren paarweise Abstände bekannt sind, den kürzesten die Punkte verbindenden Zyklus. Graphentheoretisch: Finde einen Hamiltonkreis im (gewichteten vollständigen) Graphen G = (V, E, ω) mit minimaler Länge, wobei die Kantengewichtsfunktion ω die Abstände zwischen den Knotenpaaren angibt. Theorem 18. TSP ist als Entscheidungsproblem NP-vollständig. 3.2 Lokale Suche mit fester und mit variabler Tiefe Siehe Kapitel 10 des Lehrbuchs von Ausiello et al. [APMS + 99]. Andere Sichtweisen auf die Lin-Kernighan-Heuristik finden sich in weiteren Quellen. Eine sehr schnelle und erfolgreiche Implementierung dieser Heuristik stammt von Helsgaun 1 (daher als LKH bezeichnet). 3.3 Algorithmus von Christofides Siehe Kapitel des Lehrbuchs von Wanka [Wan07]. 3.4 Allgemeine Approximationsergebnisse Siehe vor allem Kapitel 3.3 des Lehrbuchs von Wanka [Wan07]. 3.5 Metaheuristik Simulated Annealing Simulated Annealing ist eine Metaheuristik, die natürliche Prozesse beim Abkühlen von Stahl nachahmt, um Lösungen von Optimierungsproblemen zu finden. Beim Glühen von Stahl erhitzt man diesen zunächst. Dies führt dazu, dass die Atome des Stahls sich aufgrund 1

16 16 3 Problem des Handlungsreisenden (TSP) der Brownschen Molekularbewegung vergleichsweise frei im Stahl bewegen können. Man wendet dann einen langsamen, kontrollierten Abkühlprozess an. Dies gibt den Molekülen die nötige Zeit, möglichst stabile, energetisch günstige Kristallstrukturen zu bilden. Dabei hält man den Stahl immer eine gewisse Zeit auf einer bestimmten Temperatur, bis sich ein Gleichgewicht eingestellt hat zwischen den Veränderungen, die die Stabilität erhöhen, und Veränderungen, die die Stabilität verschlechtern. Molekülbewegungen, die die Stabilität des Stahles nachteilig beeinflussen (also ein schlechteres Energieniveau des Gesamtsystems zur Folge haben) werden dabei mit sinkender Temperatur immer unwahrscheinlicher. Dieses Verfahren bildet man beim Simulated Annealing nach: Ausgehend von einer gewählten Lösung, verändert man diese zufällig, wobei Verschlechterungen mit dem Absinken der Temperatur des Systems immer unwahrscheinlicher werden Grundlagen Simulated Annealing besteht im Wesentlichen aus zwei ineinander geschachtelten Schleifen, deren Ablauf maßgeblich durch einen Kontrollparameter t, der aktuellen Temperatur, kontrolliert wird. Dabei wird in der inneren Schleife immer eine Nachbarlösung der aktuell betrachteten Lösung erzeugt und temperaturabhängig akzeptiert. Nach einer bestimmten Anzahl solcher Iterationen wird in der äußeren Schleife die Temperatur abgesenkt. Für die genauere Betrachtung sei der generische Algorithmus 3.1 gegeben. Dabei sowie im Folgenden sei f(x) die Funktion, die einer Lösung ihre Güte 2 zuordnet: Algorithm 3.1 Simulated Annealing generisch 1: function SimulatedAnnealing(I) 2: solution = generate_random_solution() 3: t = initial_temperature() 4: repeat 5: repeat 6: new_solution = find_neighbor(solution) 7: if accept(t, f(new_solution), f(solution)) then 8: solution = new_solution 9: end if 10: until equilibrium reached 11: t = cool_down(t) 12: until stop criterion reached 13: return best solution found 14: end function Innerhalb dieses generischen Pseudocodes gibt es mehrere Teile, die einer genaueren Betrachtung bedürfen und die meist auf das jeweils vorliegende Optimierungsproblem angepasst werden müssen: initial_temperature() Die Temperatur beziehungsweise der Wert des Kontrollparameters, mit dem man den Algorithmus beginnt. Stop Criterion Das Abbruchkriterium, das normalerweise durch das Erreichen einer gewissen Endtemperatur, oder die Tatsache, dass für eine gewisse Zeit keine verbesserte Lösung gefunden wurde, festgelegt ist. 2 Dabei wird o.b.d.a. immer von einem Maximierungsproblem ausgegangen

17 3.5 Metaheuristik Simulated Annealing 17 Equilibrium Das Gleichgewicht, das es auf jeder Stufe des Abkühlungsprozesses zu erreichen gilt. Was dies heißt, ist stark abhängig von der konkreten Implementierung und hat maßgeblichen Einfluss auf die Güte der Lösung. accept Eine Funktion, die unter Zuhilfenahme von Zufallsbits und des aktuellen Werts des Kontrollparameters entscheidet, ob eine Nachbarlösung akzeptiert, das heißt zur neuen aktuellen Lösung, wird. Lösungen, die schlechter sind als die aktuelle Lösung, werden abhängig vom aktuellen Wert des Kontrollparameters und dem Grad der Verschlechterung mit einer gewissen Wahrscheinlichkeit dennoch akzeptiert. Prinzipiell ist man im Entwurf seines Simulated Annealing-Algorithmus natürlich frei in der Wahl dieser Funktion, jedoch hat diese üblicherweise eine einheitliche Form: Sei i die aktuelle Lösung, j die neu erzeugte Lösung und t der Kontrollparameter. Dann wählt man im Normalfall P t (j von i aus akzeptieren) = { 1 falls f(j) f(i) e f(j) f(i) t falls f(j) < f(i) (3.1) Diese Übergangswahrscheinlichkeit führt später zum gewünschten asymptotischen Verhalten (siehe auch Abschnitt 3.5.2). cool_down Die Abkühlungsfunktion, die festlegt, wie schnell der Kontrollparameter abgesenkt wird. Eine konkrete Implementierung von Simulated Annealing für TSP könnte so aussehen wie in Algorithmus 3.2 dargestellt. Algorithm 3.2 Simulated Annealing für TSP 1: function SimulatedAnnealing-TSP(I) 2: solution = generate_inital_solution() 3: t = initial_temperature() 4: repeat 5: repeat 6: Wähle ein Segment (v i,..., v j ) aus (v 1,..., v n ) 7: Konstruiere Nachbarn new_solution durch Invertierung oder Austausch im gewählten Segment 8: if accept(t, f(new_solution), f(solution)) then 9: solution = new_solution 10: end if 11: until 100n Schritte oder 10n Modifikationen erfolgt 12: t 0.9t 13: until 100n Schritte ohne akzeptierte Änderung erfolgt 14: return beste gefundene Lösung 15: end function Konvergenz zum Optimum Für die Analyse des Konvergenzverhaltens betrachten wir nun jede Lösung als Zustand und die Übergänge zwischen Lösungen dementsprechend als Zustandsübergänge. Diese Sichtweise erlaubt die Benutzung von Markov-Ketten, einem Standardwerkzeug der probabilistischen Analyse.

18 18 3 Problem des Handlungsreisenden (TSP) Markov-Ketten Eine Markov-Kette ist ein statistischer Prozess, bei dem ein System seinen Zustand in diskreten Schritten ändert. Dabei existiert zu jedem Zeitpunkt für jeden Zustand eine bestimmte Wahrscheinlichkeit, dass das System in diesen Zustand übergeht. Bei Markov- Ketten erster Ordnung, den einzig hier relevanten, ist diese Wahrscheinlichkeit nur vom aktuellen Zustand abhängig. Man fasst alle diese Übergangswahrscheinlichkeiten zum Zeitpunkt t in einer Übergangsmatrix zusammen: p 11 (t)... p 1n (t) (p ij (t)) = P =..... p n1 (t)... p nn (t) Dabei gibt p ij (t) die Wahrscheinlichkeit an, dass die Kette zum Zeitpunkt t + 1 in Zustand j übergeht, wenn sie sich zum Zeitpunkt t in Zustand i befindet. Markov-Ketten, deren Übergangsmatrix von t unabhängig ist, deren Übergangswahrscheinlichkeiten sich also mit der Zeit nicht ändern, heißen homogen. Der gesamte Prozess des Simulated Annealing lässt sich mittels Markov-Ketten modellieren. Dabei sind die Zustände der Kette genau alle möglichen Lösungen des Optimierungsproblems. Die Übergangsmatrix P zum Zeitpunkt des Übergangs k, zu dem der Kontrollparameter t den Wert t k hat, ist wie folgt definiert: { G ij A ij (t k ) falls i j i, j S : P ij (t k ) = 1 l S,l i P il(t k ) falls i = j Hierbei sowie im Folgenden gelten folgende Festlegungen bezüglich der Variablen: S Die Menge aller möglichen Problemlösungen. S i Die Nachbarschaft der Lösung i, also alle von i aus erzeugbaren Nachbarlösungen. Wir gehen davon aus, dass die Nachbarschaft aller Lösungen gleich groß ist, das heißt. i, j S : S i = S j k Zufallsvariable für den Zustand, in dem sich die Markov-Kette nach k Übergängen befindet. opt Die Menge der optimalen Lösungen. Erzeugungsmatrix G : Dabei gibt G ij an, mit welcher Wahrscheinlichkeit eine Lösung j als Nachbarlösung der Lösung i erzeugt wird. Wir gehen davon aus, dass alle Nachbarlösungen mit gleicher Wahrscheinlichkeit erzeugt werden, das heißt: G ij = { 1 S i falls j S i 0 sonst Akzeptierungsmatrix A : Hier gibt A ij (t k ) an, mit welcher Wahrscheinlichkeit eine erzeugte Lösung j ausgehend von der aktuellen Lösung i akzeptiert wird, wenn der

19 3.5 Metaheuristik Simulated Annealing 19 Kontrollparameter t den Wert t k hat. Die Einträge von A sind definiert über die Akzeptierungswahrscheinlichkeits-Funktion aus Gleichung (3.1): ( ) A ij (t k ) = min 1, e f(j) f(i) t k Bemerkenswert ist hier insbesondere, dass alle Einträge von A positiv sind. Es ist offensichtlich, dass diese Markov-Kette genau dann homogen ist, wenn t k konstant ist Konvergenz Wir möchten zeigen, dass es in unserem Fall eine Wahrscheinlichkeitsverteilung über der Menge der Lösungen gibt, die unabhängig von der Startlösung in endlich vielen Schritten angenommen wird. Diese sogenannte stationäre Verteilung einer Markov-Kette wird als stochastischer Vektor q geschrieben: q i = lim P {X(k) = i X(0) = j}, für alle j = lim P {X(k) = i X(0) = j} P {X(0) = j} k k Weiterhin möchten wir zeigen, dass unter bestimmten Umständen diese Verteilung q gegen eine Verteilung q konvergiert, die aussagt, dass eine der optimalen Lösungen erreicht wird: q i = 1 S opt χ S opt (i) Hierbei ist χ Sopt die charakteristische Funktion der (Teil-)Menge S opt auf S. Diese Funktion ist 1 genau für alle i S opt und 0 sonst. j S Beweis in 4 Schritten: Die Aussage möchten wir in 4 Schritten beweisen. 1. Finden eines notwendigen Kriteriums für eine stationäre Verteilung. 2. Der Vektor der (1.) erfüllt, wird als eindeutig bewiesen. 3. Wir geben eine Verteilung an, die (1.) erfüllt. 4. Wir zeigen, dass die Verteilung aus (3.) gegen q konvergiert. zu 1. Notwendiges Kriterium Wir zeigen zunächst, dass eine stationäre Verteilung ein linker Eigenvektor zum Eigenwert 1 der Übergangsmatrix P ist. Sei allgemein a i (k) die Wahrscheinlichkeit, dass nach k Übergängen der Zustand i erreicht wird. Dann gilt offensichtlich: k q T = lim k at (0) P (l) homogen = lim k at (0)P k l=1 = lim k at (0)P k 1 P = lim l a T (0)P l P = q T P

20 20 3 Problem des Handlungsreisenden (TSP) zu 2. Eindeutigkeit des Eigenvektors Weiter lässt sich zeigen, dass eine endliche, irreduzible, aperiodische Markov-Kette bezüglich ihrer Übergangsmatrix genau einen linken Eigenvektor zum Eigenwert 1 hat. Der Beweis dazu soll hier nur kurz angerissen werden: Aus dem Satz von Perron-Frobenius folgt, dass der größte Eigenwert einer solchen Matrix eindeutig ist.dies gilt laut Satz nur für positive Matrizen, und P ist keine positive Matrix. Es lässt sich allerdings zeigen, dass für Matrizen A, für die gilt n 0 : n > n 0 : A n > 0 der Satz genauso angewendet werden kann. Dies ist in unserem Fall aufgrund der Irreduzibilität von P gegeben. Es bleibt also zu zeigen, dass P keinen Eigenwert größer 1 hat. Sei λ > 1 ein Eigenwert von P, das heißt v : vp = λv. Da das Spektrum einer quadratischen Matrix P gleich dem Spektrum der Matrix P T ist, muss also auch gelten: w : wp T = λw. Wir nehmen o.b.d.a. an, dass w 1 die größte Komponente von w ist. Es muss gelten: λw 1 = w 1 (P T ) 11 + w 2 (P T ) Da λ > 1 gilt und n > 1 : w 1 w n, muss offensichtlich n i=1 (P T ) i1 > 1 gelten, und damit n i=1 P 1i > 1. Dies widerspricht aber der Tatsache, dass P eine stochastische Matrix ist. Somit ist gezeigt: Der größte Eigenwert von P ist 1. zu 3. Stationäre Verteilung Definition 19. Eine Matrix P heißt irreduzibel, wenn gilt: i, j : n 1 : (P n ) ij > 0. Graphentheoretisch gibt es ein Analogon zur Irreduzibilität, mit der man sich diese Eigenschaft möglicherweise besser merken kann. Eine Adjazenzmatrix A eines Graphen G ist genau dann irreduzibel, wenn G stark zusammenhängend ist. Im Kontext von Markov- Ketten bedeutet es, dass jeder Zustand jeden anderen in endlich vielen Schritten erreichen kann. Es gilt nun: (P n ) ij = k 1 S (Transitionsmatrix) = k 2 S k 1 S k 2 S k n 1 S k n 1 S P ik1 (t)p k1 k 2 (t) P kn 1 j(t) G ik1 A ik1 G k1 k 2 A k1 k 2 G kn 1 ja kn 1 j Sei nun P die Übergangsmatrix einer finiten, homogenen Markov-Kette und sei diese Markov-Kette irreduzibel und aperiodisch. Feller hat bereits 1950 bewiesen, dass dann ein stochastischer Vektor q existiert mit i : j q j P ji = q i Dieser Vektor q ist die stationäre Verteilung der Markov-Kette. Nun werden wir die stationäre Verteilung für unseren konkreten Fall angeben und deren Richtigkeit beweisen. Sei P (t) eine geformte Übergangsmatrix einer Markov-Kette mit den Erzeugungswahrscheinlichkeiten und Akzeptierungswahrscheinlichkeiten Diese Markov-Kette hat eine stationäre Verteilung q, deren Komponenten wie folgt angegeben werden können: q i (t) = 1 f(i) N 0 (t) e t

21 3.6 Online-TSP 21 Dabei ist N 0 (t) ein Normierungsfaktor: N 0 (t) = j S e f(j) t Da für uns nur interessant ist, ob (P n ) ij > 0 gilt, und alle A ij aufgrund von Gleichung [accept] positiv sind, gilt weiterhin: k 1 S k 2 S k n 1 S G ik1 A ik1 G k1 k 2 A k1 k 2 G kn 1 ja kn 1 j > 0 k n 1 S k 1 S k 2 S G ik1 G k1 k 2 G kn 1 j > 0 l 1, l 2,... l n 1 S : G il1 > 0 G l1 l 2 > 0 G ln 1 j > 0 Genau dies ist allerdings aufgrund von Bedingung [generation-connected] garantiert. zu 4. Konvergenz Abschließend bleibt zu zeigen, dass q t für t 0 gegen die oben definierte Verteilung q, die genau die optimalen Lösungen umfasst, konvergiert. Hierbei nutzen wir mehrfach die Tatsache aus, dass lim e a x = 1 für a = 0 und lim e a x = 0 für a < 0: x 0 x 0 lim q i(t) = lim t 0 t 0 j S e f(i) t f(j) e t = lim t 0 f opt f(i) e t j S e f opt f(j) t 1 = lim χ t 0 j S e f opt f(j) Sopt (i) t = 1 S opt χ S opt (i) = q i Damit ist schlussendlich gezeigt, dass ein entsprechend konstruierter Simulated Annealing- Algorithmus asymptotisch bei stetigem Absenken des Kontrollparameters eine optimale Lösung findet: lim lim P {X(k) S opt} = 1. t 0 k Über die Konvergenzgeschwindigkeit ist damit keine Aussage getroffen. Es kann aufgrund der Problemkomplexität exponentiell lange dauern, bis die optimale Lösung erreicht ist. 3.6 Online-TSP Wie sieht eine Instanz für Online-TSP aus? Wie im Offline-Fall muss die Handlungsreisende ausgehend von einem Startpunkt verschiedene Zielorte genau einmal besuchen und dann zum Startpunkt zurückkehren. Allerdings erfährt die Handlungsreisende im Online- Fall die kommenden Zielorte erst, während sie unterwegs ist. Eine Instanz besteht daher aus Paaren von Städten und Veröffentlichungszeiten. (Wir werden dies gleich noch formalisieren.) Zum Problem passende Szenarien können bspw. einen Handwerker-Kundenservice,

22 22 3 Problem des Handlungsreisenden (TSP) einen Kurierfahrer oder auch ein Großlager umfassen. Dabei werden entweder verschiedene Kunden besucht oder Gegenstände eingesammelt, die in ihrer Abfolge erst während der Tour nach und nach feststehen. Nachfolgend vergleichen wir den Online-Algorithmus aber nicht mit einem optimalen Algorithmus für das normale TSP. Aufgabe 20. Warum wäre ein Vergleich mit dem normalen TSP unfair für den Online- Algorithmus? Geben Sie ein Beispiel an, das ihre Aussage stützt! Untere Schranke Als optimalen Offline-Vergleich wählen wir einen optimalen Algorithmus für das Problem vehicle routing with release times. Die Handlungsreisende nennen wir für diesen Vergleich Server, weil durch diesen Server Anfragen (= Punkte im Raum) bedient werden. Sowohl Online- als auch Offline-Server besuchen dieselbe Menge von Anfragepunkten. Der Offline- Server kennt alle Anfragen im Voraus, wohingegen der Online-Server sie (teilweise) erst unterwegs erfährt. Die Anfragepunkte dürfen in beiden Fällen erst nach ihrer Bekanntgabezeit besucht werden. Beide Server bewegen sich gleich schnell und zwar mit Einheitsgeschwindigkeit. Es ergibt sich dadurch folgende Problemstellung. Problem 21. Beide Server starten und enden im Ursprung. Die Eingabe besteht aus Paaren (p i, t i ), wobei p i den i-ten Anfragepunkt und t i den Zeitpunkt der Bekanntgabe von p i bezeichnet. Es muss gelten: 0 t i t j, falls i < j. Die Aufgabe besteht darin, alle Anfragen zu erfüllen (also alle Anfragepunkte zu besuchen). Dabei zählt ein Besuch vor der Bekanntgabe einer Anfrage aber nicht als erfolgreich. Das Minimierungsziel ist die Anzahl der Zeitschritte. Bemerkung 22. Wir verwenden folgende Notation: Z bezeichnet die Laufzeit des optimalen Offline-Servers, Z Onl die des Online-Servers. Die Position des Offline-Servers zum Zeitpunkt t sei mit p (t) bezeichnet, die des Online-Servers mit p Onl (t). Um die Qualität eines Online-Algorithmus einschätzen zu können, vergleicht man diese mit der Qualität des optimalen Offline-Algorithmus: Definition 23. Ein Online-Algorithmus für ein Optimierungsproblem Π heißt c- kompetitiv, falls für alle Instanzen von Π gilt: Z Onl cz. p ONL (1) [ (2c 3), (2c 3)] p ONL (3) p ONL (3) / [ (7 4c), (7 4c)] Unser Ziel wird sein, einen Algorithmus anzugeben, für den der Wert c möglichst klein ist. Vorher überlegen wir uns aber erst mal, wieviel man durch das beschränkte Wissen im Online-Szenario mindestens im Vergleich zum Offline-Szenario verliert. Um die Analyse zu vereinfachen, betrachten wir die reelle Zahlengerade. Theorem 24. Für jeden c-kompetitiven Algorithmus für Online-TSP auf der reellen Zahlengerade muss gelten: c

23 3.6 Online-TSP 23 Beweis. Wir beweisen per Widerspruch und nehmen daher an, dass es einen c-kompetitiven Algorithmus mit c < gibt. Kompetivität bezieht sich auf den worst case. Dies modelliert man bei Online-Algorithmen, indem man einen Gegenspieler eine Folge konstruieren lässt, die es dem Online-Algorithmus besonders schwierig macht. Wir werden uns dazu überlegen, wo der Online-Server in bestimmten Zeitschritten stehen muss, um c-kompetitiv zu sein. Daraus lässt sich wiederum das im Theorem verwendete c ableiten. Wir starten damit zu zeigen, dass p Onl (1) [ (2c 3), (2c 3)] liegt. Dabei stellen wir zunächst fest, dass 2c 3 < 1, denn c < 2. Nehmen wir an, p Onl (1) > 2c 3 (die andere Richtung ist symmetrisch). Dann sendet der Gegenspieler dem Online-Server die einzige Anfrage ( 1; 1), also den Ort 1 zur Bekanntgabezeit 1. Der optimale Offline- Server kann diese Instanz in zwei Zeitschritten erfüllen. Er geht vom Ursprung zu 1 und wieder zurück. Für den Online-Server gilt aber, dass bereits ein Zeitschritt vergangen ist, er dann über den Nullpunkt noch nach 1 gehen und wieder zum Nullpunkt zurückkehren muss. Insgesamt ergibt sich: Z Onl > 1 + (2c 3) + 2 = 2c = cz Z Onl > cz, was zum Widerspruch führt und weshalb p Onl (1) [ (2c 3), (2c 3)] gilt. Der Gegenspieler präsentiere nun zum Zeitpunkt t = 1 die beiden Anfragen (1; 1) und ( 1; 1). Zum Zeitpunkt t = 3 kann der Online-Server nicht beide Anfragen gleichzeitig abgearbeitet haben dafür hat er zu spät von ihnen erfahren. Nehmen wir o.b.d.a. an, dass 1 noch nicht abgearbeitet wurde. Als nächstes zeigen wir dann p Onl (3) / ( (7 4c), (7 4c)). Dabei ist 7 4c > 0 zu beachten, denn c < 7/4. Nehmen wir dazu nun wieder an, dass unsere Aussage nicht gilt und p Onl in dem angegebenen Intervall liegt. Unser Gegenspieler würde die Anfrage (1; 3) bekanntgeben und der optimale Offline-Server benötigt für die drei Anfragen vier Zeitschritte. Für den Online-Server gilt aber, dass schon drei Zeitschritte vergangen sind, bevor vom aktuellen Punkt p Onl (3) zu 1 gegangen werden kann und von dort wieder zum Nullpunkt. Dafür braucht der Online-Server Z Onl > 3+1 (7 4c)+3 = 4c = cz Z Onl > cz. Die anderen Möglichkeiten der Abarbeitung sind wieder symmetrisch. Damit haben wir wieder den gewünschten Widerspruch zur c- Kompetivität erzielt. Da gemäß unserer Annahme c < gilt, ist das Intervall [ (2c 3), (2c 3)] streng im Intervall [ (7 4c), (7 4c)] enthalten. Es bleiben daher noch zwei Fälle in unserer Betrachtung übrig. 1. Fall: Zum Zeitpunkt t = 3 hat der Online-Server die Anfrage +1 noch nicht bearbeitet. Dann muss nach unserer obigen Überlegung 1 p Onl (3) (7 4c) oder (7 4c) p Onl (3) 1 gelten. 2. Fall: Zum Zeitpunkt t = 3 hat der Online-Server die Anfrage +1 bereits bearbeitet. Der Server kann dann nach unseren Vorüberlegungen nicht links von (7 4c) sein. Denn er hat sich ab Zeitschritt 1 von einer Position nicht rechts von (2c 3) in Richtung +1 bewegt und dann Richtung 1. Für diese Zugfolge gilt: 1 + (1 (2c 3)) + (1 + (2c 3)) = 3. Wir können demnach festhalten, dass sich der Online-Server innerhalb einer Distanz von 1 (7 4c) einer der beiden Außenpositionen befindet und die andere Außenposition noch

24 24 3 Problem des Handlungsreisenden (TSP) nicht abgearbeitet hat. Für den Rest des Beweises nehmen wir an, dass der Online-Server nahe +1 ist, der andere Fall ist symmetrisch. Unser Gegenspieler hat zunächst 1 abgearbeitet, ist dann im Zeitschritt 3 an der Position p (3) = +1 und benötigt insgesamt Z = 4 Schritte. Jeder c-kompetitive Algorithmus muss daher den Ursprung spätestens im Zeitpunkt 4c 2 passieren. Nennen wir diesen Zeitpunkt der Passage 3 + q. Somit gilt: q 4c 5. (3.2) Zum Zeitpunkt (3 + q) kann der Gegenspieler am Ort 1 + q sein, dort eine Anfrage platzieren und zum Ursprung zurückkehren. Für diese Abfolge gilt Z Onl = 7 + 3q für den Online-Server sowie Z = 4 + 2q für den Gegenspieler. Für die Kompetitivitätsrate müssen wir den Quotienten aus beiden Größen bilden, also 7+3q. Für unsere Grundannahme der c-kompetitivität muss also c 7 + 3q 4 + 2q gelten, denn der Quotient aus Online-Qualität und Offline-Optimum, darf c nicht übersteigen. Dieser Bruch fällt monoton in q für das betrachtete Intervall; zusammen mit Ungleichung (3.2) können wir folgern: c 4+2q 7 + 3(4c 5) 4 + 2(4c 5). (3.3) Der kleinste Wert, der Ungleichung (3.3) erfüllt, ist der Wert, für den Gleichheit angenommen wird. Dieser Wert ist , wie man durch Nachrechnen feststellen kann (durch Überführen von Ungleichung (3.3) in eine quadratische Gleichung) Der 2-kompetitive Algorithmus PAH Angesichts der obigen Resultate zu unteren Schranken stellt sich die Frage, welche guten Online-Algorithmen es gibt. Man könnte zum Beispiel gierig vorgehen und immer wenn eine neue Anfrage kommt, den aktuell besten Hamiltonpfad berechnen. Dies führt zu einem 2.5-kompetitiven Algorithmus, der exponentielle Laufzeit hat. In der Folge geben wir einen einfachen Online-Algorithmus für (bestimmte) metrische Räume an, der 2-kompetitiv ist. Seine Laufzeit ist allerdings auch nicht polynomiell, wenn P NP. Die Klasse der betrachteten metrischen Räume ist in Definition 25 festgelegt. Der Algorithmus unterscheidet drei disjunkte Fälle, siehe Algorithmus 3.3. Definition 25. Unsere Klasse der metrischen Räume M enthält alle stetigen metrischen Räume, d. h. jeden metrischen Raum M M mit der Eigenschaft, dass der kürzeste Weg von x M nach y M stetig ist, durch Punkte in M gebildet wird und die Länge d(x, y) hat. Theorem 26. PAH ist 2-kompetitiv. Beweis. Wir betrachten drei Fälle. Wenn PAH in jedem der drei Fälle 2-kompetitiv ist, dann gilt die Eigenschaft auch insgesamt. Sei dazu T ein Pfad, T seine Länge und T der optimale Pfad von O aus für alle Anfragen und t der Zeitschritt der zuletzt erhaltenen Anfrage. Zwei Aussagen gelten dann offensichtlich: Z t, da auch der optimale Algorithmus nicht vor der Anfrage im Zeitschritt t enden kann, sowie Z T, da die optimale Tour in ihrer Dauer nicht unterboten werden kann.

25 3.6 Online-TSP 25 Algorithm 3.3 Plan at home (PAH) 1. Falls PAH-Server im Ursprung O: PAH folgt der aktuell optimalen Route 2. Falls PAH-Server im Punkt p O eine Anfrage am Punkt x erhält: a) Falls d(x, O) > d(p, O) : PAH geht direkt zu O und somit in Fall 1 b) Falls d(x, O) d(p, O) : PAH ignoriert die Anfrage, bis er wieder im Ursprung O ist, dann gilt Fall 1 1. Der Server PAH befindet sich zum Zeitpunkt t im Ursprung O. Aus unseren Vorüberlegungen folgt unmittelbar: Z P AH t + T 2Z, somit ist Fall 1 2-kompetitiv. 2. PAH ist nicht im Ursprung. a) d(x, O) > d(p, O): Ab Zeitschritt t geht PAH zurück zum Ursprung und von dort aus eine optimale Tour über alle noch nicht abgearbeiteten Anfragen. Da d(p, O) < d(x, O), gilt: Z P AH t+d(p, O)+ T < t+d(x, O)+ T, weil PAH nach der Rückkehr zum Ursprung noch T Schritte braucht, um die optimale Tour der noch nicht bearbeiteten Anfragen durchzuführen. Außerdem gilt für den optimalen Server: (i) Z T (wie oben) und (ii) Z t + d(x, O), denn die Anfrage kommt erst im Zeitschritt t, im besten Fall steht der optimale Server dann bereits auf dem Anfragepunkt x. Schließlich muss dann aber noch der Weg zum Ursprung zurückgelegt werden. Daraus folgt wiederum: Z P AH 2Z, somit ist Fall 2a) auch 2-kompetitiv. b) d(x, O) d(p, O): Nehmen wir an, PAH folgt einer Route R, die berechnet wurde, als PAH das letzte Mal im Ursprung war. Zunächst brauchen wir einiges an Notation. Sei Q die Menge der Anfragen, die übergangsweise ignoriert wurden, seit PAH zuletzt den Ursprung verlassen hat. Außerdem sei q der Ort der ersten Anfrage in Q, die der Gegenspieler abgearbeitet hat und sei t q der Zeitpunkt, an dem diese Anfrage kam. Schließlich sei PQ der kürzeste Weg mit Startpunkt q, der alle Punkte aus Q besucht und im Ursprung endet. Offensichtlich gilt: Z t q + PQ. Was ergibt sich für PAH? Zum Zeitpunkt t q muss PAH noch höchstens R d(o, q) Schritte gehen, um in den Ursprung zurückzukehren; denn d(o, p(t q )) d(o, q) (Fall 2(b)) impliziert, dass PAH von R schon mindestens d(o, q) bereist hat. Daher wird PAH vor dem Zeitpunkt t q + R d(o, q) im Ursprung ankommen. Danach wird er eine optimale Tour TQ ablaufen, die alle unbearbeiteten Anfragen aus Q abdeckt. Daraus ergibt sich folgende Gesamtzeit: Z P AH t q + R d(o, q) + TQ. Weil zudem TQ d(o, q) + P Q gilt (das Optimum kann nicht schlechter sein als erst zu q zu gehen und dann optimal zu laufen), ergibt sich: Z P AH t q + R d(o, q) + d(o, q) + P Q = t q + R + P Q Da offensichtlich Z R gilt und nach Vorüberlegung auch Z t q + P Q, folgt wieder Z P AH 2Z und wir sind fertig.

26 26 3 Problem des Handlungsreisenden (TSP) 3.7 Literaturhinweise Die Darstellung in den Abschnitten 3.3 und 3.4 richtet sich nach Wanka [Wan07]. Die Beschreibung der Heuristiken k-opt sowie LK auf den Vorlesungsfolien folgt dem Lehrbuch von Ausiello et al. [APMS + 99]. Der Abschnitt zu Simulated Annealing basiert teilweise auf einer Seminararbeit von Lukas Barth, dem ich für die Bereitstellung der Unterlagen danken möchte. Der Abschnitt zum Online-TSP ist wiederum Ausiello et al. [AFL + 01] entnommen. Kontext zur Lösbarkeit von praktischen TSP-Instanzen finden sich bspw. bei Johnson und McGeoch [JM07]. Der TSP-Löser Concorde [ABCC11] gilt als einer der besten und als einer der schnellsten exakten (Stand Dezember 2011). Concorde hat alle 110 Instanzen der TSPlib exakt gelöst, die größte hat dabei Städte. Die 87 einfachsten Instanzen benötigen jeweils nur höchstens einige Minuten auf einer Standard-Workstation.

27 27 4 Max-SAT Das Erfüllbarkeitsproblem der Aussagenlogik (SAT von satisfiability ist Ihnen aus den Grundvorlesungen bekannt: Definition 27. Als Entscheidungsproblem lässt sich SAT so formulieren: Gegeben: Boolesche Formel φ, bspw. in konjunktiver Normalform (KNF), d. h. φ : C 1 C m mit Klauseln C i. Gesucht: Korrekte Antwort auf die Frage, ob F erfüllbar ist oder nicht. Als Zertifikat für eine positive Antwort kann ein Algorithmus idealerweise eine erfüllende Belegung angeben. SAT hat zahlreiche praktische Anwendungen wie etwa Hard- und/oder Software- Verifikation oder automatisches Schlussfolgern (automatic reasoning). Wir gehen darauf nicht näher ein, weisen aber darauf hin, dass SAT dort meist als Teilproblem auftaucht. 4.1 Problemvarianten und deren Komplexität Da wir Optimierungsprobleme betrachten, erscheint SAT zunächst gar nicht geeignet. Wenn wir aber das Problem leicht anpassen, kommen wir zum Optimierungsproblem Max- SAT: Definition 28 (Max-SAT). Sei V = x 1,..., x n eine Menge von booleschen Variablen und φ eine boolesche Formel in KNF über V mit m Klauseln. Eine zulässige Lösung von φ ist eine Belegung b der Variablen in V mit booleschen Wahrheitswerten. Die Zielfunktion lautet: maximiere wahr(b, φ) = j C j φ, b(c j ) = true. Dementsprechend suchen wir b mit wahr(b, φ) maximal. Also fragt das klassische Erfüllbarkeitsproblem SAT, ob es eine Belegung b mit wahr(b, φ) = m gibt. Wir nehmen an, in der Klausel kommen keine Variablen doppelt vor. Dann gilt für eine (n, m)-formel φ in KNF: Beobachtung 29. max wahr((false,..., false), φ), wahr((true,..., true), φ) 1 2 m Verschiedene Varianten des Erfüllbarkeitsproblems gehören zu verschiedenen Komplexitätsklassen. Sei dazu zunächst die Klasse PP eingeführt: Definition 30 (Klasse PP). Eine Sprache L gehört zu PP genau dann, wenn es eine probabilistische Turingmaschine M derart gibt, dass gilt: M benötigt polynomielle Laufzeit für alle Eingaben x L gilt: M gibt true aus mit Wahrscheinlichkeit größer 1/2

28 28 4 Max-SAT x / L gilt: M gibt true aus mit Wahrscheinlichkeit kleiner oder gleich 1/2 Nun können wir festhalten: SAT: Ist boolesche Formel (in KNF) erfüllbar? N P-vollständig 3-SAT: Ist boolesche Formel in KNF mit höchstens 3 Literaken pro Klausel erfüllbar? N P-vollständig 2-SAT: Ist boolesche Formel in KNF mit höchstens 2 Literalen pro Klausel erfüllt? 2-SAT P Max-SAT: Bestimme maximale Anzahl erfüllbarer Klauseln einer Formel! PP-vollständig Maj-SAT: Ist boolesche Formel von mehr als der Hälfte aller möglichen Belegungen erfüllbar? PP-vollständig 4.2 Randomisierte Algorithmen mit relativer Güte Einfacher randomisierter Algorithmus Siehe Kapitel 6.1 des Lehrbuchs von Wanka [Wan07] LP-Relaxation mit randomisiertem Runden Siehe Kapitel 6.2 des Lehrbuchs von Wanka [Wan07]. 4.3 Tabusuche Simulated Annealing war ein Meilenstein wegen der Möglichkeit, (schlechten) lokalen Optima entfliehen zu können. In manchen Szenarien sind aber randomisierte Techniken unerwünscht. Daher betrachten wir nun eine Metaheuristik, die sich rein deterministisch implementieren lässt und die auch lokalen Optima entkommen kann die Tabusuche (TS). Tabusuche verhält sich wie lokale Suche mit steilstem Anstieg. Man betrachtet die komplette Nachbarschaft und geht (im Prinzip) zum besten Nachbarn. Aber Tabusuche schließt kürzlich besuchte Nachbarlösungen aus, um Zyklen im Suchraum zu vermeiden. Diese Lösungen werden in der sogenannten Tabuliste gespeichert. Aus diesem Grund akzeptiert Tabusuche auch nichtverbessernde Nachbarlösungen, wenn es keine verbessernden Nachbarn gibt Generische Konzepte von Tabusuche Viele Tabusuche-Implementierungen betrachten die vollständige Nachbarschaft. Ähnlich wie bei lokaler Suche wird die aktuelle Lösung durch den besten gefundenen Nachbarn ersetzt. Im lokalen Optimum wird die Suche allerdings fortgesetzt. Dabei würde man gerne mit dem bestmöglichen Nachbarn weitermachen; dies kann allerdings zu unerwünschten Zyklen im Suchraum führen. Um solche Zyklen zu vermeinten, speichert die Tabuliste (Informationen über) bereits besuchte Lösungen (der letzten Zeit).

29 4.4 Literaturhinweise 29 Vermeidung von Zyklen Das Kurzzeitgedächtnis der Tabuliste speichert typischerweise aus Speichergründen nicht alle bisherigen Lösungen, sondern nur gewisse Attribute bspw. Veränderungen zwischen Lösungen, Zielfunktionswerte usw. Dabei muss abgewogen werden zwischen einer schnellen Entscheidung, ob eine Nachbarlösung tabu ist und dem Speicherverbrauch. Aus Zeit- und Platzgründen wird meist nicht die ganze Historie in der Tabuliste gespeichert. Statt dessen hat die Tabuliste nur eine begrenze Größe, nennen wir sie k. Der Wert von k kann je nach Implementierung statisch sein oder sich über die Zeit verändern. Von einer dynamischen Größe der Tabuliste spricht man, wenn sich k unabhängig vom Suchverlauf verändert. Bezieht man den Suchverlauf mit ein, spricht man von einer adaptiven Größe der Tabuliste. Beispielsweise könnte man die Liste verlängern, wenn man die Informationen für die weitere Suche noch als relevant und wichtig erachtet. Die Tabuliste wird nach jedem Schritt aktualisiert. Wenn ihre Kapazität erschöpft ist, wird zunächst die älteste Information gelöscht und dann die neueste eingefügt. Eine generierte Nachbarlösung ist nur akzeptabel, wenn sie nicht in der Tabuliste vorhanden ist. Übergeordnetes Tabukriterium Es kann sinnvoll sein, dass ein Schritt, der eigentlich tabu ist, doch akzeptiert wird. Denn vielleicht ist die Tabuliste zu strikt und eine generierte Lösung sollte trotz ihrer Existenz in der Tabuliste erlaubt werden. Für diese Fälle gibt es das übergeordnete Tabukriterium (engl. aspiration criterion), mit dem Tabu-Lösungen doch akzeptiert werden, etwa wenn die Lösung besser als alle bisher gefundenen Lösungen ist. Intensivierung Intensivierung ist ein allgemeines Optimierungskonzept, das wir hier im Kontext der Tabusuche genauer betrachten. Gemeint ist damit, dass man vielversprechende Bereiche des Suchraumes möglichst gründlich besuchen möchte, weil man hier eine sehr gute Lösung vermutet. Im Kontext der Tabusuche übernimmt das Gedächtnis mittlerer Länge diese Einengung des Suchraums. Es speichert die besten bisher gefundenen Lösungen. Dadurch will man Eigenschaften identifizieren, die diese besten Lösungen gemeinsam haben. Für Max-SAT kann das bedeuten, dass man die Zahl der aufeinanderfolgenden Iterationen speichert, in denen eine Eigenschaft der besuchten Lösungen aufgetreten ist, bspw. die Belegung einer Variablen(gruppe). Diversifizierung Diversifizierung ist das Gegenteil von Intensivierung. Das allgemeine Ziel besteht darin, den Suchraum möglichst breit abzudecken, um keine vielversprechenden Bereiche zu übersehen. Im Kontext der Tabusuche übernimmt diese Aufgabe das Langzeitgedächtnis. Dazu werden meist kurze Informationen über die besuchten Lösungen gespeichert. Dabei beeinflussen diese Eigenschaften die weitere Suche, indem noch nicht besuchte Bereiche des Lösungsraums bevorzugt werden. Man kann etwa speichern, wie häufig insgesamt in den bisher besuchten Lösungen eine bestimmte Eigenschaft aufgetreten ist, bspw. beim TSP-Problem bestimmte Kanten oder bei Max-SAT bestimmte Belegungen. 4.4 Literaturhinweise Die Darstellung in den Abschnitten und richtet sich nach Wanka [Wan07].

30 30 4 Max-SAT Algorithm 4.1 TabuSearch (TS) 1: function TABUSEARCH(I) 2: s = generate_inital_solution() 3: Initialisiere Tabuliste, und Gedächtnisse mittlerer und großer Länge 4: repeat 5: Finde besten zulässigen Nachbarn s 6: s = s 7: Aktualisiere Tabuliste und die beiden anderen "Gedächtnisse" 8: if Intensivierung erfordert then 9: Führe Intensivierung durch 10: end if 11: if Diversifizierung erfordert then 12: Führe Diversivifizierung durch 13: end if 14: until Terminierungskriterium erfüllt 15: return beste bisher gefundene Lösung 16: end function

31 31 5 Graphclustering Irregulär strukturierte Daten, die sich als Graph bzw. Netzwerk darstellen lassen, finden sich in immer mehr Anwendungen. Denken Sie bspw. an soziale Online-Netzwerke und soziale Medien oder an Interaktionen von Personen, technischen Geräten oder sogar Proteinen. Die Datenmengen, die sich in solchen Anwendungen ergeben, sind in den letzten Jahren rasant angestiegen. Es stellt sich somit aus algorithmischer Sicht die Frage, wie man mit diesen sehr großen Daten umgehen kann. Ein Ansatz kann dabei sein, einen teuren Algorithmus nicht auf den ganzen Graphen anzuwenden, sondern nur auf relevante Teile. Was dabei relevant ist, hängt natürlich vom konkreten Problem bzw. der konkreten Anwendung ab. Aber zumindest ist es meist sinnvoll, in einem Durchgang Teilgraphen zu betrachten, in denen sich die Knoten in gewisser Weise ähnlich sind. Diese Ähnlichkeit kann etwa darin bestehen, dass diese Knoten einen hohen Grad an Zusammenhang aufweisen (was wir gleich noch formalisieren müssen). Zugleich kann es für einen Analysten auch aus ganz anderen Gründen interessant sein zu erfahren, wie ein Netzwerk in natürliche Gruppen zerfällt. Im sozialen Kontext lässt sich daraus mglw. ableiten, welche Effekte bei der Bildung von Gruppen eine wichtige Rolle spielen. Aus der sozialen Netzwerkanalyse hat sich daher der Begriff community detection für das Graphclustering heraus entwickelt. Teilweise unterscheidet die Literatur die beiden Begriffe je nach wissenschaftlichem Feld. Wir verwenden die Begriffe hier synonym. Was die beste oder wenigstens eine gute Clusterung ist, kann sich deutlich von Problem zu Problem unterscheiden. Als Algorithmiker wollen wir aber natürlich Methoden entwickeln, die vielseitig und ohne großes Zutun eines Benutzers verwendbar sind. Grundsätzlich versucht man bei der Clusteranalyse zu erreichen, dass die Objekte desselben Clusters sich ähnlich sind und Objekte verschiedener Cluster sich unähnlich sind. Ein vielfach genutztes Prinzip für das Clustern von Graphen ist daher das Paradigma, dass Cluster intern dicht sein und nach außen nur wenige Verbindungen haben sollen (engl. intra-dense vs inter-sparse paradigm). Somit sollen Clustergrenzen möglichst wenige Kanten schneiden. Anders ausgedrückt sollen zwischen Knoten desselben Clusters viele Wege kurzer Länge verlaufen, zwischen Knoten verschiedener Cluster aber nur wenige solcher Wege. Um auf algorithmischem Wege zu einer guten Clusterung zu kommen, formalisiert man die obige abstrakte Vorstellung mit einer Zielfunktion. Dabei ist es auch wichtig zu beachten, dass die Cluster nicht völlig unterschiedliche Größe haben. Denn wenn man nur die Schnittgröße (also die Zahl der Kanten zwischen verschiedenen Clustern) ohne jegliches Balancekriterium berücksichtigen würde, wäre das Abschneiden der Knoten mit geringstem Grad immer optimal. Manche Zielfunktionen nehmen daher ein Balancekriterium explizit auf (wie etwa der normalisierte Schnitt), andere implizit. 5.1 Zielfunktion Modularität Wir betrachten hier nur disjunkte Cluster, suchen also eine Partition der Knotenmenge V gemäß der obigen Überlegungen. Um diese Überlegungen zu formalisieren, führen wir die Zielfunktion Modularität (engl. modularity) ein. Sie ist im Bereich der sozialen Netz-

32 32 5 Graphclustering werkanalyse sehr populär und hat auch in vielen weiteren Anwendungen breiten Einsatz gefunden: Definition 31. Sei G = (V, E) ein Graph, dieser habe eine Clusterung C, also eine Partition der Knotenmenge V. Die Modularität q von C auf G ist definiert als: q(g, C) := C C E(C) m ( v C deg(v) 2m ) 2. (5.1) Bei der obigen Definition bezeichnet E(C) die Menge der Intra-Cluster-Kanten des Clusters C. Modularität lässt sich alternativ auch so schreiben (der Nachweis der Äquivalenz beider Ausdrücke sei als Übungsaufgabe empfohlen): q(g, C) := 1 2m ij ( A ij deg(i) deg(j) 2m ) δ(c(i), c(j)). (5.2) Der Cluster eines Knotens i wird dabei mit c(i) bezeichnet. Außerdem stellt δ(, ) das sogenannte Kronecker-Delta dar, welches genau dann 1 ist, wenn beide Parameter gleich sind und sonst 0. Modularität muss maximiert werden. Die Leserin kann sich leicht überzeugen, dass der Wert 1 eine obere Schranke darstellt. Wie bereits angedeutet, weisen Werte um 0 auf eine fehlende Clusterstruktur hin. Das theoretische Minimum liegt nach Bisseling und Fagginger Auer bei Es ergibt sich nun folgendes Clustering-Problem: Problem 32. Problem (Graph Clustering gemäß Modularität) Eingabe: Graph G = (V, E) Ausgabe: Clusterung C (eine Partition von V ), die q(g, C) maximiert Modularität gehört zu den Zielfunktionen, die implizit balancieren. Die Idee hinter Modularität ist, den Anteil der Intra-Cluster-Kanten (diesen Ausdruck nennt man englisch auch coverage) mit dem erwarteten Anteil dieser Größe in einem Zufallsgraphen mit gleicher Gradfolge zu vergleichen. Eine Clusterung, die aus nur einem Cluster besteht, hat dann Modularität 0, was ausdrückt, dass keine nennenswerte Clusterstruktur vorliegt. Dabei hat der Zufallsgraph des Nullmodells dieselbe Gradverteilung wie der ursprüngliche Graph. Auch wenn der Beweis des folgenden Resultats nicht Teil der Vorlesung war, seien beide der Vollständigkeit halber hier aufgeführt. Proposition 33. Modularität vergleicht die tatsächliche coverage und ihren Erwartungswert für jeden Cluster. Beweis. Dass der Teil links des Minuszeichens der coverage entspricht, ist in Formel (5.1) offensichtlich. Der Erwartungswert für den rechten Teil lässt sich wiederum leichter aus Formel (5.2) herleiten: Betrachten wir dazu eine beliebige Kante mit dem Ziel, zunächst die Zahl der erwarteten Intra-Cluster-Kanten herzuleiten. Starte diese Kante am Knoten i. Wenn wir für diese Kante einen zufälligen anderen Endpunkt suchen, dann wird in unserem Nullmodell des Zufallsgraphen mit Wahrscheinlichkeit deg(j) 2m der Knoten j gewählt, weil die m Kanten von G insgesamt 2m Endpunkte haben. Wenn wir dieses Prozedere der Neuverdrahtung für alle Kanten des Knoten i durchführen, multipliziert man den Ausdruck noch mit deg(i). Wir erhalten also für alle Halbkanten: i deg(i) j deg(j) 2m.

33 5.2 Mehrebenen-Paradigma 33 Den Erwartungswert für den Anteil der Intra-Cluster-Kanten erhalten wir, indem wir für jedes geordnete Knotenpaar den Beitrag wie oben angegeben verwenden sowie eine Indikator-Variable, ob sie innerhalb eines Clusters verläuft. Letzteres erledigt der Ausdruck δ(c(i), c(j)). Um jede Kante wiederum nur einmal zu zählen, brauchen wir noch die Normalisierung 1 2 vor der Summe. Um coverage, also den Anteil der Intra-Cluster-Kanten, zu erhalten, teilen wir schließlich noch durch m. Fast alle (interessanten) Zielfunktionen sind als Entscheidungsprobleme N P-vollständig, dies gilt für Modularität sogar im strengen Sinn: Problem 34 (Modularity). Gegeben: Graph G und eine Zahl K Frage: Gibt es eine Clusterung C von G, für die q(c) K gilt? Theorem 35. Das Problem Modularity ist streng N P-vollständig. Der Beweis erfolgt nach Brandes et al. [BDG + 08] durch Reduktion von 3-Partition auf Modularity. Den Beweis führen wir in dieser Vorlesung nicht, die Definition von 3-Partition sei aber der Vollständigkeit halber angegeben: Problem 36 (3-Partition). Gegeben: 3k positive ganze Zahlen a 1,..., a 3k derart, dass 3k i=1 a i = kb und b/4 a i b/2 für eine ganze Zahl b und alle i = 1,..., 3k Frage: Gibt es eine Partition dieser Zahlen in k Mengen derart, dass die Zahlen in jeder Menge in der Summe b ergeben? Modularität hat einige bekannte Nachteile, z. B. das sogenannte Auflösungsproblem. Das bedeutet, dass ein und derselbe Cluster in zwei Graphen mit stark unterschiedlicher Größe mal als eigenständiger Cluster erkannt wird und mal nicht (weil er in dem Fall in einen größeren Cluster integriert wird). Dieses Auflösungsproblem kann man teilweise durch ein Gewichtsschema beseitigen, aber einige Probleme bleiben weiterhin bestehen. Letztlich haben aber auch andere populäre Zielfunktionen Nachteile die Wahl der Zielfunktion wird sich daher meist nach dem Anwendungsfall richten müssen. 5.2 Mehrebenen-Paradigma Wir haben bereits lokale Suchstrategien als Heuristiken für kombinatorische Optimierungsprobleme kennengelernt, bspw. L-K und 2-Opt für TSP. Die Lokalität, die lokaler Suche im Namen steckt, ist Fluch und Segen zugleich. Lokale Verfahren sind meist schnell, weil sie ausgehend von der aktuellen Lösung nur einen begrenzten Bereich im Suchraum betrachten. Dies geht aber natürlich oft zu Lasten der Qualität, weil die Suche kurzsichtig durchgeführt wird. Weiterhin gehen viele lokale Suchstrategien von einer initialen Lösung aus. Wählt man diese ohne Bedacht, ist die finale Lösung nur selten gut. Es stellt sich somit die Frage, wie man diese beiden Probleme (initiale Lösung, Kurzsichtigkeit) in den Griff bekommen kann. Hier bietet sich das Mehrebenen-Paradigma (engl. multilevel paradigm) an, das wir als Metaheuristik auffassen können und im Kontext von Graphen-Problemen formulieren. Es hat drei Phasen: Zunächst wird der Eingabegraph rekursiv vergröbert, bis man eine Hierarchie von immer gröber werdenden Graphen erhält (siehe Abbildung 5.1 (links). Wichtig

34 34 5 Graphclustering Abbildung 5.1: Mehrebenen-Paradigma am Beispiel einer Clusterung bzw. Partitionierung eines Graphen ist dabei, dass sich zwei aufeinanderfolgende Ebenen zwar in ihrer Größe, aber kaum in ihrer wesentlichen Problemstruktur unterscheiden. Auf der gröbsten Ebene berechnet man dann eine initiale Lösung für das Problem (Abbildung 5.1 (unten)). Dafür kann man ruhig einen teuren Algorithmus verwenden, weil der gröbste Graph typischerweise sehr klein ist. Danach interpoliert (ein anderer Ausdruck ist prolongiert) man die Lösung auf die nächstfeinere Ebene. Dort wendet man dann lokale Suche an, um die interpolierte Lösung weiter zu verbessern, siehe Abbildung 5.1 (rechts). Auf diese Weise kann man auf verschiedenen Skalen optimieren. Lokale Änderungen in einem groben Graphen haben nämlich (interpoliert) häufig weitreichende Änderungen im feinen Graphen. Sehr nützlich ist dieses Vorgehen bei großen Problemen, die sich gut vergröbern und interpolieren lassen. Wir werden uns in diesem und im nächsten Kapitel anschauen, wie man die Probleme Graphclustering und Graphpartitionierung erfolgreich mit diesem Paradigma angehen kann. Dazu muss man konkretisieren, wie die drei Phasen implementiert werden sollen. Also: (1) Wie wird die Vergröberung von einer Ebene zur nächsten durchgeführt? (2) Welcher Algorithmus berechnet die initiale Lösung auf der gröbsten Ebene? (3) Wie wird die interpolierte Lösung auf jeder Ebene weiter verbessert? 5.3 Spektrale Optimierung von Modularität Die spektrale Clusteranalyse ist eine globale Heuristik, die den Zusammenhang zwischen bestimmten Eigenvektoren und der Verbindungsstruktur eines Graphen ausnutzt. Im Fol-

35 5.3 Spektrale Optimierung von Modularität 35 genden werden wir sie für eine Teilung in zwei Cluster darstellen. Ein allgemeines k wird durch rekursives Vorgehen erreicht. Der Wert von k wird dabei als bekannt vorausgesetzt. Als globale Heuristik könnte man sie zum Beispiel verwenden, um im Mehrebenen- Paradigma die initiale Lösung zu berechnen. Problem 37 (Spektrale Clusteranalyse). Gegeben: Schlichter ungerichteter zusammenhängender Graph G = (V, E), V =: n, mit positiven Kantengewichten Gesucht: 2-Clusterung (V 1, V 2 ), die Modularität maximiert Herleitung des Algorithmus Das Vorgehen wird grob wie folgt sein. (1) Kodieren der Clusterung in Vektoren, (2) Kodieren der Graphen in einer Matrix, (3) Zielfunktion und Nebenfunktionen aufstellen, (4) Diskretes Problem zu kontinuierlichem Problem relaxieren, (5) Kontinuierliches Problem mit Mitteln der numerischen linearen Algebra lösen und (6) Lösung diskretisieren. (1) Kodierung von Bipartitionen in Vektoren Sei (V 1, V 2 ) eine 2-Clusterung von V. Wir kodieren diese in x = (x 1,..., x n ) T Z n durch: { 1 v i V 1 x i = +1 v i V 2 Beachten Sie, dass x in der quadratischen 2-Norm n ergibt: x 2 2 = n. (2) Kodierung des Graphen in einer Matrix Ein Graph kann durch eine Reihe verschiedener Matrizen kodiert werden. Hier ist insbesondere die Modularitätsmatrix relevant. Das Beispiel unten verdeutlicht die Berechnung. Diese Matrix lässt sich relativ leicht aufstellen, wenn man die Modularitätsfunktion etwas anders (aber mathematisch äquivalent) formuliert: q(g, C) = 1 2m ij ( A ij deg(i) deg(j) 2m ) δ(c(i), C(j)), wobei δ das Kronecker-Symbol (δ(x, y) = 1, wenn x = y und 0 sonst) ist und C(i) der Cluster von Knoten i in C. Nun ergibt sich die Modularitätsmatrix sehr direkt: Definition 38 (Modularitätsmatrix). Sei die Modularitätsmatrix B definiert als: B ij = A ij deg(i) deg(j) 2m Die Matrix ist zeilenstochastisch, d. h. n j=1 B ij = 0 i, wie sich leicht nachrechnen lässt. Ebenso durch Nachrechnen kann man leicht feststellen, dass wir unsere Zielfunktion auch durch Matrix-Vektor-Operationen darstellen können: Proposition 39. q(g, C) = 1 4m xt Bx mit B = B(G) und x = x(c)

36 36 5 Graphclustering (3) Zielfunktion und Nebenbedingung Maximiere q(b, x) = 1 4m xt Bx unter der Nebenbedingung x i 1, 1 i (4) Das kontinuierliche Problem Die Ganzzahligkeits-Bedingung wird relaxiert: Maximiere q(b, x) = 1 4m xt Bx unter den Nebenbedingungen x i R i und x T x = n (quadratische Norm) (5) Lösen des kontinuierlichen Problems Newman [?] leitet die Zielfunktion ab und findet mittels Lagrange-Multiplikatoren das Optimum der Zielfunktion. Dieses ergibt sich aus dem Eigenvektor z 1 zum größten Eigenwert von B. Die Details sind nicht Teil dieser Vorlesung. (6) Lösung diskretisieren Die kontinuierliche Lösung x = z 1 muss nun wieder diskretisiert werden, um zulässig zu sein. Dies geschieht anhand des Vorzeichens eines Vektoreintrags. Wenn x eine 2-Clusterung kodieren soll, dann ergibt sie sich durch: x i = { 1 x < 0 +1 x > Algorithmus Aus unseren einzelnen Schritten oben ergibt sich Algorithmus 5.1. Algorithm 5.1 Spektrale Partitionierung Eingabe: G = (V, E) Ausgabe: 2-Clusterung (V 1, V 2 ) von G Konstruiere B(G) Berechne den Eigenvektor z 1 von B(G) Partitioniere Indizes von z 1 in zwei Teile: V 1 := {i z 1 (i) < 0}, V 2 := {i z 1 (i) > 0} Weise die Null-Einträge von z 1 beliebig zu return (V 1, V 2 ) Diskussion Ein großer Vorteil der spektralen Clusteranalyse ist, dass sie schnell programmiert ist, wenn man einen Eigenlöser bereits zur Hand hat (hierzu gibt es gute Bibliotheken, programmieren Sie den Löser nicht selbst!). Ebenso ist die Grundidee ein verbreitetes Clustering- Konzept. Zudem ergibt sich über die Herleitung eine theoretische Analyse; auch für die Lösungsqualität existieren Schranken, diese sind aber nicht sehr gut. Ein großer Nachteil ist die Laufzeit, die meist nicht so gut ist wie lokale Verfahren, die mit einem Mehrebenen-Verfahren kombiniert sind. Auch ist die Qualität in der Regel nicht so gut wie Multilevel und lokale Heuristiken kombiniert (aus praktischer Sicht). Aus theoretischer Sicht existieren auch Techniken mit besser Qualität, bspw. auf Basis von linearen Programmen (LP) oder semidefiniten Programmen (SDP). Trotzdem kann spektrale Clusteranalyse wertvoll in der Praxis, nicht nur als Startlösung in einem Mehrebenenverfahren.

37 5.4 Heuristiken zur Modularitätsoptimierung Heuristiken zur Modularitätsoptimierung Die CNM-Methode Die CNM-Methode war eine der ersten agglomerativen Methoden zur Optimierung von Modularität, wenn nicht sogar die erste. Mittlerweile hat sich herausgestellt, dass die Louvain- Methode deutlich schneller und meist qualitativ besser ist. Daher wird CNM nur noch der Vollständigkeit halber in der Vorlesung erwähnt (und bleibt somit prüfungsrelevant), soll hier im Skript aber nicht detailliert betrachtet werden Die Louvain-Methode Die Louvain-Methode geht auf vier Wissenschaftler zurück, die zum Zeitpunkt der Entwicklung der Louvain-Methode alle in der belgischen Stadt Louvain forschten daher der Name. Die Methode geht lokal und gierig (greedy) vor und verwendet einen Mehrebenen- Ansatz. Hier folgt zunächst die schematische Beschreibung von den Vorlesungsfolien, eine Überarbeitung ist für eine kommende Version vorgesehen. Initialisierung: Jeder Knoten ist sein eigener Cluster. Danach: Zwei Phasen, die sich wiederholen: Phase 1, lokale Verbesserung Für jeden Knoten v lokal entscheiden, ob eine Wechsel in die Community des Nachbarn eine Verbesserung der ZF (Modalität) ergibt. Wechsel von v in Community des Nachbarn mit stärkster positiver Verbesserung. Wiederholung, bis keine Verbesserung möglich. Abarbeitungsreihenfolge der Knoten beliebig, z.b. zufällig. Phase 2, Schrumpfen des Graphen: Kontraktion jeder gefundenen Community zu einem einzelnen Knoten. Aktualisierung der Knoten- und Kantengewichten: Schleifen erhalten Gewicht aller alten Intra-Cluster-Kanten, die übrigen Kanten erhalten das Gewicht der alten Kanten zwischen den zugehörigen Communitys. 5.5 Verbesserung von Clusterungen mit Gütegarantie Wir haben bereits gesehen, dass es schwierig ist, optimale Clusterungen zu berechnen. Modularität ist dabei nur eine Zielfunktion unter vielen, wenn auch eine populäre. Dennoch wollen wir noch zwei weitere Zielfunktionen betrachten, die sich in ihrem Aufbau ähneln. Allen genannten Zielfunktionen ist gemeinsam, dass sie sehr große oder sehr kleine Cluster typischerweise vermeiden. Definition 40 (Quotientenwertung). Sei G = (V, E) und S V. Sei S das Gesamtgewicht der Kanten, die zwischen S und S verlaufen. Die Quotientenwertung (engl.: quotient score) ist (S) Q(S) = min{π(s), π( S)}.

38 38 5 Graphclustering Q(S) = (S) min{ S, S }. Dabei sei π eine Funktion, die jedem Knoten einen positiven Wert zuweist. Beispiele: π(v) = 1 v V (quotient cut) oder π(v) = deg(v) v V (conductance) Man kann das Clustering-Problem natürlich so definieren, dass wir bei einem gegebenen Graphen die Quotientenwertung für einen Schnitt (S, S) optimieren wollen. Dieses Problem ist N P-schwer (und als Entscheidungsproblem N P-vollständig). Hier gehen wir aber einen anderen Weg und versuchen, eine gegebene Clusterung eines Graphen weiter zu verbessern. Problem 41 (Finde verbesserte Lösung). Eingabe: G = (V, E), A V mit π(a) π(ā) Ausgabe: S V mit Q(S) < Q(A) (sofern existent) Algorithmus Transformation der Eingabe Der Eingabegraph sowie das -Clustering werden zunächst in ein Flussnetzwerk transformiert: Definition 42. Eingabe: G = (V, E), A V, α [0, ) Ausgabe: G A (α) mit V (G A (α)) = V {s, t}, E(G A (α)) = E (s, v) v A {(v, t) v Ā}, w(s, v) = απ(v), w(v, t) = απ(v)f(a) mit f(a) = π(a)/π(ā) 1, w(u, v) = w G (u, v). Bemerkung 43. Es gilt immer: D A (S) π(s). Falls S A und nicht S A, gilt sogar: D A (S) < π(s). Der vollständige Algorithmus ist abstrakt als Algorithmus 5.2 dargestellt. Theorem 44. Sei A eine Menge mit π(a) π(ā) und sei S = Improve(A). 1. Für jede Menge C A gilt: Q(S) le Q(C). 2. Falls C eine Menge ist, für die π(a C) π(c) für ein ɛ > 0 gilt, dann erfüllt die Ausgabe S π(a) π(v ) + ɛ π(a) π(v ) Q A (S) 1 ɛ Q(C). 3. Der Algorithmus Improve läuft in polynomieller Zeit.

39 5.5 Verbesserung von Clusterungen mit Gütegarantie 39 Algorithm 5.2 Verbesserung der Quotientenwertung function Improve(G,A) S 0 = A; i = 0 α 0 = Q A (A) = Q(A) < repeat Berechne minimalen s-t-schnitt (S i+1, S i+1 ) in Graph G A (α i ) α i+1 = Q a (S i+1 ) i = i + 1 until α i α i 1 return S i end function Analyse 1. Der Algorithmus Improve(A) berechnet eine Menge S, die Q A (S) mi- Lemma 45. nimiert. 2. Bei ganzzahligen positiven Kantengewichten führt der Algorithmus höchstens π(v ) 2 Iterationen durch. 3. Bei ungewichteten Kanten führt der Algorithmus höchstens E Iterationen durch. Beweis. (1) Bei gegebenem A sei α = min X V Q A (X). Wir werden zeigen, dass die Menge S=Improve(A) die Gleichheit Q A (S) = α erfüllt. Dazu zeigen wir zunächst, dass wir eine Menge X mit Q A (X) < α durch das Lösen eines s-t-flussproblems in G A (α) finden können, falls eine solche Menge existiert. Fixiere dazu α (0, ) und sei S α die feste Menge, die die Kosten cost A,α (S α ) minimiert. Wir werden zeigen, dass Q(S α ) < α gilt, falls es eine Menge X V mit Q(X) < α gibt. Dazu stellen wir fest, dass Q(X) < α gdw. (X) αd A (X) < 0 nach Definition. Daher folgt aus der Existenz einer Menge X V mit Q(X) < α auch cost A,α (S α ) cost A,α (X) = απ(a) + ( (X) αd A (X)) < απ(a). Die Kosten von S α lassen sich durch Umformung auch schreiben als cost A,α (S α ) = απ(a) + ( (S) αd A (S)). Dann haben wir απ(a) + ( (S α ) αd A (S α )) = cost A,α (S α ) < απ(a). Aus der Ungleichung folgt (S α ) αd A (S α ) < 0 und daher auch Q(S α ) < α. Da wir demnach in jeder Iteration eine Verbesserung in Q herbeiführen und erst stoppen, wenn es keine Verbesserung mehr gibt, wird das Minimum gefunden. Für jeden Schritt, in dem die Schleife nicht abbricht, sind sowohl α i als auch α i+1 endlich. Daher sind sowohl D A (S i+1 ) als auch D A (S i ) größer als 0 gemäß Definition der α-werte. Daher können wir schreiben: cost A,α 1 (S i ) = α i 1 π(a) + ( (S i ) α i 1 D A (S i )) = α i 1 π(a) + D A (S i )( Q A (S i ) α i 1 ) = α i 1 π(a) + D A (S i )(α i α i 1 ).

40 40 5 Graphclustering Analog dazu gilt cost A,α 1 (S i+1 ) = α i 1 π(a) + D A (S i+1 )(α i+1 α i 1 ). Weil S i die Kosten minimiert, gilt cost A,α 1 (S i ) cost A,α 1 (S i+1 ). Daraus folgt D A (S i ) (α i α i 1 ) D A (S i+1 ) (α i+1 α i 1 ). Wegen α i+1 < α i < α i 1 < gilt auch wie gewünscht D A (S i+1 ) < D A (S i ) (an dieser Stelle gilt tatsächlich in Abweichung zur Originalarbeit echt kleiner, wie man leicht nachprüfen kann). (2) Sind die Knotengewichte π(v) positive ganze Zahlen, dann können die Größen π(s A) und π(s A) jeweils höchstens π(v ) mögliche Werte annehmen. Daher kann D A (S) höchstens quadratisch so viele Werte annehmen. Weil D A (S) in jeder Iteration verringert wird, ergibt sich die maximale Laufzeit. (3) Weil sowohl QA (S i ) als auch D A (S i ) in jeder Iteration verringert werden, muss dies auch für (S i ) gelten. Bei ungewichteten Kanten kann (S i ) höchstens E unterschiedliche Werte annehmen. Lemma 46. Falls für eine Menge C π(a C) π(c) π(a) π(v ) + ɛ π(a) π(v ) für ein ɛ > 0 gilt, dann gilt Q A (C) 1 ɛ Q(C). Beweis. Aufgrund der Definition von Q und Q reicht es, D A (C) ɛπ(c) zu zeigen. Es gelte die Voraussetzung des Lemmas. Dann: D A (C) π(c) = π(c A) π(c) π(c A) f(a) π(c) ( π(a) π(v ) + ɛ π(a) π(a) ) f(a)(1 π(v ) π(v ) ɛ π(a) π(v ) ) = ɛ( π(a) π(a) + f(a) π(v ) π(v ) ) + ( π(a) π(v ) π(a) π(a) + π(a) π(a) = ɛ 1 + π(a) π(v ) (1 π(v ) π(a) + π(a) π(a) ) = ɛ. π(a) π(v ) ) Dabei wurden ausgenutzt: 1. Definition D A (C) 2. Voraussetzung 3. Definition f(a) 4. Mengenregeln Zusammenfassung Die Verbindung zwischen minimalen Schnitten und maximalen Flüssen lässt sich auf vielfältige Weise nutzen. Beim betrachteten Algorithmus geht die Qualität der aktuellen Lösung bzgl. der Zielfunktion in die Formulierung des Flussproblems ein. Daraufhin findet jede Iteration das Optimum einer abgewandelten Zielfunktion auf Basis der Flusslösung.

41 5.6 Weiterführende Literatur 41 Theorem 44 stellt fest, dass jede Iteration ein Ergebnis liefert, das mindestens so gut ist wie das Ergebnis der besten Teilmenge der bisherigen Lösung. Die Feststellung 45 sagt demnach aus, dass die Lösung S das Optimum 1 ɛ -approximiert, falls die Lösung der Eingabe A genügend Übereinstimmung mit dem Optimum hat. Die Bedingung zur Übereinstimmung bei π(v) = 1 ist, dass der Anteil von C, der auch in A liegt, etwas größer sein muss als der erwartete Anteil von C in einer Zufallsmenge der Größe von A. Theorem 44 stellt fest, dass jede Iteration ein Ergebnis liefert, das mindestens so gut ist wie das Ergebnis der besten Teilmenge der bisherigen Lösung. Die Feststellung 45 sagt demnach aus, dass die Lösung S das Optimum 1 ɛ -approximiert, falls die Lösung der Eingabe A genügend Übereinstimmung mit dem Optimum hat. Die Bedingung zur Übereinstimmung bei π(v) = 1 ist, dass der Anteil von C, der auch in A liegt, etwas größer sein muss als der erwartete Anteil von C in einer Zufallsmenge der Größe von A. 5.6 Weiterführende Literatur Die (für uns alternative) Definition der Modularität sowie die Herleitung der spektralen Methode findet sich bei Newman [New10]. Die graphentheoretische Definition von Modularität geht auf die Darstellung von Brandes et al. [BDG + 08] zurück; dort findet sich auch der Beweis der N P-Vollständigkeit. Die Louvain-Methode stammt von Blondel et al. [?]. Ihre parallele Version wurde erstmals (in skalierbarer Form) von Staudt und Meyerhenke [SM16] vorgestellt. Der Improve-Algorithmus geht wiederum auf Andersen und Lang [?] zurück.

42

43 43 6 Graphpartitionierung 6.1 Definitionen Definition 47. Partition, Schnitt Sei G = (V, E) ein ungerichteter Graph. Dann ist Π = (V 1, V 3,..., V k ) V mit k i=1 V i = V und V i V j = i j eine k-partition des Graphen. Ext(Π) = {{u, v} E; u V i, v V j mit i j} ist die Menge der Kanten, die zwischen verschiedenen Teilen verlaufen und heißen Schnitt der Partition. ext(π) = Ext(Π) steht für die Kantenanzahl des Schnitts. Definition 48. Bisektion Eine Partition (V 1, V 2 ) heißt balanciert, wenn V 1 V 2 1 gilt. Eine balancierte 2- Partition heißt auch Bisektion. Problem 49. Graphpartitionierungs-Problem (GPP) Sei G = (V, E, ω) ein Graph. Partitioniere V in V = V 1 V k durch eine Abbildung Π : V {1,..., k} derart, dass Π balanciert ist ( V 1 V k ) der Kantenschnitt {u,v} E:Π(u) Π(v) ω(u, v) minimiert wird. Es handelt sich hierbei wieder in der Entscheidungsvariante um ein N P-vollständiges Problem. Abbildung 6.1 zeigt eine Bisektion mit Kantenschnitt 7. Es gibt eine Reihe anderer Zielfunktionen, die für bestimmte Anwendungen auch tatsächlich besser geeignet wären. Dennoch wird in vielen Fällen der Kantenschnitt betrachtet. Abbildung 6.1: Bisektion mit Kantenschnitt 7.

44 44 6 Graphpartitionierung 6.2 Lokale Suchheuristiken Kernighan-Lin-Heuristik Eine der ersten populären Heuristiken für die Graphpartitionierung stammt von Kernighan und Lin. Wie bei ihrem Verfahren für TSP handelt es sich dabei um eine lokale Suche mit variabler Tiefe. Da die Laufzeit des Verfahrens aber recht schlecht ist, betrachten wir es hier nicht im Detail. Statt dessen stellen wir die Variante von Fiduccia und Mattheyses im nächsten Abschnitt vor, die eine wesentlich bessere Laufzeit hat und in vielen Partitionierungs-Werkzeugen implementiert ist Fiduccia-Mattheyses-Heuristik 6.3 Vergröberung durch Matchings Wir hatten bereits beim Clustering mit PLM gesehen, dass die Vergröberung erfolgen kann, indem man gewisse Teilmengen durch einen Superknoten ersetzt. Bei Graphen, die eine recht regelmäßige Struktur aufweisen, empfiehlt es sich nicht, größere Cluster zu berechnen und zu kontrahieren evtl. gibt es gar keine besonders dichten Regionen, die gute Cluster wären. Will man Graphen aus numerischen Simulationen partitionieren, empfehlen sich daher häufig einfachere Methoden. Bewährt hat sich die Kontraktion von Kanten, die durch ein Matching berechnet werden. Dabei sollen möglichst schwere Kanten kontrahiert werden, damit diese möglichst nicht in den Schnitt kommen. Wir betrachten daher zwei Matching- Algorithmen, mit denen man möglichst schwere Matchings approximativ schnell berechnen kann. Definition 50 (Matching). Ein Matching M ist eine Teilmenge von E, bei der keine zwei Kanten einen Knoten gemeinsam haben. M heißt größtmögliches Matching (engl. maximum matching): M ist maximal unter allen Matchings in G. M ist Matching maximalen Gewichts: e M ω(e) ist maximal unter allen Matchings in G Greedy-Algorithmus Algorithm 6.1 Berechnung eines gewichteten Matchings mit Güte 2 function GreedyMWM(G = (V, E, w)) sortiere E absteigend nach Gewichten: E = e 1,..., e m, w(e i ) w(e j ) i < j M = while E do Nehme nächste Kante e = (u, v) aus E und füge diese in M ein Entferne alle Kanten aus E, die zu u oder v inzident sind end while return M end function

45 6.3 Vergröberung durch Matchings 45 Theorem 51. Sei G = (V, E) ein Graph mit nicht-negativen Kantengewichten und sein M ein Matching mit maximalem Gewicht in G. Dann berechnet GREEDYAPPROXM- WM ein Matching M mit x(m) 1 2 x(m ) in Zeit O(m log m). Beweis. Sei x das Gewicht der ersten Kante e = {u, v}, die durch den Algorithmus GreedyApproxMWM ausgewählt wird. Offensichtlich ist e eine Kante mit maximalem Gewicht in G. Wenn e und alle inzidenten Kanten gelöscht werden, werden dabei höchstens zwei Kanten des optimalen Matchings M entfernt. (Andernfalls wäre die Matching-Eigenschaft an u oder v verletzt.) Die Summe der Gewichte dieser beiden Kanten beträgt höchstens 2x. Bei der Wahl der nächsten Kante e gilt entweder e M oder es gibt keine Kante mehr in M, die schwerer als e ist. Daher gilt jedes Mal, wenn ein oder zwei Kanten des optimalen Matchings aus E gelöscht werden, die nicht in M aufgenommen worden sind, dass die gewählte Kante in M mindestens halb so schwer ist wie die beiden gelöschten Kanten aus M zusammen. Dieses Argument lässt sich für alle weiteren Iterationen von GreedyApproxMWM wiederholen. Da alle Kantengewichte nicht negativ sind, folgt die Behauptung zur Approximationsgüte. Die Laufzeit ergibt sich durch die initiale Sortierung (Annahme: vergleichsbasiertes Sortieren) der Kanten nach ihrem Gewicht, weil die Schleife jede Kante genau einmal betrachtet und daher nur lineare Laufzeit in E hat Path-Growing-Algorithmus PGA Algorithm 6.2 Linearzeit-Berechnung eines MWM mit Güte 2 function PATHGROWINGMWM(G = (V,E,w)) M 1 = ; M 2 = ; i = 1 while E do Wähle x V mit deg(x) > 0 beliebig while x hat Nachbar in G do Sei {x, y} die schwerste zu x inzidente Kante Füge {x, y} zu M i hinzu Entferne x aus G i = 3 i x = y end while end while end function

46 46 6 Graphpartitionierung Theorem 52. Sei G = (V, E) ein Graph mit nicht-negativen Kantengewichten und sei M ein Matching mit maximalem Gewicht in G. PATHGROWINGMWM berechnet ein Matchin M mit w(m ) 2w(M) in Zeit O(m). Beweis. Laufzeit: Jeder Knoten des Graphen wird höchstens einmal in der inneren while- Schleife bearbeitet, denn nach seiner Bearbeitung wird er in Zeile 8 aus G entfernt. Die schwerste Kante, die zu einem Knoten x inzident ist, zu finden und x aus G zu entfernen, lässt sich mit einem Aufwand durchführen, der proportional zum Grad von x ist. Indem man Pfade immer nur von Endknoten einer Kante startet, stellt man sicher, dass keine Knoten mit Grad 0 bearbeitet werden. Die Zahl der Knoten mit Grad mindestens 1 in G ist O( E ). Daher ist die Gesamtlaufzeit des Algorithmus PathGrowingMWM beschränkt durch die Summe der Knotengrade der Knoten in V, was O( E ) ergibt. Güte: Für die Analyse der Güte weisen wir jede Kante des Graphen G an einen Knoten von G folgendermaßen zu (nur gedanklich!). Immer wenn ein Knoten x in Zeile 8 des Algorithmus entfernt wird, werden alle Kanten, die noch zu x inzident sind, zu x zugewiesen. Auf diese Weise wird jede Kante von G genau einem Knoten von G zugewiesen. Andererseits muss nicht jeder Knoten von G ihm zugewiesene Kanten haben. Wir betrachten nun ein MWM M von G. Da M keine zwei zueinander inzidente Kanten haben kann, werden alle Kanten von M an verschiedene Knoten von G zugewiesen. In jedem Schritt des Algorithmus wird die aktuell schwerste Kante, die zu x inzident ist, in Zeile 5 gewählt und zu M 1 oder M 2 hinzugefügt. Daher ist das Gewicht von M 1 M 2 mindestens so groß wie das Gewicht von M. Da max{w(m 1 ), w(m 2 )} 1 2 w(m 1 M 2 ) 1 2 w(m), liefert der Algorithmus PathGrowingMWM ein Matching, das mindestens halb so schwer ist wie das Optimum. 6.4 Metaheuristik Ameisenkolonie Als konkretes Beispiel einer Implementierung betrachten wir zunächst einen ACO- Algorithmus für TSP (Algorithmus 6.3), entnommen dem Buch von Talbi [Tal09]. 6.5 Weiterführende Literatur

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

11. Übung zu Algorithmen I 6. Juli 2016

11. Übung zu Algorithmen I 6. Juli 2016 11. Übung zu Algorithmen I 6. Juli 2016 Lisa Kohl lisa.kohl@kit.edu mit Folien von Lukas Barth Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP ein Algorithmus

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Heuristische Verfahren

Heuristische Verfahren Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.

Mehr

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

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Verbesserungsheuristiken

Verbesserungsheuristiken Verbesserungsheuristiken Bestandteile der Lokalen Suche Für schwierige Optimierungsaufgaben haben Verbesserungsheuristiken eine große praktische Bedeutung. Sie starten mit Ausgangslösungen, die von z.b.

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 7. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 07.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Der Ergodensatz. Hendrik Hülsbusch

Der Ergodensatz. Hendrik Hülsbusch Der Ergodensatz Hendrik Hülsbusch 1..212 Inhaltsverzeichnis Einleitung 3 5 Stationäre Verteilungen 5 6 Reversible Markovketten 11 2 Einleitung In meinem Vortrag beschäftigen wir uns mit dem asymptotischen

Mehr

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus 5. Lokale Suchverfahren Lokale Suche 5. Lokale Suchverfahren Beispiel TSP: k-change Nachbarschaft Optimale Lösungen können oft nicht effizient ermittelt werden. Heuristiken liefern zwar zulässige Lösungen,

Mehr

Polynomialzeit- Approximationsschema

Polynomialzeit- Approximationsschema Polynomialzeit- Approximationsschema 27.01.2012 Elisabeth Sommerauer, Nicholas Höllermeier Inhalt 1.NP-Vollständigkeit Was ist NP-Vollständigkeit? Die Klassen P und NP Entscheidungsproblem vs. Optimierungsproblem

Mehr

Simulated Annealing. Lukas Barth. 27. August 2012

Simulated Annealing. Lukas Barth. 27. August 2012 Simulated Annealing Lukas Barth 27. August 2012 Seminararbeit im Seminar Algorithmentechnik bei Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik Karlsruher Institut für Technologie

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Pr[X t+1 = k] = Pr[X t+1 = k X t = i] Pr[X t = i], also. (q t+1 ) k = p ik (q t ) i, bzw. in Matrixschreibweise. q t+1 = q t P.

Pr[X t+1 = k] = Pr[X t+1 = k X t = i] Pr[X t = i], also. (q t+1 ) k = p ik (q t ) i, bzw. in Matrixschreibweise. q t+1 = q t P. 2.2 Berechnung von Übergangswahrscheinlichkeiten Wir beschreiben die Situation zum Zeitpunkt t durch einen Zustandsvektor q t (den wir als Zeilenvektor schreiben). Die i-te Komponente (q t ) i bezeichnet

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Approximationsalgorithmen 1. Vorlesung Joachim Spoerhase Alexander Wolff Lehrstuhl für Informatik I Wintersemester 2017/18 Bücher zur Vorlesung Vijay V. Vazirani Approximation Algorithms Springer-Verlag

Mehr

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

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie. Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit

Mehr

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, 01.02.2012 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum

Mehr

Angewandte Stochastik

Angewandte Stochastik Angewandte Stochastik Dr. C.J. Luchsinger 13 Allgemeine Theorie zu Markov-Prozessen (stetige Zeit, diskreter Zustandsraum) Literatur Kapitel 13 * Grimmett & Stirzaker: Kapitel 6.9 Wie am Schluss von Kapitel

Mehr

Endliche Markov-Ketten - eine Übersicht

Endliche Markov-Ketten - eine Übersicht Endliche Markov-Ketten - eine Übersicht Diese Übersicht über endliche Markov-Ketten basiert auf dem Buch Monte Carlo- Algorithmen von Müller-Gronbach et. al. und dient als Sammlung von Definitionen und

Mehr

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

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekte mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 11. Januar 2008 Wiederholung

Mehr

DWT 2.3 Ankunftswahrscheinlichkeiten und Übergangszeiten 400/467 Ernst W. Mayr

DWT 2.3 Ankunftswahrscheinlichkeiten und Übergangszeiten 400/467 Ernst W. Mayr 2. Ankunftswahrscheinlichkeiten und Übergangszeiten Bei der Analyse von Markov-Ketten treten oftmals Fragestellungen auf, die sich auf zwei bestimmte Zustände i und j beziehen: Wie wahrscheinlich ist es,

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales

Mehr

Weitere NP-vollständige Probleme

Weitere NP-vollständige Probleme Weitere NP-vollständige Probleme Wir betrachten nun folgende Reduktionskette und weisen dadurch nach, daß alle diese Probleme NP-hart sind (sie sind auch in NP und damit NP-vollständig). SAT p 3-SAT p

Mehr

Kapitel 9: Lineare Programmierung Gliederung

Kapitel 9: Lineare Programmierung Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Kochrezept für NP-Vollständigkeitsbeweise

Kochrezept für NP-Vollständigkeitsbeweise Kochrezept für NP-Vollständigkeitsbeweise Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 11. Januar 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Einführung in Algorithmen und Komplexität

Einführung in Algorithmen und Komplexität Einführung in Algorithmen und Komplexität SS2004 w u v High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 Was haben wir bisher gemacht? - Rechenmodell:

Mehr

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

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21. Theorie der Informatik 19. Mai 2014 21. einige NP-vollständige Probleme Theorie der Informatik 21. einige NP-vollständige Probleme 21.1 Übersicht 21.2 Malte Helmert Gabriele Röger 21.3 Graphenprobleme

Mehr

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P Die Klassen Formale Grundlagen der Informatik 1 Kapitel 11 Frank Heitmann heitmann@informatik.uni-hamburg.de P := {L es gibt ein Polynom p und eine p(n)-zeitbeschränkte DTM A mit L(A) = L} = i 1 DTIME(n

Mehr

2.6 Asymptotische Approximation: Min Binpacking

2.6 Asymptotische Approximation: Min Binpacking 2.6 Asymptotische Approximation: Min Binpacking In diesem Abschnitt geht es die Erscheinung, dass manche Optimierungsprobleme Approximationsalgorithmen haben, die nur für Inputs x mit groÿem Wert m (x)

Mehr

Hamiltonsche Graphen

Hamiltonsche Graphen Hamiltonsche Graphen Definition 3.2. Es sei G = (V, E) ein Graph. Ein Weg, der jeden Knoten von G genau einmal enthält, heißt hamiltonscher Weg. Ein Kreis, der jeden Knoten von G genau einmal enthält,

Mehr

Approximationsklassen für Optimierungsprobleme

Approximationsklassen für Optimierungsprobleme Approximationsklassen für Optimierungsprobleme Matthias Erbar 19. September 2007 Inhaltsverzeichnis 1 Einleitung 1 2 Approximationsalgorithmen mit garantierter Güte 2 2.1 Terminologie......................................

Mehr

Maximum and Minimum Satisfiability Problem

Maximum and Minimum Satisfiability Problem and Lehrstuhl für Wissensverarbeitung und Informationssysteme Universität Potsdam 25. Januar 2006 Agenda 1 2 3 I Erfüllbarkeitsproblem der Aussagenlogik : Aussagenlogische Formel auf Erfüllbarkeit prüfen

Mehr

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

Übungsaufgaben Lösungen

Übungsaufgaben Lösungen Übungsaufgaben Lösungen Stochastische Matrizen, Markov-Prozesse MV5.1 Eine N N-Matrix P heißt stochastisch, wenn ihre Matrixelemente nicht-negativ sind und alle Zeilensummen 1 ergeben. In Formeln: P ij

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 5. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 05.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

Mehr

Kapitel L:II. II. Aussagenlogik

Kapitel L:II. II. Aussagenlogik Kapitel L:II II. Aussagenlogik Syntax der Aussagenlogik Semantik der Aussagenlogik Eigenschaften des Folgerungsbegriffs Äquivalenz Formeltransformation Normalformen Bedeutung der Folgerung Erfüllbarkeitsalgorithmen

Mehr

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013 Technische Universität Braunschweig Sommersemester 2013 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Weitere Algorithmenentwurfstechniken

Weitere Algorithmenentwurfstechniken Weitere Algorithmenentwurfstechniken 1 Backtracking Vier Damen Beim Schach bedroht die Figur der Dame alle Felder, die sich horizontal, vertikal oder diagonal von der entsprechenden Position der Dame befinden.

Mehr

Greedy Algorithms - Gierige Algorithmen

Greedy Algorithms - Gierige Algorithmen Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2

Mehr

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen Kapitel Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr

Dynamisches Routing in der Logistik

Dynamisches Routing in der Logistik Informatik, Angewandte Informatik, Technische Informationssysteme Dynamisches Routing in der Logistik Tobias Dimmel Dresden, 24.05.2012 Agenda 1. Begriffe 2. Traveling Salesman Problem 3. Ameisenalgorithmus

Mehr

NP-vollständig - Was nun?

NP-vollständig - Was nun? Kapitel 4 NP-vollständig - Was nun? Wurde von einem Problem gezeigt, dass es NP-vollständig ist, ist das Problem damit nicht gelöst oder aus der Welt geschafft. In der Praxis muss es trotzdem gelöst werden.

Mehr

Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage. Ideen der Informatik Kurt Mehlhorn

Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage. Ideen der Informatik Kurt Mehlhorn Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage Ideen der Informatik Kurt Mehlhorn Gliederung Ziele von Theorie Gibt es Probleme, die man prinzipiell nicht mit einem Rechner lösen kann?

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Der Branching-Operator B

Der Branching-Operator B Branching 1 / 17 Der Branching-Operator B Unser Ziel: Löse das allgemeine Minimierungsproblem minimiere f (x), so dass Lösung(x). B zerlegt eine Menge von Lösungen in disjunkte Teilmengen. Die wiederholte

Mehr

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT Erfüllbarkeitsprobleme SAT (satisfiability problem) Eingabe: Formel F in konjunktiver Form. Frage: Gibt es eine Belegung x der Variablen in F mit F(x)=1? Beispiel: Begriffe erfüllbar satisfiable: Eigenschaft

Mehr

Einführung in die Theorie der Markov-Ketten. Jens Schomaker

Einführung in die Theorie der Markov-Ketten. Jens Schomaker Einführung in die Theorie der Markov-Ketten Jens Schomaker Markov-Ketten Zur Motivation der Einführung von Markov-Ketten betrachte folgendes Beispiel: 1.1 Beispiel Wir wollen die folgende Situation mathematisch

Mehr

Arbeit: Page, Brin, Motwani, Winograd (1998). Ziel: Maß für absolute

Arbeit: Page, Brin, Motwani, Winograd (1998). Ziel: Maß für absolute 3.4 PageRank Arbeit: Page, Brin, Motwani, Winograd (1998). Ziel: Maß für absolute Wichtigkeit von Webseiten; nicht Relevanz bezüglich Benutzeranfrage. Anfrageunabhängiges Ranking. Ausgangspunkt: Eingangsgrad.

Mehr

Polynomielle Verifizierer und NP

Polynomielle Verifizierer und NP Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert

Mehr

Praktische Grenzen der Berechenbarkeit

Praktische Grenzen der Berechenbarkeit Arno Schwarz Praktische Grenzen der Berechenbarkeit Während es im ersten Abschnitt um prinzipiell unlösbare Probleme ging, wenden wir uns nun Aufgaben zu, deren Lösbarkeit praktische Grenzen gesetzt sind.

Mehr

Satz von Sarkovskii und Periode 3 impliziert Chaos

Satz von Sarkovskii und Periode 3 impliziert Chaos Satz von Sarkovskii und Periode 3 impliziert Chaos Florian Lindemann 10 Februar 2003 Vortrag für das Seminar Differentialgleichungen, WS 02/03 Dozent: Prof Lauterbach Wir wollen uns das Feigenbaum-Diagramm

Mehr

Optimierung. Optimierung. Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus Fabian Kuhn

Optimierung. Optimierung. Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus Fabian Kuhn Optimierung Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus 1 Resource Allocation Beispiel aus Vorlesung 6 Primales LP: Duales LP: max 3 4 2 2 4 2 8 3 6 0, 0, 0 min 4 8 6 2 3 3 4 2 2 0, 0,

Mehr

Dualitätssätze der linearen Optimierung

Dualitätssätze der linearen Optimierung Kapitel 9 Dualitätssätze der linearen Optimierung Sei z = c T x min! Ax = b 9.1 x 0 mit c, x R n, b R m, A R m n ein lineares Programm. Definition 9.1 Duales lineares Programm. Das lineare Programm z =

Mehr

Innere-Punkt-Methoden

Innere-Punkt-Methoden Innere-Punkt-Methoden Johannes Stemick 26.01.2010 Johannes Stemick () Innere-Punkt-Methoden 26.01.2010 1 / 28 Übersicht 1 Lineare Optimierung 2 Innere-Punkt-Methoden Path-following methods Potential reduction

Mehr

13 Mehrdimensionale Zufallsvariablen Zufallsvektoren

13 Mehrdimensionale Zufallsvariablen Zufallsvektoren 3 Mehrdimensionale Zufallsvariablen Zufallsvektoren Bisher haben wir uns ausschließlich mit Zufallsexperimenten beschäftigt, bei denen die Beobachtung eines einzigen Merkmals im Vordergrund stand. In diesem

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP Tobias Boelter 28. Mai 2013 bei Prof. Dr. Rainer Schrader, Universität zu Köln Inhaltsverzeichnis 1 Einleitung 2 2 Lokale Suche

Mehr

Hauptachsentransformation: Eigenwerte und Eigenvektoren

Hauptachsentransformation: Eigenwerte und Eigenvektoren Hauptachsentransformation: Eigenwerte und Eigenvektoren die bisherigen Betrachtungen beziehen sich im Wesentlichen auf die Standardbasis des R n Nun soll aufgezeigt werden, wie man sich von dieser Einschränkung

Mehr

Ein Zustand i mit f i = 1 heißt rekurrent. DWT 2.5 Stationäre Verteilung 420/476 c Ernst W. Mayr

Ein Zustand i mit f i = 1 heißt rekurrent. DWT 2.5 Stationäre Verteilung 420/476 c Ernst W. Mayr Definition 140 Wir bezeichnen einen Zustand i als absorbierend, wenn aus ihm keine Übergänge herausführen, d.h. p ij = 0 für alle j i und folglich p ii = 1. Ein Zustand i heißt transient, wenn f i < 1,

Mehr

3. Prozesse mit kontinuierlicher Zeit

3. Prozesse mit kontinuierlicher Zeit 3. Prozesse mit kontinuierlicher Zeit 3.1 Einführung Wir betrachten nun Markov-Ketten (X(t)) t R +. 0 Wie beim Übergang von der geometrischen zur Exponentialverteilung können wir uns auch hier einen Grenzprozess

Mehr

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, Henning Meyerhenke Algorithmische Methoden zur Netzwerkanalyse Vorlesung 12, 25.01.2012 Henning Meyerhenke 1 KIT Henning Universität desmeyerhenke: Landes Baden-Württemberg und nationales Algorithmische Forschungszentrum

Mehr

Eigenwerte. Ein Eigenwert einer quadratischen n n Matrix A ist ein Skalar λ C (eine komplexe Zahl) mit der Eigenschaft Ax = λx (1)

Eigenwerte. Ein Eigenwert einer quadratischen n n Matrix A ist ein Skalar λ C (eine komplexe Zahl) mit der Eigenschaft Ax = λx (1) Eigenwerte 1 Eigenwerte und Eigenvektoren Ein Eigenwert einer quadratischen n n Matrix A ist ein Skalar λ C (eine komplexe Zahl) mit der Eigenschaft Ax = λx (1) für einen Vektor x 0. Vektor x heißt ein

Mehr

Graphische Spiele. M i (p) M i (p[i : p i]) M i (p) + ε M i (p[i : p i])

Graphische Spiele. M i (p) M i (p[i : p i]) M i (p) + ε M i (p[i : p i]) Seminar über Algorithmen 19. November 2013 Michael Brückner Graphische Spiele Wolfgang Mulzer, Yannik Stein 1 Einführung Da in Mehrspielerspielen mit einer hohen Anzahl n N an Spielern die Auszahlungsdarstellungen

Mehr

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis Optimierungsprobleme Instanz eines Optimierungsproblems zulässiger Bereich (meist implizit definiert) Zielfunktion Optimierungsrichtung opt {max, min} Optimierungsproblem Menge von Instanzen meist implizit

Mehr

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering Das Linear Ordering Problem Exakte Lösungsverfahren VO Algorithm Engineering für NP-schwierige Professor Dr. Petra Mutzel kombinatorische Lehrstuhl für Algorithm Engineering, LS11 Optimierungsprobleme

Mehr

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 =

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 = Lösungsskizzen zu den Klausuraufgaben zum Kurs 4 Algorithmische Mathematik 4KSL3 6 Punkte Aufgabe. Die Folge (a n ) n N natürlicher Zahlen a n sei rekursiv definiert durch a 0 = 0, a n = a n + n falls

Mehr

Kombinatorische Optimierung Vorlesung für den Bereich Diplom/Master Informatik

Kombinatorische Optimierung Vorlesung für den Bereich Diplom/Master Informatik Kombinatorische Optimierung Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK

Mehr

NP-vollständige Probleme

NP-vollständige Probleme Effiziente Algorithmen Lösen NP-vollständiger Probleme 256 NP-vollständige Probleme Keine polynomiellen Algorithmen, falls P NP. Viele wichtige Probleme sind NP-vollständig. Irgendwie müssen sie gelöst

Mehr

Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08)

Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08) 1 Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08) Kapitel 5: NP-schwierige Probleme Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 21. Dezember 2007) Rucksack Problem

Mehr

Das Trust-Region-Verfahren

Das Trust-Region-Verfahren Das Trust-Region-Verfahren Nadine Erath 13. Mai 2013... ist eine Methode der Nichtlinearen Optimierung Ziel ist es, das Minimum der Funktion f : R n R zu bestimmen. 1 Prinzip 1. Ersetzen f(x) durch ein

Mehr

Seminar. Das Steinerbaumproblem

Seminar. Das Steinerbaumproblem 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

Mehr

5 Eigenwerte und die Jordansche Normalform

5 Eigenwerte und die Jordansche Normalform Mathematik für Ingenieure II, SS 9 Freitag 6 $Id: jordantex,v 7 9/6/ :8:5 hk Exp $ 5 Eigenwerte und die Jordansche Normalform 5 Die Jordansche Normalform Nachdem wir bisher das Vorgehen zur Berechnung

Mehr

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie 13 Woche: NP-Vollständigkeit, Satz von Cook-Levin, Anwendungen 276/ 333 N P-Vollständigkeit Ḋefinition NP-vollständig Sei

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

51 Numerische Berechnung von Eigenwerten und Eigenvektoren

51 Numerische Berechnung von Eigenwerten und Eigenvektoren 5 Numerische Berechnung von Eigenwerten und Eigenvektoren 5. Motivation Die Berechnung der Eigenwerte einer Matrix A IR n n als Lösungen der charakteristischen Gleichung (vgl. Kapitel 45) ist für n 5 unpraktikabel,

Mehr

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1 Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau

Mehr

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87

16. November 2011 Zentralitätsmaße. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87 16. November 2011 Zentralitätsmaße H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 87 Darstellung in spektraler Form Zentralität genügt Ax = κ 1 x (Herleitung s. Tafel), daher ist x der Eigenvektor

Mehr

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1 Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................

Mehr

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21 5. Determinanten 5.1 Determinanten der Ordnung 2 und 3 Als Determinante der zweireihigen Matrix A = a 11 a 12 bezeichnet man die Zahl =a 11 a 22 a 12 a 21. Man verwendet auch die Bezeichnung = A = a 11

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

2.3 Basis und Dimension

2.3 Basis und Dimension Lineare Algebra I WS 205/6 c Rudolf Scharlau 65 2.3 Basis und Dimension In diesem zentralen Abschnitt werden einige für die gesamte Lineare Algebra fundamentale Grundbegriffe eingeführt: Lineare Abhängigkeit

Mehr

Approximationsalgorithmen. Approximation im Sinne der Analysis:

Approximationsalgorithmen. Approximation im Sinne der Analysis: Approximationsalgorithmen Ulrich Pferschy 1 Approximationsalgorithmen Approximation im Sinne der Analysis: Satz von Weierstrass: (1815-1897) Sei f eine stetige Funktion auf [a, b]. Dann gibt es zu jedem

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

Elemente in Φ werden Wurzeln genannt. Bemerkung 3.2. (a) Zu einem Wurzelsystem können wir immer eine Spiegelungsgruppe definieren

Elemente in Φ werden Wurzeln genannt. Bemerkung 3.2. (a) Zu einem Wurzelsystem können wir immer eine Spiegelungsgruppe definieren 3. Wurzelsysteme Als erstes führen wir den Begriff eines Wurzelsystems ein. Definition 3.1 (Wurzelsystem). Eine endliche Teilmenge Φ V {0} heißt Wurzelsystem falls gilt: (R1) Φ Rα = {±α} für α Φ, (R2)

Mehr

Übungsblatt 6 Lösungsvorschläge

Übungsblatt 6 Lösungsvorschläge Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Größter Kreis in konvexem Polygon [vgl. Kapitel 6

Mehr

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008 Problemseminar Komplexitätstheorie und Kryptographie Martin Huschenbett Student am Institut für Informatik an der Universität Leipzig 30. Oktober 2008 1 / 33 Gliederung 1 Randomisierte Algorithmen und

Mehr

Übungsblatt Nr. 6. Lösungsvorschlag

Übungsblatt Nr. 6. Lösungsvorschlag Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nico Döttling Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 6 Aufgabe (K) (4 Punkte)

Mehr

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7 Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

Mehr