Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Algorithmische Probleme in Funknetzwerken IV

Ähnliche Präsentationen


Präsentation zum Thema: "Algorithmische Probleme in Funknetzwerken IV"—  Präsentation transkript:

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 vV:

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,qV 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| = minuL |x,L| }
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)

23 Ereignis A: Einfügen neuer Parabel
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

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


Herunterladen ppt "Algorithmische Probleme in Funknetzwerken IV"

Ähnliche Präsentationen


Google-Anzeigen