18. Januar 2005Paralleles Färben von Graphen1 Thomas Holleczek Erlangen, 18. Januar 2005.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Minimum Spanning Tree: MST
Polynomial Root Isolation
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
ADS Vorlesung Prof. Dr. W. Conen, FH Gelsenkirchen
Kapitel 6: Klassifizierung von Sortiertechniken
Suche in Texten (Stringsuche )
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Seminar parallele Programmierung SS 2003
Minimum Spanning Tree: MST
Vortrag über Graphen Von Jörg Hendricks.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Effiziente Algorithmen
Chromatische Zahl.
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Mehrkriterielle Optimierung mit Metaheuristiken
Analyse der Laufzeit von Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Eine kurze Geschichte der Graphentheorie
Minimal spannende Bäume
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VI Christian Schindelhauer
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Anwendung der Ellipsoidmethode in der Kombinatorischen Optimierung
Der A*-Algorithmus.
Gliederung der Vorlesung
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Geschichte Nach jahrelanger eigener Forschung in den Bereichen der Traditionellen Chinesischen - Tibetischen - buddhistischen und indianischen Medizin.
SEMINARVORTRAG, AACHEN, RUBEN SCHWARZWALD Grundlagen der Kameragestützten Objekterkennung in Echtzeit Betreuer: Prof. Dr. Walter Hillen Dipl.-Ing.
WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten
Das Problem des Handlungsreisenden
Laufzeitverhalten beim Sortieren
Zusammenfassung Königsberger Brückenproblem Planare Graphen
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
Zusammengesetzte Ereignisse
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

18. Januar 2005Paralleles Färben von Graphen1 Thomas Holleczek Erlangen, 18. Januar 2005

18. Januar 2005Paralleles Färben von Graphen2 Überblick Wiederholung Das Färben von Graphen Anwendungsgebiete Sequentielle Algorithmen Parallele Algorithmen –Theoretisches Modell –Eigene Implementierung Laufzeitverhalten Ausblick

18. Januar 2005Paralleles Färben von Graphen3 Wiederholung Was ist ein Graph? Geordnetes Paar G(V, E), wobei: –V := Menge der Knoten (engl. vertex) –E := Menge der Kanten (engl. edge) Dabei ist E eine zweistellige Relation auf V x V –Ist E symmetrisch, so ist G ungerichtet –Sonst ist G gerichtet Anschauliche Darstellung –V := Menge der Knoten –E := Kantenverbindungen zwischen den Knoten

18. Januar 2005Paralleles Färben von Graphen4 Wiederholung gerichteter Beispielgraph V = {0,1,2,3,4} E ={(0,1), (0,2), (1,2), (1,4), (3,2), (4,0), (4,2), (4,3)}

18. Januar 2005Paralleles Färben von Graphen5 Wiederholung ungerichteter Beispielgraph V ={0,1,2,3,4} E ={(0,1), (0,2), (0,4), (1,0), (1,2), (1,4), (2,0), (2,1), (2,3), (2,4), (3,2), (3,4), (4,0), (4,1), (4,2), (4,3)}

18. Januar 2005Paralleles Färben von Graphen6 Wiederholung Der Grad eines Knotens Gerichteter Beispielgraph Eingangsgrad: Anzahl der eingehenden Kanten Ausgangsgrad: Anzahl der ausgehenden Kanten Beispiel: –Eingangsgrad(0) = 1 –Ausgangsgrad(0) =

18. Januar 2005Paralleles Färben von Graphen7 Wiederholung Der Grad eines Knotens Ungerichteter Beispielgraph Grad: Anzahl der Kanten, die einen Knoten mit anderen verbinden Beispiel: –grad(2) = 4 –grad(3) =

18. Januar 2005Paralleles Färben von Graphen8 Wiederholung Der maximale Grad eines Graphen Ungerichteter Beispielgraph Maximaler Grad: Maximum der Grade aller Knoten Beispiel: –MaximalerGrad(G) =

18. Januar 2005Paralleles Färben von Graphen9 Wiederholung Wie stellt man Graphen im Rechner dar? BeispielgraphAdjazenzmatrix

