Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Heinrike Laurich Geändert vor über 9 Jahren
1
Algorithmische Probleme in Funknetzwerken IV
Christian Schindelhauer
2
Zellulare Netze (I) Ursprüngliche Problemstellung: Gegeben: Gesucht:
Starres Frequenzmultiplexing für gegebene Menge von Basisstationen Gegeben: Positionen der Basisstationen Gesucht: Frequenzzuteilung, welche die Interferenzen minimiert Wie modelliert man zulässige Frequenzzuteilungen?
3
Voronoi-Diagramme Definition (I)
Best-Station-Problem nur unter Berücksichtung von Path Loss führt zu Voronoi-Diagrammen Abstandsmaß: Euklidischer Abstand = L2-Norm p=(p1,p2), q=(q1,q2) R2 Bisektor B(p,q)
4
Voronoi-Diagramme Definition (II)
Bisektor Zerlegt Ebene in Halbebenen D(p,q) und D(q,p) Für gegebene Punktmenge V definiere Voronoi-Region VR(p,V) eines Punkts vV:
5
Voronoi-Diagramme Definition (III)
Voronoi-Region VR(p,V) Voronoi-Diagramm VD(V) Alle Voronoi-Regionen sind konvex Beweis: Übung Voronoi-Diagramme bestehen aus Strecken, Halbgeraden und Punkten
6
Voronoi-Diagramme Struktur
Voronoi-Diagramme bestehen aus Strecken, Halbgeraden und Punkten Betrachte benachbarte Voronoi-Regionen VR(p,V) und VR(q,V) Dann muß jeder Punkt des gemeinsamen Rands im Bisektor B(p,q) liegen, weil Jede Voronoi-Region ist konvex + Randstücke bestehen aus endlich vielen Geradenstücken Voronoi-Diagramm ist ein geometrischer Graph
7
Geometrischer Graph Geometrische Realisierung eines ungerichteten Graphen in R2 Knoten werden auf Punkte abgebildet Kanten werden auf einfache Wege abgebildet Keine Überschneidung zwischen verschiedenen einfachen Wegen Planarer Graph Zusammenhangskomponente Maximaler Teilgraph indem jeder Knoten einen Weg zu jedem anderen Knoten besitzt
8
Kreis-Lemma Beweis: Übung…
9
Konvexe Hülle Voronoi-Diagramme stehen in enger Beziehung zur konvexen Hülle CH(V) einer Punktmenge V
10
Eulersche Formel
11
Größe des Voronoi-Diagramms
12
Zeitkomplexität I (untere Schranke)
In welcher Zeit kann man das Voronoi-Diagramm berechnen? Trivial O(n2) Kann man es in Linearzeit berechnen? Zum Vergleich:
13
Zeitkomplexität II (untere Schranke)
Wenn man verlangt, dass der Algorithmus eine Adjazenzliste ausgibt
14
Effiziente DS für Geom. Graphen (Zwischenspiel)
Adjazenzliste Für jeden Knoten, Liste benachbarter Knoten Doubly Connected Edge List (DCEL) Für jede Kante Adjazente Knoten Nächste Kante im Uhrzeigersinn an den Endknoten Benachbarte Fläche Quad Edge Data Structure (QEDS) Wie DCEL nur ergänzt durch Kanten gegen den Uhrzeigersinn
15
Zeitkomplexität III (untere Schranke)
Wenn QEDS-DS von VD(V) gegeben ist
16
Duale Graphen
17
Delaunay-Triangulation I
Endliche Punktmenge V in allgemeiner Lage: Keine drei Punkte sind auf einer Gerade Keine vier Punkte auf einem Kreisbogen Erhält man indem man jeden Punkt um einen infinitesimal kleinen Vektor in zufällige Richtung verschiebt Delaunay-Triangulation Gegeben Menge V und Voronoi-Diagramm VD(V) Falls für p,qV die Regionen VR(p,V) und VR(q,V) als Rand eine Strecke besitzen, füge (p,q) zur Delaunay-Triangulation
18
Delaunay-Triangulation II
Da V in allgemeiner Lage, d.h. Keine vier Punkte auf einem Kreisbogen Kein Voronoi-Punkt hat mehr als drei Kanten (wegen Kreislemma) Damit hat jeder Fläche des Dualen Graphen nur drei benachbarte Kanten Delaunay-Triangulation besteht nur aus Dreiecken
19
Sweep-Technik (I) Betrachte Bisektor zwischen Punkt (a,0) und Linie y=0 Ergibt Parabel mit x2 + (y-a)2 = y2 y = x2/ (2a) + a/2 Nun bewegt sich die Sweep-Line von Punkt (a,0) weg
20
Sweep-Technik (II) Mehrere Punkte Ereignisse
Nur vordere Wellenfront ist von Interesse Unterteilung der Wellenfront in Parabelstücke Ereignisse Entstehen eines Parabelstücks Nur wenn die Wellenfront einen Punkt streift Verschwinden eines Parabelstücks Dadurch entsteht Voronoi-Punkt
21
Sweep-Technik (III) Schnittpunkte der Wellenfront fahren das Voronoi-Diagramm ab Treffen sich zwei Parabeln an der Wellenfront, verschwindet ein Parabelstück Nur benachbarte Spikes kommen als nächster Treffpunkt in Frage Die Anzahl der Parabelstücke in der Frontlinie ist linear
22
W = { x H | p V H : |x,p| = minuL |x,L| }
Die Wellenfront Sei H Halbebene über parallel abwärts bewegender Gerade L inklusive L W = { x H | p V H : |x,p| = minuL |x,L| } Alle Punkte über B haben nächsten Nachbarn in B Alle Punkte zwischen B und L können nächsten Nachbarn sowohl in VH oder V \ H haben Die Parabel ist y-monoton, d.h. jede senkrechte Gerade schneidet B höchstens in einem Punkt Die Schnittpunkte von Parabeln heißen Bruchpunkte Fakt: Ein Punkt p ist ein Bruchpunkt gdw. p VD(V)
23
Ereignis A: Einfügen neuer Parabel
Sweep-Linie trifft auf Punkt pV Parabel beginnt als Halbgerade Halbiert bestehendes Parabelstück (falls Sweep-Linie in allgemeiner Position) Da keine ander Operation Parabeln erzeugt, höchstens 2n-1 Parabelstücke Die beiden Schnittpunkte mit der alten Wellenfront definieren eine beginnende Voronoi-Kante Die Verlängerung der Kante über die Wellenfront hinaus, wird Spike genannt Die Schnittpunkte der Parabeln bewegen sich auf diesen Spikes bis sie einen Voronoi-Punkt treffen Treffpunkte möglicher Spikes zeigen mögliche Voronoi-Punkte an
24
Ereignis B: Löschen einer Parabel
Bewegung der Sweep-Linie läßt Bruchpunkte aufeinanderlaufen Parabel zwischen Bruchpunkten verschwindet Voronoi-Region der verschwundenen nun hinter Sweep-Linie Da Region konvex ist dies Voronoi-Region abgearbeitet Der Treffpunkt der Bruchpunkte muß ein “bekannter” Spike sein Berechne frühesten “Zeitpunkt”, an dem die Sweep-Linie eine Parabel löscht Hierfür müssen nur benachbarte Parabelstücke berücksichtigt werden Nach Löschen, aktualisiere mögliche Treffpunkte
25
Notwendige Datenstrukturen
Bisher konstruiertes Voronoi-Diagramm Speicherung als QEDS Technische Schwierigkeit: Unbeschränkte Kanten Verwende “bounding box” Wellenfront Wörterbuch mit Punkten aus V die relevante Parabeln beschreiben sortiert nach x-Koordinaten Jede Suche, Einfüge-Operation in Zeit O(log n) Ereignis-Warteschlange als Priority-Queue Priorität ergibt sich durch y-Koordinate der Sweep-Linie L Aktualisiere Warteschlange bei jedem Ereignis
26
Ereignis-Warteschlange
Priorität ergibt sich durch y-Koordinate der Sweep-Linie L Erzeugen Parabel: Priorität = y-Koordinate der Punkte aus V Löschen Parabel: Priorität = y-Koordinate der Sweep-Linie, die den Kreis mit Mittelpunkt des Spike-Schnittpunkts s und Radius |s,u| von unten berührt, wobei u beteiligter Knoten eines Spikes ist. Aktualisiere Warteschlange bei jedem Ereignis Zeitaufwand O(log n) (amortisiert) für Einfügen in Warteschlange Löschen eines Elements der Warteschlange
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.