1 / 26

Algorithmische Probleme in Funknetzwerken IV

Algorithmische Probleme in Funknetzwerken IV. Christian Schindelhauer schindel@upb.de. Zellulare Netze (I). Ursprüngliche Problemstellung: Starres Frequenzmultiplexing für gegebene Menge von Basisstationen Gegeben: Positionen der Basisstationen Gesucht:

karlyn
Télécharger la présentation

Algorithmische Probleme in Funknetzwerken IV

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorithmische Probleme in FunknetzwerkenIV Christian Schindelhauer schindel@upb.de

  2. 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?

  3. 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)

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

  5. 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

  6. 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

  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 • 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. 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

More Related