punktbeschriftung mit vier rechtecken gleicher höhe (anzahlmaximierung) julia löcherbach

26
Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Upload: hardwin-strege

Post on 05-Apr-2015

109 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Punktbeschriftung mit vier Rechtecken gleicher Höhe

(Anzahlmaximierung)

Julia Löcherbach

Page 2: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

VoraussetzungenRechtecke sollen

achsenparallel seinPunkte berührensich nicht überschneidenfeste Höhe und beliebige Breite habenmöglichst viele Punkte beschriften

Page 3: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

4-Positionen-Modell

Page 4: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Prinzip des Greedy-Algorithmus [KSW 99]

Finden des linksten Rechtecks, d.h. dasjenige, dessen rechte Kante am weitesten links liegt (hier rot)Hinzufügen zur Lösung

Page 5: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

BezeichnungenMenge P von Punkten, die bisher kein Label habenPunkt pi mit Label li Referenzpunkt des Labels ist dessen linke untere EckeBreite bi des Labels ist beliebig, die Höhe ist 1 (gegebenenfalls Skala anpassen)

Page 6: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

BezeichnungenLabel li zur Lösung hinzugefügt

innerhalb von li, im Rechteck eine Einheit darunter und jeweils links davon kann kein Referenzpunkt mehr liegenBeide Rechtecke zusammen und deren gemeinsame Kante ist das erweiterte Rechteck ĩi

Page 7: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

DatenstrukturenPrioritäten-Suchbaum mit ReferenzpunktpositionenSpeicherplatz: O(n)Anfrage liefert in O(k + log n) Zeit zu gegebener x-Koordinate und y-Intervall alle Punkte (Anzahl: k), die links davon liegen (hier rot)

Page 8: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

DatenstrukturenHeap speichert Summe von x-Koordinate und Labelbreite jedes ReferenzpunktesWurzel hält das Minimum, d.h. den Referenzpunkt, der zum linksten Rechteck gehört

Page 9: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Heap [CLR96]

Array bzw. kompletter binärer Suchbaum (alle Ebenen gefüllt, außer evtl. unterste nur teilweise)Speicherplatz O(n)Basis-Operationen zum Erhalt der Struktur (Einfügen, Löschen, extract-min) brauchen O(log n) Zeit

Page 10: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

AlgorithmusSolange noch Einträge im Heap sind:

Minimum des Heaps bestimmt nächstes LabelLöschen des Minimums (extract-min)Anfrage an Prioritäten-Suchbaum, welche Referenzpunkte ungültig werdenLöschen der entsprechenden Einträge im Heap und im Prioritäten-Suchbaum

Page 11: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

LaufzeitAnzahl der Operationen im Heap ist begrenzt durch O(n) und Operationen brauchen höchstens O(log n)Prioritäten-Suchbaum enthält zuerst n Punkte, es werden keine hinzugefügtAnfragen brauchen O(k + log n); diese k Punkte werden gelöscht und tauchen später nicht mehr auf

Laufzeit des Algorithmus: O(n log n)

Page 12: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Faktor-1/k-ApproximierungAlgorithmus mit der Greedy-Strategie, immer das linkste Rechteck als nächstes auszuwählen, findet mindestens 1/k

so viele Rechtecke wie in der optimalen LösungWie groß ist k?

Page 13: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Zuschlags-BeweisSei Lopt die Menge der Labels, die in der optimalen Lösung vorkommenIn Lleft seien die Labels, die vom Greedy-Algorithmus berechnet wurden (Menge Lleft ist maximal)Jedes Label in Lopt ist entweder in Lleft oder schneidet eines aus Lleft, dessen rechte Kante mindestens genauso weit links liegt:

Page 14: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Zuschlags-BeweisJedes Label aus Lopt - Lleft gibt einen Punkt an ein Label aus Lleft , das mindestens so weit links liegt und es schneidetJedes Label aus Lopt Lleft bekommt einen PunktJedes Label aus Lleft bekommt höchstens k Punkte – also wie viele?

