Voronoi-Diagramm - Universität Paderborn

Werbung
Algorithmische Probleme in
Funknetzwerken
IV
Christian Schindelhauer
[email protected]
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich Mathematik/Informatik
Zellulare Netze (I)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• Ursprüngliche
Problemstellung:
– Starres Frequenzmultiplexing für
gegebene Menge von
Basisstationen
• Gegeben:
– Positionen der Basisstationen
• Gesucht:
– Frequenzzuteilung, welche die
Interferenzen minimiert
• Wie modelliert man zulässige
Frequenzzuteilungen?
Christian Schindelhauer
06.11.2002
2
Algorithmische Probleme
in Funknetzwerken IV
Voronoi-Diagramme
Definition (I)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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)
Christian Schindelhauer
06.11.2002
3
Algorithmische Probleme
in Funknetzwerken IV
Voronoi-Diagramme
Definition (II)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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 vV:
Christian Schindelhauer
06.11.2002
4
Algorithmische Probleme
in Funknetzwerken IV
Voronoi-Diagramme
Definition (III)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• Voronoi-Region VR(p,V)
• Voronoi-Diagramm VD(V)
• Alle Voronoi-Regionen sind konvex
– Beweis: Übung
• Voronoi-Diagramme bestehen aus Strecken, Halbgeraden
und Punkten
Christian Schindelhauer
06.11.2002
5
Algorithmische Probleme
in Funknetzwerken IV
Voronoi-Diagramme
Struktur
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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
Christian Schindelhauer
06.11.2002
6
Algorithmische Probleme
in Funknetzwerken IV
Geometrischer Graph
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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
Christian Schindelhauer
06.11.2002
7
Algorithmische Probleme
in Funknetzwerken IV
Kreis-Lemma
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• Beweis: Übung…
Christian Schindelhauer
06.11.2002
8
Algorithmische Probleme
in Funknetzwerken IV
Konvexe Hülle
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• Voronoi-Diagramme stehen in enger Beziehung zur
konvexen Hülle CH(V) einer Punktmenge V
Christian Schindelhauer
06.11.2002
9
Algorithmische Probleme
in Funknetzwerken IV
Eulersche Formel
Christian Schindelhauer
06.11.2002
10
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
Algorithmische Probleme
in Funknetzwerken IV
Größe des VoronoiDiagramms
Christian Schindelhauer
06.11.2002
11
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
Algorithmische Probleme
in Funknetzwerken IV
Zeitkomplexität I
(untere Schranke)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• In welcher Zeit kann man das Voronoi-Diagramm
berechnen?
– Trivial O(n2)
• Kann man es in Linearzeit berechnen?
• Zum Vergleich:
Christian Schindelhauer
06.11.2002
12
Algorithmische Probleme
in Funknetzwerken IV
Zeitkomplexität II
(untere Schranke)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• Wenn man verlangt, dass der Algorithmus eine
Adjazenzliste ausgibt
Christian Schindelhauer
06.11.2002
13
Algorithmische Probleme
in Funknetzwerken IV
Effiziente DS für Geom.
Graphen
(Zwischenspiel)
•
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
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
Christian Schindelhauer
06.11.2002
14
Algorithmische Probleme
in Funknetzwerken IV
Zeitkomplexität III
(untere Schranke)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• Wenn QEDS-DS von VD(V) gegeben ist
Christian Schindelhauer
06.11.2002
15
Algorithmische Probleme
in Funknetzwerken IV
Duale Graphen
Christian Schindelhauer
06.11.2002
16
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
Algorithmische Probleme
in Funknetzwerken IV
Delaunay-Triangulation I
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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,qV die Regionen VR(p,V) und VR(q,V) als Rand eine
Strecke besitzen, füge (p,q) zur Delaunay-Triangulation
Christian Schindelhauer
06.11.2002
17
Algorithmische Probleme
in Funknetzwerken IV
Delaunay-Triangulation II
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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
Christian Schindelhauer
06.11.2002
18
Algorithmische Probleme
in Funknetzwerken IV
Sweep-Technik (I)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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 SweepLine von Punkt (a,0) weg
Christian Schindelhauer
06.11.2002
19
Algorithmische Probleme
in Funknetzwerken IV
Sweep-Technik (II)
•
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
Mehrere Punkte
– Nur vordere Wellenfront ist von
Interesse
– Unterteilung der Wellenfront in
Parabelstücke
•
Ereignisse
1. Entstehen eines Parabelstücks
– Nur wenn die Wellenfront
einen Punkt streift
2. Verschwinden eines
Parabelstücks
– Dadurch entsteht VoronoiPunkt
Christian Schindelhauer
06.11.2002
20
Algorithmische Probleme
in Funknetzwerken IV
Sweep-Technik (III)
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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
Christian Schindelhauer
06.11.2002
21
Algorithmische Probleme
in Funknetzwerken IV
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
Die Wellenfront
• Sei H Halbebene über parallel abwärts bewegender Gerade L
inklusive L
W = { x  H |  p  V  H : |x,p| = minuL |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
VH 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)
Christian Schindelhauer
06.11.2002
22
Algorithmische Probleme
in Funknetzwerken IV
Ereignis A:
Einfügen neuer Parabel
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• Sweep-Linie trifft auf Punkt pV
• 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
Christian Schindelhauer
06.11.2002
23
Algorithmische Probleme
in Funknetzwerken IV
Ereignis B:
Löschen einer Parabel
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
• 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
Christian Schindelhauer
06.11.2002
24
Algorithmische Probleme
in Funknetzwerken IV
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
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
Christian Schindelhauer
06.11.2002
25
Algorithmische Probleme
in Funknetzwerken IV
Ereignis-Warteschlange
•
HEINZ NIXDORF INSTITUT
Universität Paderborn
Fachbereich
Mathematik/Informatik
Priorität ergibt sich durch y-Koordinate der Sweep-Linie L
A. Erzeugen Parabel:
– Priorität = y-Koordinate der Punkte aus V
B. 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
Christian Schindelhauer
06.11.2002
26
Algorithmische Probleme
in Funknetzwerken IV
Herunterladen