• Keine Ergebnisse gefunden

Sei G = (A ∪ B, E) ein bipartiter Graph ohne isolierte Knoten und <

N/A
N/A
Protected

Academic year: 2021

Aktie "Sei G = (A ∪ B, E) ein bipartiter Graph ohne isolierte Knoten und <"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

8. Übungsblatt

Automatisches Zeichnen von Graphen

Prof. Dr. Jens M. Schmidt, Dr. Alexander Apke, Arne Heimendahl, David Könen und Robin Kühling.

Aufgabe 1: Zählen von Kreuzungen (10 Punkte)

Sei G = (A ∪ B, E) ein bipartiter Graph ohne isolierte Knoten und <

A

eine fixierte Totalordnung auf A. Zeigen Sie: Die Berechnung der Werte c

uv

für alle geordneten Paare (u, v) ∈ B × B mit u 6= v ist in Gesamtzeit O(|B||E|) möglich.

Hinweis: Aus den vorherigen Übungen ist bekannt, dass eine lexikographische Sor- tierung der Kanten in Zeit O(|E|) berechnet werden kann, in der für jeden Knoten vB die Kanten vwE konsekutiv und in der Reihenfolge der Knoten w in <

A

auftreten. Wenn für alle vB die Adjazenzlisten L(v) derartig sortiert sind, wie lassen sich dann zwei solcher Adjazenzlisten L(u) und L(v) möglichst effizient zu einer gemeinsamen sortierten Liste verschmelzen, so dass dabei Kreuzungen gezählt werden?

Aufgabe 2: Kreuzungsminimierung (10 Punkte)

Wenden Sie zur Kreuzungsminimierung auf den unten angegebenen Graph jeweils (i) die Barycenter-Heuristik und

(ii) die Median-Heuristik

zunächst auf die mittlere und anschließend auf die untere Schicht an. Fixieren Sie dabei jeweils die Schicht, die oberhalb der betrachteten Schicht liegt.

1 2 3 4 5

6 7

11

8 9 10

13 12

Tie-Breaking bei der Barycenter-Heuristik: Wenn arith(v) = arith(w) von zwei Knoten v und w erfüllt wird, platzieren Sie denjenigen Knoten weiter links, der auch aktuell weiter links steht. Bei der Median-Heuristik gilt die Regel aus der Vorlesung. Isolierte Knoten sollen den Wert 0 bekommen.

Aufgabe 3: Barycenter-Heuristik im OGDF (Bearbeitungszeit: 2 Wochen, 10 Punkte)

Schreiben Sie ein Programm innerhalb des OGDF, das die Barycenter-Heuristik zur

Kreuzungsminimierung auf einem zufällig erzeugten Graphen mit 50 Knoten und 8

Schichten ausführt. Hierbei soll der Graph einmal von oben nach unten durchlaufen

(2)

und die Barycenter-Heuristik auf der betrachteten Schicht jeweils unter Fixierung der darüber liegenden Schicht angewendet werden. Lassen Sie sowohl vor als auch nach dem Anwenden der Heuristik eine Zeichnung des Graphen erstellen, um diese miteinander vergleichen zu können.

Benutzen Sie dazu die zum Download bereitgestellte Datei Uebung08.cpp, in der diese Graphgenerierung bereits implementiert ist. Die y-Koordinate eines Knotens ergibt sich aus der Schicht, die ihn enthält. Einem Knoten soll am Ende als x- Koordinate die Position innerhalb seiner Schicht nach Ausführung der Barycenter- Heuristik zugewiesen werden. Dazu soll diese Position für jeden Knoten im int-Wert layerIndex gespeichert werden.

Um ihre Methode an verschiedenen Beispielgraphen zu testen, können Sie anhand

der int-Werte nodes und layer die Anzahl der erzeugten Knoten und Schichten

variieren.

Referenzen

ÄHNLICHE DOKUMENTE

Vertauscht man auf diesem Pfad gematchte und ungematchte Kanten, erh¨ alt man dadurch ein Matching M 0 mit |M 0 | = |M | + 1, was wiederum einen Widerspruch darstellt:... Von

Aufgabe 4: Graphenzeichnen im OGDF (10 Punkte) Schreiben Sie ein Programm innerhalb des Open Graph Drawing Frameworks (OGDF), dass einen zufälligen Graphen G mit 10 Knoten und 12

Aufgabe 5: Chain Decompositions im OGDF (Abgabe bis 16. Januar, 10 Punkte) Schreiben Sie ein Programm innerhalb des OGDF, das für den bereitgestellten Graph christmastree.gml eine

Fortschreiten in Richtung der Drehachse eine Rechtsschraube entsteht. Bestimmen Sie die Matrix von f bez¨ uglich der Standardbasis

Mathematische Grundlagen der Informatik RWTH

(a) nach höchstens zwei Schritten verloren hat, unabhängig davon, wie sein Gegner spielt;. (b) eine Gewinnstrategie hat, welche in höchstens n Schritten zum Sieg führt (für

Mathematische Grundlagen der Informatik RWTH

(Abgabe bis Freitag, 23.10., 12 Uhr im Postfach Ihrer Tutorin/Ihres Tutors). Aufgabe I.1