18. Januar 2005Paralleles Färben von Graphen10 Wiederholung Wie stellt man Graphen im Rechner dar? BeispielgraphAdjazenzliste

18. Januar 2005Paralleles Färben von Graphen11 Das Färben von Graphen Was bedeutet Graphen Färben? Ausgangssituation: (Ungerichteter) Graph mit soll gefärbt werden k-Färbung informell: –Jedem Knoten wird eine natürliche Zahl aus {0,1,… k-1} zugeordnet –Benachbarte Knoten müssen unterschiedlich gefärbt sein k-Färbung abstrakt:

18. Januar 2005Paralleles Färben von Graphen12 Das Färben von Graphen Oberschranke für die Farbanzahl Sei d der maximale Grad des Graphen Dann ist (d + 1) obere Schranke für die benötigte Farbanzahl Beispiel: –Knoten 2 soll gefärbt werden –Knoten 2 besitzt maximalen Grad –Alle Nachbarknoten sind unterschiedlich gefärbt –Knoten 2 braucht eine größere Farbe P

18. Januar 2005Paralleles Färben von Graphen13 Das Färben von Graphen Die chromatische Zahl X(G) Charakteristikum jedes Graphen Mindestanzahl der Farben, die notwendig ist, um den Graphen zulässig zu färben Extrem schwer zu bestimmen (NP-vollständig) Beispiel: –X(G) =

18. Januar 2005Paralleles Färben von Graphen14 Das Färben von Graphen praktische Anwendungen Universität: –Knoten:jeder Knoten steht für angebotene Vorlesung –Kanten:Kante zwischen 2 Knoten ↔ Student hört beide Vorlesungen –X(G):Mindestanzahl der Klausurtermine Chemie –Knoten:jeder Knoten steht für Chemikalie –Kanten:Kante zwischen 2 Knoten ↔ Chemikalien reagieren miteinander –X(G):Mindestanzahl der Aufbewahrungsorte

18. Januar 2005Paralleles Färben von Graphen15 Das Färben von Graphen praktische Anwendungen Technische Informatik 2 Technische Informatik 1 Algorithmik 1 Mathematik Theoretische Informatik Rechnungs- wesen E-Technik

18. Januar 2005Paralleles Färben von Graphen16 Das Färben von Graphen praktische Anwendungen Technische Informatik 2 Technische Informatik 1 Algorithmik 1 Mathematik Theoretische Informatik Rechnungs- wesen E-Technik

18. Januar 2005Paralleles Färben von Graphen17 Das Färben von Graphen Alternative Problemstellungen Bestimme die chromatische Zahl X(G) –Sehr aufwändig Finde heraus, ob zu vorgegebenem k eine passende k- Färbung existiert –Sehr aufwändig Färbe die Kanten des Graphen

18. Januar 2005Paralleles Färben von Graphen18 Sequentielle Algorithmen Erster Versuch: „SeqGraph“ Bestimme den maximalen Grad des Graphen Iteriere über alle Knoten des Graphen –Überprüfe jeweils alle Nachbarknoten auf Färbung –Wähle jeweils die kleinstmögliche Farbe aus

18. Januar 2005Paralleles Färben von Graphen19 Sequentielle Algorithmen „SeqGraph“ am Beispiel Bestimme maximalen Grad Maximaler Grad = 4 Maximale Farbanzahl = 5 Untersuche Knoten 0 Untersuche Knoten 1 Untersuche Knoten 2 Untersuche Knoten 3 Untersuche Knoten

18. Januar 2005Paralleles Färben von Graphen20 Sequentielle Algorithmen „SeqGraph“ Aufwandsabschätzung Sei d der maximale Grad des Graphen Jeder Knoten wird untersucht Für jeden Knoten werden maximal d Nachbarn untersucht Im Extremfall gilt d = n - 1:

18. Januar 2005Paralleles Färben von Graphen21 Sequentielle Algorithmen Bemerkungen zu „SeqGraph“ Im ungünstigsten Fall tritt höchstens eine (d + 1) Färbung auf (wobei d maximaler Grad) Anzahl der benutzten Farben hängt von der Reihenfolge der Knoten ab Mindestens eine Reihenfolge der Knoten führt zur Minimallösung mit X(G) Farben Es gibt noch eine Vielzahl anderer Algorithmen, die –Viel aufwendiger zu implementieren sind –Viel schlechteres Laufzeitverhalten aufweisen

