Visualisierung von Graphen
|
|
- Kajetan Frank Vogt
- vor 6 Jahren
- Abrufe
Transkript
1 1 Visualisierung von Graphen Hierarchische Zeichnungen 6. Vorlesung Sommersemester 2015 (basierend auf Folien von Marcus Krug, KIT)
2 2 Beispiel -Graph zwischen Einrichtungen der Fak. für Informatik, KIT
3 3 Hierarchisches Zeichnen Problemstellung Gegeben: Gesucht: Desiderata Zuordnung der Knoten auf (wenige) horizontale Linien möglichst viele Kanten aufwärtsgerichtet möglichst wenige Kantenkreuzungen Kanten möglichst vertikal, geradlinig und kurz Knoten gleichmäßig verteilt Kriterien widersprechen sich! gerichteter Graph D = (V, A) Zeichnung von D, die Hierarchie möglichst gut wiedergibt
4 4 Klassische Vorgehensweise [Sugiyama, Tagawa, Toda 81]
5 5-3 Schritt 1: Aufbrechen gerichteter Kreise Vorgehen, anschaulich Finde minimale Menge A von Kanten, die nicht aufwärts gezeichnet werden. Entferne Kanten in A und füge dazu Inverse ein. Problem Minimum Feedback Arc Set (FAS): Gegeben: gerichteter Graph D = (V, A) Gesucht: minimale Menge A A, so dass D A azykl.... ist NP-schwer :-(
6 5-4 Schritt 1: Aufbrechen gerichteter Kreise Vorgehen, anschaulich Finde minimale Menge A von Kanten, die nicht aufwärts gezeichnet werden. Entferne Kanten in A und füge dazu Inverse ein. Problem Minimum Feedback Arc Set (FAS): Gegeben: gerichteter Graph D = (V, A) D A + A Gesucht: minimale Menge A A, so dass D A r azykl.... ist NP-schwer :-(
7 6 Greedy-Heuristik für FAS GreedyMakeAcyclic(Digraph D = (V, A)) A foreach v V do if outdeg(v) > indeg(v) then A A out(v) else A A in(v) A A \ (out(v) in(v)) return (V, A ) Laufzeit: O(V + A) Qualitätsgarantie: A = {vw vw A} ={uv uv A} A /2
8 7 Verbesserte Greedy-Heuristik für FAS Betrachte in foreach-schleife immer Quellen und Senken, falls vorhanden, und sonst den Knoten v mit outdeg(v) indeg(v) maximal. Laufzeit: O(V + A) [ Ersetze Prioritätsschlange durch Feld[0..n 1] ] von Knotenlisten; führe Maximum mit Qualitätsgarantie: A A /2 + V /6
9 8 Schritt 2: Lagenzuordnung Problemstellung Gegeben: azyklischer, gerichteter Graph D = (V, A) Gesucht: Abbildung y : V {1,..., V }, so dass für alle uv A gilt y(u) < y(v). Zielfunktionen: minimiere... Anzahl der Lagen, d.h. y(v ) Länge der längsten Kante, d.h. max uv A y(v) y(u) Gesamtlänge der Kanten (d.h. Anzahl der Dummy-Knoten)
10 9 Algorithmus zur Minimierung der Lagenanzahl für jede Quelle q setze y(q) := 1 für jede Nichtquelle v setze y(v) := max { y(u) uv A } + 1 Beob. y(v) ist... Länge eines längsten Wegs von einer Quelle zu v plus also optimal bezüglich der Lagenanzahl! Frage: Berechnung in Linearzeit?
11 10 Linearzeit-Implementierung ComputeLayering(AcyclicDigraph D = (V, A)) y = new int[1.. V ] // alle == 0 foreach Quelle q V do y(q) 1 foreach Nichtquelle v V do ComputeYRec(D, v, y) return y ComputeYRec(AcyclicDigraph D = (V, A), Vertex v, int[ ] y) if y(v) == 0 then y(v) max { ComputeYRec(D, u, y) uv A } + 1 return y(v) für jede Quelle q setze y(q) := 1 für jede Nichtquelle v setze y(v) := max { y(u) uv A } + 1
12 11 Unser Beispiel Alles optimal oder? Zeichnungen können seeehr breit werden :-(
13 12 Ziel: schmalere Lagenzuordnung Problem: Lagenzuordnung bei vorgegebener Breite Gegeben: Gesucht: ebenfalls! azyklischer, ger. Graph D = (V, A), Breite B > 0 Partition der Knotenmenge in minimale Anzahl von Lagen, so dass jeder Lage höchstens B Elemente enthält. Problem: Precedence-Constrained Multi-Processor Scheduling Gegeben: Gesucht: n Aufträge mit Bearbeitungsdauer 1, B ident. Maschinen und partielle Ordnung < auf den Aufträgen Ablaufplan, der < berücksichtigt und minimale Gesamt-Bearbeitungsdauer hat. NP-schwer, (2 2/B)-Approx., keine (4/3 ε)-approx.
14 13 Ein Approximationsalgorithmus für PCMPS Eingabe: Präzedenzgraph (schon in Lagen eingeteilt, aber beliebig breit) A 8 B C D F G E Anzahl der Maschinen sei B = 2. Ausgabe: Ablaufplan M 1 M 2 t A B 7 C D 8 E F 9 G 10 Frage: Güte/Approximationsfaktor?
15 14 Algorithmus Aufträge sind in Liste L gespeichert (in beliebiger Reihenfolge, z.b. topologisch sortiert). Versuche zu jedem Zeitpunkt t = 1, 2,... so viele Aufträge zu bearbeiten wie momentan möglich. Ein Auftrag in L ist verfügbar, falls seine Vorgänger komplett abgearbeitet sind. Solange es zum aktuellen Zeitpunkt noch freie Maschinen und verfügbare Aufträge gibt, lösche den ersten verfügbaren Auftrag aus L und ordne ihn einer freien Maschine zu.
16 15 Analyse für B = 2 Präzedenzgraph G < A B C D E F G Ablaufplan M 1 M 2 t Die Kunst der unteren Schranke OPT n/2 und OPT l := Anz. Lagen von G < Ziel: Finde Algorithmus, dessen Güte sich mithilfe der unteren Schranke(n) messen lässt. Beh. ALG Allg. (2 1/B) OPT n+l 2 n/2 + l/2 3/2 OPT Injektion der Pausen ( ) des Ablaufplans (außer der letzten) in die Lagen von G < A B 7 C D 8 E F 9 G 10
17 16 Schritt 3: Kreuzungsreduktion Problemstellung Gegeben: Gesucht: Graph G, Lagenzuordnung y : V {1,..., V } (Um-)Ordnung der Knoten innerhalb der Lagen, so dass die Anzahl der Kreuzungen minimiert wird. Problem ist NP-schwer, sogar für 2 Lagen [Garey & Johnson 83] kaum Ansätze, die echt über mehrere Layer optimieren
18 17 Iterative Kreuzungsreduktion Idee Füge Dummy-Knoten für Kanten der (vert.) Länge > 1 ein. Betrachte nacheinander jeweils benachbarte Lagen (L 1, L 2 ), (L 2, L 3 ),.... Minimiere Kreuzungen durch Permutieren von L i+1 bei gegebener Ordnung von L i. Beob. Kreuzungszahl hängt nur von der Permutation der Knoten auf den benachbarten Lagen ab.
19 18 Iterative Kreuzungsreduktion Algorithmus (1) wähle zufällige Permutation für unterste Lage L 1 (2) betrachte iterativ jeweils benachbarte Lagen L i und L i+1 (3) minimiere Anzahl der Kreuzungen durch Umordnen der Knoten in L i+1 (L i fest) Einseitige Kreuzungsminimierung (4) wiederhole Schritte (2) (3) in umgekehrter Richtung ausgehend von oberster Lage L h (5) wiederhole Schritte (2) (4) bis keine Verbesserung mehr erzielt wird (6) wiederhole Schritte (1) (5) mit unterschiedlichen Startpermutationen
20 19 Einseitige Kreuzungsminimierung Problemstellung Gegeben: Gesucht: bipartiter Graph G = (L 1 L 2, E), Permutation π 1 von L 1 Permutation π 2 von L 2, die die Anzahl der sich kreuzenden Kantenpaare minimiert Einseitige Kreuzungsminimierung ist NP-schwer. [Eades & Whitesides 94] Algorithmen Schwerpunktheuristik Medianheuristik Greedy-Switch ILP... Abb. aus [Kaufmann und Wagner: Drawing Graphs] (c) Springer-Verlag
21 20 Schwerpunktheuristik [Sugiyama et al. 81] Intuition: wenige Kreuzungen, wenn Knoten nah bei Nachbarn Schwerpunkt von u ist Durchschnitt der x-koordinaten der Nachbarn von u in Lage L 1 [x 1 π 1 ] x 2 (u) := bary(u) := 1 x 1 (v) deg(u) v N(u) lineare Laufzeit relativ gute Ergebnisse optimal, falls keine Kreuzung benötigt wird Faktor-O( n)-approximation Schlechtes Bsp.? u v }{{} k 2 1 k 1 bei gleichen Werten werden Knoten um kleines δ versetzt Übung! }{{}
22 21-3 Medianheuristik [Eades & Wormald 94] {v 1,..., v k } := N(u) mit π 1 (v 1 ) < π 1 (v 2 ) < < π 1 (v k ) { 0 falls N(u) = x 2 (u) := med(u) := π 1 (v k/2 ) sonst. verschiebe Knoten u und v geeignet um δ, falls x 2 (u) = x 2 (v) lineare Laufzeit relativ gute Ergebnisse optimal, falls keine Kreuzung benötigt wird Faktor-3-Approximation Beweis siehe [DETT]
23 21-6 Medianheuristik [Eades & Wormald 94] {v 1,..., v k } := N(u) mit π 1 (v 1 ) < π 1 (v 2 ) < < π 1 (v k ) { 0 falls N(u) = x 2 (u) := med(u) := π 1 (v k/2 ) sonst. verschiebe Knoten u und v geeignet um δ, falls x 2 (u) = x 2 (v) lineare Laufzeit relativ gute Ergebnisse optimal, falls keine Kreuzung benötigt wird Faktor-3-Approximation Beweis siehe [DETT] Schlechtes Beispiel? u v }{{} k }{{} k + 1 }{{} k + 1 }{{} k 2k(k + 1) + k 2 vs. (k + 1) 2 #
24 22 Greedy-Switch-Heuristik vertausche iterativ jeweils benachbarte Knoten, falls dadurch weniger Kreuzungen induziert werden Laufzeit O(L 2 ) pro Iteration; maximal L 2 Iterationen als Post-Processing für andere Heuristiken geeignet Schlechtes Beispiel? L 2 L 1 }{{} k k 2 /4 2k
25 23 Ganzzahliges lineares Programm [Jünger & Mutzel, 97] Konstante c ij := Anzahl von Kreuzungen zwischen Kanten, die zu v i oder v j inzident sind, falls π 2 (v i ) < π 2 (v j ) Variable für 1 i < j n 2 := L 2 v i v j x ij = { 1 falls π2 (v i ) < π 2 (v j ) 0 sonst Anzahl Kreuzungen für feste Permutation π 2 cross(π 2 ) = n 2 1 n 2 (c ij c ji )x ij + n 2 1 n 2 c ji i=1 j=i+1 i=1 j=i+1 } {{ } konstant
26 24 Fortsetzung ILP Minimiere Anzahl der Kreuzungen: minimiere Nebenbedingungen: n 2 1 i=1 n 2 j=i+1 (c ij c ji )x ij 0 x ij + x jk x ik 1 für 1 i < j < k n 2 d.h. wenn x ij = 1 und x jk = 1, dann auch x ik = (Transitivität) Lösung mit Branch-and-Cut bei wenigen Knoten pro Lage relativ schnell.
27 25 Unser Beispiel iterativ
28 26 Schritt 4: Knotenpositionierung Ziel: Exakt: geringe Abweichung der Kanten-Pfade von Geraden Quadratisches Programm (QP) Heuristik: iterativ
29 27 Quadratisches Programm Betrachte Kanten-Pfad p e = (v 1,..., v k ) zu Kante e = v 1 v k mit Dummy-Knoten v 2,..., v k 1 x-koordinate von v i bei gerader Kante v 1 v k (bei Einheitslagenabstand): x(v i ) = x(v 1 ) + i 1 ( x(vk ) x(v 1 ) ) k 1 definiere Abweichung von gerader Kante dev(p e ) := k 1 i=2 ( ) 2 x(v i ) x(v i ) v i v 1 v k
30 28 Fortsetzung (QP) Zielfunktion: min e E dev(p e ) Nebenbedingungen: für alle Knoten v und alle Knoten w im gleichen Layer mit w rechts von v x(w) x(v) ρ(w, v) ρ(w, v) ist minimaler horiz. Abst. zw. Knoten w und v Problem: QP und potentiell exponentielle Breite
31 29 Iterative Heuristik berechne Initial-Layout führe die folgenden Schritte so lange aus, bis Abbruchbedingung erfüllt ist: (1) positioniere Knoten, (2) ziehe Kanten gerade, (3) kompaktifiziere Layout in x-richtung.
32 30 Unser Beispiel
33 31 Schritt 5: Kanten zeichnen
34 32 Schritt 5 anschaulich Alle Abb. aus [Kaufmann und Wagner: Drawing Graphs]
35 33 Unser Beispiel
Zeichnen von Rechengraphen
Julius-Maximilians-Universität Würzburg Institut für Informatik Lehrstuhl für Informatik I Effiziente Algorithmen und wissensbasierte Systeme Masterarbeit Zeichnen von Rechengraphen Julian Schuhmann Eingereicht
MehrVisualisierung von Graphen
1 Visualisierung von Graphen Teile-und-Herrsche-Algorithmen: Bäume und serienparallele Graphen 3. Vorlesung Sommersemester 2013 (basierend auf Folien von Martin Nöllenburg und Robert Görke, KIT) 2 Ankündigung
MehrVisualisierung von Graphen
1 Visualisierung von Graphen Geradlinige Zeichnungen planarer Graphen 6. Vorlesung Sommersemester 2013 (basierend auf Folien von Marcus Krug und Tamara Mchedlidze, KIT) 2 Planare Graphen: Charakterisierung,
MehrApproximationsalgorithmen
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
MehrZeichnen gerichteter Graphen
Zeichnen gerichteter Graphen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering Fachbereich Informatik LS11, Universität Dortmund Otto-Hahn-Str. 14, 44227 Dortmund Die Schichtenmethode, nach
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen
MehrSystems of Distinct Representatives
Systems of Distinct Representatives Seminar: Extremal Combinatorics Peter Fritz Lehr- und Forschungsgebiet Theoretische Informatik RWTH Aachen Systems of Distinct Representatives p. 1/41 Gliederung Einführung
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrAutomatisches Zeichnen von Graphen
Automatisches Zeichnen von Graphen Kap. 3: Hierarchische Zeichenverfahren Prof. Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering LS11 Universität Dortmund 5. VO WS07/08 29. Oktober 2007 Petra Mutzel:
Mehr2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009
2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009 Lösung! Beachten Sie: Bringen Sie den Aufkleber mit Ihrem Namen und Matrikelnummer auf diesem Deckblatt an und beschriften Sie jedes
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 26. Vorlesung Greedy- und Approximationsalgorithmen Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Operations Research Optimierung für Wirtschaftsabläufe:
Mehr11. Ü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
MehrTheoretische 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
MehrAlgorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke
Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Steve Göring 13.07.2012 1/18 Gliederung Einleitung Grundlagen Vertex-Cover-Problem Set-Cover-Problem Lösungsalgorithmen
MehrÜ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
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrVerbesserungsheuristiken
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.
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrKapitel 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
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
MehrHeuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem. Gerold Jäger
Heuristiken und exakte Algorithmen für das verallgemeinerte Traveling Salesman Problem Gerold Jäger Martin-Luther-Universität Halle-Wittenberg (in Zusammenarbeit mit Paul Molitor) DFG-Projekt: Toleranzbasierte
MehrProbleme 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
MehrTheoretische 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
MehrDas Heiratsproblem. Definition Matching
Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrMaximale s t-flüsse in Planaren Graphen
Maximale s t-flüsse in Planaren Graphen Vorlesung Algorithmen für planare Graphen 6. Juni 2017 Guido Brückner INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg
MehrVoronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x
MehrDas Problem des Handlungsreisenden
Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 22. Vorlesung Tiefensuche und Topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Vorlesungsumfrage Nutzen Sie die Vorlesungsbefragung
MehrKlausur 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
MehrAlgorithmische Methoden für schwere Optimierungsprobleme
Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund
MehrLagenlayouts. 13. November 2014 INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK
Algorithmen zur Visualisierung von Graphen Lagenlayouts INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Ignaz Rutter 13. November 2014 1 Graphenvisualisierung 2 Graphen und ihre Darstellung
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8
MehrHeuristische 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.
MehrVorlesung 2 KÜRZESTE WEGE
Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!
MehrNP-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
MehrDie 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
MehrTheoretische 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
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
MehrLiteratur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
MehrKanonische Ordnungen und die Mondshein-Sequenz
Kanonische Ordnungen und die Mondshein-Sequenz a.k.a. (2,)-Order 2 8 0 9 5 7 6 2 Überblick Geradlinige Zeichnungen Kanonische Ordnungen + Shift-Algorithmus Erweiterungen durch Ohrendekompositionen Mondshein-Sequenz
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus
MehrEffiziente Algorithmen I
H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug
MehrApproximationsalgorithmen 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
Mehrdurch Einfügen von Knoten konstruiert werden kann.
Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
Mehr1.Aufgabe: Minimal aufspannender Baum
1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der
Mehr11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME
Algorithmen und Datenstrukturen 11. GRAPHEN 3 FLÜSSE UND SPANNBÄUME Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Algorithmen und Datenstrukturen 11.1. BERECHNUNG MAXIMALER FLÜSSE
Mehr3-Färbbarkeit. Korollar: Zu Entscheiden, ob ein Graph k-färbbar ist mit k 3, ist NP-vollständig.
3-Färbbarkeit Wir wissen bereits, dass in polynomieller Zeit entschieden werden kann, ob ein Graph 2-färbbar ist. Satz: Zu Entscheiden, ob ein Graph 3-färbbar ist, ist NPvollständig. Beweis: Reduktion
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00
MehrOptimierung. 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
Mehr4.7 Der Algorithmus von Dinic für maximalen Fluss
4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen
MehrScheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.
Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung
MehrÜ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
MehrKap. 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Übungsblatt Nr. 5. 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. 5 svorschlag Aufgabe 1
MehrInhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung
8. Optimierung Inhalt 8.1 Motivation 8.2 Optimierung ohne Nebenbedingungen 8.3 Optimierung unter Nebenbedingungen 8.4 Lineare Programmierung 8.5 Kombinatorische Optimierung 2 8.1 Motivation Viele Anwendungen
Mehr2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}
1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
MehrDigraphen, DAGs und Wurzelbäume
Digraphen (gerichtete Graphen) Slide 1 Digraphen, DAGs und Wurzelbäume Digraphen (gerichtete Graphen) Slide 2 Eingangs- und Ausgangsgrad Bei einer gerichteten Kante e = (u,v) E heißt u Startknoten von
MehrApproximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling
Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani
Mehr10. Übung Algorithmen I
INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Bäume
MehrAlgorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung
Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Viertes
MehrTheoretische 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
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des
MehrAlgorithmen zur Visualisierung von Graphen
Algorithmen zur Visualisierung von Graphen Teile & Herrsche-Algorithmen: Bäume und serien-parallele Graphen Vorlesung im Wintersemester 202/203 Tamara Mchedlidze Martin Nöllenburg 23. Oktober 202 Algorithmen
MehrNachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16)
Berlin, 14. April 2016 Name:... Matr.-Nr.:... Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16) 1 / 10 2 / 10 3 / 11 4 / 9 5 / 10 Σ / 50 Einlesezeit: Bearbeitungszeit:
MehrAlgorithmen und Datenstrukturen Tutorium Übungsaufgaben
Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben
MehrDer 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
MehrIsomorphie von Bäumen
Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
Mehr4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1
Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau
MehrDas Multi Traveling Salesman Problem
Das Multi Traveling Salesman Problem Harald Voit Seminar Ganzzahlige Optimierung 19. bis 21. Januar 2007 Wallenfels Das Multi Traveling Salesman Problem p.1/26 Übersicht Vom TSP zum ATSP Das Multi Traveling
MehrLineare Kongruenzgeneratoren und Quicksort
Seminar Perlen der theoretischen Informatik Dozenten: Prof. Johannes Köbler und Olaf Beyersdorff Lineare Kongruenzgeneratoren und Quicksort Ausarbeitung zum Vortrag Mia Viktoria Meyer 12. November 2002
MehrDefinition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr
MehrKonzentrische U-Bahn-Linienpläne
Bachelor-Kolloquium Konzentrische U-Bahn-Linienpläne Magnus Lechner 19.03.2014 Betreuer: Prof. Dr. Alexander Wolff Dipl.-Inf. Martin Fink Motivation Warum sind U-Bahn-Linienpläne von Interesse? Motivation
MehrÜbungsblatt 2 - Lösung
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer
MehrRolf Wanka Sommersemester Vorlesung
Peer-to to-peer-netzwerke Rolf Wanka Sommersemester 2007 12. Vorlesung 12.07.2007 rwanka@cs.fau.de basiert auf einer Vorlesung von Christian Schindelhauer an der Uni Freiburg Aufbau Viceroy Knoten in Viceroy
MehrDas 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
MehrPolynomialzeit- 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
MehrQuadtrees und Meshing
Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 24.06.2014 Motivation: Meshing von Platinenlayouts Zur Simulation der Hitzeentwicklung
Mehr5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
Mehr1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009
. Klausur zur Vorlesung Algorithmentechnik Wintersemester 8/9 Lösung! Beachten Sie: Bringen Sie den Aufkleber mit Ihrem Namen und Matrikelnummer auf diesem Deckblatt an und beschriften Sie jedes Aufgabenblatt
MehrKnotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E.
Knotenfärbung Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E. Die chromatische Zahl χ(g) eines Graphen G ist die minimale
MehrDas Rucksackproblem. Definition Sprache Rucksack. Satz
Das Rucksackproblem Definition Sprache Rucksack Gegeben sind n Gegenstände mit Gewichten W = {w 1,...,w n } N und Profiten P = {p 1,...,p n } N. Seien ferner b, k N. RUCKSACK:= {(W, P, b, k) I [n] : i
MehrSeminar Algorithmen für planare Graphen
Seminar Algorithmen für planare Graphen Reinhard Bauer, Marcus Krug, Ignaz Rutter, Dorothea Wagner Universität Karlsruhe (TH) Institut für Theoretische Informatik Lehrstuhl Algorithmik I 24. Oktober 2008
MehrPraktikum Algorithmen-Entwurf (Teil 7)
Praktikum Algorithmen-Entwurf (Teil 7) 28.11.2005 1 1 Vier gewinnt Die Spielregeln von Vier Gewinnt sind sehr einfach: Das Spielfeld besteht aus 7 Spalten und 6 Reihen. Jeder Spieler erhält zu Beginn des
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES
Mehr= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2
1 Graphen Definition: Ein Graph G = (V,E) setzt sich aus einer Knotenmenge V und einer (Multi)Menge E V V, die als Kantenmenge bezeichnet wird, zusammen. Falls E symmetrisch ist, d.h.( u,v V)[(u,v) E (v,u)
MehrAlgorithmen und Datenstrukturen Heapsort
Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das
MehrApproximationsalgorithmen. 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
MehrFlüsse, Schnitte, bipartite Graphen
Flüsse, chnitte, bipartite Graphen Matthias Hoffmann 5.5.009 Matthias Hoffmann Flüsse, chnitte, bipartite Graphen 5.5.009 / 48 Übersicht Einführung Beispiel Definitionen Ford-Fulkerson-Methode Beispiel
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrEntscheidungsbä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