1 / 21

Algorithmische Probleme in Funknetzwerken V

Algorithmische Probleme in Funknetzwerken V. Klaus Volbert kvolbert@upb.de. Zellulare Netze Voronoi-Diagramme. Bisektor Halbebene Voronoi-Region VR(p,V), p VIR 2 : Voronoi-Diagramm VD(V), VIR 2 :. Voronoi-Diagramme Eigenschaften. Voronoi-Regionen sind konvex

valin
Download Presentation

Algorithmische Probleme in Funknetzwerken V

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 FunknetzwerkenV Klaus Volbert kvolbert@upb.de

  2. Zellulare NetzeVoronoi-Diagramme • Bisektor • Halbebene • Voronoi-Region VR(p,V), pVIR2: • Voronoi-Diagramm VD(V), VIR2:

  3. Voronoi-DiagrammeEigenschaften • Voronoi-Regionen sind konvex • Voronoi-Diagramm von n Punkten in der Ebene • besteht aus Strecken, Geraden, Halbgeraden und Punkten • ist ein geometrischer Graph • hat O(n) viele Knoten und Kanten • kann in Zeit O(n3) berechnet werden (naiver Algorithmus) • kann nicht in Zeit o(n log n) berechnet werden

  4. Sweep-Technik (I) • Betrachte Bisektor zwischen Punkt (0,a) 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 (0,a) weg

  5. 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 Sweep-Line einen Punkt streift • Verschwinden eines Parabelstücks • Dadurch entsteht Voronoi-Punkt

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

  7. Die Wellenfront • Sei H Halbebene über parallel abwärts bewegender Gerade L inklusive L, dann ist die Wellenfront W gegeben durch W = { x  H |  p  V  H : |x,p| = |x,L| } • Alle Punkte über W haben nächsten Nachbarn über W • Alle Punkte zwischen W und L können nächsten Nachbarn sowohl in VH oder V \ H haben • W ist x-monoton, d.h. jede senkrechte Gerade schneidet W höchstens in einem Punkt, und zusammenhängend • Die Schnittpunkte von Parabeln heißen Bruchpunkte • Beobachtung: Ein Punkt p ist ein Bruchpunkt gdw. p VD(V)

  8. Ereignis A:Einfügen neuer Parabel • Sweep-Line trifft auf Punkt pV • Parabel beginnt als Halbgerade • Halbiert bestehendes Parabelstück (falls Sweep-Line in allgemeiner Position) • Da keine andere 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

  9. Ereignis B:Löschen einer Parabel • Bewegung der Sweep-Line läßt Bruchpunkte aufeinanderlaufen • Parabel zwischen Bruchpunkten verschwindet • Voronoi-Region der verschwundenen nun hinter Sweep-Linie • Da Region konvex ist diese 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

  10. Notwendige Datenstrukturen • Bisher konstruiertes Voronoi-Diagramm • Speicherung als QEDS • Technische Schwierigkeit: Unbeschränkte Kanten • Verwende “bounding box” • Wellenfront W • 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 Q als Priority-Queue • Priorität ergibt sich durch y-Koordinate der Sweep-Linie L • Aktualisiere Warteschlange bei jedem Ereignis

  11. Ereignis-Warteschlange • Priorität ergibt sich durch y-Koordinate der Sweep-Line L • Parabel erzeugen: • Priorität = y-Koordinate der Punkte aus V • Parabel löschen: • Priorität = y-Koordinate der Sweep-Line, 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

  12. Sweep-Line-Algorithmus für Voronoi-Diagramme Algorithmus Sweep-Line-VD(V) Gegeben V R2 Initialisiere Q mit Ereignissen A while Q nicht leer do Sei q aus Q mit maximaler Priorität Entferne q aus Q if q von Typ A (Einfügen Parabel) then Suche Platz in Wellenfront und lösche evtl. Spike-Schnittpunkt der geschnitttenen Parabel mit Nachbarn aus Q Füge neue Parabel und geschnittene Parabel in Wellenfront ein Berechne neue Spike-Schnittpunkte mit Nachbarn, füge diese in Q ein else (Lösche Parabel) Füge neuen Voronoi-Punkt und Kanten in Voronoi-Diagramm ein Lösche Parabel aus Wellenfront Lösche Spike-Schnittpunkte dieser Parabel mit Nachbarn Berechne neue Spike-Schnittpkte für neu enstandende Voronoi-Kante fi od end

  13. Analyse Beweisskizze: • Der Sweep-Line-Algorithmus erfüllt die Voronoi-Eigenschaft. • Die äußere While-Schleife wird O(n) mal durchlaufen • Der Gesamtspeicherverbrauch in W, Q und QEDS von VD(V) ist O(n) • Jede elementare Operation in W und Q benötigt bei geeigneter Implementation Zeit O(log n)

  14. Zellulare Netze • 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?

  15. Frequenzzuweisung (I) • Gegeben: • Punktemenge VIR2 von n Basisstationen B1, …,Bn • Jede Basisstation sendet mit einer festen Reichweite ri, i  {1..n} • Gesucht: • Funktion f:VIN, die einer Basisstation eine Übertragungs-frequenz zuordnet unter Berücksichtigung von Frequenz- und Abstandsbedingungen • Beispiele für Bedingungen: • Minimiere die Anzahl der vergebenen Frequenzen • Minimiere die Breite des Frequenzspektrums • Minimiere die Anzahl der Wellenüberlagerungen (Interferenzen)

  16. Frequenzzuweisung (II)Modellierung • Interferenz-Graph GInt: • Knoten sind die Basisstationen • Kanten kennzeichnen Interferenzen zwischen den Basisstationen • Wann interferieren Basisstationen? • 1. Variante: • Sei U(B1) der Umkreis um B1 mit Radius r1 • Zwei Basisstationen B1 und B2 interferieren, falls U(B1) U(B2) GInt r1 B1 Graph-Färbungsproblem

  17. Allgemeine Graph-Färbung • Sei G=(V,E) ein ungerichteter Graph. Eine Abbildung f:VF heißt k-Knotenfärbung, falls f(u)f(v) für {u,v}E und FIN, |F|=k. • Chromatische Zahl (G) ist die kleinste Zahl k, für die es in G eine k-Knotenfärbung gibt. • Clique Zahl (G) ist die größte Zahl von Knoten, die in G einen vollständigen Teilgraph bilden. • Zusammenhang ((G) Grad von G): (G)  (G)  (G) + 1 Beweis: Übung

  18. Komplexität Beweis: • COLOR  NP • rate eine k-Knotenfärbung und teste, ob sie zulässig ist. • 3SAT p COLOR: • Knoten: v1, …, vn, v1, …, vn, x1, …, xn, C1, ..., Cr • Kanten: {vi, vi} {xi, xj}, {vi, xj}, {vi, xj} für i  j {vi, Ck}, {vi, Ck} für Literale nicht in Ck v2 v3 false x1 t1 v2 v3 t2 t3 x3 x2 v1 v1

  19. COLOR ist NP-vollständig • 3SAT p COLOR: „“ Ann.  Belegung, die die Klauseln C1, ..., Cr wahr macht. Färbe jedes erfüllte Literal mit dem entsprechenden ti und das Komplement mit false. Betrachte Cj: Ein Literal wurde mit einer true-Farbe (ti) gefärbt, da die Klausel erfüllbar ist. D.h. Cj kann mit ti gefärbt werden. „“ Ann.  keine Belegung, die die Klauseln C1, ..., Cr wahr macht. Dann ex. Cj: Alle Literale wurden mit false (n+1. Farbe) gefärbt. D.h. Cj ist mit Knoten aller true-Farben verbunden und mit min. einem Knoten, dem die false-Farbe zugeordnet ist. Der Graph kann also nicht mit n+1 Farben gefärbt werden.

  20. Resultate zur Graph-Färbung • Allgemeine Graph-Färbung ist nicht nur NP-vollständig, sondern auch nicht approximierbar mit Faktor besser als n für >0 unter der Ann. NPP. • „Besitzt der planare Graph eine 3-Knotenfärbung?“ ist auch NP-vollständig • Aber: • Jeder planare Graph kann in Polynomzeit mit 4 Farben knotengefärbt werden (Vier-Farben-Satz, ca. 633 Fälle!) • Jeder Graph kann in Polynomzeit auf 2-Knotenfärbbarkeit überprüft werden • Es gibt einen Approximationsalgorithmen der Güte O(n/log n) für das allgemeine Färbungsproblem

  21. Approximationsalgorithmus für Knotenfärbung (I) • Independent Set Problem (NP-vollständig): • Sei G=(V,E) ein Graph, UV. U heißt unabhängig, falls: {u,v}  E für alle u,v  U • Independent Set: bestimme möglichst große unabhängige Menge (Beweis: Übung)

More Related