heinz nixdorf institut universität paderborn fachbereich mathematik/informatik algorithmische...
TRANSCRIPT
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Probleme in Funknetzwerken
IVChristian Schindelhauer
2Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Zellulare Netze (I)
• 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?
3Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Voronoi-DiagrammeDefinition (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)
4Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Voronoi-DiagrammeDefinition (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:
5Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Voronoi-DiagrammeDefinition (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
6Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Voronoi-DiagrammeStruktur
• 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
7Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
8Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Kreis-Lemma
• Beweis: Übung…
9Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Konvexe Hülle
• Voronoi-Diagramme stehen in enger Beziehung zur konvexen Hülle CH(V) einer Punktmenge V
10Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Eulersche Formel
11Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Größe des Voronoi-Diagramms
12Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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:
13Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Zeitkomplexität II(untere Schranke)
• Wenn man verlangt, dass der Algorithmus eine Adjazenzliste ausgibt
14Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
15Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Zeitkomplexität III(untere Schranke)
• Wenn QEDS-DS von VD(V) gegeben ist
16Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Duale Graphen
17Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
18Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
19Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
20Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Sweep-Technik (II)
• 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 streift2. Verschwinden eines
Parabelstücks– Dadurch entsteht Voronoi-
Punkt
21Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
22Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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)
23Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
24Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
25Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
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
26Christian Schindelhauer06.11.2002
HEINZ NIXDORF INSTITUTUniversität Paderborn
Fachbereich Mathematik/Informatik
Algorithmische Problemein Funknetzwerken IV
Ereignis-Warteschlange
• Priorität ergibt sich durch y-Koordinate der Sweep-Linie LA. Erzeugen Parabel:
– Priorität = y-Koordinate der Punkte aus VB. 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