18. Januar 2005Paralleles Färben von Graphen22 Sequentielle Algorithmen Algorithmus von D. S. Johnson Solange noch Knoten existieren –Färbe Knoten mit minimalem Grad mit Farbe 1 –Entferne diesen Knoten samt Nachbarknoten und inzidenten Kanten Betrachte Graph bestehend aus noch ungefärbten Knoten samt dazugehörigen Kanten Wende auf diesen Graph obiges Verfahren mit Farbe 2 an usw.

18. Januar 2005Paralleles Färben von Graphen23 Sequentielle Algorithmen Algorithmus von Johnson am Beispiel Technische Informatik 2 Technische Informatik 1 Algorithmik 1 Mathematik Theoretische Informatik Rechnungs- wesen E-Technik

18. Januar 2005Paralleles Färben von Graphen24 Sequentielle Algorithmen Algorithmus von Johnson am Beispiel Technische Informatik 2 Technische Informatik 1 Algorithmik 1 Mathematik Theoretische Informatik Rechnungs- wesen E-Technik

18. Januar 2005Paralleles Färben von Graphen25 Sequentielle Algorithmen Algorithmus von Johnson am Beispiel Technische Informatik 2 Technische Informatik 1 Algorithmik 1 Mathematik Theoretische Informatik Rechnungs- wesen E-Technik

18. Januar 2005Paralleles Färben von Graphen26 Sequentielle Algorithmen Algorithmus von Johnson am Beispiel Technische Informatik 2 Technische Informatik 1 Algorithmik 1 Mathematik Theoretische Informatik Rechnungs- wesen E-Technik

18. Januar 2005Paralleles Färben von Graphen27 Sequentielle Algorithmen Bemerkungen zum Algorithmus von „Johnson“ verwendet weniger Farben als „SeqGraph“ Aufwandsabschätzung: O(n 2 )

18. Januar 2005Paralleles Färben von Graphen28 Parallele Algorithmen Theoretisches Modell Bestimme den Grad des Graphen Jeder Prozess erhält die Adjazenzmatrix des Graphen Jeder Prozess führt folgende Schritte durch: –Iteriere über alle Knoten Färbe jeden Knoten mit einer Zufallsfarbe Berücksichtige nicht die Farbe der Nachbarn –Überprüfe, ob die gefundene Lösung korrekt ist

18. Januar 2005Paralleles Färben von Graphen29 Parallele Algorithmen Theoretisches Modell am Beispiel P1P2P3

18. Januar 2005Paralleles Färben von Graphen30 Parallele Algorithmen Bemerkungen zum theoretischen Modell Pro –Die erste zufällige Färbung kann korrekt sein Kontra –Allein das Überprüfen auf Korrektheit liegt im ungünstigsten Fall in O(n 2 ) –Dieselbe falsche Lösung kann (nicht nur von verschiedenen Threads) mehrfach berechnet werden –Extrem schlechtes Laufzeitverhalten

18. Januar 2005Paralleles Färben von Graphen31 Parallele Algorithmen Eigene Implementierung „ParaGraph“ p Prozessoren zur Verfügung Idee: –Teile V in p gleich große Teile auf –Jeder Prozessor färbt die ihm zugewiesenen Knoten –Verwendung des sequentiellen Algorithmus‘ „SeqGraph“ Problem: –Fehlende Synchronisation führt zu Fehlfärbungen

18. Januar 2005Paralleles Färben von Graphen32 Parallele Algorithmen „ParaGraph“ am Beispiel 1/0 1/3 2/4 2/1 2/32/2 3/1 1/2 P1 P3 1/1 3/2 3/3 3/0 P2 2/0

18. Januar 2005Paralleles Färben von Graphen33 Parallele Algorithmen Szenario 1/2 1/3 1/1 1/0 P1 2/2 2/3 2/1 2/0 P2 Farbordnung P1 Farbordnung P2