Page 15: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Berechnungs-BeweisLabels aus Lleft in Schnittmenge bekommen genau einen PunktJedes andere Label in Lleft bekommt maximal zwei Punkte, da gleiche Höhe vorausgesetzt und Berühren nicht erlaubt ist

k = 2

Page 16: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Andere ModelleAnzahl der möglichen Rechteck-

positionen nicht beschränkt:Schieber-Modelle

Page 17: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Anpassung des Algorithmus

Neue Bezeichnungen:Mögliche Positionen der Referenzpunkte dargestellt durch Segmente (für den Referenzpunkt pi: horizontal h2i und h2i-1 und vertikal v2i und v2i-1)

Page 18: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

BezeichnungenDie rechte Umhüllende aller erweiterten Rechtecke ĩi begrenzt alle Referenz-punktpositionen, die nicht mehr möglich sind Grenze G (hier schwarz)

Page 19: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

DatenstrukturenMehr Datenstrukturen, um das linkste Rechteck zu finden und die Strukturen auf dem aktuellen Stand zu haltenMan braucht Heaps, Prioritäten-Suchbäume und Rot-Schwarze Bäume

Page 20: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

DatenstrukturenDrei Heaps halten Informationen über die Segmente, die G schneiden oder vollständig rechts davon liegenEinen Rot-Schwarzen Baum gibt es für jedes vertikale Segment gi in G, der Informationen über die horizontalen Segmente, die gi schneiden, enthält

Zum Updaten brauch man zwei Prioritäten-Suchbäume und einen Rot-Schwarzen Baum

Page 21: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

AlgorithmusSolange Elemente in den Heaps sind:

Mit den Heaps und den Rot-Schwarzen Bäumen Suche nach dem und Platzierung vom linksten RechteckErneuern der Grenze GAnfrage an die Prioritäten-SuchbäumeAktualisierung der Datenstrukturen

Page 22: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

LaufzeitSpeicherplatz der Heaps, Prioritäten- Suchbäume und Rot-Schwarzen Bäume ist durch O(n) begrenztOperationen auf Strukturen brauchen O(log n) bzw. O(k + log n) ZeitAnzahl der Operationen maximal O(n)

Laufzeit ist O(n log n)

Page 23: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Verhältnis zweier ModelleZwei Modelle können auch in ihrer optimalen Lösung unterschiedlich viele Punkte einer Menge P von Punkten beschriften (mit Quadraten)Das Verhältnis beschreibt wie viel mehr Punkte mit dem einen als mit dem anderen Modell beschriftet werden können

Page 24: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

2S- und 4P-ModellÜberführung des 2-Schieber-Modells in das 4-Positionen-Modell durch Schieben nach links oder rechtsDas Verhältnis ist zwei, d.h. theoretisch können doppelt so viele Punkte mit dem 2S-Modell beschriftet werden

Page 25: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Tatsächliche WerteSchriftgröß

e

Modell

1P 2P 4P 1S 2S 4S

5 87 97 100 101 102 102

6 81 95 100 101 103 103

7 78 94 100 103 106 107

8 76 94 100 102 106 106

9 74 92 100 102 108 110

10 72 91 100 102 110 113

11 72 91 100 101 111 115

12 70 89 100 101 112 114

13 70 89 100 101 112 115

14 69 89 100 102 111 114

15 69 89 100 101 114 117Beschriftung von 1000 Städten in % [KSW99]

Page 26: Punktbeschriftung mit vier Rechtecken gleicher Höhe (Anzahlmaximierung) Julia Löcherbach

Literatur[KSW99] Marc van Kreveld, Tycho Strijk,

Alexander Wolff. Point labeling with sliding labels. Computational Geometry: Theory and Applications, 13:21-47, 1999.

[CLR96]Thomas H.Cormen, Charles E. Leiserson, Ronald L. Rivest. Introduction to

Algorithms. MIT Press, 16. Auflage