Erinnerung: UDG-Lokalisierung in 1D Algorithmen für Ad-hoc- und Sensornetze Wenn man nur Hops zu Ankern kennt, ist es unmöglich, einen Fehler zu garantieren, der für jeden Knoten innerhalb eines konstanten Vielfachen des Fehlers eines Optimalen Algorithmus liegt. Nachspielzeit zu VL 05 Fehler: Abstand zwischen echter Knotenposition und Ergebnis der Lokalisierung Optimaler Algo: Minimiert Fehler über alle möglichen Einbettungen Dr. rer. nat. Bastian Katz Lehrstuhl für Algorithmik I Institut für theoretische Informatik Universität Karlsruhe (TH) Karlsruher Institut für Technologie Kennt man hops und skips, kann man (fast) optimal lokalisieren. 2 k hops 3. Juni 2009 (Version 2 vom 5. Juni 2009) A 1 1 k-1 skips Lehrstuhl für Algorithmik I Institut für theoretische Informatik Skips (formaler) 2 Bastian Katz – Algorithmen für Ad-hoc- und Sensornetze Universität Karlsruhe (TH) Karlsruher Institut für Technologie 2/ 5 jeder Knoten v startet mit hv = ∞. hört ein Knoten v von einem Nachbarn u mit hu + 1 < hv , verringert er hv zu hv = hu + 1. d(A, vi ) < d(A, vi+1 ) d(vi , vi+1 ) > 1 (also (vi , vi+1 ) 6∈ E ) wenn ein Knoten sein hv verringert, teilt er das allen Nachbarn mit. Die Länge eines längsten solchen Pfades ist die Skip-Entfernung von v zu A. Startschuss: Ankerknoten verringert seinen Abstand auf hA = 0. hops sind obere Schranke an Entfernung zum Anker skips sind untere Schranke 2 k hops A 1 B 1 k/2 skips + Erinnerung: Hop-Berechnung Ein Pfad A = v0 , u1 , v1 , . . . , us , vs = v ist ein Skip-Pfad der Länge s zwischen A und v , wenn wenn 1 k hops Wie berechnet man hops? Definition v k-1 skips v k hops B 1 k/2 skips + Wenn man hops zu mehreren Ankern berechnen will, muss der jeweilige Anker Teil der Nachricht sein! Wie berechnet man skips? Ich, v habe meinen hop-Abstand zu Anker A auf hv reduziert. 2 Bastian Katz – Algorithmen für Ad-hoc- und Sensornetze Lehrstuhl für Algorithmik I Institut für theoretische Informatik Universität Karlsruhe (TH) Karlsruher Institut für Technologie 3/ 5 Bastian Katz – Algorithmen für Ad-hoc- und Sensornetze Lehrstuhl für Algorithmik I Institut für theoretische Informatik Universität Karlsruhe (TH) Karlsruher Institut für Technologie 4/ 5 Wie berechnet man skips? Wie berechnet man skips? jeder Knoten v startet mit sv = −1. jeder Knoten v startet mit sv = −1. hört ein Knoten v von einem Nicht-Nachbarn u mit su + 1 > sv , erhöht er sv zu sv = su + 1. hört ein Knoten v von einem Nicht-Nachbarn u mit su + 1 > sv , erhöht er sv zu sv = su + 1. wenn ein Knoten sein sv erhöht, teilt er das allen Zwei-hop-Nachbarn mit. wenn ein Knoten sein sv erhöht, teilt er das allen Zwei-hop-Nachbarn mit. Startschuss: Jeder Nachbar v des Ankerknoten und A selbst erhöht seinen Abstand auf sv = 0. Startschuss: Jeder Nachbar v des Ankerknoten und A selbst erhöht seinen Abstand auf sv = 0. A Wie verhindert man Aufschaukeln“? ” Beleg für Erhöhung sind nur Nicht-Nachbarn u, die echt zwischen v und Anker liegen Dann liegt ein Nachbar mit niedrigerem Hop-Abstand dazwischen! 1000 1 Wie verhindert man Aufschaukeln“? ” Beleg für Erhöhung sind nur Nicht-Nachbarn u, die echt zwischen v und Anker liegen Dann liegt ein Nachbar mit niedrigerem Hop-Abstand dazwischen! Bastian Katz – Algorithmen für Ad-hoc- und Sensornetze Lehrstuhl für Algorithmik I Institut für theoretische Informatik Universität Karlsruhe (TH) Karlsruher Institut für Technologie 5/ 5 Wie berechnet man skips? jeder Knoten v startet mit sv = −1. hört ein Knoten v von einem Nicht-Nachbarn u mit su + 1 > sv ,und zwar über einen Nachbarn w 6= A mit hw < hv , erhöht er sv zu sv = su + 1. wenn ein Knoten sein sv erhöht, teilt er das allen Zwei-hop-Nachbarn mit. Startschuss: Jeder Nachbar v des Ankerknoten und A selbst erhöht seinen Abstand auf sv = 0. Wie verhindert man Aufschaukeln“? ” Beleg für Erhöhung sind nur Nicht-Nachbarn u, die echt zwischen v und Anker liegen Dann liegt ein Nachbar mit niedrigerem Hop-Abstand dazwischen! A 11000 vwu 1 Bastian Katz – Algorithmen für Ad-hoc- und Sensornetze Lehrstuhl für Algorithmik I Institut für theoretische Informatik Universität Karlsruhe (TH) Karlsruher Institut für Technologie 5/ 5 A 11000 1 Bastian Katz – Algorithmen für Ad-hoc- und Sensornetze Lehrstuhl für Algorithmik I Institut für theoretische Informatik Universität Karlsruhe (TH) Karlsruher Institut für Technologie 5/ 5