18. Januar 2005Paralleles Färben von Graphen34 Parallele Algorithmen Synchronisation Prozess p will Knoten k färben Folgende zwei Aspekte sind zu berücksichtigen –k darf von keinem anderen Prozess gelesen werden –Nachbarn von k dürfen von keinem anderen Prozess gefärbt werden Lösung: –Jeder Knoten erhält binäre Semaphore –Prozess p, der k färben will, muss anfordern: k selbst, damit k nicht gelesen wird Alle Nachbarn von k, damit diese nicht gefärbt werden

18. Januar 2005Paralleles Färben von Graphen35 Parallele Algorithmen Synchronisation Prozess p will Knoten k färben 2 Vereinfachungen: –Schon gefärbte Nachbarknoten müssen nicht angefordert werden –Nur Nachbarknoten anfordern, die außerhalb des Bereichs von p liegen

18. Januar 2005Paralleles Färben von Graphen36 Parallele Algorithmen Synchronisation am Beispiel 1/0 1/3 2/4 2/1 2/32/2 3/1 1/2 P1 P3 1/1 3/2 3/3 3/0 P2 2/0

18. Januar 2005Paralleles Färben von Graphen37 Parallele Algorithmen Deadlock: Vermeidungsalgorithmen BM := Betriebsmittel Zuteilung der BM erfolgt in festgelegter linearer Reihenfolge Zuteilung der BM erfolgt atomar Belegte BM werden notfalls zwangsweise entzogen Zuteilung von BM erfolgt nur, wenn resultierender Zustand sicher

18. Januar 2005Paralleles Färben von Graphen38 Parallele Algorithmen Synchronisation: Hilfsfunktionen void REQUEST(int node); –Regelt die Anforderung eines zu färbenden Knotens void RELEASE(int node); –Regelt die Freigabe eines gefärbten Knotens

18. Januar 2005Paralleles Färben von Graphen39 Parallele Algorithmen REQUEST und RELEASE void REQUEST(int node) { P(lock); P(sema[node]); for (int i = 0; i < neighbors[node].length; i++) { if (!colored[neighbors[node][i]] && !area(neighbors[node][i], process)) { P(sema[neighbors[node][i]]); } V(lock); }

18. Januar 2005Paralleles Färben von Graphen40 Parallele Algorithmen REQUEST und RELEASE void RELEASE(int node) { for (int i = 0; i < neighbors[node].length; i++) { if (!area(neighbors[node][i], process)) { V(sema[neighbors[node][i]]); } V(sema[node]); }

18. Januar 2005Paralleles Färben von Graphen41 Parallele Algorithmen Bemerkungen zu „ParaGraph“ Verwendung aktiven Wartens –Kann Semaphoroperationen simulieren –Bedeutet Gefahr bei Monoprozessorsystemen Je mehr Prozesse färben, desto größer ist der Synchronisationsbedarf Bestes Laufzeitverhalten

18. Januar 2005Paralleles Färben von Graphen42 Laufzeitverhalten

18. Januar 2005Paralleles Färben von Graphen43 Ausblick Verbesserung des Laufzeitverhaltens durch –Preprocessing des Graphen –Optimistische Synchronisation und Fehlerkorrektur –Verwendung eines anderen Vermeidungsalgorithmus

18. Januar 2005Paralleles Färben von Graphen44 Zusammenfassung Das Färben von Graphen –Einführung –Bedeutung in der Praxis Sequentielle Algorithmen –Intuitiver Algorithmus –Algorithmus von Johnson Parallele Algorithmen –Theoretisches Modell –Eigene Implementierung Synchronisationsmaßnahmen Laufzeitverhalten

18. Januar 2005Paralleles Färben von Graphen45 Literaturverzeichnis I. N. Bronstein et al.: Taschenbuch der Mathematik, Verlag Harri Deutsch, Frankfurt am Main 2001 Kenneth H. Rosen: Handbook of Discrete and Combinatorial Mathematics, CRC Press Volker Turau: Algorithmische Graphentheorie, Oldenbourg Verlag, München 2004 Jürgen Nehmer, Peter Sturm: Systemsoftware – Grundlagen Moderner Betriebssysteme, dpunkt Verlag, Heidelberg 2001

18. Januar 2005Paralleles Färben von Graphen46 ENDE Fragen Anregungen Kritik