HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische...

Post on 06-Apr-2016

216 views 1 download

Transcript of HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische...

HEINZ NIXDORF INSTITUTUniversität Paderborn

Fachbereich Mathematik/Informatik

Algorithmische Probleme in Funknetzwerken

IVChristian Schindelhauer

schindel@upb.de

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