Algorithmische Probleme in Funknetzwerken Vorlesungsskript Christian Schindelhauer Klaus Volbert Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Heinz Nixdorf Institut und Universität Paderborn Wintersemester 2002/2003 Inhaltsverzeichnis Abbildungsverzeichnis IV Tabellenverzeichnis V 1 Organisation 1.1 Vorlesungsdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Webseite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Termine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Voraussetzungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.4 Sprechstunde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Inhalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Inhalt der Veranstaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.3 Verwandte und empfehlenswerte Vorlesungen . . . . . . . . . . . . . . . . . . . . 1.2.4 Prüfung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.5 Prüfungsfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 2 3 4 4 2 Einführung 2.1 Referenzmodell . . . . . . . . . . . . . . . . . . 2.1.1 Das OSI-Schichtenmodell . . . . . . . . 2.1.2 Das Internetreferenzmodell . . . . . . . . 2.1.3 Anwendungsschicht (application layer) . 2.1.4 Transportschicht (transport layer) . . . . 2.1.5 Netzwerkschicht (Network layer) . . . . 2.1.6 Host-to-network . . . . . . . . . . . . . 2.1.7 Tanenbaums Referenzmodell . . . . . . . 2.2 Die physikalische Schicht . . . . . . . . . . . . . 2.3 Mehrfachnutzung des Mediums . . . . . . . . . 2.3.1 Code Division Multiple Access (CDMA) 3 Zellulare Netze 3.1 Voronoi-Diagramme . . . . . . . . . . . 3.2 Frequenzzuweisung . . . . . . . . . . . . 3.2.1 Labelling und Färbungsprobleme 3.2.2 F*D-FAP . . . . . . . . . . . . . 3.2.3 Radio-Labelling . . . . . . . . . . . . . . . . . . . . 11 11 11 13 13 13 13 14 14 14 20 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 25 37 41 42 44 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Radio Broadcasting 47 4.1 Effizientes Probabilistisches Radio Broadcasting . . . . . . . . . . . . . . . . . . . . . . . 51 4.2 Eine untere Schranke für deterministische Broadcasting . . . . . . . . . . . . . . . . . . . 54 I 5 Mobile Ad Hoc Netzwerke 5.1 Experimentelle Untersuchungen . . . . . . . . . . . . . . . . . . 5.1.1 Netzwerkschicht . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Verbindungsschicht . . . . . . . . . . . . . . . . . . . . . 5.2 Mathematische Analysen . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Ressourceneffiziente Basisstrukturen im Rundfunkmodell 5.2.2 Topologieaufbau im Sektorenmodell . . . . . . . . . . . . . . . . . . 57 59 59 61 63 63 68 6 Call-Control in zellularen Netzwerken 6.1 Das Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Das Spiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Online-Algorithmen und das Kompetitive Verhältnis . . . . . . . . . . . . . . . . . . . . 6.2.1 Das Leihskiproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Das kompetitive Verhältnis im Belohnungsmodell . . . . . . . . . . . . . . . . . . 6.3 Flatrate ohne Auflegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Der Greedy-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2 Oblivious Adversary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.3 Klassifizieren und Auswählen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.4 Lokale Online-Strategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Das allgemeine Resultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 77 77 78 79 79 79 80 80 81 82 83 86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abbildungsverzeichnis 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Vergleich der drei Referenzmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sinus-Kurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Approximation einer Rechteckkurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sägezahnkurve und Fouriertransformation (I) . . . . . . . . . . . . . . . . . . . . . . . . Sägezahnkurve und Fouriertransformation (II) . . . . . . . . . . . . . . . . . . . . . . . . Frequenzbänder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Amplitudenmodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Frequenzmodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phasenmodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 14 15 16 17 17 19 19 20 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Zellulares Netz mit Basisstation und mobilen Empfängern . . . . . . . . . . . . . . . . . Bisektor zweier Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Voronoi-Region eines Punktes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nur wenn alle Punkte von auf einer Geraden liegen, können Voronoi-Geraden auftreten Konvexe Hülle einer Punktmenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Voronoi-Punkt beschränkt die Voronoi-Kante des Bisektors nach rechts . . Jeder Punkt (hier und auf der Halbgeraden mit rechten Winkel zur Strecke , die diese in schneidet, ist Teilmenge der unbeschränkten Voronoi-Region von . . . . . . . Der Kreis beinhaltet alle Voronoi-Punkt und beschränkt alle Voronoi-Kanten . . . . . . Jeder Punkt einer endlichen Teilmenge der Parabel liegt auf der konvexen Hülle . . . . . . Verweise einer Kante bei der DCEL-Zeigerstruktur . . . . . . . . . . . . . . . . . . . . . Das Wellenfront verurscacht durch die Sweep-Line . . . . . . . . . . . . . . . . . . . . . Wellenereignis vom Typ A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wellenereignis vom Typ B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datenstruktur für Punkte Ereigniswarteschlange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Planarer Graph mit gültiger 3-Färbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ein Clique der Größe 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reduktionsgraph für das Färbungsproblem . . . . . . . . . . . . . . . . . . . . . . . . . Beispiel für eine F*D-FAP-Instanz und Lösung . . . . . . . . . . . . . . . . . . . . . . . -Färbungsinstanz für und Lösung . . . . . . . . . . . . . . . . . . . . . . . Radio-Färbungsinstanz und Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Äquivalenz von Radio-Labelling und HP(1,2) . . . . . . . . . . . . . . . . . . . . . . . . Traversierung des minimal spannenden Baums . . . . . . . . . . . . . . . . . . . . . . . 26 26 27 28 28 29 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Mögliche Netzwerke für Radio-Broadcasting . . . . . . . . . . . . . . . . . . . . . . . . Ohne IDs kann kein Radio-Broadcasting-Algorithmus diesen Graph informieren . . . . . . Der Simple-Random-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Decay-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Broadcast-Algorithmus von Bar-Yehuda, Goldreich und Itai [BYGI87] . . . . . . . . Die Graphfamilie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adversary-Strategie gegen einen deterministischen Broadcast-Algorithmus gegeben durch die Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III 29 31 31 32 33 34 35 35 36 38 38 39 43 43 44 45 46 48 48 48 51 53 55 56 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 6.1 6.2 6.3 6.4 6.5 Hidden-Terminal-Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exposed-Terminal-Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Asymmetric-Interference-Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problem des Zusammenhangs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Count-to-Infinity Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Route Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MACA: Request-to-Send, Clear-to-Send Schema . . . . . . . . . . . . . . . . . . . . . . Die beiden ¨ausseren Kanten können zeitgleich zurÜbertragung benutzt werden, d.h. die erfolderliche Routingzeit ist mindestens um den Faktor 2 kleiner als die Congestion . . . Die Definition von GG( ) entspricht der Energie-Optimalität einer Kante: . Die Linie im TradeOff zwischen Dilation und Energie . . . . . . . . . . . . . . . . . . . . Das Gitter im TradeOff zwischen Congestion und Dilation . . . . . . . . . . . . . . . . . Das Hufeisen im TradeOff zwischen Congestion und Energie . . . . . . . . . . . . . . . . Die ersten 5 Iterationen der Kochschen Schneeflockenkurve . . . . . . . . . . . . . . . . . Yao, SparsY und SymmY mit 8 festen Sektoren für 100 zufällig platzierte Knoten . . . . . Bedienen und Ablehnung von Rufanfoderungen . . . . . . . . . . . . . . . . . . . . . . . Greedy-Algorithmus A für das Call-Control-Problem . . . . . . . . . . . . . . . . . . . . Der Sterngraph als schlimmster Fall für den Greedy-Algorithmus für Call-Control . . . . Classify-and-Randomly-Select (CRS) für das Call-Control-Problem . . . . . . . . . . . . Block and Randomly Serve (BaRS) — Ein Algorithmus für das Call-Control-Problem für eine Frequnz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 58 58 58 60 61 62 65 65 67 67 68 69 71 78 80 81 82 84 Tabellenverzeichnis 2.1 Deutsche und Internationale Bezeichnungen der Frequenzbereiche. . . . . . . . . . . . . . 17 5.1 Graph- und Kommunikationseigenschaften der Sektorengraphen . . . . . . . . . . . . . . 73 V VI Kapitel 1 Organisation 1.1 Vorlesungsdaten 1.1.1 Webseite Zu dieser Veranstaltung ist eine Webseite unter der Adresse: http://www.upb.de/cs/ag-madh/vorl/AlgPFunk/ eingerichtet worden. Hier findet man aktuelle Informationen als auch Skript, Vorlesungsfolien und Übungsblätter. 1.1.2 Termine Die Vorlesung findet mittwochs, 11:15–12:45 Uhr im Raum F1.110 statt. Die zugehörige einstündige Übung findet von 10:15–11:00 Uhr im Raum F1.110 statt. Übungszettel werden eine Woche vor dem Übungstermin auf der Webseite veröffentlicht und können am Montag vor demÜbungstermin in Raum F1.203 abgegeben werden. Die Bearbeitung ist freiwillig. 1.1.3 Voraussetzungen Vorausgesetzt wird ein abgeschlossenes Vordiplom im Studiengang Informatik. Kenntnisse aus der Veranstaltung Kommunikation in Parallelen Rechenmodellen sind in dieser Veranstaltung sehr hilfreich, werden aber nicht vorausgesetzt. 1.1.4 Sprechstunde Wegen der geringen Nachfrage gibt es keine festen Sprechstundenzeit. Für Fragen steht Christian Schindelhauer in Raum F1.203 zur Verfügung und Klaus Volbert in Raum F1.125. Empfehlenswert ist eine Anmeldung telefonisch unter 05251-606452 oder per EMail ([email protected]/[email protected]). 1.2 Inhalte 1.2.1 Inhalt der Veranstaltung Im Rahmen dieser Veranstaltung werden algorithmische Problemstellungen vorgestellt und diskutiert, die im Zusammenhang mit drahtloser Kommunikation entstehen. Die Veranstaltung gliedert sich in die folgenden drei Bereiche. 1 Physikalische Grundlagen und Besonderheit von Funknetzwerken Funknetzwerke unterscheiden von den Übertragungsmöglichkeiten undÜbertragungsschwierigkeiten stark von Festnetzen. Wir gehen kurz auf eine allgemeine Schichtendarstellung von Funknetzwerke ein und besprechen physikalische Grundlagen wie Frequenzspektren, Modulationstechniken und Möglichkeiten zur Mehrfachnutzung des elektromagnetischen Mediums. Kommunikationsprobleme in zellularen Netzwerken Zellulare Netze teilen ein Gebiet in viele kleine auf und versorgen es mit entsprechend zugeordneten Frequenzen. Durch eine niedrige Sendeleistung werden die Zellradien absichtlich begrenzt. Hierdurch können die in einer Zelle verwendeten Frequenzen in einer anderen Zelle wieder verwendet werden. Zellulare Netze erlauben auf diese Weise eine starke Mehrfachnutzung von Frequenzen und dadurch eine hohe Teilnehmerzahl. Das Radio Broadcasting-Modell Beim Radio Broadcasting-Modell wird eine Nachricht möglichst schnell an alle Teilnehmer versandt, deren Positionen nicht bekannt ist. Hierbei steht nur eine Frequenz zur Verfügung und um alle Teilnehmer zu erreichen, muss aufgrund der beschränkten Sendereichweite unter Umständen die Nachricht von Teilnehmer zu Teilnehmer weitergereicht werden. Bei dieser Problemstellung spielt die Auflösung von Interferenzen eine entscheidende Rolle. Kommunikation in Mobilen Ad-Hoc-Netzwerken (MANET) MANETs sind ein Alternativentwurf zu zellularen Netzwerken. Ohne dass spezielle Basisstationen zur Verfügung stehen, sollen die Endteilehmer autonom und verteilt ein Netz aufbauen, das Punktzu-Punkt-Kommunikation zwischen Teilnehmern ermöglicht. Aufgrund der eingeschränkten Sendereichweite und um den Energieverbrauch der Endgeräte zu verringern, müssen Nachrichten hierzu über mehrere Stationen befördert werden (hops). Diese Vorlesung konzentriert sich auf Algorithmen und mathematische Modelle. Wir werden nicht im einzelnen die technischen Besonderheiten und Implementationsdetails von Funknetzwerken vorstellen (allein schon aus zeitlichen Gründen). Vielmehr werden Grundproblemstellungen im Zusammenhang mit Funknetzwerken herausgearbeitet und algorithmische Modelle und Lösungen diskutiert. 1.2.2 Literatur Es gibt eine Reihe von Büchern, die für ein vertieftes Studium hilfreich sind. Hierin werden hauptsächlich praktische Fragestellungen diskutiert und weniger die algorithmischen Problemstellungen für die wir uns im Rahmen dieser Veranstaltung interessieren. Letztere sind momentan zumeist nur in Form von Artikeln erhältlich. Diese und die ergänzenden Lehrbücher werden hier im Skript aufgeführt. Gegen Ende der Vorlesung wird in diesem Abschnitt eine vollständige Liste geeigneter weiterführender Literatur veröffentlicht. Für den Anfang weisen wir auf folgende Bücher hin. Computer Networks, Tanenbaum [Tan96]. Tanenbaums Rundumschlag zum Thema Rechnernetzwerke bezieht sich zwar hauptsächlich auf drahtgebundene Netzwerke, er spart das Thema drahtlose Kommunikation nicht aus und gibt eine kompakte (und humorvolle) Einführung in das Gebiet. Wireless Digital Communication, Kamilo Feher [Feh95]. Dieses Buch gibt einen sehr guten Überblick in die physikalische Grundlagen und technische Umsetzung von drahtloser Kommunikation. Die algorithmischen Problem aus der Vorlesung werden hier (wie auch in Tanenbaum) höchstens erwähnt. Mobile Communication, Jochen Schiller [Sch00]. Dieses Buch gibt ebenfalls (nur) einen Überblick mit besonderen Augenmerk auf existierende Mobilfunksysteme. Die prinzipielle Wirkungsweise wird recht anschaulich beschrieben. Zu diesem Buch sind es die passenden Folien on-line verfügbar. 2 Algorithmische Geometrie, Rolf Klein [Kle97]. Klein hat sich selber intensiv mit Voronoi-Diagrammen auseinander gesetzt und beschreibt in diesem Buch, die in der Vorlesung vorgestellten Algorithmen sehr anschaulich. Sofern es VoronoiDiagramme betrifft, orientiert sich diese Vorlesung an diesem Buch. Algorithmische Geometrie, Rolf Klein [Kle97]. Klein hat sich selber intensiv mit Voronoi-Diagrammen auseinander gesetzt und beschreibt in diesem Buch, die in der Vorlesung vorgestellten Algorithmen sehr anschaulich. Sofern es VoronoiDiagramme betrifft, orientiert sich diese Vorlesung an diesem Buch und dem folgenden. Computational Geometry, Algorithms and Applications, Mark de Berg, Marc van Kreveld, Mark Overmars und Otfried Schwarzkopf [MKOS00] Besonders das Kapitel 7, Voronoi diagrams, eignet sich hervorragend als Studienbegleitende Lektüre und für ein vertieftes Studium geometrischer Algorithmen. On the Time-Complexity of Broadcast in Radio Networks: An Exponential Gap Between Determinism and Randomisation, Reuven Bar-Yehuda, Oded Goldreich und Alon Itai [BYGI87] Auf diesen Artikel bezieht sich ein Teil des Kapitel Radio Broadcasting. In diesem sehr kompakt und doch umfassenden Artikel werden die Beweise sehr verständlich und elegant dargestellt. Um den Vorlesungsstoff noch einmal in etwas veränderter Darstellung nachzulesen und noch tiefere Einblicke zu erhalten, kann dieser Artikel uneingeschränkt empfohlen werden. Ad Hoc Networking, Charles E. Perkins [Per01] Charles Perkins gibt eine umfassende und doch auch kompakte Übersicht über den Stand der angewandten Forschung im Bereich mobiler Ad-Hoc-Netzwerke. Für ein vertieftes Studium der hier vorgestellten theoretischen Ergebnisse verweisen wir auf [MSVG02, GLSV02]. Competitive Call Control, Grammati E. Pantziou, George P. Pentaris und Paul G. Spirakis [PPS97, PPS02] Wir stellen Ergebniss dieses Artikels im letzten Kapitel dieser Vorlesung vor. 1.2.3 Verwandte und empfehlenswerte Vorlesungen Während der Vorbereitung dieser Veranstaltung standen wir in dauernden Kontakt mit Friedhelm Meyer auf der Heide, Tamás Lukovszki und Rolf Wanka. Vorlesungen mit verwandten oder weiterführenden Themenstellungen wurden sowohl parallel zur Vorlesung als auch schon zuvor angeboten. Rolf Wanka, Approximationsalgorithmen Das Thema der Approximierung von kombinatorisch schwierigen Problemen wird in dieser stetig verbesserten Vorlesung umfassend abgehandelt. Wir danken Rolf Wanka dafür, dass wir Teile seines Skripts übernehmen durften und empfehlen das bei Teubner in Kürze erscheinende Buch zu seiner Vorlesung. Tamás Lukovszki, Geometriealgorithmen, Sommer 2000 Wir danken Tamás für die Erlaubnis Teile seines Skripts und seiner Folien zum Thema VoronoiDiagrammen im Rahmen dieser Vorlesung zu verwenden. Tamás Lukovszki, Algorithmen für Netzwerkprobleme, Winter 2002/2003 Diese Veranstaltung läuft parallel und wird verwandte Themenstellungen besprechen. Webseite: http://wwwhni.upb.de/ tamas/NW WS02/index.html Friedhelm Meyer auf der Heide, Advanced Course on Communication in Networks, Winter 2002/2003 Diese Veranstaltung findet parallel zu dieser Vorlesung statt. Webseite: http://www.upb.de/cs/ag-madh/vorl/NetComm02/ 3 1.2.4 Prüfung Wer nach der DPO 4 oder der neuen Lehramtsstudienordnung studiert, kann im Anschluss an dieser Veranstaltung eine benotete, mündliche, ca. 30-minütige Prüfung bei Christian Schindelhauer ablegen. Termine für diese Prüfung können mit ihm vereinbart werden. Am Ende der Vorlesung wird ein Fragenkatalog möglicher Prüfungsfragen veröffentlicht. 1.2.5 Prüfungsfragen Wir stellen den Prüflingen hier eine Liste von Fragen zur Vorbereitung zur Verfügung, die so in der Prüfung gestellt werden könnten. 1. Vorlesung KW 41/02 1. Nennen und beschreiben Sie kurz die Schichten des ISO/OSI-Schichtenmodells. 2. Welche Schichten kennt das Internet-Schichtenmodell? 3. Welcher Zusammenhang besteht zwischen Wellenlänge und Frequenz einer elektromagnetischen Welle? 4. Was besagt der Satz von Dirichlet? 5. Was sind Frequenzbereiche? 6. Welche Frequenzbänder sind für Funknetzwerke interessant? 2. Vorlesung KW 42/02 7. Beschreiben Sie Charakteristika des Ausbreitungsverhalten von elektromagnetischen Wellen, die sich problematisch auf die Kommunikation auswirken können. 8. Welche Auswirkungen entstehen durch die Bewegung von Funkteilnehmern? 9. Welche Modulationstechniken gibt es? 10. Was ist das Signal zu Interferenz/Rauschverhältnis? 11. Wie kann das elektromagnetische Medium mehrfach ausgenutzt werden? 12. Erläutern sie das Code-Division-Multiple-Access-Verfahren! 3. Vorlesung KW 43/02 13. Was versteht man unter dem Best-Station-Problem? 14. Erklären Sie die Begriffe Bisektor, Voronoi-Region und Voronoi-Diagramm. 15. Geben Sie eine formale Definition des Voronoi-Diagramms. 16. Geben Sie eine formale Definition der konvexen Hülle. 17. Woraus besteht die konvexe Hülle einer endlichen Punktmenge? der sich ausbreitende Kreis. Was kann man aus der Anzahl der 18. Sei ein Punkt der Ebene und ersten Schnittpunkte mit der Knotenmenge folgern? 19. In welcher Beziehung steht die konvexe Hülle einer Punktmenge mit den unbeschränkten VoronoiRegionen? 20. Was besagt die Eulersche Formel? 4 4. Vorlesung KW 44/02 21. In welchen zahlenmäßigen Verhältnis stehen Voronoi-Kanten und Voronoi-Knoten? 22. Welche Zeitkomplexität hat das Sortierproblem von Zahlen? 23. Welche Zeitkomplexität hat die Berechnung der konvexen Hülle in der Ebene? 24. Welche Zeitkomplexität hat die Berechnung des Voronoi-Diagramms? 25. Was versteht man unter einer doubly connected edge list? 26. Was ist eine QEDS (quad edge data structure)? Wofür wird sie benötigt? 5. Vorlesung KW 45/02 27. Wie schnell und auf welchem Platz kann das Voronoi-Diagramm berechnet werden? 28. Erklären Sie die Sweepline-Technik. 29. Beschreiben Sie einen Sweepline-Algorithmus zur Berechnung des Voronoi-Diagramms. 30. Warum funktioniert zur Bestimmung des Voronoi-Diagramms nicht ein einfacher Sweepline-Algorithmus? 31. Welche Ereignisse muss der Sweepline-Algorithmus zur Bestimmung des Voronoi-Diagramms verarbeiten? 32. Welche Datenstrukturen benötigen Sie zur effizienten Umsetzung des Sweepline-Algorithmus zur Bestimmung des Voronoi-Diagramms? 33. Kennen Sie Probleme außer dem Voronoi-Diagramm, die mit einem Sweepline-Algorithmus gelöst werden können? 6. Vorlesung KW 46/02 34. Wie wird die Frequenzvergabe an Basisstationen modelliert? 35. Was ist ein Ziel der Frequenzvergabe? 36. Welches Problem erhält man, wenn man die Anzahl der vergebenen Frequenzen minimieren möchte? 37. Was versteht man unter einer Knotenfärbung? 38. Welche Bedeutung haben die chromatische und die Clique Zahl? 39. Was wissen Sie über die Berechnung einer Knotenfärbung (allgemein, in planaren Graphen)? 40. Erklären Sie absolute und relative Güte von Approximationsalgorithmen. 41. Sagen Sie etwas zur Approximierbarkeit des Färbungsproblems. 5 7. Vorlesung KW 47/02 42. Welche Grundtypen der Frequenzzuweisungsproblem gibt es? 43. Was ist F*D-FAP? 44. Was versteht man unter T-Färbung? 45. Welche Beziehung besteht zwischen der T-Färbungszahl und der Färbungszahl? 46. Was versteht man unter Radio-Färbung? 47. Schränken sie die Radio-Färbungszahl durch den Grad des Graphen ein. 48. Was weiß man hinsichtlich der Komplexität der T-Färbung und Radio-Färbungsprobleme? 49. Was versteht man unter dem Radio-Labelling-Problem? 50. Welcher Zusammenhang besteht zwischen dem Radio-Labelling-Problem und HP(1,2)? 51. Kann man Radio-Labelling effizient approximieren? 8. Vorlesung KW 48/02 52. Erläutern Sie das Radio Broadcasting Problem. 53. Warum funktioniert deterministische Broadcasting ohne ID im allgemeinen nicht? 54. Welches Zeitverhalten hat Simple-Random als Radio-Broadcasting-Strategie? mit Wahrscheinlichkeit einen 55. Angenommen eine Information schreitet einen Pfad der Länge Schritt voran. Wie hoch ist die Wahrscheinlichkeit, dass der Weg nach einer gegebenen Zeit nicht durchschritten wurde? 56. Wie funktioniert Simple-Random? 9. Vorlesung KW 49/02 57. Wie lange benötigt der Simple-Random-Algorithmus, um alle Knoten zu informieren. 58. Beschreiben sie den Decay-Algorithmus. 59. Analysieren sie die Erfolgswahrscheinlichkeit des Decay-Algorithmus. 10. Vorlesung KW 50/02 60. Beschreiben Sie den BGI-Broadcast-Algorithmus. 61. Auf welchen Eigenschaften des Decay-Algorithmus baut der BGI-Algorithmus auf? 62. Welches Zeitverhalten hat der BGI-Broadcast-Algorithmus? 63. Wieso hilft Probabilismus bei der Lösung des Radio-Broadcasting-Problems Zeit zu sparen? 64. Warum kann man deterministisch mit IDs nicht in sublinearer Zeit das Radio-Broadcasting-Problem lösen? 6 11. Vorlesung KW 02/03 65. Was ist ein (leistungsvariables) Manet? 66. Nennen und erklären Sie die Interferenzprobleme. 67. Ist der Zusammenhang in einem Manet sichergestellt? 68. Was versteht man unter Multi-Hop-Kommunikation? 69. Warum gibt es neue Protokollanforderungen in Manets? 70. Welche Aufgaben sollte ein Routingprotokoll in Manets erfüllen? Wie würden Sie die Routingaufgabe lösen? 71. Was heisst proaktiv, reaktiv und hybrid? Nennen Sie jeweils ein Routingprotokoll, dass proaktiv, reaktiv bzw. hybrid arbeitet. 72. Erklären Sie ein Routingprotokoll Ihrer Wahl (z.B. DSR). 73. Was versteht man unter einer Hop-Minimierung? 74. Erklären Sie das Count-to-Infinity Problem. 75. Was wird in der Verbindungsschicht geregelt? 76. Welche Techniken kennen Sie, um die Übertragung zwischen zwei beliebigen Knoten sicherzustellen? 77. Wie arbeitet ein exponentielles BackOff-Protokoll? 78. Wann und wie kann man das Hidden Terminal Problem lösen? 79. Welchen Ansatz in der MAC-Schicht verfolgen probabilistische Protokolle? 12. Vorlesung KW 03/03 80. Erklären Sie in diesem Zusammenhang die Begriffe Wegesystem und Basisnetzwerk. 81. Was versteht man unter Congestion, Dilation und Einheits-/Flussenergie? 82. Was ist der Unterschied zwischen der Routingzeitanalyse in Festnetzen und Manets? 83. Wie modellieren wir eine Interferenz im Rundfunkmodell? 84. Geben Sie eine untere Schranke für die Routingzeit an und erklären Sie sie. 85. Was können Sie zur Energie- und Routingzeitoptimierung sagen? 86. Kennen Sie eine worst-case Konstruktion für die Anzahl der Interferenzen? 87. Was ist die Diversität? Kennen Sie obere/untere Schranken für die Diversität einer Knotenmenge? 88. Erklären Sie die Idee zum Aufbau des hierarchischen Schichtengraph. 89. Können mehr als zwei der Parameter Congestion, Dilation und Energie gleichzeitig optimiert werden? 7 13. Vorlesung KW 04/03 90. Erklären Sie den Unterschied zwischen Rundfunkmodell und Sektorenmodell. 91. Angenommen, ein Sektorengraph mit k Sektoren und nächster-Nachbar-Anbindung ist gegeben, was können Sie zum Zusammenhang sagen? 92. Was ist ein Spanner/weak-Spanner/Power-Spanner? Erläutern Sie den Zusammenhang zwischen Spanner, weak Spanner und Power-Spanner. 93. Welche Sektorengraphen kennen Sie? Welche Abhängigkeit besteht zwischen den Sektorengraphen? 94. Charakterisieren Sie die Sektorengraphen anhand ihrer Grapheigenschaften (Spanner, weak Spanner, Power-Spanner, Interferenzen, Kanten). 95. Wie kann man den Power-Stretchfaktor beim Yao Graphen verbessern? Welchen Wert erhält man dann? 96. Was ist eine gerichtete Interferenz? 97. Ist es theoretisch sinnvoll, den Yao-Graphen als Funknetzwerk einzusetzen? 98. Was können Sie zu dem inversen Yao-Graphen sagen? 99. Wie und wie schnell berechnen Sie den Yao-Graphen zentral? 100. Wie lang ist der im Beweis zur Weak-Spanner-Eigenschaft von SparsY-Graphen konstruierte Weg? 14. Vorlesung KW 05/03 101. Was können Sie über die Graph- und Kommunikationseigenschaften der in der Vorlesung vorgestellten Sektorengraphen sagen? 102. Wie viele Aktualisierungen sind notwendig, wenn ein Knoten das Netzwerk verlässt oder hinzukommt? 103. Geben Sie einen verteilten, lokalen Algorithmus an, mit dem sich die Sektorengraphen aufbauen lassen. 104. Erklären Sie ein Routingprotokoll für den Yao-Graphen unter der Annahme, dass Ortsinformationen vorhanden sind. 105. Helfen Ortsinformationen im SparsY- oder SymmY-Graphen auch weiter? 106. Was können Sie über die Dilation in den Sektorengraphen sagen? 107. Kennen Sie eine Modifikation des Yao-Graphen, die die Dilation verbessert? 15. Vorlesung KW 06/03 108. Erläutern Sie das Call-Control-Problem. 109. Warum kann keine Strategie das Call-Control-Problem optimal lösen. 110. Was ist das Skiverleih-Problem? 111. Wie bestimmt sich das kompetitive Verhältnis eines Online-Algorithmus? 112. Wie gut ist der Greedy-Algorithmus für eine geeignete Variante des Call-Control-Problem? 113. Was ist ein Oblivious Adversary? Wozu benötigt man dieses Modell? 114. Wie effizient ister Classify-and-Randomly-Select-Algorithmus für eine geeignete Variante des CallControl-Problems? 8 16. Vorlesung KW 07/03 115. Beschreiben Sie den Block-and-Randomly-Serve-Algorithmus. 116. Wieviele Requests werden im Durchschnitt durch den Block-and-Randomly-Serve-Algorithmus akzeptiert? 117. Welches kompetitive Verhältnis erreicht der Block-and-Randomly-Serve-Algorithmus? 9 10 Kapitel 2 Einf ührung 1. Vorlesung Drahtlose Kommunikationsnetzwerke haben sich in der Alltagswelt durchgesetzt. Unter solchen Funknetz18.10.2002 werken verstehen wir Rundfunkempfänger, Fernsehen, Mobilfunknetzwerke, CB-Funk, Satellitenkommunikation und selbst Infrarotfernbedienungen. All diesen Netzwerken ist gemein, dass sie elektromagnetische Wellen zur Übertragung von Informationen benutzen und dass im Gegensatz zu Glasfaserkabel, keine sonstige Übertragungsinfrastruktur notwendig ist. Natürlich interessieren wir uns als Informatiker besonders für Kommunikationsnetzwerke für Computer. Auf lange Sicht wird man wohl kaum ein Kommunikationsnetzwerk finden können, in dem nicht Computer auf der Empfänger und Senderseite zu finden sind. 2.1 Referenzmodell Referenzmodelle für Kommunikationsnetzwerke kamen mit der Entwicklung von Rechnernetzwerken auf. Damit sind sie mitunter jünger als einige Funknetzwerke, die wir hier betrachten werden. Trotzdem werden wir versuchen, die einzelnen Methoden den Schichten zuzuordnen. Für eine kompakte Darstellung und Vergleich dieser Referenzmodelle empfehlen wir das Buch von Tanenbaum [Tan96]. Die wichtigsten Referenzmodelle sind das ISO OSI (International Standards Organization/Open Systems Interconnection) Referenzmodell und das Internet-Referenzmodell. 2.1.1 Das OSI-Schichtenmodell Die einzelnen sieben Schichten dieses Modells sind die folgenden (siehe auch [BB99]). 1. Physikalische Schicht (Physical Layer) In dieser Schicht wird die Übertragung einzelner Informationen (Bits) über den Kommunikationskanal beschrieben. Diese Informationen müssen in Signale (in unserem Fall elektromagnetische Wellen) umgewandelt werden und übertragen werden. Die Abbildung von Information auf Singale nennt man Modulation, die Rückabbildung Demodulation. Für Funkverbindung beschreibt man hier insbesondere über welche Frequenz, mit welcher Amplitude, etc. die Rohdaten verschickt werden. 2. Verbindungsschicht/Sicherungsschicht (Data Link Control Layer) Diese Schicht wird unterteilt in eine (untere) Medium-Access-Control-Schicht (MAC Layer) und eine (obere) Logical-Link-Control-Schicht (LLC Layer). Im MAC-Layer wird das Problem des Mediumzugriffs (Medium Access) gelöst. Dieses Problem ist besonders wichtig für Funknetzwerke, in denen das Übertragungsmedium allen Teilnehmern zur Verfügung steht, aber die gleichzeitige Verwendung unvermeidbar zu Datenverlust führt. Somit müssen sich im Vorfeld die Sender über die Verteilung des Mediums einigen. Im LLC-Layer wird ein einfacher Datentransport von einer Station zu einer Nachbarstation hergestellt. Bestätigungsnachrichten werden erzeugt, evtl. verlorene Datensegmente werden wiederholt. 11 Abbildung 2.1: Vergleich der drei Referenzmodelle Eine weitere Aufgabe dieser Schicht ist die Koordination zwischen Kontrollinformation, wie etwa Bestätigungen, und Nutzinformation, d.h. die eigentlich zu übertragenden Daten. 3. Netzwerkschicht/Vermittlungsschicht (Network Layer) Die Hauptaufgabe der Netzwerkschicht ist die Kontrolle des (Teil-) Netzwerks. Hierzu gehört die Bestimmung von Pfaden zur Versendung von Information (Routing), der Vermeidung und Behebung von Engpässen (bottleneck) und die Verwaltung von Teilnehmerinformationen, um festzustellen, ob Teilnehmer im Netzwerk vorhanden sind. Eine weitere wichtige Aufgabe ist die Flusskontrolle (congestion control). Hierbei muss sichergestellt werden, dass die Teilnehmer nicht mehr Pakete versenden als vom Netzwerk bewältigt werden kann. 4. Transportschicht (Transport Layer) Diese Schicht zerlegt Datenströme aus der Sitzungsschicht in Teilpakete und initiiert den Versand mit der Netzwerkschicht. Es handelt sich hier um eine end-to-end-Schicht, in der evtl. Zwischenstationen nicht berücksichtigt werden. Ist es notwendig, mehrere Verbindungen gleichzeitig zu verschieden Zielen zu unterhalten, so initiiert die Transportschicht mehrere Verbindungen. Der eigentliche Transport der Datenpakete wird auf die Netzwerkschicht delegiert. 5. Sitzungsschicht (Sesion Layer) Dieses Schicht überwacht und steuert die Kommunikation zwischen den Endgeräten. Sie betrachtet die gesamte Kommunikation vom Beginn bis zum Ende einer Sitzung als eine Einheit. Eine Hauptaufgabe ist hierbei die Synchronisation. Daneben wird der Zugriff von Benutzern auf bestimmte Betriebsmittel oder Dienste überwacht oder eingeschränkt (z.B. der Zugriff auf interne Dateisysteme etc.). 6. Darstellungsschicht (Presentation Layer) Diese Schicht befasst sich mit Syntax und Semantik der übertragenen Nachrichten. Hierzu gehört die Konvertierung von Datenstrukturen, wie z.B. die Umsetzung von ASCII in EBCDIC-Code, oder die Umwandlung von Zahlendarstellungen. Daneben gehören kryptographische Funktionen, als auch Datenkompression zu den Aufgaben dieser Schicht. 12 7. Anwendungsschicht Hier werden die Dienste angeordnet, die dem Anwender zur Verfügung stehen. Diese reicht von Datenübertragung, Terminals, EMail bis zu HTTP oder Videokonferenzen. 2.1.2 Das Internetreferenzmodell Hier wird eine Kurzbeschreibung des Internetschichtenmodells beginnend mit der obersten Schicht wiedergegeben. Der Hauptunterschied zum OSI-Schichtenmodell ist, dass das Internetreferenzmodell mehr eine historisch gewachsene Struktur beschreibt und weniger ein systematisches Konzept wie das OSISchichtenmodell. Dies beeinträchtigt dieÜbertragbarkeit auf andere Netzwerke. 2.1.3 Anwendungsschicht (application layer) Durch Anwendungen, wie z.B. EMail, WWW (HTTP), Telnet oder FTP (File Transfer Protocol), werden Datenströme zwischen zwei Rechnern erzeugt. Verbindungen im Internet sind immer bidirektional. Oft handelt es sich um Client-Server-Strukturen, wobei die Datenmenge beträchtlich variieren kann. Im Falle von FTP kann zum Beispiel von Host A nach B nur wenige Bytes in der einen Richtung und dagegen 100 MBytes in der Gegenrichtung transferiert werden. Die gegenläufigen Datenströme sind insbesondere nicht unabhängig. Die eigentliche Kommunikation wird delegiert auf die Transportschicht. 2.1.4 Transportschicht (transport layer) Im Internet existieren zwei ¨außerst unterschiedliche Protokolle: TCP (Transmission Control Protocol) TCP erzeugt einen zuverlässigen Datenfluss zwischen zwei Rechnern. Hierfür werden die Datenströme aus der Anwendungsschicht in Pakete angemessener Länge unterteilt. Sowohl diese Pakete, als auch Bestätigungsnachrichten (Acknowledgment) für erhaltene Pakete, werden dann mittels der Netzwerkschicht versandt. UDP (User Datagram Protocol) UDP ist ein einfacher Dienst, der Päckchen von einem Rechner zu einem anderen Rechner ohne Erfolgsgarantie verschickt. Im Gegensatz zu TCP muss die Anwendungsschicht die Päckchengröße vorgeben. Aus diesem Päckchen wird ein Datagramm gebildet und durch die Netzwerkschicht verschickt. Die Transportschicht ist am Routing nicht beteiligt, Dieses wird durch die Netzwerkschicht erledigt. Sowohl Anwendungsschicht als auch Transportschicht sind end-to-end-Protokolle. 2.1.5 Netzwerkschicht (Network layer) Die Netzwerkschicht von TCP/IP ist IP (Internet Protocol) und realisiert einen unzuverlässigen verbindungslosen Datagrammauslieferungsdienst. Ein Datagramm besteht im Wesentlichen nur aus dem Datenpaket, Sender- und Empfängeradresse. Die Aufgabe von IP ist, dieses Datagramm unverändert vom Sender zum Empfänger zu befördern. Ist keine direkte Verbindung zwischen Sender und Zielrechner vorhanden, werden als Zwischenstationen Rechner benutzt. Diese Rechner werden Router genannt. Die Weitergabe der Datagramme geschieht ausschließlich durch Weitergabe von Router zu Router, als hop-to-hop-Protokoll. Jedes Datagramm wird unabhängig behandelt. Deswegen können Datagramme in veränderter zeitlicher Reihenfolge am Zielrechner eintreffen. Auch die Datagramme tragen keinerlei Routing-Information. Der Weg eines Datagramms ergibt sich aus einer Folge von lokalen Entscheidungen der Router. 13 Abbildung 2.2: Sinus-Kurve 2.1.6 Host-to-network Diese Ebene wird im Internet-Schichtenmodell kaum betrachtet, da von der Idee her, das Internet sich ausschließlich mit der Verknüpfung lokaler Netzwerke (LAN) beschäftigt. Damit wird vorausgesetzt, dass die Wirkungsweise lokaler Netzwerke unabhängig beschrieben wird. 2.1.7 Tanenbaums Referenzmodell In dieser Vorlesung folgen wir dem Referenzmodell von Tanenbaum [Tan96]. Es besteht aus fünf Schichten und wird kombiniert aus dem OSI und Internet-Referenzmodell. 1. Physikalischer Schicht (OSI) 2. Verbindungsschicht (OSI) 3. Netzwerkschicht (OSI/Internet) 4. Transportschicht (OSI/Internet) 5. Anwendungsschicht (Internet) Der Grund, dieses Schichtenmodell vorzuziehen, ist dass das Internetmodell die gerade für Funkkommunikation interessanten unteren Schichten nicht ausreichend differenziert. Dagegen unterscheiden sich ab der Sitzungsschicht drahtlose und drahtgebundene Kommunikation kaum. Wir konzentrieren uns daher auf die Beschreibung der unteren Schichten und verzichten auf eine Betrachtung der oberen Schichten des OSI-Modells. 2.2 Die physikalische Schicht Bewegte elektrisch geladene Teilchen verursachen elektromagnetische Wellen. Die elementare Wellenform ist die Sinuskurve wie in Abbildung 2.2 in der Amplitudendarstellung dargestellt. Die Parameter einer Sinusschwingung sind die folgenden. Die Frequenz beschreibt die Anzahl der Oszillationen pro Sekunde gemessen in Hertz (Hz). Die Wellenlänge beschreibt die Distanz (in Metern) zwischen zwei Wellenmaxima betrachtet man die Schwingung über den Raum verteilt zu einem bestimmten Zeitpunkt. beschreibt die Verschiebung der Kurve im Vergleich zu einer . Die Phasenverschiebung normierten Sinussschwingung 14 Abbildung 2.3: Approximation einer Rechteckkurve Die Periode beschreibt die zeitliche Dauer der Wiederkehr der Funktion. Durch Antennen können elektromagnetische Wellen erzeugt und empfangen werden. Die Ausbreitungsgeschwindigkeit von elektromagnetischen Wellen im Vakuum ist gemäß der Einsteinschen Relativitätstheorie konstant und wird als Lichtgeschwindigkeit bezeichnet. Hieraus ergibt sich der Zusammenhang Fouriertransformation Fast jede stetige periodische Funktion kann in eine Linearkombination von elementaren Sinusschwingungen zerlegt werden. Darüber hinaus können auch einige nicht stetige Funktion dargestellt werden. Solch ein Zerlegung einer periodischen Funktion wird Fouriertransformation genannt. Voraussetzung ist, dass die Funktion den Dirichletschen Bedingungen genügt: 1. Die Funktion 2. ist in ist periodisch, d.h. in endlich vielen Intervallen stetig und monoton. 3. Falls f nicht stetig in . ist, dann ist Mit wird der Grenzwert von kleinen Werten kommend und mit kommend bezeichnet1. von größeren Werten den Dirichletschen Bedin üge gen in , so dass gilt Theorem 1 (Satz von Dirichlet) Die Funktion gungen. Dann existieren Fourierkoeffizienten 1 Äquivalent hierzu ist für alle & "! $ # % )' ( '+*, - ' - .0/21 I 43 /21 5 6+I 785:9<;3>=?5:9A@ 5"B478C5:9D=E5:9GFH3>@ I J 85 9 @K; J 8C5 6 @%F L J 85 B @ INM .PO gibt es ein , so dass für alle 15 und gilt Abbildung 2.4: Sägezahnkurve und Fouriertransformation (I) Für - Die Fourierkoeffizienten , Für - können wie folgt berechnet werden: ' ' *), - - Den Beweis der Richtigkeit dieser Aussagen kann man in Standardwerken der Analysis finden. Natürlich kann man mit einer linearen Transformation den Satz von Dirichlet auf jede andere Funktion mit einer anderen Periode als übertragen. Beispiel: Rechteckkurve und Sägezahnkurve In Abbildung 2.3 ist eine Rechteckkurve und die ersten fünf Elemente der Folge der Fouriertransformierten dargestellt. Die Berechnung der Fourierkoeffizienten kann als Übungsaufgabe gelöst werden. Die periodische Funktion der Sägezahnkurve ist definiert als , für periodisch ergänzt, so dass sie den Dirichletschen Bedingungen genügt. und In Abbildung 2.4 ist die Sägezahnkurve schwarz, die Fouriertransformierte erste blau und die zweite Fouriertransformierte rot dargestellt. In Abbildung 2.5 Berechnet man nun die Fourierkoeffizienten erhält man sieht man die Geschwindigkeit der Approximation der Sägezahnkurve durch sechs Entwicklungen der Fouriertransformation. Frequenzbereiche Wellen verschiedener Frequenz werden sogenannten Frequenzbänder oder Frequenzbereiche zugeordnet. Maßgebend ist gemäß Tabelle 2.1 die Wellenlänge. 16 Abbildung 2.5: Sägezahnkurve und Fouriertransformation (II) Deutsche Bezeichnung Längstwelle Langwelle Mittelwelle Kurzwelle Ultrakurzwelle — — — Abk. — LW MW KW UKW – – – Internationale Bezeichnung Very Low Frequency Low Frequency Medium Frequency High Frequency Very High Frequency Ultra High Frequency Super High Frequency Extra High Frequency Abk. Wellenlänge VLF 10km – 100km LF 1km – 10km MF 100m – 1km HF 10m – 100m VHF 1m – 10m UHF 10cm – 1m SHF 1cm – 10cm EHF 1mm – 1cm Tabelle 2.1: Deutsche und Internationale Bezeichnungen der Frequenzbereiche. Abbildung 2.6: Frequenzbänder 17 Frequenzb¨ ander f ¨ur Funknetzwerke Mit der momentan verfügbaren Technologie kann man in den niedrigen Frequenzbereichen nur einige Bits pro Sekunde (Baud) übertragen, aber um Größenordnungen mehr mit höheren Frequenzen. Für den Einsatz in Funknetzwerken eignen sich bis jetzt nur bestimmte Bereiche. VHF/UHF für Mobilfunk SHF für Richtfunkstrecken, Satellitenkommunikation UHF bis SHF: Wireless Local Area Networking (W-LAN), geplant: EHF Sichtbares Licht für Kommunikation durch Einsatz von Laser Infrarot Fernsteuerungen für kleine lokale LAN in geschlossenen Räumen Ausbreitungsverhalten Im Vakuum breiten sich elektromagnetische Wellen geradlinig mit Lichgeschwindigkeit aus. Dabei nimmt die Leistung im Abstand proportional zu ab. Durch Absoprtion in der Luft und anderen Störungen muss man in der Praxis diese Leistungsabnahme mit und mitunter auch mit Exponenten bis 4 oder 5 modellieren. Dämpfung in der Luft ist insbesondere für die Frequenzbereiche HV und VHF ein Problem. Daneben können Störungen auch durch Abschattung geschehen. Hierbei muss das Hindernis relativ zur Wellenlänge eine gewisse Ausdehnung haben. Das ist der Grund, warum längere Wellen Gebäude durchdringen können, sehr kurze aber schon durch ein Blatt Papier abgeschattet werden. Daneben gibt es Reflexion, Streuung an kleinen Hindernissen und Beugung an scharfen Kanten als Möglichkeiten der Veränderung der Wellenausbreitung. So folgen VLF, LF, MF-Wellen der Erdkrümmung (bis zu 1000km in VLF) und sind wegen der Wellenlänge in der Lage, Gebäude zu durchdringen. HF, VHF-Wellen dagegen werden am Boden absorbiert. Trotzdem können diese Wellen jenseits der Sichtlinie verbreitet werden. Das liegt daran, dass sie von der Ionosphäre in 100-500km Höhe reflektiert werden können. Ab 100MHz (d.h. VHF und darüber) ist die Wellenausbreitung geradlinig. Diese Wellen sind kaum in der Lage, Gebäude zu durchdringen. Diese Strahlen können gut fokussiert werden und damit zur Richtfunkübertragung verwendet werden. Ab 8 GHz muss man mit einer Wellenabsorption durch Regen 2. Vorlesung rechnen. 23.10.2002 Empfangsprobleme ergeben sich häufig durch Mehrwegeausbreitung (Multiple Path Propagation). Das Signal kommt aufgrund von Reflektion, Streuung und Beugung auf mehreren Wegen beim Empfänger an und wird durch die endliche Geschwindigkeit des Lichts zeitlich versetzt empfangen. Durch diese zeitliche Versetzung kann es zu Interferenzen kommen, die eine Abschwächung des Empfangssignals oder eine Fehlinterpretation des Signals zur Folge haben. Bewegen sich Empfänger oder Sender ergeben sich weitere Probleme. Zum Einen kann es zu kurzzeitigen Einbrüchen (short term fading) kommen, wenn z.B. der Empfänger in einem Auto sich kurzzeitig in abgeschattete Bereiche bewegt. Dann ergeben sich möglicherweise andere Übertragungswege oder die Phasenlage verändert sich, was für phasenmodulierte Kommunikation problematisch ist.. Der Effekt, der entsteht durch Veränderung der Distanz zwischen Sender und Empfänger wird, wird long term fading genannt. Digitale Modulationstechniken Digitale Informationen kann man nicht direkt vom Sender zum Empfänger durch Rechteckkurve übertragen. Das Hauptproblem ist hierbei, dass dadurch sehr viele (theoretisch unendlich viele) Unterschwingungen mit nicht zu vernachlässigbarer Amplitude entstehen und entsprechend viele Frequenzbänder belegen (Übungsaufgabe). Daher verwendet man Modulationstechniken. 18 A[V] 1 0 0 0 T[s] Abbildung 2.7: Amplitudenmodulation A[V] 0 1 0 0 T[s] Abbildung 2.8: Frequenzmodulation 1. Amplitudenmodulation (amplitude shift keying/ASK) In Abbildung 2.7 ist diese, einfachste Modulationstechnik dargestellt. Zwar ist die technische Realisierung sehr einfach, aber diese Modulation ist am anfälligsten gegen Störungen. Typischerweise kann man für Funkverbindungen keine gleich hohe Amplituden garantieren. Somit werden Amplitudenschwankungen möglicherweise als digitale Signale interpretiert. 2. Frequenzmodulation (frequency shift keying/FSK) Dieses in Abbildung 2.8 dargestellte Modulationsschema wird häufig für drahtloseÜbertragungen benutzt. Verglichen mit der Amplitudenmodulation ist es wesentlich weniger fehlerempfindlich, benötigt aber eine große Bandbreite im elektromagnetischen Frequenzspektrum. 3. Phasenmodulation (phase shift keying/PSK) Hier wird die Phase des Trägersignals verschoben, um die Daten zu repräsentieren. In Abbildung 2.9 ist eine Phasensprung von verwendet worden, um den Übergang von 0 auf 1 oder 1 auf 0 zu kodieren. Im Vergleich zu den beiden anderen Modulationstechniken ist hier die Demodulation wesentlich komplexer. 19 A[V] 0 0 1 0 T[s] Abbildung 2.9: Phasenmodulation Empfang von Daten Wie bereits erwähnt, nimmt die Empfangsleistung mit dem Abstand zum Sender polynomiell ab, d.h. Empfangsleistung Sendeleistung Abstandsverlust ist. wobei der Abstandsverlust (path loss) proportional zu mit Das Signal zu Interferenz/Rauschverhältnis (SINR) gibt ein Maß für Möglichkeit, Signale zu empfangen (und zu erkennen). Es setzt sich zusmmane aus : Empfangsleistung vom gewünschten Sender, : Empfangsleistung von störenden Sender(n), : Sonstige Störungen (z.B. Rauschen). Eine notwendige Voraussetzung für den sicheren Empfang von Daten ist, dass das Verhältnis SINR einen gewissen Schwellwert überschreitet. 2.3 Mehrfachnutzung des Mediums Das elektromagnetische Wellenband als Kommunkationsmedium steht allen Teilnehmer zur Verfügung. Dies ist ein Vorteil wenn ein Sender vielen Empfängern Signale aussendet, wie z.B. im Radio oder Fernsehen. Wenn mehrere Sender unabhängig kommunizieren wollen, erweist sich dies als Problem, wie z.B. in Mobilfunknetzwerken. Man kennt folgende Techniken diesen gleichzeitigen Zugriff auf das Medium zu gewährleisten. Raumaufteilung (Space-Multiplexing) Hier verwendet man den Abstandsverlust um parallele Kommunikation zu gewährleisten. Dies ist das Systemprinzip von zellularen Netzwerken. Hier wird die abzudeckende Flächen in Zellen unterteilt, in deren Zentrum die Basisstation die Versorgung sicherstellt. Die Lage dieser Basisstationen wird hierbei so gewählt, dass zum einen die Abdeckung der Gesamtfläche maximiert und dieÜberlappung der Schnittstellen minimiert wird. Dies kann zum Beispiel mit einem Wabenmuster geschehen. 20 Eine andere Art der Raumaufteilung ist die Verwendung gerichteter Antennten. Hierbei wird der Vollkreis einer Basisstation in Sektoren aufgeteilt (z.B. GSM: drei Sektoren), die unabhhängig voneinander bedient werden können. Als Raummultiplex kann auch Richtfunk mit Parabolantennen bezeichnet werden. Durch die genaue Ausrichtung dieser Antennen ist eine Störung anderer Kommunkation praktisch ausgeschlossen. Genauso wie Kommunikation durch Modulation von Laserstrahlen eignen sich diese Technologien kaum für mobile Kommunikation. Ein weiteres Beispiel für Raummultiplexing ist Infrarotkommunikation. Ohne Ausrichtung von Empfänger und Sender wird kaum eine Kommunikation aufrecht zu halten sein. Daher ist die Gefahr durch Störung anderer Teilnehmer sehr gering (stärker aber die Gefahr durch Störung des Empfangs durch direkte Sonneneinstrahlung). Frequenzmultiplex Teilt man die Bandbreite in Frequenzabschnitte auf, so ist es möglich, dass Sender-/Empfängerpaare unabhängig über Funk kommunizieren. Hierbei ist zu beachten, dass durch die Art der Signalmodulation die Frequenzabstände bestimmt werden. Außerdem strahlen starke Signale stärker in benachbarte Frequenzräume aus, was bedeutet, dass zum Beispiel in zellularen Netzen, benachbarte Waben gewissen Frequenzabstände einhalten müssen. Frequenzmultiplex funktioniert auch für analoge Signale/Systeme. Ein weiterer Vorteil ist, dass keine dynamische Koordination notwendig ist. Ein Nachteil ist, dass ganze Frequenzbandbreiten vergeben werden ohne dass notwendigerweise diese zur Kommunikation verwendet werden. Zeitaufteilung (Time-Multiplexing) Natürlich kann man Interferenzen grundsätzlich vermeiden, wenn evtl. interferierende Sender nicht gleichzeitig senden. Der Sender belegt den gesamten Frequenzraum dann für einen gewissen Zeitraum. Hierzu kann man für jeden Sender Zeitscheiben definieren, die Sendepausen und Sendezeiten festlegen. Natürlich ist hierzu eine genaue Synchronisation der Sender notwendig. Daneben wird ein gewisser Teil der Bandbreite verschenkt, wenn diese Zeiteinteilung nicht dynamisch angepasst wird. Eine dynamische Anpassung würde eine genaue Koordination notwendig machen. Zeit und Frequenzmultiplex In der Praxis arbeitet man mit einer Kombination dieser Verfahren. Zum Beispiel im GSM (global system for mobile communication) belegen Sendungen für gewisse Zeitabschnitt bestimmte Frequenz. Dies gibt einen gewissen Abhörschutz und Schutz gegen Störungen. Außerdem erhält man eine höhere Benutzerdatenrate durch Verwendung vieler Frequenzbereiche. Hierbei muss durch die Basisstation eine genaue Koordination gewährleistet sein. Spreizen der Kanäle und Hopping Eigentlich wurde die Kanalspreizung eingeführt, um die Signalübertragung von einer (natürlichen oder technisch bedingten) Störung auf einem Teil des Frequenzbereichs unabhängig zu machen. Der positive Nebeneffekt ist, dass diese Kanalspreizung eine Mehrfachnutzung des Mediums ermöglicht. – Direct Sequence Spread Spectrum (DSSS) Hier wird jedes Datenbit beim Sender in eine Folge von chips aufgeteilt, die durch bitweise Ausführen einer Xor-Operation mit einer Folge Pseudozufallsbits entstehen. Dieses neu enstandene Signal wird nun auf verschiedene Frequenzen moduliert (durch zweifache Frequenzmodulation). Der Empfänger demoduliert entsprechend und erhält durch Anwenden der gleichen Pseudozufallsbits auf die Chips (im Idealfall) die gesendete Datenfolge. Dadurch, dass fremde Signale mit einer anderen Folge von Pseudozufallszahlen kodiert sind, erscheinen sie als Hintergrundrauschen und gehen bei der Demodulation unter. Dieses Verfahren beruht auf der den Demodulationsbausteinen eigenen Signalerkennung und ist daher algorithmisch nicht direkt zu erfassen. Im Prinzip ist dieses Verfahren stark verwandt mit dem (algorithmischen) Codemultiplexing, dass wir gleich noch näher betrachten werden. 21 – Frequency Hopping Spread Spectrum (FHSS) Hier verändern Sender und Empfänger gemäß eines vereinbarten Pseudozufallsverfahrens zeitlich die Sende- und Empfangsfrequenzen. Man unterscheidet hier zwei Versionen: Schneller Wechsel (fast hopping) Hier wird schneller die Frequenz gewechselt, als Datenbits übertragen werden. Dadurch wird automatisch eine Fehlerkorrigierung möglich. Langsamer Wechsel (slow hopping): Hier werden auf einer Frequenz mehrere Nutzdatenbits übertragen, bis die Frequenz dann (pseudo-) zufällig gewechselt wird. Dieses Verfahren wird zum Beispiel von Bluetooth auf den 79 dort verfügbaren Frequenzen angewendet. Code-Multiplexing: Code Division Multiple Access (CDMA): Jedes Nutzdatenbit wird mittels orthogonaler Codes in einer Folge von chips kodiert und übertragen. Wir wenden uns gleich ausführlich dieser Methode zu. 2.3.1 Code Division Multiple Access (CDMA) Wir gehen davon aus, dass Teilnehmer gleichzeitig einer Empfangsstation eine Nachricht senden möchten. Die Grundannahmen dieses Verfahrens sind, dass alle Sender die Empfangsstation mit gleicher Leistung erreichen und alle Sender senden synchron arbeiten. Außerdem kann der Empfänger feststellen, wieviele Sender das Bit 0 und das Bit 1 gesendet haben, z.B. beidurch Empfangsstärke bei Amplitudenmodulation. Jeder der Sender arbeitet mit einem -Bit-Code , genannt Chip-Sequenz, wobei in der Praxis mit Chips gearbeit wird. Diese “Unter”-Bits (Chips) werden sequentiell übertragen, wobei der Empfänger zwar feststellen kann, wieviele davon oder waren, aber nicht wer welches Bit gesendet hat. mit zwei m-Bit-Code-Wörtern Eine Chip-Sequenz kodiert also ein Bit, wobei jeder Empfänger 2 arbeitet . Die Chip-Sequenz kodiert und muss das normalisierte innere Produkt 0 ergeben, d.h.3 : das Bit . Für alle & ')( ' ' Weil das normalisierte innere Produkt ein Skalarprodukt ist, nennt man diese von CDMA orthogonal. Lemma 1 Für alle gilt: Beweis: (2.1) & ( & ( 3 Für & ( & ( & ( 2 Zur (2.2) 22 (2.1) (2.2) & ( ;A= !" 8 # @$! verschiedenen Codes vereinfachten mathematischen Darstellung kodieren wir dies “Unterbits” mit beschreibt die transponierte Matrix, d.h. eine Matrix . statt mit >1D= . % % Wenn nun der Empfänger gleichzeitig Chip-Sequenz A und B empfängt, heißt das, dass er zum Zeitpunkt gleichzeigt und erhält. Da wir angenommen haben, dass der Empfänger die Anzahl der verschiedenen Signale zählen kann, kann der Empfänger auch be Chips misst er den Vektor . Dann berechnet stimmen. Über den gesamten Zeitraum der der Empfänger für Sender : und erhält 1 für Bit 0, und -1 für Bit 1 oder 0 für den Fall, dass der Empfänger kein Bit gesendet hat. Die Korrektheit dieser Aussage folgt aus diesem Theorem, hierbei bezeichnen die fremden orthogonalen Codes, während die Chipsequenz des gewünschten Senders darstellt. Theorem 2 Sei wobei , Beweis: ( und für alle ( & & gilt ( ( . Dann ist Zur Veranschaulichung soll folgendes Beispiel dienen. Beispiel: Wir starten mit den folgenden drei orthogonalen Codes aus 4 Chips. Sender 1 sendet Bit 0, Sender 2 sendet Bit 1 und Sender 3 sendet überhaupt nicht. Somit wird gleichzeitig in der ersten Zeiteinheit und übertragen und beim erscheint . Empfänger Ebenso in der zweiten Zeiteinheit. In der dritten Zeiteinheit wird und übertragen und der Empfänger kann identifizieren, genau wie in der vierten Runde. Damit wird der folgende Vektor empfangen: Somit kann von Sender 1 dekodiert werden was Bit entspricht. Währendessen wird von Sender 2 dekodiert: was Bit entspricht. Schließlich erbringt die Dekodierung bezüglich Sender 3: 23 24 Kapitel 3 Zellulare Netze Die ersten analogen Mobilfunknetzwerke vertrauten auf der Unterteilung der zu versorgenden Fläche in Zellen mit einer Basisstation und einer starren Frequenzzuteilung eines Frequenzbands auf die Zellen. Wir haben es hier also mit einer Kombination aus Frequenzmultiplex und Raummultiplex zu tun. Sicherlich kann man hier höchstens nachträglich von der Beschreibung eines Mediumzugriff im Schichtenmodell sprechen, da diese analogen Systeme nicht für digitale Kommunikation von Rechnern konzipiert und eingesetzt wurden. Obgleich diese zellularen Netze mit ihrer starren Frequenzaufteilung immer seltener eingesetzt werden, wollen wir uns in diesem Kapitel damit beschäftigen, weil einige der damit verbundenen Teilprobleme wie z.B. Voronoi-Diagramme sowohl in modernen Mobilfunknetzwerken vorkommen als auch eine eigenständige Bedeutung besitzen. An andere Probleme, wie etwa das Frequenzzuweisungsproblem, zeigen wir an Hand ihrer kombinatorischen Schwierigkeit exemplarisch, wie man diese feststellt und wie man doch für die Praxis brauchbare Lösungen erhalten kann. Man beachte, dass beim Frequenzzuweisungsproblem (frequency assignment problem) schon allein die Modellierung dieses Problems nicht trivial ist. Man sieht dies daran, dass z.B. in benachbarten Zellen nicht benachbarte Frequenzen verteilt werden können, das sonst Interferenzen auftreten können. 3.1 Voronoi-Diagramme 3. Vorlesung Wir betrachten jetzt das Best-Station-Problem, d.h. für einen gegebene Menge von Basisstationen und einen 30.10.2002 Ort, bestimme den Sender mit dem besten Signal-Interferenz-Rausch-Verhältnis. Vernachlässigt man alle Einflüsse auf diesen Quotienten bis auf die Abnahme der Empfangsleistung mit der Entfernung, erhält man als Lösung sogenannte Voronoi-Diagramme, deren Eigenschaften wir in diesem Abschnitt genauer betrachten werden. Zum vertiefenden Studium für diesen Bereich sei das Buch von Klein, Algorithmische Geometrie empfohlen [Kle97]. Definition Wir Euklidischen Raum, d.h. auf Punkte in beschränken unsere Betrachtungen auf den zweidimensionalen verwenden wir den Euklidischen Abstand, . Als Abstandsmaß zweier Punkte , auch bekannt als -Norm Der sogenannte Bisektor zweier Punkte ist der Unterraum aller Punkte, die zu Abstand besitzen, d.h. Diese Mittelsenkrechte zerlegt in zwei offene Halbebenen 25 und den gleichen Abbildung 3.1: Zellulares Netz mit Basisstation und mobilen Empfängern p Bisektor B(p,q)=B(q,p) D(p,q) D(q,p) q Abbildung 3.2: Bisektor zweier Punkte und Siehe hierzu Abbildung 3.2 Für eine gegebene Punktmenge VR bezeichnen wir mit VR , definiert als die Voronoi-Region von bezüglich (Abbildung 3.3). Als Übungsaufgabe sei empfohlen, zu beweisen, dass Voronoi-Regionen konvex sind. Mit einer Voronoi-Region beschreiben wir also das Gebiet einer gegeben Funkstation, in welchem sie stärker empfangen wird als alle anderen. Das Voronoi-Diagramm VD ergibt sich aus allen Punkten der Ebene, die nicht zu den VoronoiRegionen gehören: VD VR (Für eine Punktmenge bezeichne das Komplement der Menge .) Da die VoronoiRegionen konvex sind, kann für zwei Punkte und höchstens ein zusammenhöngendes Stück des Bisektors zum gemeinsamen Rand gehören. Das schränkt die Menge der gemeinsamen Punkte ein auf Dies sind also alle Punkte, die mehr als einen nächsten Nachbarn besitzen. Ein Punkt auf dem gemeinsamen Rand von zwei Voronoi-Regionen VR und VR muss zum Bisektor von und gehören, denn es ist VR VR 26 VR(p,V) p Abbildung 3.3: Voronoi-Region eines Punktes Punkte, Strecken, Halbgeraden und Geraden. Besteht der gemeinsame Bisektor nur aus einem Punkt, nennen wir ihn Voronoi-Knoten (oder Voronoi-Punkt), die anderen Voronoi-Punktmengen nennen wir VoronoiKanten. Um festzustellen, ob ein Punkt ein Voronoi-Punkt ist, ob er auf einer Voronoi-Kante liegt oder in einer Voronoi-Region, kann man das folgende Lemma verwenden. Lemma 2 Sei ein Punkt der Ebene und sei Voronoi-Diagramm einer Punktmenge : 1. 2. der sich von ausbreitende Kreis 1 . Dann gilt für das genau dann, wenn in der Voronoi-Region von liegt. genau dann, wenn auf einer Voronoi-Kante zwischen trifft zuerst nur auf zwei Punkte trifft zuerst nur auf einen Punkt den Regionen von und liegt. 3. ' mit - ' angrenzen. trifft zuerst genau auf die Punkte Knoten an den die Regionen von genau dann, wenn ist ein Voronoi- Der Beweis dieses Lemmas sei zur Übung empfohlen. Eine Folgerung dieses Lemmas ist, dass die Existenz von Voronoi-Geraden ein Spezialfall ist, der nur dann auftreten kann, wenn alle Punkte der Menge auf einer Geraden liegen. Deshalb werden wir diesen in Abbildung 3.4 dargestellten Spezialfall im folgenden ausschließen. Wir werden also nur Punktmengen betrachten, die nicht alle auf derselben Gerade liegen und damit als Voronoi-Kanten nur Halbgeraden und Strecken erhalten. sich z.B. in [Kle97], Seite 215-217. Folgende Beziehung gilt zwischen Voronoi-Diagrammen und der konvexen Hülle von . Hierbei ist die konvexe Hülle CH definiert als CH konvex Für eine endliche Knotenmenge erhält man als konvexe Hülle eine Region, dessen Rand durch ein konvexes Polygon beschrieben wird. Die Eckknoten der konvexen Hülle sind hierbei Knoten aus (siehe Abbildung 3.5). Lemma 3 Ein Punkt der konvexen Hülle von hat genau dann eine unbeschränkte Voronoi-Region, wenn er auf dem Rand liegt. Beweis: Angenommen, VR ist unbeschränkt. Dann existiert ein anderer Punkt in , so dass VD ein unbeschränktes Stück des Bisektors als Kante enthält, weil die Voronoi-Region aus einem 1 D.h. Wir betrachten eine Folge von Kreisen mit Mittelpunkt 5 und zunehmenden Radien 27 Abbildung 3.4: Nur wenn alle Punkte von auf einer Geraden liegen, können Voronoi-Geraden auftreten Abbildung 3.5: Konvexe Hülle einer Punktmenge Schnitt von endlich vielen Halbebenen hervorgegangen ist. Wir betrachten jetzt einen beliebigen Punkt auf diesen Abschnitt des Bisektor in VD , der o.B.d.A. rechts von der Gerade liegt. Liegt ein weiter Punkt von näher an als oder , dann würde kein Punkt des Voronoi-Diagramms sein. Also müssen alle Punkte weiter weg liegen als die Entfernung . Angenommen es gäbe nun einen Punkt rechts von der Gerade durch und , wie in Abbildung 3.6 gezeigt. Dann gibt es einen Punkt auf dem Bisektor, der gleich weit von , und entfernt ist. Jeder Punkt rechts von wäre nun näher an als an und . Damit wäre der Bisektor nach rechts abgeschlossen, was der Annahme seiner Unbeschränktheit widerspricht. Damit ist die Halbebene rechts von der Gerade frei von Punkten aus und die Punkte und müssen auf der konvexen Hülle von liegen. Für die Gegenrichtung betrachten wir zwei benachbarte Ecken der konvexen Hülle CH . Ohne Beschränkung der Allgemeinheit liegen die Punkte links von der Gerade durch . Wir betrachten die Senkrechte auf durch den Punkte und alle Kreise mit Mittelpunkt auf rechts von und Randpunkt , siehe Abbildung 3.7. Diese Kreise beinhalten keine weiteren Punkte aus und nach Lemma 2 sind daher alle Punkte dieser Halbgerade Elemente des Voronoi-Region von . Diese ist daher unbeschränkt. Das Voronoi-Diagramm mit seinem Knoten, Kanten und Flächen stellt ein Speziallfall eines geometri schen Graphen dar. Im allgemeinen kann man einen ungerichteten Graph in geometrisch realisieren, wenn man seine Knoten paarweise auf paarweise verschiedene Punkte abbildet und seine Kanten auf einfache Wege, die diese Punkte verbinden und unterwegs kleine solche Punkte besuchen, abbilden kann. Problematisch bei dieser Betrachtung sind die unbeschränkten Kanten beschrieben durch Halbgeraden2 . Um diese als Kanten zwischen zwei Voronoi-Knoten beschreiben zu können, führen wir einen unendlich weiten Punkt ein, der als Endpunkt aller Halbgeraden dient. eines Graphen , indem Eine Zusammenhangskomponente ist der maximale Teilgraph 2 Den Fall der Geraden haben wir ausgeschlossen. 28 p B(p,q) x q w Abbildung 3.6: Der Voronoi-Punkt beschränkt die Voronoi-Kante des Bisektors nach rechts p p q Abbildung 3.7: Jeder Punkt (hier und auf der Halbgeraden mit rechten Winkel zur Strecke diese in schneidet, ist Teilmenge der unbeschränkten Voronoi-Region von 29 , die jeder Knoten einen Weg in zu jedem anderen Knoten besitzt. Somit besitzt jeder Graph eine eindeutige Zerlegung in Zusammenhangskomponenten. Die Zusammenhangskomponenten von nennt man die Flächen des Graphen. Es gilt für geometrische Graphen die Eulersche Formel Theorem 3 Sei ein kreuzungsfreier geometrischer Graph in der Ebene und bezeichne die Anzahl der Knoten (vertices), die Anzahl der Kanten (edges), die Anzahl der Flächen (faces), die Anzahl der Zusammenhangskomponenten von $ Dann gilt (connected component). Diesen Satz kann man beweisen, indem man beginnend mit dem leeren Graph eine vollständige Induktion über die Anzahl der Knoten und Kanten durchführt. Eine direkte Folgerung aus der Eulerschen Formel ist Korollar 1 Für einen kreuzungsfreien geometrischen Graph besitzen, gilt: , dessen Knoten alle mindestens Grad 4. Vorlesung Theorem 4 Das Voronoi-Diagramm zu gegebenen Punkten in der Ebene hat viele Voronoi-Knoten 6.11.2002 und Voronoi-Kanten. Der Rand einer Voronoi-Region besteht im Mittel aus h öchstens sechs Kanten. Beweis: Da das Voronoi-Diagramm immer unbeschränkt ist, definieren wir das beschränkte VoronoiDiagramm, in dem alle Voronoi-Punkte, alle beschränkten Voronoi-Kanten und Teilstücke der VoronoiKanten vorkommen. Hierzu betrachten wir zum Beispiel einen Kreisauschnitt des Voronoi-Diagramms, wobei der Kreis alle Vorononi-Punkt in seinem Kreisinneren besitzt (und damit bis zum Kreisrand auch die unbeschränkten Voronoi-Kanten wenigstens teilweise vorkommen), siehe Abbildung 3.8. Die Schnittpunkte der unbeschränkten Voronoi-Kanten mit werden mit bezeichnet, die Kreissegmente zwischen diesen Schnittpunkten formen Kanten . Damit folgt aus obigen Korollar, dass die Anzahl der Knoten und Kanten dieses neuen beschränkten Graphen linear beschränkt ist in der Anzahl der Voronoi-Regionen. (Diese Knoten und Kantenanzahl enthält als auch die im Voronoi-Diagramm nicht vorkommenden Knoten und .) Diese Beziehung zwischen Voronoi-Diagramm und konvexen Hülle hilft uns, eine untere Schranke zur Zeitkomplexität zur Berechnung des Voronoi-Diagramms zu formulieren. Aus dem Grundstudium sollte noch folgendes bekannt sein. Theorem 5 Das Sortierproblem von Zahlen hat eine Zeitkomplexität von mindestens , . Für diesen Beweis wird gezeigt, dass die Berechnung jedes deterministischen Maschinenmodells mit Hilfe eines Entscheidungsbaums dargestellt werden kann. Ein Entscheidungsbaum der Tiefe korrespon diert dann mit einem Algorithmus mit Zeitkomplexität . Ein solcher Binärbaum hat höchstens Blätter, die dann einer erfolgreichen Berechungen einer Eingabe entsprechen. Insgesamt gibt es verschieden permutierte Eingaben und daher muss die Tiefe des Baums mindestens entsprechen. , , , , Hieraus ergibt sich folgende untere Schranke für die Berechnung der konvexen Hülle. 30 Γ Abbildung 3.8: Der Kreis beinhaltet alle Voronoi-Punkt und beschränkt alle Voronoi-Kanten y y=x2 x Abbildung 3.9: Jeder Punkt einer endlichen Teilmenge der Parabel liegt auf der konvexen Hülle , Theorem 6 Die Berechnung der konvexen Hülle einer gegebene Punktmenge hat mindestens Zeitkomple xität . Beweis: Wir reduzieren das Problem Zahlen zu sortieren auf die Berechnung der konvexen Hülle. Hierfür betrachten wir die Punktmenge . Diese liegen auf den Rand der konvexen Hülle, wie in auf einer Parabel und damit befindet sich jeder der Punkte Abbildung 3.9 gezeigt. Wir fordern, dass nicht nur die Punktmenge, sondern auch die Kantenmenge des umgebenden konvexen Polygons berechnet wird. Folgt man nun den Kanten dieses Polygons, so wird man ausgehend vom kleinsten Wert , welches man in Linearzeit bestimmen kann, die sortierte Folge der Zahlen erhalten. Damit kann kein Algorithmus diesen Graphen schneller als in Zeit berechnen, da sonst das Sortieren von Zahlen zeiteffizienter möglich wäre. Um die effizientes Rechnen in geometrischen Graphen zu ermöglichen, reicht es nicht aus, diesen als Adjazenzliste zu führen. Wenn man zum Beispiel die Kanten einer Fläche aufzählen möchte, dann kann es an einem Randknoten mit hohen Ausgrad zu erheblichen Zeitverlusten führen. Deswegen führen wir die Datenstruktur der doubly connected edge list (DCEL) ein. Zu jeder Kante mit den angrenzenden Flächen und speichert man außer den Verweisen auf auch Verweise auf die erste Kante mit Endpunkt , die im Uhrzeigersinn auf folgt, und auf die erste , 31 p e’’ F e q F’ e’ Abbildung 3.10: Verweise einer Kante bei der DCEL-Zeigerstruktur Kante mit Endpunkt im Uhrzeigersinn hinter ; siehe Abbildung 3.10. Wenn man zusätzlichen die entsprechenden Kanten gegen den Uhrzeigersinn speichert erhält man die Datenstruktur quad edge data structure (QEDS). Wir setzen im folgenden voraus, dass die Berechnung eines geometrischen Graphs ebenfalls diese Struktur zur Folge hat. Setzt man nun voraus, dass Voronoi-Diagramme in einer solchen Datenstruktur gespeichert werden, erhält man für die Berechnung des Voronoi-Diagramms folgende untere Schranke. Theorem 7 Aus dem Voronoi-Diagramm VD die konvexe Hülle von ableiten. einer -elementigen Punktmenge l ässt sich in Zeit Beweis: Aus dem Endpunkt einer unbeschränkten Voronoi-Kanten erhalten wir einen Start Randpunkte der konvexen Hülle in Linearzeit. Folgt man jetzt immer der einer unbeschränkten Voronoi-Kante rechs benachbarten beschränkten Voronoi-Kanten, so benötigt man Linearzeit um das Voronoi-Diagramm zu umschreiten. Die den unbeschränkten Voronoi-Kanten benachbarten Voronoi-Regionen beschreiben die Randpunkte der konvexen Hülle im Uhrzeigersinn. Damit ergibt sich folgendes Korollar. , Korollar 2 Die Konstruktion des Voronoi-Diagramm von . Punkten in der Ebene hat die Zeitkomplexit ät Damit kennen wir eine untere Schranke für die Zeitkomplexität zur Berechnung des Voronoi-Diagramms. Wir werden nun im folgenden zeigen, dass diese Schranke scharf ist, indem wir einen Algorithmus mit dieser asymptotischen Zeitkomplexität angeben. Diese Aufgabe ist wesentlich aufwändiger. Voronoi-Diagramms: Für Punkte gibt Insbesondere ergibt sie sich nicht direkt aus der Definition des es Bisektoren. Nun haben Geraden im allgemeinen mögliche Schnittpunkte. Berechnet man also allein diese Schnittpunkte, überschreitet man die gewünschte Rechenzeit bei weitem. Wir verwenden hier die sogenannte Sweep-Technik, die von Fortune auf Voronoi-Diagrammen eingeführt wurde [For86]. Wir starten unsereÜberlegungen mit der Punktmenge die gleichweit von der Geraden und einem Punkt entfernt sind. Für diese Punkte gilt ( ( Hieraus ergibt sich die Gleichung Offenbar ist die gesuchte Punktmenge eine Parabel. Wir bezeichnen nun die Gerade als Sweep-Line und lassen sie von Punkt nach unten wegbewegen. Wir sehen hierbei, wie sich die Parabel öffnet und mit der Zeit die gesamte Ebene überstreift (vgl. animierte Folie aus Vorlesung). 32 Betrachten wir nun Punkte, sehen wir Parabeln nach unten streifen. Hierbei fügen wir die Parabeln erst ein, wenn die Sweep-Line über die Punkte streift. Wir werden sehen, dass für uns nur die unteren Abschnitte der Parabelstücke von Interesse sind. Diese unterteilen die Wellenfront in Parabelstücke. Insbesondere interessieren wir uns für zwei Ereignisse: 1. Entstehen eines Parabelstücks (Typ A) Ein neues Parabelstück entsteht, wenn die Sweep-Line über einen Punkt aus streift. 2. Verschwinden eines Parabelstücks (Typ B) Wir werden gleich sehen, dass hierbei ein Voronoi-Punkt entsteht und eine Voronoi-Kante abgeschlossen wird. , Theorem 8 Für jede Menge von Punkten in der Ebene kann das Voronoi-Diagramm VD auf Platz konstruiert werden. 5. Vorlesung 14.11.2002 in Zeit Beweis: Wir berechnen das Voronoi-Diagramm mit Fortune’s Algorithmus (1997). Dabei lassen wir eine Sweep-Line von oben nach unten über die Punktemenge laufen. Der folgende Beweis stammt aus dem Buch von de Berg et.al., Computational Geometry [MKOS00] und wurde übernommen aus dem Vorlesungsskript von Tamás Lukovszki zur Vorlesung Geometrische Algorithmen. Ein ähnlicher Beweis ist in dem Buch von Rolf Klein zu finden. Die Vorhersage der Ereignisse ist nicht so offensichtlich: Punkte, die unter der Sweep-Line liegen, können Ecken über der Sweep-Line generieren (Abb. 3.11). l l Abbildung 3.11: Das Wellenfront verurscacht durch die Sweep-Line Die Wellenfront: Sei definiert: teilt die Halbebene über zusammen mit . Die Wellenfront ist bezüglich in zwei Bereiche: Der Bereich über : Alle Punkte über haben ihren nächsten Nachbarn auch über von , die unter liegen, haben darauf keinen Einfluß mehr. Das Voronoi Diagramm über sicher. Der Bereich unter unter haben. : Punkte, die zwischen . Punkte ist also und liegen, können ihren nächsten Nachbarn auch Die Menge der Punkte, die von einer Linie und einem Punkt gleich entfernt sind, liegen (wie bereits erläutert) in einer Parabel . Jeder Punkt über definiert also eine Parabel . Die Wellenfront ist also eine Funktion, die zu einem -Wert den tiefsten -Wert aller Parabeln zuordnet. Da die Parabeln -monoton sind, ist auch -monoton3 3 5 -monoton heisst, dass jede vertikale Gerade nur einen Schnittpunkt mit 33 besitzt. besteht aus parabolischen Bögen. Die Stellen, in denen sich zwei Bögen schneiden, heißen Bruchpunkte. Die Bruchpunkte haben die gleiche Entfernung von zwei Punkten von und von , daher müssen sie in einer Voronoi Kante liegen. Schnittpunkte der Wellenfront fahren das Voronoi-Diagramm ab. Während sich die Sweep-Line nach unten bewegt wird, erhalten wir die Wellenfront . Wir erhalten nicht explizit, da sich die Form von mit der Bewegung von kontinuierlich ¨andert. Wir müssen nur die Ereignisse verwalten, wobei sich die Topologische Struktur von ändert. Es gibt zwei Ereignistypen: 1. Entstehen eines Parabelstücks (Typ A) Wenn die Sweep-Line einen neuen Punkt von erreicht, wird ein neuer Bogen in die Wellenfront eingefügt. Dazu muß der Bogen in , der direkt über liegt, gefunden werden. (Nehmen wir an, liegt nicht unter einem Bruchpunkt von . Dieser Spezialfall kann aber einfach behandelt werden.) Dann wird gesplittet, und ein infinitissimal dünner Bogen für wird eingefügt. Wenn sich weiter nach unten bewegt, wird dieser Bogen breiter (Abb. 3.12). Abbildung 3.12: Wellenereignis vom Typ A Es kann gezeigt werden, daß ein neuer Bogen in nur durch ein Typ A Ereignis auftauchen kann. (Keine Parabel kann von oben die Wellenfront durchbrechen.) Daraus folgt, daß die Wellenfront höchstens Bögen enthält: Nach jedem Punkt-Ereignis enthält um 2 Bögen mehr als vorher. Beachte, daß Typ A Ereignisse von Anfang an bekannt sind. 2. Verschwinden eines Parabelstücks (Typ B) Wenn ein parabolischer Bogen in zu einem Punkt schrumpft, wird er aus entfernt, und eine neue Voronoi Ecke wird in VD erzeugt. So ein Ereignis wird durch Bögen generiert, die in benachbart sind. Hier wird ein Ereignis von drei aufeinander folgenden Bögen generiert. Betrachte 3 Punkte , , , die in drei aufeinander folgende Bögen definieren. Nehmen wir an, daß ' ' , (a) der Kreis um , , nicht vollständig über liegt, d.h die Voronoi Ecke zu , nicht generiert wurde, und (b) ' noch keinen Punkt von enthält, d.h. kein (zukünftiger) Punkt wird die Erzeugung der Voronoi Ecke verhindern (Abb. 3.12). Im Augenblick, wenn den tiefsten erreicht, verschwindet der Bogen von aus . In Punkt von VD treffen sich die Kanten und in einer Voronoi Ecke, und die Konstrution der Kante beginnt. ' ' Der Sweep-Line-Algorithmus: Die Datenstrukturen, die wir verwalten müssen: 1. Das (partielle) Voronoi-Diagramm Der Teil von VD , der bereits konstruiert wurde, wird als DCEL gespeichert.Technische Schwierigkeit: Repräsentierung der unbegrenzten Kanten. Wir nehmen an, daß wir eine genügend große ”bounding box” haben, in die das ganze Diagramm hereinpasst. 34 e ij p e jk j p e ij e jk j p p i p p i p k p e ij e jk j i pk k e ik Abbildung 3.13: Wellenereignis vom Typ B 2. Die Wellenfront Die Wellenfront ist durch einen binären Suchbaum repräsentiert. Sie ist die Sweep-Status-Struktur. Die Blätter von repräsentieren die parabolischen Bögen und die internen Knoten die Bruchpunkte der Wellenfront (Abb 3.14). T p p i p j (p ,p ) j k l (pk,pl ) (p ,p ) i j pk pi pj Abbildung 3.14: Datenstruktur für Punkte pk pl Die Bögen werden nicht explizit gespeichert, die Blätter von speichern nur die Punkte, die die Bögen definieren, und die internen Knoten die Punktpaare, die die Bruchpunkte definieren. Die exakten Koordinaten der Bruchpunkte können aus der aktuellen Position von und den zwei definierenden Punkte berechnet werden. muß die folgenden Operationen unterstützen: Für eine gegebene Position von , bestimme für eine vertikale Linie den Bogen, der sie schneidet. Bestimme für einen Bogen seinen linken und rechten Nachbarn in der Wellenfront. Füge einen neuen Bogen für in durch Splitten eines vorhandenen Bogens .ein. Sei Punkt, der den gesplitteten Bogen definiert. Dann entstehen die Blätter , der Entferne einen Bogen aus der Wellenfront. unterstützt alle diese Operationen in 3. Ereignis-Warteschlange Zeit. ist eine Prioritätswarteschlange, wobei die Priorität der Ereignisse ihre -Koordinate ist. chert die Ereignisse, die bereits erkannt wurden. spei- ' ein Ecken-Ereignis, ' ' Die Priorität dieses Ecken-Ereignisses ist die -Koordinate des tiefsten Punktes von ' . ' und der Test, ob er die Linie schneidet, kann in Zeit durchDie Berechnung von Für jedes Tripel von aufeinanderfolgenden in enthält und Blättern um die Sweep-Lne scheidet. wenn der Kreis geführt werden (Abb. 3.15). 35 T (pj ,pk ) (pi , pj ) pi Q (pk ,pl ) pj pk pl Abbildung 3.15: Ereigniswarteschlange Jedes Ecken-Ereignis hat einen Pointer auf die drei benachbarten Blätter von , die es generieren, und jedes Tripel von benachbarten Blättern in hat einen Pointer auf das Ecken-Ereignis in , das von den 3 Punkten generiert wird (wenn es existiert). Wenn ein Punkt-Ereignis (Typ A) auftritt, wird ein neuer Bogen eingefügt, und die Tripel von aufeinanderfolgenden Blätter ¨andern sich. Dementsprechend müssen einige Ecken-Ereignisse aus gelöscht und einige neue Ecken-Ereignisse in eingefügt werden. Algorithmus Voronoi-Diagram( ) 1. Initialisiere mit allen Punkt-Ereignissen. do Sei das Ereignis mit maximalen -Koord. if ein Punkt-Ereignis then 2. while HandlePointEvent( ), wobei else HandleVertexEvent( ), wobei Enferne aus der Punkt ist, der generiert hat. der tiefste Punkt des Kreises ist, der generiert hat. . HandlePointEvent( ) 1. Finde den Bogen in , der durch die vertikale Linie durch Eckpunkt-Ereignisse von , in denen involviert ist. geschnitten wird. Lösche alle , wobei . Rebalanciere 2. Ersetze das Blatt, das repräsentiert, durch einem Baum, der drei Blätter hat: der Punkt ist, der definiert hat. Die neuen internen Knoten sind und , wenn es nötig ist. 3. Erzeuge neue Rekorde im Voronoi-Diagramm für die zwei Halbkanten, die rieren. Die zwei neuen Bruchpunkte werden dieser Kante folgen. und sepa- 4. Teste die Tripel, die einen von den neuen Bogen involvieren, ob sie ein Ecken-Ereignis erzeugen, d.h ob der entsp Kreis die Sweepline schneidet. Wenn ja, füge diese Ereignisse in ein (falls sie noch nicht in waren). HandleVertexEvent( ) 1. Finde den Bogen in , der vertikal über ist. wird aus der Strand-Linie verschwinden. Lösche alle Eckpunkt-Ereignisse aus , die involvieren. 36 2. Lösche das Blatt aus , das repräsentiert. Aktualisiere die internen Knoten von , die die Bruchpunkte repräsentieren. Rebalanciere , wenn es nötig ist. 3. Erzeuge einen Rekord für die neue Voronoi-Ecke und zwei neue Halbkanten-Rekorde, die dem neuen Bruchpunkt der Strand-Linie entspricht. Setze die Pointer zwischen diesen Rekorden dementsprechend. 4. Teste die neuen Tripel von aufeinanderfolgenden Bögen, die nach dem Verschwinden von entstanden sind, ob sie ein Ecken-Ereignis erzeugen. Wenn ja, füge diese Ereignisse in ein (falls sie noch nicht in waren). , Laufzeitanalyse Die primitiven Operationen in und in können in Zeit durchgeführt werden. Für jedes Ereignis werden primitive Operationen in und in und elementare algebraische und RAM Operationen durchgeführt. Da es insgesamt Ereignisse gibt, ist die Gesamtlaufzeit . Der . Speicherbedarf ist , 3.2 Frequenzzuweisung 6. Vorlesung Im folgenden wollen wir uns nun damit beschäftigen, Basisstationen Frequenzen zuzuweisen, so dass eine 21.11.2002 Kommunikation mit drahtlosen Teilnehmern nahezu störungsfrei funktioniert. Sei eine Menge von Basisstationen gegeben. Wir suchen nach einer Funktion , die einer Basisstation eine Übertragungsfrequenz zuordnet unter Berücksichtigung von Frequenz- und Abstandsbedingungen. Beispiele für Nebenbedingungen und mögliche Ziele bei der Frequenzzuweisung sind u.a. Minimiere die Anzahl der vergebenen Frequenzen Minimiere die Breite des Frequenzspektrums Minimiere die Anzahl der Wellenüberlagerungen (Interferenzen) Hier ist anzumerken, dass das Ziel, die Anzahl der Störungen zu minimieren, in jeder Optimierung als Nebenziel verfolgt wird. Wie wird das Frequenzzuweisungsproblem nun modelliert? Definition 1 Der Graph Int heisst Interferenz-Graph für eine Menge von Basisstationen. Die Kanten sind gegeben durch die Interferenzen zwischen Basisstationen. D.h. zwei Knoten sind miteinander verbunden, wenn sich die zugehörigen Basisstationen während einer zeitgleichen Übertragung gegenseitig stören. Wir beginnen mit einer einfachen, intuitiven Variante der Interferenz-Modellierung. Sei der interferieren, Umkreis um eine Basisstation mit dem Radius . Zwei Basisstation und falls . Falls sich also die Sendebereiche zweier Basisstationen überschneiden, so sollten beiden Basisstationen unterschiedliche Sendefrequenzen zugeordnet werden um Störungen in der Schnittfläche zu vermeiden. Wir erkennen hier ein sehr schwieriges Problem, wie wir im folgenden sehen werden. Das Problem der Frequenzvergabe entspricht dem Problem, den ungerichteten Interferenz-Graph zu färben. ein ungerichteter Graph. Eine Abbildung und , - . Definition 2 Sei falls für - heisst -Knotenfärbung, Ein Beispiel einer gültigen Färbung ist in Abbildung 3.16 zu sehen. - Definition 3 Sei die kleinste Zahl , für die es in die chromatische Zahl. 37 - eine -Knotenfärbung gibt, dann heisst Abbildung 3.16: Planarer Graph mit gültiger 3-Färbung Das Graphfärbungsprobleme ist eines der fundamentalen Probleme der Graphentheorie. Vergleichbar wichtig ist das Problem in einem Graphen vollständige Teilgraphen (Cliquen) zu finden. In Abbildung 3.17 ist eine solche Clique dargestellt. Definition 4 Sei die größte Zahl von Knoten, die in Clique) bilden, dann nennen wir die clique Zahl. einen vollständigen Teilgraph (also eine Abbildung 3.17: Ein Clique der Größe 8 Sei der maximale Knotengrad eines Knotens in den Kenngrößen einer Färbung: . Es gilt folgender Zusammenhang zwischen gilt: Lemma 4 Für jeden ungerichteten Graphen Den Beweis dazu überlassen wir dem Leser als Übung. Die folgende Aussage zeigt die Komplexität unseres allgemeinen Frequenzzuweisungsproblems. - Theorem 9 Sei COLOR NP-vollständig für . - - -Knotenfärbung für den ungerichteten Graph - , dann ist COLOR Beweis: Um zu zeigen, dass COLOR NP raten wir für jeden Knoten eine Farbe . Es bleibt zu überprüfen, ob die sich daraus ergebene Funktion eine gültige -Knotenfärbung ist. Der Zeitaufwand hiefür ist polynomiell. Im zweiten Schritt zeigen wir, dass 3SAT COLOR, d.h. wir reduzieren 3SAT auf COLOR. Wir nehmen an, dass eine boolesche Formel 3SAT aus Klauseln und maximal Variable besteht. Nun konstruieren wir daraus einen Graphen , so dass folgendes gilt: 3SAT, d.h. -Knotenfärbung (Variable), (negierte Variable), ist erfüllbar besitzt eine Die Knoten von seien gegeben durch (Hilfsvariable) und (Klauseln). Wir konstruieren die folgenden Kanten, wie in Abbildung 3.18 gezeigt: für alle 38 für alle ' ' für alle Literale nicht in ' Idee der Färbung: bilden eine Clique, d.h. schon hier sind Farben zur Färbung erforderlich. Diese Farben seien (true-Farben). Wir färben jetzt jedes erfüllte Literal mit der entsprechenden true-Farbe und nehmen eine weitere, die false-Farbe, hinzu. Damit färben wir die nicht-erfüllten Literale. Wie färben wir nun die Klauseln? Abbildung 3.18: Reduktionsgraph für das Färbungsproblem “ Sei 3SAT, d.h. es ex. eine Belegung, die die Klauseln wahr macht. Wir färben ” den Graph wie oben erwähnt. Betrachte nun eine Klausel . Mindestens ein Literal dieser Klausel wurde mit einer true-Farbe gefärbt, da die Klausel erfüllbar ist. Die Klausel ist nur mit Literalen verbunden, die sie nicht enthält. Also kann sie mit der gleichen true-Farbe gefärbt werden (kein anderes Literal wurde mit dieser true-Farbe gefärbt). “ Sei 3SAT, d.h. es gibt keine Belegung, die die Klauseln wahr macht. Dann ” existiert eine Klausel , die ausschließlich Literale enthält, die mit der false-Farbe gefäbrt wurden. Außerdem ist dann mit Knoten aller true-Farben verbunden und mit mindestens einem Knoten, dem die false-Farbe zugeordnet wurde. Daher kann mit keiner dieser Farben gefärbt werden, und es wird eine weitere notwendig. Der Graph besitzt also keine -Knotenfärbung. Wir listen im folgenden einige weitere bekannte Resultate zur allgemeinen Knotenfärbung eines Graphen auf, um zu zeigen, wie schwierig das Problem ist. Anderseits führen nachweisbare Eigenschaften eines Graphen, wie z.B. die Planarität, dazu, dass das Problem zumindest teilweise effizient lösbar wird. Theorem 10 Es gelten folgende Aussagen: 1. Jeder planare Graph kann in Polynomzeit mit 4 Farben knotengef ärbt werden (Vier-Farben-Satz) 3. Der Test, ob ein planarer Graph eine -Knotenfärbung zulässt, ist ebenfalls NP-vollständig. 2. Jeder Graph kann in Polynomzeit auf -Knotenfärbbarkeit überprüft werden. Wir werden diese Aussagen im Rahmen dieser Vorlesung aus Zeitgründen nicht beweisen. 1. In [AH77a, AH77b] wird bewiesen, dass jeder planare Graph 4-färbbar ist. Allein aus dieser Aussage folgt noch nicht, dass man die gewünschte Färbung auch effizient finden kann. Aus dem Beweis der 4-Färbbarkeit kann man einen polynomialzeitbeschränkten Algorithmus zur Berechnung der Farbzuteilgung ableiten. 2. Diese Aufgabe kann der Leser als Übung selber lösen. Es zeigt sich, dass ein einfacher GreedyAlgorithmus eine 2-Färbung konstruieren kann, wenn sie existiert. 39 3. Obwohl für planare Graphen 2-Färbung und 4-Färbung effizient entscheidbar sind, bleibt das 3Färbungsproblem kombinatorisch schwierig [GJS74] Approximierbarkeit des Färbungsproblems Wenn also das Färbungsproblem nicht effizient lösbar ist, dann wäre es doch vorstellbar, dass man wenigstens eine Färbung berechenbar, die das korrekte Ergebnis approximiert. Hierfür betrachten wir zuerst folgende Begriffe der Approximationsgüte. Definition 5 Sei die Lösung eines Optimierungsproblems für eine Instanz . Dann ist mit absoluter Güte approximierbar, wenn es einen Polynomialzeitalgorithmus so dass für alle Instanzen der Größe gilt: ist mit relativer Güte approximierbar, wenn es einen Polynomialzeitalgorithmus dass für alle Instanten der Größe gilt: gibt, gibt, so In unseren Fall ist die Instanz der Graph , die Problemgröße wird durch die Anzahl der Knoten beschrieben und es gilt . Wendet man diese Begriffe richtig an, sieht man sofort, dass das Färbungsproblem eines planaren Graphs mit absoluter Approximationsgüte erreichen kann. Ebenso erhält man auch eine konstante relative Approximationsgüte. Wie verhält es sich aber für das allgemeine Graphfärbungsproblem? Hier ist die Situation weniger einfach, wie das folgende Theorem zeigt. Theorem 11 [BGS98] Die allgemeine Graph-Färbung ist nicht nur NP-vollständig, sondern auch nicht approximierbar mit einem Faktor besser als für , solange NP P gilt. approximiert werden kann [Hal93]. Im folgenden werden wir einen Approximationsalgorithmus vorstellen, der für einen ungerichteten Graphen das allgemeine Färbungsproblem löst, wobei er eine relative Güte von , garantiert. D.h. die Anzahl der Farben, die der Algorithmus liefert, ist höchstens , mal so groß wie die chromatische Zahl . Wir beginnen mit der technischen Vorarbeit. Lemma 5 Sei ein Graph, für den es eine - -Knotenfärbung gibt. Dann gibt es einen Knoten ' . mit grad ' eine unabhängiWir verwenden ein Durchschnittsargument um Lemma 5 zu beweisen: Sei ge Zerlegung einer Knotenmenge , d.h. zwei Knoten aus sind nicht untereinander verbunden, dann enthält eine Menge davon mindestens ' Knoten. Der vollständige Beweis dient als Übung. Es ist zu Auf der positiven Seite kann man nachweisen, dass das Färbungsproblem mit einer relativen Güte von erkennen, dass allen Knoten einer unabhängigen Menge (vgl. Independent Set) die gleiche Farbe zugeordnet werden kann. Die Idee des Färbungsalgorithmus ist nun, in jedem Schritt eine nicht erweiterbare unabhängige Menge zu bestimmen und die entsprechenden Knoten mit einer neuen Farbe zu färben. Zur Bestimmung einer nicht erweiterbaren unabhängigen Menge verwenden wir den folgenden Algorithmus: Algorithmus GreedyIS begin while do Erzeuge aus und wähle einen Knoten Lösche und alle Nachbarn von aus 40 mit minimalem Grad Füge od Ausgabe end zu hinzu Der Algorithmus GreedyIS berechnet eine nicht erweiterbare unabhängige Knotenmenge in Zeit . Das folgende Lemma sagt etwas aus über die Qualität der gefundenen Lösung. , ' Lemma 6 Sei . - Beweis: O.b.d.A. sei Nachbarn hat. D.h. - . Aus Lemma 5 folgt, dass Knoten und damit ' - Aus - Theorem 12 Sei ein Graph mit berechnet eine Färbung mit höchstens einer optimalen Lösung entfernt. Beweis: Mit Lemma 6: , ' , ' ' Die Anzahl der vergebenen Farben ist . Abbruch bei : , ' mit GreedyIS(G) - , Knoten, für den es eine -Knotenfärbung gibt. GreedyCol Farben und ist höchstens um den Faktor von ' - folgt die Anzahl der maximal notwendigen Schritte. D.h. , ' in Schritt höchstens - - - Algorithmus GreedyCol begin farbe while do Erzeuge aus und bestimme Färbe alle Knoten in mit farbe Entferne aus und erhöhe farbe um 1 od Ausgabe Knotenfärbung end ein Graph, für den es eine -Knotenfärbung gibt. Dann ist GreedyIS , ' . Sei , ' , ' . Mit , ' ' Nach spätestens Schritten (verteilten Farben!) ist der Zahl der verbliebenen Knoten kleiner als . Hier erhält nun jeder Knoten eine eigene Farbe, so dass die Zahl der vergebenen Farben nach oben begrenzt wird durch . 7. Vorlesung 28.11.2002 3.2.1 Labelling und Färbungsprobleme In der Modellierung von Frequenzzuweisungsproblemen (Frequency Assignment Problems) unterscheidet man zwei Grundtypen. 41 Färbungsprobleme Diese werden auch Frequenzzuweisungsprobleme mit wiederverwendbarer Frequenz genannt. Wie bereits vom klassischen Färbungsproblem bekannt, kann man hier Farben (=Frequenzen) immer wieder verwenden. Ziel ist es die Gesamtanzahl der Frequenzen zu minimieren unter Einhaltung der Frequenzabstände. Labelling-Probleme Im Gegensatz zu Färbungsproblem kann hier nur jede Farbe einfach vergeben werden. Erst die Einhaltung von Frequenzabständen macht dieses Problem nicht trivial. Diese Problemstellung findet in Frequenzspektren Anwendung, wo die Anzahl der Sender relativ gering ist (z.B. im Langwellenbereich), obgleich auf eine gewisse effiziente Ausnutzung des Spektrums nicht verzichtet werden kann. Eine Erweiterung stellen Mengen-(Färbung/Labelling)-Probleme dar, in denen jedem Sender eine Mindestanzahl von Frequenzen zugeordnet werden müssen. Auch hier ist ein Frequenzabstand einzuhalten. zweier Punkte sich All den folgenden Untersuchungen ist gemein, dass die Abstandsfunktion nicht auf den tatsächliche Euklidischen Abstand bezieht, sondern auf die Anzahl der Kanten auf den kürzesten Weg von nach in einem gegebenen ungerichteten (Interferenz-) Graph. Warum soll man weitere Modelle als das Färbungsproblem betrachten? Sicher ist das Färbungsmodell ein einfach beschreibbares und anschauliches Modell. Wir haben gesehen, dass es algorithmisch weder exfallen zusammen. Das Hauptproblem ist, akt noch approximativ gelöst werden kann, es sei denn und dass die praktischen Anforderungen an einer Frequenzzuweisung schlecht modelliert werden, da der Zusammenhang von hoher Sendeenergie in der Umgebung eines Senders und der Beeinflussung benachbarter Frequenzräume dadurch nicht dargestellt werden kann. 3.2.2 F*D-FAP - Im F*D-FAP (Frequenz zu Distanz-Frequenzzuweisungsproblem/frequency versus distance frequency assignment problem ) ist eine Knotenmenge und eine Interferenzgraph gegeben. Ferner sind die Distan zen und die Frequenzzwischenräume gegeben. Gesucht ist eine Frequenzzuweisung , so dass für alle gilt: - E- E - . Für eine Beispielinstanz Zu minimieren ist der maximale Funktionswert von , nämlich siehe Abbildung 3.19. Der Vorteil dieser Definition ist die Flexibilität und Allgemeinheit der Problemstellung, die Praxisnähe verspricht. Andererseits stellt die Allgemeinheit auch ein Problem dar. Man erbt die Komplexitäät enthaltener Teilprobleme, wie das klassische Färbungsproblem, während andererseits nicht jede Folge und realistisch ist. T-Färbung Dieses Problem ist definiert für eine feste endliche Menge . Betrachtet werden nur direkt benachbarte Radiostationen. Gegeben ist der ungerichtete Graph . Gesucht ist hier eine Färbung , so dass für alle gilt - Damit stellt sich -Färbung als Spezialfall von F*D-FAP mit und , Beispiel ist in Abbildung 3.20 dargestellt. Zwischen der -Färbungszahl und der Färbungszahl besteht folgender Zusammenhang. 42 dar. Ein Gegeben: k 1 T 3 4 6 8 12 1 3 14 9 5 3 {0} {0,1} D Gesucht: 2 {0,1,3} 2 1 7 Abbildung 3.19: Beispiel für eine F*D-FAP-Instanz und Lösung Gegeben: Gesucht: 1 3 1 4 6 3 1 3 5 Abbildung 3.20: -Färbungsinstanz für Lemma 7 Für alle ungerichtete Graphen 5 und Lösung und Mengen mit gilt: Der Beweis sei dem Leser zur Übung überlassen. Für die rechte Ungleichung kann man sich überlegen, dass Farben es genügt, die der Farbe zugeordnete Zahl mit für eine gegebene Färbung mit zu multiplizieren. Die erhaltene Frequenzverteilung genügt -Färbungsbedingung. Radio-Färbung Das Problem der Radio-Färbung berücksicht auch Interferenzen, die über die direkte Nachbarschaft hinausgehen. Die Problemstellung ist hier für einen gegebenen ungerichteten Graph eine Färbungsfunktion zu finden, so dass für Knoten gilt: falls d(u,v) = 1 : falls d(u,v) = 2 : - Auch diese Fragestellung ist ein Spezialfall von F*D-FAP. Hierbei wählt man , , , , . Hier kann man einen Zusammenhang der Radio-Färbungszahl zum maximalen Grad des Graphes herstellen: 43 gilt: Lemma 8 Für alle ungerichtete Graphen Beweis: Für die linke Ungleichung betrachtet man einen Knoten mit maximalen Grad . Alle Nachbarn dieses Knoten müssen verschiedene Farben besitzen. Hieraus folgt, dass die Anzahl der Farben mindestens sein muss. Für die rechte Ungleichung verbinden wir alle Knoten, die in der direkten Nachbarschaft eines Knoten sind. Dadurch erhalten wir einen Graphen mit einem Grad . Nun betrachten wir -Färbung auf diesen Graphen mit . Eine solche -Färbung garantiert eine Radiofärbung, d.h. . Nach Lemma 7 gilt . Aus Lemma 4 folgt . Gegeben: Gesucht: 2 8 3 6 4 8 1 3 5 7 Abbildung 3.21: Radio-Färbungsinstanz und Lösung Theorem 13 Es gelten foglende Aussagen. 1. Die Entscheidungsprobleme von T-Färbung und Radio-Färbung sind 2. Für jede Menge mit es sei denn -vollständig. ist das -Färbungsproblem nicht mit relativer Güte . 3. Radio-Färbung auf planaren Graphen ist mit relativer Güte approximierbar, approximierbar. Der Beweis des zweiten Punktes sei als Übungsaufgabe empfohlen (folgt aus Lemma 8). Für die nicht trivialen Beweise der Punkte 1. und 3. verweisen wir auf [FNPS01]. 3.2.3 Radio-Labelling Für einen gegebenen ungerichteten Graph gesucht, so dass für alle gilt: falls falls wird hier eine injektive Funktion Natürlich kann man bei Labelling-Problemen auf die zweite Bedingung verzichten. Radio-Labelling ist damit äquivalent zu -Labelling für , wenn man -Färbung entsprechend als -LabellingProblem umformuliert. Es stellt sich heraus, dass ein enger Zusammenhang zwischen Radio-Labelling und dem Problem des Hamiltonschen Pfads besteht. Allgemein ist beim Problem des Hamiltonschen Pfads ein Graph gegeben und das Entscheidungsproblem ist, ob ein Pfad im Graph existiert, der alle Knoten genau einmal besucht. Beim Optimierungsproblem ist zusätzlich eine Gewichtungsfunktion gegeben. Ziel ist es die Summe der Kosten des Hamiltonschen Pfads zu minimieren. Mit bezeichnen wir das Minimierungsproblem des Hamiltonschen Pfades eingeschränkt auf vollständige Graphen mit Gewich . tungsfunktion 44 Lemma 9 Radio-Labelling ist äquivalent zu HP(1,2). Beweis: Sei Gewichtsfunktion der Graph der dem Radio-Labelling zugrunde liegt. Wir definieren nun als falls , falls . gegeben durch eine Permuation Für einen Hamiltonschen Pfad definieren wir nun ein Labelling durch ' ' - & )' ( ' ' ' und aus . Damit ist Dieses Labelling ist ein gültiges Radio-Labelling, da für alle gilt folgt, dass ein existiert und , wobei . Es gilt ferner - Umgekehrt kann man mit der umgekehrten Transformation ebenso aus jedem Radio-Labelling eine Hamiltonschen Pfad erhalten, indem man einfach die Knoten gemäß ihrer Label sortiert. Auch hier gilt dann die eben beschriebene Gleichheit (siehe auch Abbildung 3.22). Radio−Labelling 5 HP(1,2) 3 2 4 2 1 2 1 7 2 2 1 2 1 2 5 2 2 4 3 Abbildung 3.22: Äquivalenz von Radio-Labelling und HP(1,2) Ein vollständiger Graph hat eine metrische Gewichtsfunktion ungleichung für alle , wenn diese der Dreiecks genügt. Man kann sich schnell davon überzeugen, dass jede Gewichtsfunktion mit Wertebereich einem vollständigen Graph eine Metrik darstellt. auf Theorem 14 Das Hamiltonsche Pfadproblem für vollständige Graphen mit metrischer Distanzfunktion kann mit relativer Güte approximiert werden. Beweis: Wir betrachten den minimal spannenden Baum (MST) mit Gewicht . Für den optimalen Hamiltonschen Pfad gilt natürlich , da jeder Pfad auch ein Baum darstellt. Wir berechnen zuerst den MST in polynomieller Zeit und traversieren alle Knoten dieses Baumes gemäß Abbildung 3.23. Hieraus ergibt sich ein Pfad , der jede Kante genau zweimal besucht und damit Knoten mehrfach besucht. Für das Gewicht des Pfads gilt: 45 Abbildung 3.23: Traversierung des minimal spannenden Baums ' Wir streichen jetzt in diesem Pfad alle Mehrfachvorkommen eines Knoten, indem wir nur das erste Vorkommen eines Knotens stehen lassen und erhalten . Allgemein gilt für einen Pfad für jede metrische Gewichtsfunktion : ' ' ' Damit gilt für den Hamiltonschen Pfad : Aufgrund der Äquivalenz von Radio-Labelling und ' folgt nun sofort: Korollar 3 Radio-Labelling lässt sich mit relativer Güte approximieren. Dieses Resultat kann man noch auf die relative Approximationsgüte von verbessern [FNPS01]. Wir erinnern uns, dass Radio-Färbung für planare Graphen schon -vollständig war.Überaschenderweise gilt das nicht für das entsprechende Labelling-Problem.4 Theorem 15 [FNPS01] Radio-Labelling für planare Graphen ist in . Aus Zeitgründen wird dieser anspruchsvolle Beweis im Rahmen dieser Vorlesung nicht besprochen. 4 Es sei denn " . 46 Kapitel 4 Radio Broadcasting 8. Vorlesung Unter Broadcasting-Kommunikation versteht man das Versenden einer Nachricht von einer Informations04.12.2002 quelle an alle anderen Teilnehmer. Under dem Radio Broadcasting-Problem versteht man das Problem, verteilt die Kommunikation so zu koordinieren, dass keine zwei Sender gleichzeitig versuchen diese Nachricht demselben Empfänger mitzuteilen. Geschieht das trotzdem, so wird nichts empfangen. Das heisst insbesondere, dass der Empfänger nicht unterscheiden kann, ob keine Nachricht gesendet wurde oder ob eine Nachrichtenkollision stattgefunden hat. Als praktische Motivation kann man sich einen Funknetzwerk aus Flugzeugen vorstellen, in welchem versucht wird, auf derselben Frequenz Nachrichten vom Tower an alle anderen Flugzeuge weiterzuleiten, auch wenn sie sich schon außerhalb der Reichweite des Towers befinden. Der Informationsfluss wird vollständig beschrieben durch einen ungerichteten Graphen , der dadurch gleichzeitig mögliche Verbindungen als auch Interferenzen beschreibt. Wenn keine Kante zwischen zwei Knoten vorhanden ist, dann ist weder Empfang noch Störung möglich. Wenn Kante existiert, kann u nach v senden und umgekehrt. Hierbei sendet ein Knoten gleichzeitig an alle Punkte seiner Nachbarschaft. Sei die direkte Nachbarschaft einer Station gemäß . Senden mindestens zwei Knoten aus gleichzeitig, so kann nichts empfangen. Wir gehen davon aus, dass die Stationen alle gleichgetaktet in Runden arbeiten. Das Netzwerk ruht, bis der Sender versucht, das Broadcasting durchzuführen. Alle Stationen, einschließlich der Urheber der Nachricht arbeiten nachdem selben Algorithmus. In Runde erhält der Sender die Nachricht, in der nächsten Runde kann der Sender anfangen diese zu verbreiten. Im Netzwerk ist immer nur eine Nachricht zu verbreiten. Die Aufgabenstellung wird in Abbildung 4.1 dargestellt. Den Teilnehmern ist nicht bekannt, wie das Netzwerk aufgebaut ist. Ziel ist es einen verteilten Algorithmus (d.h. einen Algorithmus zu entwerfen, der auf allen Stationen implementiert wird), der Broadcasting schnell und sicher durchführt, sofern das zugrundeliegende Netzwerk zusammenhängend ist. Leider ist das im Prinzip selbst für einfachste Netzwerke nicht möglich, wie das folgende Theorem besagt. Theorem 16 Es gibt keinen deterministischen Broadcasting-Algorithmus f ür das Radio-BroadcastingProblem1 . Beweis: Wir betrachten hierfür den Graphen aus Abbildung 4.2. Knoten stellt die Quelle dar. Sobald sendet, werden und gleichzeitig informiert. Da und synchron nach dem gleichen deterministi- schen Algorithmus arbeiten, senden und pausieren sie immer gleichzeitig. In beiden Fällen empfängt kein Signal. Damit wird das gesamte Netzwerk nie informiert, obleich der zugrundeliegende Graph zusammenhängend ist. Erlaubt man den Stationen einen randomisierten Algorithmus zu verwenden, so ist das BroadcastingProblem doch lösbar. Wir betrachten hierzu den Algorithmus Simple-Random in Abbildung 4.3 Sei der Durchmesser des Kommunikationsgaphen und sein Grad. Dann gilt folgendes Lemma. 1 ohne ID, d.h. für ununterscheidbare Radiostationen 47 ? ? ? ? ? ? ? Abbildung 4.1: Mögliche Netzwerke für Radio-Broadcasting q a b c Abbildung 4.2: Ohne IDs kann kein Radio-Broadcasting-Algorithmus diesen Graph informieren Simple-Random(t) begin if Nachricht for then tovorhanden do mit Wahrscheinlichkeit if fi mit Wahrscheinlichkeit then Sende (an alle Nachbarn) od fi end. Abbildung 4.3: Der Simple-Random-Algorithmus 48 Lemma 10 Ein Nachbarknoten wird in einer Runde mit Mindestwahrscheinlichkeit von falls mindestens ein Nachbar informiert war. informiert, Beweis: Die Wahrscheinlichkeit, dass einer von informierten Nachbarknoten ungestört genau sendet, ist: . mit Abstand zur Quelle . Sei Wir betrachten jetzt einen Knoten ein Pfad in von zu . Dann betrachten wir jetzt nur den (erfolgreichen) Informationsfluss entlang dieses Pfades. Wenn in einer gewissen Zeit Information entlang dieses Pfades transportiert werden kann, dann stellt diese Zeit eine obere Schranke für den Zeitbedarf zur Information von im gesamten Netzwerk dar. Damit unterschätzen wir also (möglicherweise) den wirklichen Informationsfluss und betrachten nur den Informationsfluss auf diesen Pfad P Lemma 11 Für jedes und gilt: Wenn auf einem Pfad der Länge eine Nachricht mit unabhängiger Wahrscheinlichkeit voranschreitet und mit Wahrscheinlichkeit stehen bleibt, dann ist die Wahrscheinlichkeit, dass die Information nach spätestens Schritten mit nicht durchgelaufen ist, höchstens Beweis: Für den Beweis denken wir uns den Pfad nach rechts unbeschränkt verlängert und notieren mit die Wahrscheinlichkeit, dass die Information in der Runde schon Schritte zurückgelegt hat. Wenn die Zufallsvariable beschreibt, welche die erfolgreich zurückgelegte Wegstrecke bezeichnet. Dann sieht man, dass diese beschrieben wird durch die Summe von binären gleichverteilten Zufallsvaria blen mit P und P . Damit wird durch eine Binomialverteilung beschrieben. Es gilt also P Wir halten ab sofort fest und schreiben daher verkürzend triviale Beobachtung fest (für ): Wir möchten jetzt die Wahrscheinlichkeit P & & ( ( statt . Wir halten zuerst einmal folgende nach oben abschätzen. Hierfür betrachten wir den Quotienten zweier aufeinanderfolgenden Terme . Es gilt + + 0 < + + 0 + 49 Angenommen für ein gilt und Damit gilt für : P & & (und damit für ( ( & ( # & ( Lemma 12 Für geeignetes lichkeit von mindestens bleiben. . Dann folgt daraus . Somit ergibt sich für da nach unserer gilt ersten Beobachtung ): < Somit ist & ( ' gilt: Simple-Random informiert das gesamte Netzwerk mit Wahrschein in Zeit , , wenn alle Stationen bis zum Ende aktiv Beweis: Wir betrachten einen Knoten und einen Pfad von der Quelle zu der höchstens Länge . Wir vernachlässigen andere Informationsflüsse und untersuchen nur die Wahrscheinlichkeit, dass die Information durch Broadcast-Operationen entlang dieses Pfades weitergereicht wird. Nach Lemma 10 ist die Erfolgswahrscheinlichkeit einen Schritt mindestens . Wir wenden für nun Lemma 11 an, wobei wir und setzen. Die Wahrscheinlichkeit zu scheitern, d.h., dass keine Information innerhalb der Zeit (für E- , - , E- "- ) ankommt, ist dann ' , , ' Modellerweiterung Im deterministischen Modell ist im allgemeinen kein Radio-Broadcasting möglich. Wer erweitern daher das Modell, um einen fairen Vergleich zwischen Probabilismus und Determinismus zu ermöglichen. Wir erlauben daher, dass ein deterministischer Algorithmus auf einer Radiostation eine eindeutige Identifikationsnummer ID aus dem Bereich verwenden darf. Außerdem ist die Gesamtanzahl der Knoten bekannt. Im probabilistischen Modell erlauben wir keine IDs, geben dem Algorithmus Informationen über die Knotenanzahl und den maximalen Grad . Wenn wir deterministische und probabilistische Algorithmen voraus. vergleichen wollen, setzen wir nur 50 E- Decay begin repeat Sende Nachricht an alle Nachbarn Ergebnis fairer Münzwurf (0/1 mit jeweils W’keit ) until oder end - Abbildung 4.4: Der Decay-Algorithmus 4.1 Effizientes Probabilistisches Radio Broadcasting 9. Vorlesung Wir werden jetzt eine elementaren verteilten Algorithmus Decay (siehe Abb. 4.4) kennenlernen, der ver11.12.2002 sucht, ausgehend von informierten Nachbarn, einen Knoten mit Wahrscheinlichkeit von mindestens zu informieren. Jeder der informierten Knoten sendet zuerst und wirft danach eine Münze, um zu bestimmen, ob er aufhört. Damit wird die Anzahl der kollidierenden Teilnhemer randomisiert ausgedünnt. Wir gehen also davon aus, dass Nachbarknoten gleichzeitig Decay starten. Dann bezeichne die Wahrscheinlichkeit, dass die Nachricht von Nachbarn in Runden erhalten wird. Nach dieser Definition gilt also für , dass , da hier kein Nachbar informiert ist. Im ersten Schritt des Algorithmus senden alle Teilnehmer gleichzeitig, damit ist also , da dann keine Blockade auftritt und für , da dann mindestens zwei Teilnehmer gleichzeitig senden und die Schleife nur einmal durchlaufen wird. Wenn zwei Nachbar informiert sind und zwei Runden zur Verfügung stehen, gliedert sich die Wahrscheinlichkeit in drei Fälle: E - - - E- 1. Zwei Nachbarn hören nach der ersten Runde auf. Dies passiert mit Wahrscheinlichkeit und wir erhalten den Fall mit keinem Nachbar und einer verbliebenen Runde, d.h. . 2. Ein Nachbar hört nach der ersten Runde auf. Hierfür haben wir Wahrscheinlichkeit und wir erhalten die Restwahrscheinlichkeit . 3. Kein Nachbar hört auf; Wahrscheinlichkeit hierfür ist und wir müssen diese Wahrscheinlichkeit mit der Erfolgswahrscheinlichkeit multiplizieren. können wir also die Wahrscheinlichkeit E - Wir erhalten also Im allgemeinen Fall mit Unterfällen “ Nachbarn hören auf” rekonstruieren: & E- & ( & ( ( - - Nachbarn hören auf Aus dieser Rekursion werden wir folgendes Lemma ableiten: Lemma 13 Für gilt: 51 E - $ als Rekursion aus den ' $! # E- . , gilt: E- 2. Für - 1. ' !$# E- - - ' !$# - . & ( Beweis: E - 1. Zuerst verdeutlichen wir uns, dass existiert. Dies kann man daraus schlussfolgern, dass die Werte mit monoton zunehmend sind (folgt aus einfachen Induktionsbeweis) und die Wahrscheinlichkeiten nach oben mit beschränkt sind. Wir bezeichnen daher : Damit gilt für und dann Wir betrachten zuerst Damit erhalten wir . Unter der Annahme, dass für korrekt ist, führen wir jetzt einen Induktionsbeweis durch. Es gilt & ( Demnach gilt also 2. Dass die Aussage für be. Wir betrachten daher nur den Fall E- ( & K . E- & ( Somit ist die Annahme . '' und , gilt, war Teil einerÜbungsaufga- - beschreibt die Wahrscheinlichkeit, dass Nachbarn einen Knoten in Runden informieren. Dieses Ereignis bezeichnen wir mit . Sei das Ereignis, dass der Knoten bei informierten Nachbarn jemals informiert wird und ist das Prädikate, das wahr ist, falls alle Nachbarn innerhalb von Runden aufhören (Dies ist eine hinreichende Bedingung für das Halten des Algorithmus). - 52 BGI-Broadcast begin - ,, wait until Nachricht kommt an for to do wait until Time Decay od , - E- end Abbildung 4.5: Der Broadcast-Algorithmus von Bar-Yehuda, Goldreich und Itai [BYGI87] Es gilt ' ' und damit ist E- ' ' ' ' ' ' ' , Die Wahrscheinlichkeit, dass gilt, ist also die Wahrscheinlichkeit, dass mindestens ein Nach barn mindestens Runden aktiv sind. Diese Wahrscheinlichkeit ist wegen - Damit ist E- ' ' - . 10.Vorlesung Wir werden diesen Decay-Algorithmus als elementaren Baustein für ein effizientes probabilistisches 18.12.2002 Informationsverteilungsverfahren verwenden, das in [BYGI87] vorgestellt wird. Hierbei wird neben der Nachricht eine Uhr in der Variable Time mitgeführt, die in jedem Zeitschritt um eins erhöht wird. Bei jeder Kommunikation wird diese Variable an die Kommunikationspartner weitergegeben, so dass jeder der die Nachricht kennt auch über einen synchroniserte Uhr verfügt. Der BGI-Broadcast-Algorithmus (Abb. 4.5) arbeitet in sogenannten Superrunden die Teilschritten bestehen. In jeder Superrunde starten alle Teilnehmer synchron den Decayaus Algorithmus, der die Information dann mit Wahrscheinlichkeit von mindestens weiterleitet. Hierbei muss insbesondere beachtet werden, dass die Informierung von Nachbarn nicht unabhängig geschieht, solange es in der selben Superrunde geschieht. Wir betrachten wieder einen festen Knoten und einen Pfad von der Quelle zu diesen Knoten der Länge . Wir betrachten nur den Informationstransport entlang dieses Pfades. Gelingt es der Nachricht eine Abkürzung zu beschreiten, so ignorieren wir diesen Effekt. Wir abstrahieren jetzt vom eigentlichen Informationsprozess, indem wir folgendes Szenario betrachten: - , , Abstraktion Auf dem Pfad informiert in jeder (Super-) Runde ein Knoten seinen Nachbarknoten mit (unabhängiger) Wahrscheinlichkeit . 53 In dieser Abstraktion stecken zwei mögliche Fehlerquellen: 1. Der BGI-Algorithmus beschränkt die Anzahl der Versuche, in der ein Knoten versucht seine Nachbarn zu informierten auf . Möglicherweise ist dieser Zeitraum nicht ausreichend. Dann würde die Information auf dem Weg zum Ziel steckenbleiben. In diesem Fall würde der Broadcast-Algorithmus von der Abstraktion abweichen. , 2. Wir sagen, Abstraktion scheitert, wenn es ihr nicht gelingt, die Information in Zeit dass die an das Ende des Pfades zu bringen. Mit Hilfe dieser Abstraktion beweisen wir das folgende Theorem. , , Theorem informiert alle Knoten mit Wahrscheinlichkeit 17 Der BGI-Broadcast-Algorithmus . , in Zeit Beweis: Wir analysieren zuerst Wahrscheinlichkeit, dass die Abstraktion scheitert. D.h. dass die Infor die Superrunden bis zum Ziel benötigt. mation mehr als , Hierfür wenden wir Lemma 11 an und setzen und und erhalten für mit Wahrscheinlichkeit von höchstens , , dass die Nachricht in Zeit ankommt. Die Wahrscheinlichkeit, dass der BGI-Algorithmus von der Abstraktion abweicht, bestimmt sich wie folgt. Entlang eines Pfades ist die Wahrscheinlichkeit, dass die Information Schritte wiederholt nicht übertragen werden kann, höchstens Die Kantenanzahl ist insgesamt durch beschränkt und damit ist die Wahrscheinlichkeit, dass dieses Ereignis auf irgendeinen Pfad überhaupt vorkommt, beschränkt durch Die Abstraktion scheitert also mit Wahrscheinlichkeit von höchstens und stimmt mit Wahrscheinlichkeit von höchstens nicht mit der Realität überein. Damit ist die Erfolgswahrscheinlichkeit minde . D.h. mit Wahrscheinlichkeit von mindestens sind alle Knoten nach stens Runden informiert. , , , 4.2 Eine untere Schranke f ¨ur deterministische Broadcasting Wir gehen für das deterministische Modell davon aus, dass jeder der teilnehmenden Funkstationen eine eindeutige Identifikationsnummer ID aus dem Bereich als auch die Anzahl der teilnehmenden Stationen kennt. Wir haben bereits gesehen, dass ohne diese Zusatzinformation Broadcasting in diesem Modell im allgemeinen nicht möglich ist. Bezeichne den maximalen Abstand eines Knotens zur Informationsquelle. Dann gilt folgendes Theorem Theorem 18 Für jeden verteilten deterministischen Radio-Broadcast-Algorithmus, der IDs verwenden , dessen Knoten nicht in Zeit informiert werden k önnen. darf, gibt es einen Graph mit 54 0 ... 1 2 3 ... n ... n+1 Abbildung 4.6: Die Graphfamilie Beweis: Wir werden für einen gegebenen deterministischen Algorithmus im folgenden einen zusammenhängenden Graph konstruieren, der so aufgebaut ist, dass der Algorithmus die Knoten dieses Graphes in Zeit nicht informieren kann. Wir betrachten für die folgende Graphen und einer gegebenen Menge mit und Siehe hierzu Abbildung 4.6. ist zusammenhängend, wenn . zu. Ferner habe Knoten und Wir teilen den Stationen IDs aus dem Bereich . die ID: ID und ID In der ersten Runde kann Knoten also Stationen informieren. Das Problem ist, die letzte Station zu informieren. Es ist leicht einzusehen, dass ein Informationsaustausch zwischen den informierten Stationen nicht hilfreich ist. Daher konzentrieren wir uns auf die weiteren Runden, die wir mit aufsteigend nummerieren. Hier verfolgt jede Station einen festgelegten deterministischen Algorithmus, der völlig unabhängig von arbeitet, bis der letzte Knoten informiert ist. Wir setzen daher , wenn Station in Runde sendet und entsprechend andernfalls. Damit kann jeder deterministische Algorithmus durch eine -Matrix beschrieben werden mit Einträgen und . Unser Ziel ist es ein Verfahren zu beschreiben, das für jede dieser Matrizen eine Menge von Zeilen zu finden, so dass für jedes entweder alle Einträge ) oder es mindestens zwei Einträge mit sind (für gibt. Hierfür verwenden wir den Algorithmus -gewinnt, der in Abbildung 4.7 dargestellt ist. Wir werden jetzt beweisen, dass dieser Algorithmus die gewünschte Menge bestimmt. Als erstes beweisen wir, dass es nach Beendigung dieses Algorithmus keinen Zeitpunkt gibt, indem nur eine Station sendet. Dies folgt sofort aus der Schleifenbedingung D es existiert mit genau einen Eintrag Denn nach Beendigung einer Schleife while do od gilt . Nun müssen wir noch zeigen, dass der Algorithmus terminiert und dass danach gilt. Hierfür beobachten wir, dass die Variable höchstens unterschiedliche Werte annehmen kann, da nach Abarbeiten der inneren Schleife, die entsprechende Spalte auf gesetzt wird. Daher wird die Schleife höchstens -mal durchlaufen. Da in jeder der Schleifendurchläufe höchstens eines der anfangs in vorhandenen Elemente gelöscht werden kann, gilt am Ende . Wenn wir für einen gegebenen deterministischen Algorithmus mit dieser Strategie und damit den Graphen bestimmen, können wir nach der ersten Runde zur Informierung der Stationen weitere Runden verhindern, dass die Station informiert wird. + 55 K mit genau while es existiert einenEintrag Spalte mit genau einer in Zeile mit K do for all B-gewinnt begin do od od end Abbildung 4.7: Adversary-Strategie gegen einen deterministischen Broadcast-Algorithmus gegeben durch die Matrix 56 Kapitel 5 Mobile Ad Hoc Netzwerke 11.Vorlesung Ein mobiles ad hoc Netzwerk (Manet) ist ein autonomes System aus beweglichen Teilnehmern, die unter- 08.01.2003 einander über drahtlose Verbindungen kommunizieren. Wir modellieren ein Manet durch einen gerichteten , wobei die Knotenmenge die Teilnehmer und die Kantenmenge die drahtlosen Graphen Kommunikationsverbindungen beschreibt. Manets zeichnen sich dadurch aus, dass sie keine Infrastruktur und keine zentrale Verwaltung haben. Sie erlauben eine spontane (ad hoc) Vernetzung von mobilen Systemen, wie z.B. PDA, Notebook, Handy oder Roboter, ebenso wie eine spontane Anbindung dieser mobilen Endgeräte an bestehenden LAN-, WAN- oder WLAN-Netzwerken. Durch die Mobilität der Teilnehmer entsteht eine hohe Dynamik. Jederzeit können Teilnehmer zu dem System hinzukommen oder es verlassen. Die drahtlosen Kommunikationsverbindungen ¨andern sich laufend und können sehr kurzlebig sein. Weiterhin nehmen wir in unseren Betrachtungen an, dass den Teilnehmern eines Manet keine Ortsinformationen zur Verfügung stehen. Unter drahtloser Kommunikation verstehen wir die Datenübertragung mittels Funk (omnidirektionale Kommunikation, Rundfunkmodell) oder Richtfunk bzw. Infrarot (unidirektionale Kommunikation, Sektorenmodell). In beiden Modellen1 erlauben wir die Einstellung der Sendestärke um die Sendereichweite zu regulieren. Wir sprechen hier von leistungsvariablen Manets. Zur Vereinfachung gehen wir davon aus, dass wir nur eine Frequenz zur Datenübertragung nutzen können. Unser Ziel liegt darin, eine effiziente Kommunikation in einem Manet zu gewährleisten. Im folgenden werden wir klären, was dabei effiziente Kommunikation bedeutet. Zunächst aber zu einigen Grundproblemen in Manets. Im Unterschied zu festverdrahteten Netzwerken (z.B. Ethernet) können Kanalabhörverfahren (z.B. CSMA/CD) in Manets nicht ohne weiteres verwendet werden. Die Übertragung der Daten erfolgt über elektromagnetische Wellen, die sich überlagern können. Tritt dieseÜberlagerung an einem Empfängerknoten auf, so sprechen wir von einer Interferenz (Störung, Kollision), und es kommt zu Datenverlust. A B C Abbildung 5.1: Hidden-Terminal-Problem Definition 6 (Hidden Terminal Problem) Sei ein Knoten, der im Rundfunkmodell Daten an einen Knoten überträgt. Nun kann es einen Knoten geben, der gegenüber von auf der Geraden liegt und den gleichen Abstand von hat wie zu . Falls ebenfalls Daten an übertragen möchte, hört den 1 Anmerkung: Das Rundfunkmodell entspricht dem Sektorenmodell mit einem Sektor. Sowohl das Senden als auch das Empfangen erfolgt sektororientiert! 57 Kanal zunächst ab um festzustellen, ob ein anderer Knoten sendet. Hier tritt das Hidden Terminal Problem (Bild 5.1) auf, denn der Knoten erkennt nicht, dass der Knoten an sendet. beginnt mit der Übertragung, und es kommt beim Knoten zur Interferenz. A B C D Abbildung 5.2: Exposed-Terminal-Problem Definition 7 (Exposed Terminal Problem) Seien vier benachbarte Knoten auf einer Geraden mit gleichem Abstand, d.h. . sende nun Daten im Rundfunkmodell an . Falls der Knoten Daten an den Knoten übertragen möchte, hört er den Kanal zunächst ab. Er sieht, dass ein anderer Knoten bereits sendet und entscheidet sich dafür nicht zu senden. Hier tritt das Exposed Terminal Problem (Bild 5.2) auf, denn könnte durchaus Daten an übertragen. Die beiden Kommunikationsverbindungen und stören sich nicht. C D A B Abbildung 5.3: Asymmetric-Interference-Problem Definition 8 (Asymmetric Interference Problem) Sei eine relativ kurze Kommunikationsverbindung, genutzt wird. Falls nun die Knoten und eine Kommunidie parallel zu einer langen Verbindung kation aufbauen, so erkennt weder der Knoten noch der Knoten , dass und Daten austauschen. und starten ihren Datenaustausch, und es kommt zur Kollision mit und (Bild 5.3). Das Hidden Terminal Problem führt zu Datenverlust, wobei das Exposed Terminal Problem für eine geringere Auslastung der Bandbreite sorgt. Das Asymmetric Interference Problem tritt nur in leistungsvariablen Manets auf, da hier die Sendestärke möglichst exakt für eine Kommunikationsverbindung eingestellt wird. Bei fester Sendestärke tritt das Problem nicht auf. Die drei Probleme lassen sich auch auf das Sektorenmodell übertragen. Dies sei dem Leser alsÜbung überlassen. C A D B E Abbildung 5.4: Problem des Zusammenhangs Ein Problem, das in leistungsvariablen Manets auftritt, ist der Zusammenhang. In einem Netzwerk muss sichergestellt sein, dass jeder Knoten auch jeden anderen Knoten über verschiedene Kanten erreicht. Aufgrund der Reichweitenanpassung liegt die Idee nahe, die Reichweite auf den Knoten einzustellen, der mit der geringsten Sendestärke erreichbar ist. Im Rundfunkmodell führt dies dazu, dass das Netzwerk u.U. 58 nicht mehr zusammenhängt (Bild 5.4: Es bilden sich zwei Zusammenhangskomponenten, die nicht verbunden sind. Die Richtung der Kanten zeigen den nächsten Nachbarn an). Wir werden später sehen, dass die Strategie der Anbindung des nächsten Nachbarn im Sektorenmodell ausreicht, um ein zusammenhängendes Netzwerk mit guten Kommunikationseigenschaften zu erhalten. In Manets ist die Sendereichweite der Teilnehmer beschränkt, so dass nicht jeder Teilnehmer jeden anderen direkt erreichen kann. Die direkte Kommunikation zwischen zwei benachbarten Knoten nennen wir 1-Hop-Kommunikation (Hop=Hüpfer). Da wir aber die Kommunikation zwischen beliebigen Teilnehmern ermöglichen möchten, erhalten wir hier ein Routingproblem. Die Kommunikation zwischen zwei Knoten kann also über weitere Knoten erfolgen (Multi-Hop-Kommunikation). Für ein Quell-/Zielknotenpaar müssen wir einen Weg angeben, der es ermöglicht Daten von einem Knoten zu einem Knoten zu transportieren. Dynamische Änderungen aufgrund von Bewegungen der Teilnehmer, oder alleine das Ein- und Ausschalten der Knoten, sorgen dafür, dass sich sowohl die Netzwerkstruktur als auch die Routingwege laufend ändern. Im nächsten Kapitel werden wir einen kurzenÜberblick über Routingprotokolle undÜbertragungstechniken geben, die versuchen diese Probleme zu lösen. Daran anschließend konzentrieren wir uns auf mathematische Ansätze zur Bewertung und Entwicklung von Kommunikationsstrategien in Manets. Wir beschäftigen uns dabei mit der Netzwerk- und der Verbindungsschicht in Manets. 5.1 Experimentelle Untersuchungen Eine Übersicht über experimentelle Untersuchungen zur Netzwerkschicht in Manets liefert z.B. ein Buch von Charles Perkins [Per01]. Zur Vertiefung in der Verbindungsschicht sei auf die IETF Manet Working Group [Gro02] und auf die Tutorials von Nitin Vaidya [Vai02] verwiesen. Im folgenden geben wir einen groben Überblick über die praktischen Arbeiten in diesen beiden Schichten. 5.1.1 Netzwerkschicht In der Netzwerkschicht wird das Routing, d.h. die Kommunikation zwischen zwei beliebigen Netzwerkteilnehmern, die nicht notwendigerweise direkt miteinander verbunden sind, ermöglicht. Die Umsetzung erfolgt über ein Routingprotokoll mit folgenden Aufgaben: Bestimmung von Kommunikationswegen (z.B. Aufbau einer Distanztabelle für kürzeste-Wege-Routing) Transport der Informationen entlang dieser Wege (z.B. First-In-First-Out, Longest-In-System, LastIn-Last-Out, Oldest-Packet-First) Die Routingprotokolle unterscheiden sich in ihrer Informationsbeschaffung. Ein Protokoll arbeitet proaktiv, reaktiv oder hybrid. Hierbei bedeutet proaktiv, dass die Informationsgewinnung kontinuierlich durch automatische Aktualisierungsverfahren erfolgt (z.B. alle 500 ms). Eine reaktive Strategie aktualisiert Netzwerkbzw. Wegeinformationen erst auf Abruf, d.h. sobald auch wirklich ein Weg zu einem Zielknoten gefordert ist. Hybride Verfahren versuchen die Vor- und Nachteile beider Aktualisierungsvarianten geschickt zu kombinieren. Sie arbeiten teilweise proaktiv und teilweise reaktiv. Zu den klassischen Routingprotokollen in Festnetzen (z.B. Ethernet) gehören Distanzvektor- und Linkzustandsprotokolle. In Manets wurden damit ebenfalls die experimentellen Untersuchungen gestartet. Bei einem Distanzvektorprotokoll baut jeder Knoten (Netzwerkteilnehmer) eine Routingtabelle auf, in der zur Wegewahl notwendige Informationen über die Nachbarknoten gespeichert werden. Für jeden Zielknoten wird ein Nachbarknoten ermittelt, über den Pakete weitergeleitet werden. Das Prinzip basiert auf dem Bellmann-Ford-Algorithmus zur Bestimmung kürzester Wege. Die verteilte Umsetzung sieht so aus, dass jeder Knoten seine Routingtabelle mit den Nachbarknoten austauscht. Das Verfahren liefert eine gültige Routingtabelle, da jeder Knoten den Abstand zu seinen direkten Nachbarn kennt (1 Hop). Hier findet also eine Hop-Minimierung statt. Ein bekanntes Problem in Distanzvektorprotokollen ist das Count-to-Infinity Problem, welches auftritt, wenn eine Kommunikationskante entfernt wird und die Aktualisierungen auf veralteten Informationen basieren. In Bild 5.5 ist in den Schritten eins bis drei zu sehen, wie sich die Information über einen Routingweg zum Knoten von den anderen Knoten im Netzwerk ausbreitet. Das 59 Netzwerk besteht aus vier Knoten und den gezeichneten Kommunikationsverbindungen. Die Tabellen werden korrekt ermittelt. In Schritt vier fällt nun aber die direkte Verbindung von Knoten zu Knoten aus, und es kommt zu Fehlinterpretationen. Der Knoten verliert die direkte Verbindung zu , erinnert sich, dass zwei Hops von entfernt ist und trägt somit eine drei in die Tabelle ein. Der Weg zu soll nun über gehen. Diese Fehlinterpretation setzt sich durch das ganze Netzwerk fort, so dass es zu unendlich langen Wegen kommt. Zur Lösung dieses Problems werden die übertragenen Informationen mit Zeitstempeln versehen. A Schritt 1: Schritt 2: Schritt 3: A Schritt 4: Schritt 5: Schritt 6: Schritt 7: B 1 1 1 C D 2 2 3 B 3 3 3 5 C 2 4 4 4 D 3 3 5 5 Abbildung 5.5: Count-to-Infinity Problem In Linkzustandsprotokollen sammelt jeder Knoten die Informationen über das gesamte Netzwerk. In jedem Knoten wird also lokal ein Graph erzeugt, der das komplette Netzwerk beschreibt. Auf diesem Graph können die kürzesten Wege nun z.B. mittels Dijkstra’s Kürzeste Wege-Algorithmus lokal berechnet werden. Weitere Routingprotokolle verwenden z.B. das Fluten des Netzwerkes (d.h. ein Paket wird von einem Knoten an alle seine Nachbarn weitergeleitet), Potentiale zwischen benachbarten Knoten (abgeleitet aus Algorithmen für Flussprobleme), u.ä. Beispiele für Routingprotokolle in Manets (Überblick in [Per01]: Proaktive Protokolle: – Destination Sequenced Distance Vektor (DSDV) – Optimized Link State Routing (OLSR) Reaktive Protokolle: – Dynamic Source Routing (DSR) – Ad hoc On-demand Distance Vector (AODV) – Temporally Ordered Routing Algorithm (TORA) Hybride Protokolle: – Zone Routing Protocol (ZRP) – Greedy Perimeter Stateless Routing (GPSR) Es ist anzumerken, dass diese Zusammenstellung nur eine sehr kleine Auswahl ist. Aktuell gibt es mehr als 50 Routingprotokolle, die sich aber im wesentlichen auf die genannten Klassifizierungen zurückführen lassen. In dieser Vorlesung liegt der Schwerpunkt auf algorithmische Aspekte in Manets, so dass wir hier nur ein Routingprotokoll genauer vorstellen möchten. Dabei konzentrieren wir uns auf das Dynamic Source Routing Protokoll. 60 Dynamic Source Routing Beim Dynamic Source Routing Protokoll (DSR) wird das Routingproblem in zwei Teile unterteilt: Route Discovery: Ein Pfad wird erst gesucht, wenn noch keiner vorhanden ist und einer gebraucht wird Route Maintenance: Nur während des Gebrauchs wird versucht den Pfad aufrecht zu erhalten Da alle Operationen auf Abruf stattfinden, handelt es sich bei DSR um ein reaktives Routingprotokoll. Es gibt keine periodischen Routinginformationen, und die Topologieänderungen beeinflussen ausschließlich betroffene Knoten. Während eines Route Discovery’s (vgl. Bild 5.6) wird ein Route Request Paket geflutet, d.h. an alle Nachbarn verschickt und von den Nachbarn wiederum an alle Nachbarn verbreitet. Ein Nachbar, der einen Route Request zum zweiten Mal erhält, leitet diesen nicht weiter. Auf diese Art und Weise wird der Zielknoten erreicht oder ein Knoten gefunden, der einen Weg zum Zielknoten kennt. In beiden Fällen wird der in den Paketen protokollierte Weg an den Erzeugerknoten zurückgeschickt (Route Reply). "A" A "A,B" B "A,B,C" C D Abbildung 5.6: Route Discovery Ein Weg kann nun benutzt werden um Datenpakete zu verschicken. Die Route Maintenance sorgt dafür, dass die Wege nicht an Gültigkeit verlieren. Nach dem Verschicken eines Datenpaketes wartet der Sender auf eine Bestätigung (Acknowledgement) des jeweiligen Empfängerknotens. Falls dabei ein Problem festgestellt wird (z.B. eine Bestätigung bleibt aus), so wird ein Route Error Paket an den ursprünglichen Sender geschickt. So können fehlerhafte Verbindungen erkannt und durch andere Wege ersetzt werden (evtl. neuer Route Request). Ermittelte Pfade werden in den beteiligten Knoten in einem Routen-Cache gespeichert. Der größte Vorteil von DSR liegt in der reaktiven Arbeitsweise, d.h. Wege werden nur für Knoten ermittelt, die auch an der aktuellen Netzwerkkommunikation beteiligt sind. Zu den Nachteilen gehört der Routen-Cache, der auch ziemlich veraltete Wege enthalten kann. Außerdem wächst die Paketgröße mit der Wegelänge und die Wegeermittlung zu Beginn durch Fluten erzeugt hohen Kommunikationsaufwand. 5.1.2 Verbindungsschicht In der Verbindungsschicht geht es darum, die direkte Datenübertragung von einem Knoten zu einem Nachbarknoten fehlerfrei zu ermöglichen. Durch den drahtlosenÜbertragungskanal (vgl. Hidden Terminal Problem) kann es zu Konflikten bei der Datenübertragung kommen. In Abschnitt 2.3 haben wir bereits einige Möglichkeiten kennengelernt, die gegen Konflikte auf demÜbertragungskanal schützen. Zur Kommunikation zwischen zwei benachbarten Knoten in Manets könnte man z.B. verschiedene Frequenzen, verschiedene Zeiten, orthogonale Codes, unterschiedliche Richtungen, etc. verwenden. Wir gehen hier allerdings davon aus, dass nur eine Übertragungsfrequenz zur Verfügung steht und wir auch keine festen Codes vergeben können. Da sich die Knotenplatzierung in einem Manet laufend ¨andert, können wir auch nicht effizient genug laufend eine Raumaufteilung oder ein Zeitscheduling neu berechnen. Dennoch gibt es in Manets Ansätze, die das Hidden Terminal Problem lösen. Zunächst wird häufig gefordert, dass die erfolgreiche Übertragung von Datenpaketen auch bestätigt wird (ACK). Wenn eine Übertragung nicht bestätigt wurde, so wird das Datenpaket einfach nochmal geschickt, und zwar zur Zeit , wobei zur Zeit zum ersten Mal geschickt wurde und die Anzahl der gescheiterten Versuche bezeichnet (vgl. Ethernet, CSMA/CD, CSMA/CA). Dieses exponentielle Vergrößern des Zeitintervalls nennt man exponentielles BackOff-Protokoll. Für das Hidden Terminal Problem gibt es wesentlich bessere Protokolle, wenn jeder Knoten mit der gleichen, festen Sendereichweite überträgt. In diesem Fall können wir das Mobile Assisted Channel Allocation Protokoll (MACA) verwenden. Bevor 61 ein Knoten Daten an einen Knoten sendet, wird eine Sendeanfrage (Request-to-Send Paket, RTS) geschickt (siehe Bild 5.7). Falls kein anderer Knoten an sendet, so antwortet mit einer Sendeerlaubnis (Clear-to-Send, CTS). Daraufhin kann mit der Datenübertragung starten. Das Hidden Terminal Problem tritt nicht mehr auf, da jeder Knoten, der evtl. an senden könnte, das CTS-Signal mitbekommen hat. Zuletzt wird der korrekte Empfang der Daten von bestätigt. Andere Parameter und Vereinbarungen können zu den RTS-CTS-Paketen hinzugefügt werden (z.B. Dauer derÜbertragung, Bandbreitenabsprachen, etc.). Fehler während der Datenübertragung werden durch ein einfaches exponentielles BackOff-Protokoll aufgelöst. RTS A B C CTS A B C DATA A B C ACK A B C Abbildung 5.7: MACA: Request-to-Send, Clear-to-Send Schema Eine Erweiterung dieses RTS-CTS-Austausches liefert das MACAW-Protokoll (MACA-Wireless). Hier sind zusätzliche Vereinbarungen erforderlich, und es wird ein anderes BackOff-Protokoll verwendet. Bei erfolgreicher Übertragung wird das Wartezeitintervall nicht komplett zurückgesetzt, sondern linear verringert (z.B. um 1). Dies sorgt für weniger Kollisionen bei hoher Dichte und hohem Datenaufkommen. Zu beiden Protokollen ist zu sagen, dass sie ohne weiteres nicht in leistungsvariablen Manets verwendet werden können. Klassische Varianten verwenden in leistungsvariablen Manets eine zusätzliche Frequenz zur Ausstrahlung eines Besetztzeichens“mit maximaler Reichweite in regelmässigen Abständen. Das hilft uns ” in unserem Modell aber nicht weiter (vgl. DBTMA, PCMA, PAMAS). Einen ganz anderen Ansatz zur Datenübertragung verfolgen probabilistische Protokolle. Hier ist das Ziel, jeder Kante eine bestimmte Wahrscheinlichkeit zuzuordnen, mit der sie in einem Zeitschritt benutzt wird, um dann eine erfolgreiche Übertragung mit konstanter Wahrscheinlichkeit garantieren zu können. Als Herausforderung an die zu entwickelnden Protokolle steht hier die Angabe eines verteilten Protokols, welches die Wahrscheinlichkeiten bestimmt und an die Dynamik im Netzwerk anpasst. Mehr hierzu im nächsten Kapitel. 62 5.2 Mathematische Analysen 12.Vorlesung Unser Ziel besteht darin, effiziente Kommunikationsverfahren für Manets zu entwickeln. Die zu entwickeln- 15.01.2003 den Protokolle müssen sich an sich schnell ¨andernde Gegebenheiten anpassen können (Adaptivität) und sollten Ressourcen effizient nutzen (insbesondere Energie und Zeit). Wir werden uns auf die Punkt-zuPunkt Kommunikation beschränken. Andere Kommunikationsvarianten sind z.B. Permutationsrouting, Broadcasting oder All-to-All Routing. Die wichtigsten Nebenbedingungen bei der Modellierung und der Entwicklung von Kommunikationsverfahren sind: Sicherstellung der Informationsübertragung (Problem: Interferenzen) und des Zusammenhangs (Problem: variable Sendereichweite), sowie Bereitstellung korrekter Wege (Multi-Hop-Kommunikation). 5.2.1 Ressourceneffiziente Basisstrukturen im Rundfunkmodell mit Knoten in der euklidischen Ebene gegeben. Wir erlauben zur KommunikaSei eine Menge tion zwischen zwei Knoten die Benutzung einer Frequenz und das Einstellen der Sendereichweiten. Eine Übertragung erfolgt omnidirektional, d.h. wir legen das Rundfunkmodell zugrunde. Zusätzlich fordern wir, dass jede erfolgreiche Übertragung bestätigt wird, so dass eine Kante in beide Richtungen benutzt wird. , d.h. Nun betrachten wir ein Punkt-zu-Punkt Routingproblem, gegeben durch Pakete sollen von dem Quellknoten an den Zielknoten weitergeleitet werden. Wir lösen das Routingproblem , indem wir für jedes Paket einen Weg, d.h. eine Folge von Kanten, angeben. Die Vereinigung aller verwendeten Kanten liefert die Kantenmenge bzw. das Wegesystem. Die Knoten und die Kanten der Wege bilden ein Basisnetzwerk auf dem wir das Routingproblem ressourceneffizient lösen möchten. Die beiden Ressourcen, die uns interessieren, sind Sendeenergie und Routingzeit. Das Ausbreitungsverhalten elektromagnetischer Wellen ist so charakterisiert, dass die Empfangsleistung quadratisch mit der Distanz abnimmt. Die Kosten einer drahtlosen Übertragung über eine Kante approximieren wir daher mit . & Definition 9 (Einheitsenergie) Die Einheitsenergie eines Basisnetzwerkes E-Energie ist gegeben durch: In dem Einheitsenergiemodell werden die Kosten aller Kanten berücksichtigt. Der Wert wird unabhängig davon ermittelt, wie viele Pakete wirklich über eine Kante verschickt werden. Das folgende Modell berück sichtigt die wirkliche Last auf einer Kante. Zur Bestimmung der Last auf einer Kante zählen wir die Pakete, die die Kante überqueren (andere Formulierung: die Last einer Kante ist die Anzahl der Wege, . die sie überqueren). Die maximale Last ist gegeben durch Definition 10 (Flussenergie) Die Flussenergie eines Basisnetzwerkes und dadurch induzierter Last ist gegeben durch: F-Energie & mit Routingproblem Die Routingzeit gibt die Anzahl der Schritte an, die benötigt werden um das Routingproblem zu lösen, wenn in einem Zeitschritt ein Knoten eine Nachricht an einen Knoten übermitteln darf (1 Zeitschritt=1 Hop). Die Routingzeit beschreiben wir durch die Werte Congestion und Dilation. Unser Ziel liegt darin, obere und untere Schranken für anzugeben. Routingzeit in Festnetzen: Wir modellieren ein Festnetz genauso wie ein Manet, allerdings stehen die Kanten jetzt stellvertretend für festverdrahtete Verbindungen. Wir nehmen hier an, dass es bei derÜbertra gung zwischen zwei benachbarten Knoten nicht zu Fehlern betrachten kommt. Für ein Festnetz wir ein Routingproblem mit Wegesystem . Die Last auf einer Kante , d.h. die Anzahl der Pakete, die überqueren, bezeichnen wir mit Congestion der Kante . Die Last im Netzwerk ist dann ge . Die Länge eines längsten Weges in nennen wir Dilation geben durch: 63 (maximale Hop-Distanz). Es ist leicht einzusehen, dass folgender Zusammenhang zwischen Routingzeit und Congestion und Dilation besteht: und Der exakte Beweis sei dem Leser als Übung empfohlen. Routingzeit in Funknetzen: Warum können wir in Manets nicht die gleiche Argumentation wie in Festnetzen benutzen? Ein Problem in Manets ist dadurch gegeben, dass bestimmte Kanten interferieren. Wir können nicht annehmen, dass dieÜbertragung über eine Kante zu einem beliebigen Zeitpunkt erfolgreich ist. Es kann zu Interferenzen kommen, so dass eine Übertragung mehrfach durchgeführt werden muss um erfolgreich zu sein. Zur Lösung des Problems definieren wir das Mass Congestion neu und modellieren genau, was wir unter einer Interferenz verstehen. Definition 11 (Interferenz) Sei mit eine Kante . der Kreis um interferiert mit mit Radius und oder Die Menge der Kanten, die mit einer Kante interferieren, ist gegeben durch: und oder für Die Congestion einer Kante in drahtlosen Netzwerken ist definiert als die Last auf dieser Kante zuzüglich den Lasten auf Kanten, die mit ihr interferieren. Definition 12 (Congestion) Sei ein Manet mit Routingproblem , Wegesystem zierter Lastfunktion . Die Congestion einer Kante definieren wir als Die Congestion des Netzwerkes ist gegeben durch: & und indu- . Die Dilation gibt wieder die Länge eines längsten Weges in an. Nun erhalten wir in einem Funknet folgenden Zusammenhang zwischen Routingzeit und Congestion und Dilation. Theorem 19 Für die Routingzeit in einem Manet Wegesystem mit Congestion und Dilation gilt: , mit Routingproblem und eine Kante mit maximaler Congestion . Wir versuchen die Anzahl der Kanten zu Beweis: Sei maximieren, die zwar mit interferieren, aber trotzdem untereinander zeitgleich zur Übertragung genutzt werden könnten, wenn nicht benutzt wird (vgl. Bild 5.8). Dazu unterteilen wir die Regionen um und für die Sektoren um und für die Sektoren um . Für in jeweils Sektoren, d.h. alle Punkte gilt nun, dass der Winkel zwischen und kleiner gleich ist. Sei nun gilt: oder ( Sektoren). Daher müssen alle Für zwei Kanten nacheinander stattfinden. Sei , dann Übertragungen über Kanten aus ( und damit: gilt: & ( 64 Abbildung 5.8: Die beiden äusseren Kanten können zeitgleich zurÜbertragung benutzt werden, d.h. die erfolderliche Routingzeit ist mindestens um den Faktor 2 kleiner als die Congestion Einzeloptimierungen Ein optimales Wegesystem, dass für das Einheitsenergiemodell optimiert ist, liefert ein minimaler Spannbaum (MST( )). Die Gewichte an den Kanten sind gegeben durch die Energiekosten der entsprechenden Kanten. Die Berechnung eines optimalen Basisnetzwerkes für Einheitsenergie kann mit dem Algorithmus von Prim oder Kruskal in polynomieller Zeit erfolgen. Für das Flussenergiemodell liefert ein Baum nicht unbedingt ein optimales Wegesystem, da die Bewertung der Kanten in Abhängigkeit der Last geschieht. Aber auch hier lässt sich ein optimales Basisnetzwerk in polynomieller Zeit berechnen. Dazu betrachten wir den Gabriel Graph GG( ). , falls für , heisst Definition 13 gegeben. Der Graph mit (Gabriel Graph) Sei : liegt nicht in dem Kreis um den Mittelpunkt von mit Durchmesser alle Gabriel Graph GG( ). Der folgende Zusammenhang ist offensichtlich und wird dem Leser als Übungsaufgabe empfohlen: MST( ) GG( ). Ein optimales Basisnetzwerk für das Flussenergiemodell erhalten wir nun, indem wir im Gabriel Graphen die kürzesten Wege bestimmen, die zur Lösung des Routingproblems notwendig sind. Die verwendeten Kanten bilden ein flussenergie-optimales Basisnetzwerk (Teilgraph des Gabriel Graphen), denn der Gabriel Graph enthält für je zwei Knoten einen flussenergie-optimalen Weg. Um dies zu zeigen, , die nicht Energie-optimal ist. Dann gibt es einen nehmen wir an, es gäbe eine Kante . Das würde aber bedeuten, dass die Kante weiteren Knoten mit: nicht im Gabriel Graph enthalten ist, und wir erhalten einen Widerspruch (siehe Bild 5.9). a b c Abbildung 5.9: Die Definition von GG( ) entspricht der Energie-Optimalität einer Kante: Im nächsten Kapitel werden wir Energie-optimale Basisnetzwerke approximieren, um auch gute Basisnetzwerke für andere Parameter zu erhalten. Dort werden wir sogenannte Spanner betrachten. Nun aber zur Optimierung der Routingzeit. Wir haben gesehen, dass wir uns darauf konzentrieren können, Congestion und Dilation zu optimieren. Das Optimale Basisnetzwerk für Dilation ist der vollständige Graph. Aber wie sieht das optimale Basisnetzwerk für Congestion aus? Wir versuchen es zu approximieren und beginnen mit einer Worst-Case Platzierung für die Anzahl der Interferenzen. Wir betrachten eine Knoten . Die Beobachtung hier ist nun, dass jede menge auf einer Linie mit Verbindung mit den Verbindungen , interferiert. Die Anzahl der Interferenzen und bestimmt die Congestion. Um diese Situation charakterisieren beträgt in diesem Basisnetzwerk 65 zu können und um eine obere Schranke für die Anzahl der Interferenzen zu erhalten, führen wir folgenden Parameter ein. einer Punktmenge ist definiert als: D , Theorem 20 Für die Diversität einer Menge mit Punkten gelten: 1. , 2. 3. , für eine Konstante , wenn 4. , mit Wahrscheinlichkeit gleichverteilt aus gewählt wird. Definition 14 (Diversität) Die Diversität zufällig und Die Aussagen 1 und 2 werden wir im Rahmen dieser Vorlesung aus Zeitgründen nicht beweisen. Die Aussagen 3 und 4 seien dem Leser als Übungsaufgabe überlassen. ist es In Abhängigkeit der Diversität mit dem Faktor zu appromöglich, die optimale Congestion für eine Punktmenge ximieren. Aus Zeitgründen wollen wir uns in dieser Vorlesung nicht tiefergehend mit exakten Analysen beschäftigen, sondern nur die Idee einer Basisstruktur vorstellen, die eine Approximation der optimalen Congestion erlaubt. Für weitere Einzelheiten sei der Leser auf [MSVG02] verwiesen. Hierarchischer Schichtengraph Der hierarchische Schichtengraph dient der Congestion-Approximation mit relativer Güte . Er ¨ahnelt einer Einteilung in verschiedene Cluster (Clustering) und besitzt zerlegt: eine hierarchische Struktur. Die Knotenmenge wird in unterschiedliche Schichten Die nur einen Knoten. unterste Schicht enthält alle Knoten, d.h. , und die oberste Schicht Zwischen den Schichten gibt es folgende Hierarchie: . Die Einstufung der Knoten in die Schichten erfolgt über die Knotenabstände. In jeder Schicht werden zwei Eigenschaften gefordert: 1. 2. 2. 3. (kürzester Abstand) (Reichweiten der Schichten) (minimale Schichtdistanz) (Anbindung zur nächst tieferen Schicht) Für die Konstruktion verwenden wir zwei Parameter Kantenmenge wie folgt definieren: 1. , über die wir die Schichten und D.h. kurze Kanten sind in unteren Schichten zu finden, denn die Kantenlängen nehmen von Schicht zu Schicht zu. Die Anzahl der Schichten wächst linear mit der Diversität einer Punktmenge. Die Idee, die hinter dieser Konstruktion steht, ist vergleichbar mit einer Strassenkarte: Wenn jemand von München nach Berlin möchte, so gibt es zwei Hauptwege: Die kürzere Strecke mit wenigen Zwischenstationen (Hops) über die Autobahn, die verstopft sein kann (hohe Congestion), oder die zeitlich längere Strecke durch viele kleine Städte und Dörfer über die Landstraßen, die frei sind. 66 TradeOffs In diesem Abschnitt stellen wir uns die Frage, ob wir mehr als einen Parameter gleichzeitig optimieren können. Dazu schauen wir uns drei TradeOffs an: Energie und Dilation, Congestion und Dilation und Congestion und Energie. Theorem 21 Seien eine Menge auf einer mit Durchmesser (vgl. Bild Linie und für alle und # gegeben. 5.10) und das Routingproblem mit Für jedes beliebige Wegesystem mit Einheitsenergie , Flussenergie und Dilation gilt: die Kanten, die auf dem Weg von nach benutzt Beweis: Seien werden. Zur Optimierung der Einheitsenergie müssen wir minimieren. Es gilt: . Wir nehmen einen MST . Das optimale und erhalten das optimale Netzwerk für Einheitsenergie mit Netzwerk für Dilation ist gegeben durch die direkte Verbindung zwischen und mit Energiekosten . Den Beweis im Flussenergiemodell führen wir analog mit einer Ausnahme: das optimale Netzwerk im Flussenergie-Modell ist gegeben durch einen Teilgraph des Gabriel-Graphen. ( ( Abbildung 5.10: Die Linie im TradeOff zwischen Dilation und Energie Für den TradeOff zwischen Energie und Dilation haben wir ein Netzwerk auf einer Linie betrachtet. Jetzt betrachten wir eine Knotenmenge auf einem Gitter um eine untere Schranke für das Verhältnis zwischen Congestion und Dilation anzugeben. Abbildung 5.11: Das Gitter im TradeOff zwischen Congestion und Dilation auf einem Gitter (vgl. Bild 5.11) und das Rou für alle gegeben. Für jedes beliebige Wegesystem mit Theorem 22 Seien eine Menge tingproblem mit Congestion und Dilation gilt: Auf den exakten Beweis verzichten wir an dieser Stelle. Für den interessierten Leser sei auf [MSVG02] verwiesen. Die beste Wahl für Congestion ist, die Knotenmenge, die als Gitter angeordnet ist, auch als Gitter zu verbinden. Dann entsteht eine Congestion von , und die Dilation beträgt . Zur Optimierung der Dilation bietet sich eine Baumkonstruktion an, worauf wir hier nur hinweisen möchten. Damit ist es möglich, ein Wegesystem mit Congestion und Dilation anzugeben. Den TradeOff zwischen Congestion und Energie nennen wir auch Unvereinbarkeit. Der Grund dafür ist, dass es Netzwerke gibt, die entweder Congestion oder Energie optimieren, und dabei den nicht optimierten Wert um einen polynomiellen Faktor weit entfernt von einer optimalen Lösung belassen. 67 , , Theorem 23 Sei eine Menge auf einem Hufeisen (in U“-Form) der Länge so gegeben, ” , und die Knoten dass mit und seien auf zwei parallelen Linien (vgl. Bild 5.12). Die restlichen Knoten aus seien gleichmäßig auf den Linien zwischen den Knoten , für und platziert. Zusätzlich sei das Routingproblem gegeben mit für alle . Für jedes beliebige Wegesystem mit Congestion , Einheitsenergie und Flussenergie gilt: oder oder , und bezeichnen dabei jeweils die optimalen Werte für Congestion, Einheitsenergie und Flussenergie. Beweis: Das optimale Netzwerk im Einheitsenergiemodell ist durch den MST gegeben, d.h. die Kanten, die entstehen, haben die Form eines Hufeisens. Die Anzahl der Interferenzen ist konstant, allerdings gehen dann alle beträgt. Die Einheitsenergie ist Pakete über eine Kante, so dass die Congestion . Um die Congestion zu optimieren werden nur die Kanten für aufgebaut. Wir erhalten Congestion , da die Anzahl der Interferenzen wieder konstant ist, und Einheitsenergie . Für das Flussenergiemodell funktioniert der Beweis analog. Abbildung 5.12: Das Hufeisen im TradeOff zwischen Congestion und Energie 5.2.2 Topologieaufbau im Sektorenmodell 13.Vorlesung In dem letzten Abschnitt haben wir uns mit der Rundfunkkommunikation beschäftigt. Hier werden wir un22.01.2003 ser Modell für die gerichtete Kommunikation erweitern. Zur Motivation sei die Datenübertragung mittels Richtfunk oder Infrarot erwähnt. Jeder Manet-Teilnehmer kann nun in verschiedene Sektoren parallel senden und empfangen. Die Reichweite kann in jedem Sektor für die Übertragung einer Nachricht individuell eingestellt werden. Bei der Reichweitenanpassung liegt die Idee nahe, pro Knoten jeweils eine Verbindung zu dem nächsten Nachbarn aufzubauen. Im Rundfunkmodell bzw. in dem Fall haben wir das Problem des Zusammenhangs bereits besprochen. Nun wollen wir den Ansatz untersuchen, in jedem der Sektoren den nächsten Nachbarn anzubinden. Es stellt sich die Frage, wie viele Sektoren sind für die Garantie eines zusammenhängenden Netzwerkes notwendig? Sei und . Per Induktion nach dem Knotenabstand zweier beliebiger Knoten können wir zeigen, dass der Sektorengraph , in dem jeder Knoten eine gerichtete Kante in jedem seiner Sektoren zu einem nächsten Nachbarn aufbaut, stark zusammenhängend ist. Wir nutzen dabei die Eigenschaft aus, dass der nächste Nachbar in einem Sektor echt näher an dem Zielknoten liegt als der Ausgangsknoten. Hier ist zu erkennen, warum der Beweis für nicht funktioniert. Das Problem das Zusammenhangs haben wir damit gelöst. Wir wollen aber bessere Resultate zeigen. Wir fragen uns, wie lang kann so ein Weg werden? Um zu zeigen, dass wir Wege finden können, die höchstens konstant mal so lang sind wie der direkte euklidische Abstand zwischen Quell- und Zielknoten, führen wir zunächst einige Begriffe ein. - - - ' - 68 - Definition 15 ( -Spanner) Sei mit ein Graph. -Spanner, falls f ür alle ist ein existiert mit für eine Konstante ein Weg . die euklidische Distanz zwischen und und Hierbei ist die euklidische Länge des Weges . Der konstante Faktor wird auch Stretchfaktor oder Dehnungsfaktor genannt. ( mit ein Graph. ist ein weak -Spanner, Definition 16 (weak -Spanner) Sei falls existiert, der den Kreis für alle ein um mit dem Radius Weg für eine Konstante nicht verlässt. D.h. für alle Knoten auf gilt . Es stellt sich die Frage, wie hängen Spanner und weak Spanner zusammen? Theorem 24 Sei ein -Spanner, dann ist ein weak -Spanner. beliebig. Da ein -Spanner ist, existiert ein Weg . Die Beweis: Seien mit durch eine Wegkonstruktion zu Länge des Weges erlaubt es also nicht, den Kreis um mit Radius verlassen. Wie wir gesehen haben, ist jeder -Spanner auch ein weak -Spanner. Die weak Spanner-Eigenschaft ist also eine schwächere Grapheigenschaft. Ist ein Spanner denn wirklich weniger? In Bild 5.13 sind die ersten 5 Iterationen der Kochschen Schneeflockenkurve dargestellt. Eine Kante wird in jeder Iteration durch vier länger. neue Kanten ersetzt. Auf diese Art und Weise wird der Weg in jedem Schritt um den Faktor Man kann aber beweisen, dass die Fläche, die diese Konstuktion einnimmt, durch einen konstanten Faktor beschränkt ist. Konstruieren wir daraus einen Graphen , so können wir einen Weg zwischen zwei Knoten angeben, der in seiner Länge unbeschränkt ist. Trotzdem verläuft der ganze Weg in einem Kreis um mit Radius für eine Konstante . ist also ein weak -Spanner, aber kein Spanner für irgendein . Ein weak Spanner ist also wirklich mehr (schwächer in den Bedingungen) als ein Spanner. Abbildung 5.13: Die ersten 5 Iterationen der Kochschen Schneeflockenkurve 69 mit ein Graph. , und Definition 17 (Power-Spanner) Sei falls für alle ein Weg & ( ( ( & ( Wir nennen einen Power-Spanner, falls für alle -Power-Spanner ist. ist ein -Power-Spanner, existiert mit eine Konstante existiert, für die ein Falls ein Graph ein -Power-Spanner ist, so gilt nach Definition, dass eine konstante Approximation eines bzgl. Energie optimalen Netzwerkes liefert. Im folgenden werden weitere Zusammenhänge erläutert. Theorem 25 Sei ein -Spanner, dann ist ein -Power-Spanner. beliebig und sei der Weg von nach mit minimalen Energiekosten, gegeben Beweis: Seien ( . Da ein -Spanner ist, existiert für jede Kante ein Weg in durch mit . Sei nun der Weg von nach , der durch Hintereinanderausführen der für entsteht, dann: & ( & ( - ' Definition 18 (Yao-Graph) Seien und gegeben. Die Fläche um einen Knoten unterteilen wir in gleichgroße Sektoren mit Sektorwinkel . In jedem Sektor von einem Knoten erzeugen wir eine gerichtete Kante zu dem n ächsten Nachbarn, falls vorhanden. der Sektor Sei in dem der Knoten liegt, dann erhalten wir: - ' Wir nennen den Sektorengraphen ' ' Yao-Graph von -Graph. mit - Sektoren. Er ist auch bekannt als - - ' ' "- - ' die lokal aufgebaut Jeder Knoten im Yao-Graphen unterhält höchstens viele ausgehende Kanten, werden können. Sei der Yao-Graph mit Sektoren, dann gilt also: . Die Anzahl der Kanten ist linear in der Anzahl der Knoten. Daher gehört der Yao-Graph zu den ausgedünnten Graphen. Theorem 26 Der Yao-Graph ' ' - mit Sektoren ist ein -Spanner für - mit . Beweis: Seien beliebig. Nach Definition des Yao-Graphen existiert in jedem nicht leeren Sektor eines Knotens eine gerichtete Kante zu einem anderen Knoten. Wir betrachten nun den Sektor von in dem liegt. Entweder ist der nächste Nachbar, dann ist der gesuchte Weg gefunden, oder es existiert ein Knoten , der näher an liegt als (da ). Der Weg von nach geht im ersten Schritt über . Im zweiten Schritt suchen wir einen Weg von nach und gehen analog vor. Da der auf diese Art und Weise entstehende Weg immer kürzer wird, ist er auch endlich. So erhalten wir nacheinander . Wir zeigen nun, dass sich aber auch die Länge dieses Weges beschränken lässt. Zunächst fragen wir dazu nach der maximalen Verlängerung des Weges in einem Schritt. Der Leser mache sich klar, dass für alle im gleichen Sektor von wie mit gilt . Sei nun der gefundene Weg von nach . Dann gilt - & ( &# ( &# ( 70 ' - ' Wir beschränken uns hier auf dieses Resultat für den Yao-Graphen, denn für den, dass der Yao-Graph ein weak - -Spanner ist mit - "- kann gezeigt wer- :- ein weak -Spanner mit . Die Beweise dazu können in [FLZ98, FMS97] und für nachgelesen werden. Da der Yao-Graph ein -Spanner ist, ist er nach Satz 25 auch ein -PowerSpanner. Durch genaues Hinschauen auf den Nachweis der Spanner-Eigenschaft des Yao-Graphen sollte der Leser erkennen, dass sich der Power-Stretchfaktor auf verbessern lässt (Übungsaufgabe). Wie wir sehen konnten, besitzt der Yao-Graph interessante Grapheigenschaften. Ist es sinnvoll ihn als Kommunikationsnetzwerk einzusetzen? Um z.B. die Anzahl der Interferenzen untersuchen zu können, benötigen wir eine neue Definition für eine Interferenz. interferiert mit einer Kante sowie . Definition 19 (gerichtete Interferenz) Eine Kante und genau dann, wenn $ Der Yao-Graph zeichnet sich dadurch aus, dass der Ausgangsgrad beschränkt ist. Der Eingangsgrad dagegen kann bei Knoten werden. Dies führt dazu, den Yao-Graphen weiter auszudünnen. ' ' ' ' ' und Definition 21 (SymmY-Graph) Sei ' ' ' ist gegeben durch ' Definition 20 (SparsY-Graph) Sei ist gegeben durch ' der Yao-Graph mit - Sektoren. Der SparsY-Graph ' mit ' der Yao-Graph mit - Sektoren. Der SymmY-Graph ' - Beide Erweiterungen zeichnen sich dadurch aus, dass auch der Eingangsgrad eines Knotens durch beschränkt ist. Der SymmY-Graph besteht zusätzlich ausschließlich aus symmetrischen Kanten, d.h. er eignet sich besonders für eine bidirektionale Kommunikation, denn es entstehen auch dann theoretisch keine Interferenzen. Nach der Definition der drei Graphen gilt SymmY SparsY Yao . Abbildung 5.14: Yao, SparsY und SymmY mit 8 festen Sektoren für 100 zufällig platzierte Knoten Theorem 27 Der SparsY-Graph . ' ' mit - Sektoren ist ein weak -Spanner für mit Beweis: Seien beliebig. Die Sektoren seien o.B.d.A. im Uhrzeigersinn durchnummeriert. Wir analysieren eine worst-case Konstruktion für den Weg von nach . Die direkte Kante von nach verhinden wir, indem wir einen Knoten in platzieren mit . Wir legen so, dass 71 der Kreis um mit Radius durch den Kreis um mit Radius maximal vergrößert wird (vgl. Nachweis der Spanner-Eigenschaft des Yao-Graphen). Die Kante zu verhinden wir, indem wir in dem benachbarten Sektor einen Knoten platzieren mit und . Da existiert in nach Defintion des SparsY-Graphen die Kante und nicht die . Um die Kante zu verhinden, gehen wir analog vor wie bisher. Auf diese Art und Kante . Wir Weise platzieren wir und erhalten die Kanten für und zuletzt . Für alle gilt bzw. . Für die Wege von nach wiederholen wir die Konstruktion rekursiv. Die Kreise in nachfolgenden Interationen, in denen wir weitere Knoten platzieren, werden in jedem Schritt um den Faktor echt kleiner, wie wir bereits beim Yao-Graphen gesehen haben. D.h. der gesamte konstruierte Weg verläuft in einem Kreis mit Radius ' ' &# ' -2 ' ( - ' Die Analyse der Länge des Weges, der in dem letzten Beweis konstruiert wurde, führt leider nicht zu dem Nachweis der Spanner-Eigenschaft des SparsY-Graphen. Der Weg ist zu lang, was aber auch kein Gegenbeispiel für die Spanner-Eigenschaft ist. Es ist also eine offene Frage, ob der SparsY-Graph ein -Spanner für eine Konstante ist. Die Analyse der Energiekosten dieses Weges hilft, die PowerSpanner-Eigenschaft des SparsY-Graphen nachzuweisen. ' ' ' . Theorem 28 Der SparsY-Graph mit und - mit -Power-Spanner für - Sektoren ist ein - Beweis: Seien beliebig und sei der in Satz 27 konstruierte worst-case Weg von nach . Wenn wir annehmen, dass wir die Konstruktion in allen Sektoren rekursiv durchführen können, so betragen die Energiekosten dieses Weges: & # E- & # E- ( ( , d.h. für - unter der Annahme, dass ' ' Diese Reihe konvergiert für - ' für - . . Theorem 29 Der SymmY-Graph ' ' mit - Sektoren ist stark zusammenhängend für Beweis: Wir beweisen die Behauptung per Induktion nach dem Knotenabstand. Die Knoten mit dem . Nach Definition ' . Nun wählen wir kürzesten Abstand seien des SparsY-Graphen gilt zwei beliebige es existiert eine Kante von nach , oder es existiert ein Knoten Knoten und . Entweder mit . Da - gilt zusätzlich . Per Induktion existiert also ein Weg von nach und von nach . Für den Symmy-Graphen haben wir bisher nur bewiesen, dass er ein zusammenhängender Graph ist. Das nächste Resultat zeigt, dass wir die Spanner, weak Spanner und die Power-Spanner Eigenschaften aufgrund der Kantenausdünnung verlieren. ' ' mit - Sektoren ist weder weak -Spanner und noch . und Theorem 30 Der SymmY-Graph Power-Spanner für beliebige Konstanten ' ' ' ' Beweis: Sei der SymmY-Graph von mit Sektoren. Wir zeigen, dass kein weak -Spanner ist für jede Konstante . Angenommen, ist ein weak mit . Für -Spanner konstruieren wir nun einen Weg, der den Kreis um mit Radius verlässt. Wir benutzen dabei Knoten und platzieren diese so, dass eine Kante ( hat als nächsten Nachbarn in einem Sektor, aber verhindert wird durch die Kante wird widerum verhindert durch hat als nächsten Nachbarn, etc.). Eine Kante 72 (analog). Auf diese Art und Weise erhalten wir einen Turm, wobei nur die Verbindung zwischen den beiden wird also aufgebaut. obersten Knoten entsteht. Die Kante Man mache sich klar, dass wir die so legen können, dass immer gilt Knoten für und ein beliebig kleines . Nun wählen wir mit und erhalten den gesuchten . Widerspruch: ( Topologie Yao SparsY SymmY Anzahl gerichteter Interferenzen 1 (unger.!) Spanner Ja weak und Power Nein, aber zusammenhängend ' EnergieApprox. CongestionApprox. - ,, - Tabelle 5.1: Graph- und Kommunikationseigenschaften der Sektorengraphen 14.Vorlesung Aufbau und Erhaltung der Sektorengraphen In dem letzten Abschnitt haben wir verschiedene Sek- 29.01.2003 torengraphen anhand ihrer Graph- und Kommunikationseigenschaften untersucht (vgl. Tabelle 5.1). Jetzt geben wir lokale, verteilte Algorithmen an, die die Graphen aufbauen und unter gegebener Dynamik erhalten. Wir nehmen an, dass Netzwerkteilnehmer das Netzwerk verlassen oder plötzlich hinzukommen. Die Informationsübertragung unterteilen wir in zwei Kategorien: Routingmodus und Kontrollmodus. In dem Routingmodus versuchen wir das Routingproblem zu lösen und Datenpakete durch das Netzwerk zu schicken. Bei Ausfall oder Hinzukommen eines Knotens kann in den Kontrollmodus geschaltet werden, um neue Verbindungen aufzubauen oder das Netzwerk zu reparieren. Hierfür verwenden wir ein kurzes, spezielles Interferenzsignal, das an alle Knoten im Umkreis verschickt werden kann. Sobald z.B. ein Knoten erkennt, dass einer seiner Nachbarknoten nicht mehr zu erreichen ist (er sendet nicht mehr), schaltet er sich und seine Nachbarschaft durch Senden des Interferenzsignals in den Kontrollmodus und erneuert seine Verbindungen. Wie neu aufgebaut werden? Sei viele Kanten müssen hier im schlimmsten Fall seien parallel zu mit und platziert, so dass zwischen und eine symmetrische Kante existiert. Falls nun ein Knoten in auftaucht, so müssen alle Kanten abgebaut und mit viele zu neu aufgebaut werden. Das gleiche Szenario ist konstruierbar, wenn der Knoten bereits Netzwerkteilnehmer ist und plötzlich das Netzwerk verlässt. ( Theorem 31 Sei Graph erfordert ( . Das Verschwinden/Erscheinen eines Knotens im Yao-, SparsY- oder SymmY Kantenaktualisierungen. Sei nun die Anzahl der in einem Aktualisierungsprozess eingebundenen Kanten und der zur Verfügung stehenden Sendereichweiten. , , die Anzahl Theorem 32 Sei . Das Verschwinden/Erscheinen eines Knotens im Yao-, SparsY- oder SymmY Graph kostet im wesentlichen Zeit . Beweis: Pro involvierte Kante führen wir folgenden Algorithmus durch. In der ersten Phase beginnen wir mit kleinster Sendereichweite in dem entsprechenden Sektor nach einem Nachbarn zu suchen. Solange kein Knoten antwortet, verdoppeln wir die Reichweite. Der Empfang einer Interferenz kann hier als Information genutzt werden: mindestens ein Nachbar wurde gefunden. Für das Verdoppeln sind höchstens Schritte erforderlich. Das Auflösen der Interferenzen benötigt Zeit, wenn wir ein ex ponentielles BackOff-Protokoll verwenden. In der zweiten Phase benutzen wir die binäre Suche um die Sendereichweite beinahe exakt auf den nächsten Nachbarn einzustellen. Hierfür benötigen wir nochmals Schritte und Schritt für Interferenzauflösungen während der Suche. Insgesamt erhalten . wir also , , , , , , 73 Weitere geometrische Graphstrukturen Wir haben bereits gesehen, GG dass der Gabriel-Graph optimal ist für Flussenergie. Man kann zeigen, dass GG ein weak -Spanner ist für ein , allerdings ist er kein Spanner. Als weitere Graphen seien in diesem Zusammenhang der relative Nachbarschaftsgraph RNG und die Delaunay-Triangulation DT genannt. Definition 22 (Relativer Nachbarschaftsgraph) Sei . Der Graph mit Definition 23 (Delaunay-Triangulation) Sei eine Menge von Knoten und VD ihr Voronoi verbunden, wenn ihre Voronoi-Regionen Diagramm. Zwei Punkte werden durch eine Kante VR und VR an eine gemeinsame Voronoi-Kante in VD angrenzen. Der dadurch entsteder Punktmenge genannt. hende Graph wird Delaunay-Triangulation DT Der Leser mache sich als Übungsaufgabe folgenden Zusammenhang klar: MST RNG GG DT Routing mit Ortsinformationen im Yao-Graph An dieser Stelle weichen wir von der ersten harten Annahme ab, dass den Knoten keine Ortsinformationen bekannt sind. Wir nehmen an, dass jeder Knoten seine Position und die Positionen der Zielknoten im Netzwerk kennt. Dies ist ein sehr theoretisches Modell, da sich die Zielknoten in der Realität bewegen. Die laufenden Änderungen der Zielpositionen müssen also genauso im Netzwerk verbreitet werden wie Routinginformationen. In der Praxis wird das Problem durch dieses neue Modell nicht einfacher. Theoretisch wird es einfacher, denn wir können den konstruktiven Beweis zum Nachweis der Spannereigenschaft des Yao-Graphen nutzen um ein einfaches Routingprotokoll anzugeben. Angenommen, ein Knoten möchte eine Information an einen anderen Knoten senden. Im ersten Fall ist nächster Nachbar in einem Sektor, dann sind wir fertig. Im anderen Fall gibt es in dem Sektor, in dem liegt, einen nächsten Nachbarn . Wir leiten die Information über weiter und sagen: wir schicken die Information in den Zielsektor. Wie wir bereits wissen, ist dieser Weg endlich und die euklidische Weglänge sogar bis auf einen konstanten Faktor durch den euklidischen Abstand zwischen und beschränkt. Zu den Vorteilen dieses -Routingverfahrens gehört, dass keine Routingtabelle notwendig ist und die Routingentscheidungen lokal getroffen werden können. Zu den Nachteilen gehört, dass wir Ortsinformationen benötigen (z.B. GPS), und dass sich die Zielknoten nicht bewegen dürfen. Ausserdem funktioniert das -Routing nicht im SparsY- und auch nicht im SymmY-Graph (der Leser mache sich dies klar!). Ein anderer Nachteil des Yao-Graphen ist die Dilation. Die euklidische Weglänge ist zwar beschränkt, aber die Anzahl der Hops kann beliebig schlecht werden: . Wir werden uns nun mit einer Erweiterung des Yao-Graphen beschäftigen, die die Anzahl der Hops verringert. - ' und gegeben. Die Fläche um einen Definition 24 (Hierarchischer Sektorengraph) Seien . Knoten unterteilen wir in gleichgroße Sektoren mit Sektorwinkel Jeden Sektor teilen wir in Zellen ein. Dabei geht von Radius bis für und von Radius bis für . In jeder Zelle erzeugen wir eine Kante zu dem n ächsten in der der Knoten liegt, dann erhalten wir: die Zelle Nachbarn, falls vorhanden. Sei - ' :- ' ' heisst hierarchischer Yao-Graph (H-Yao). ' , dann: . Die maximale Anzahl Sei der Nachbarn in einem Sektor ist also beschränkt durch die Diversität. Für die Anzahl der Kanten heisst das: ' E - . Das -Routing ändern wir nun so ab, dass wir die Information nicht nur in Der Graph den Zielsektor weiterleiten, sondern in die entsprechende Zielzelle. D.h. wir schicken die Information an den Knoten, der in der Zelle nächster Nachbar ist, in der auch der Zielknoten liegt. Da wir die Menge der Kanten nur vergrössern, bleibt die Spannereigenschaft des Yao-Graphen erhalten. Man kann aber mehr zeigen, denn die Spannereigenschaft bleibt auch erhalten, wenn wir die durch das hierarchische -Routing entstehenden Wege betrachten. Die Länge des worst-case Weges kann nicht länger werden als bereits für den Yao-Graphen nachgewiesen. Wie ¨andert sich die Dilation? 74 ' ' Theorem 33 Seien und gegeben durch . gegeben, dann ist die Dilation im hierarchischen Yao-Graphen beliebig. Wir versuchen den Weg von nach über möglichst viele ZwischenkBeweis: Seien noten zu konstruieren. In jedem Schritt platzieren wir dazu in der Zielzelle einen Knoten als nächsten Nachbarn, damit wir nicht direkt erreichen. Im ersten Schritt sei der nächste Nachbar in der Zielzel le der Knoten . Als Übung sollte sich der Leser klar machen, dass das Verhältnis maximal wird, wenn und auf den Sektorgrenzen in der Zelle liegen. Wir davon gehen daher aus, dass und auf den Sektorgrenzen liegen. Wenn wir nun eine konstante mit finden können, dann kommen wir dem Zielknoten in jedem Schritt um einen konstanten Faktor echt näher und können die Anzahl der Zwischenknoten beschränken. Wir betrachen nun und wählen . Sei , dann gilt nach dem Cosinussatz mit . Es folgt *, *), $ Wenn wir nun als Funktion in Abhängigkeit von betrachten, so stellen wir fest, dass zwischen und ein globales Minimum existiert. D.h. wird maximal an den Grenzen. Wir erhalten also , mit , * , In Distanz von dem nächsten Nachbarn zu um den Faktor jedem Schritt wird also die verbleibende verkleinert. Nach höchstens Schritten ist der Abstand zum Zielknoten echt kleiner als 1, d.h. der Zielknoten ist erreicht. 75 76 Kapitel 6 Call-Control in zellularen Netzwerken 15.Vorlesung Wir kehren in diesem Kapitel zu dem zellularen Netzwerkmodell zurück. Wir betrachten also eine Menge 05.02.2003 von Feststationen, die jeweils die Frequenzen verwenden können. Zwischen benachbarten Feststationen können Interferenzen auftreten. Deswegen ist es nicht möglich, dass zwei benachbarte Feststationen zur selben Zeit die selbe Frequenz verwenden. Um jetzt den zur Verfügung stehenden Frequenzraum dynamisch an die Teilnehmer zu verteilen, teilen wir jeder Rufanforderung eines mobilen Teilnehmers eine Frequenz einer Feststation zu. Diese kann der Teilnehmer für den angemeldeten Zeitraum verwenden. Damit steht diese Frequenz sowohl den Teilnehmern dieser Basistation als auch der benachbarten (inteferierenden) Station nicht mehr zur Verfügung. Bei dieser dynamischen Problemstellung ergeben sich für den Netzbetreiber folgende Alternativen. Er kann Rufanforderungen annehmen oder auch abweisen (wenn zum Beispiel dadurch lukrativere Rufanforderungen verhindert werden). Daneben muss der Netzbetreiber auch dynamisch die geeignete Frequenz der Mobilstation zuweisen. Der Netzbetreiber kann natürlich nicht voraussagen, welche Rufanforderungen an welchen Basisstation in Zukunft eintreffen werden. Trotzdem muss er einen Algorithmus wählen, dass das Betriebsergebnis seines Netzwerks optimiert. Wir werden uns in diesem Kapitel dieser Problemstellung der sogenannten Call Control widmen und daran beispielhaft zeigen, wie man solche Online-Algorithmen entwickeln und analysieren kann. Diese Untersuchungen wurden von Grammati E. Pantziou, George P. Pentaris und Paul G. Spirakis in [PPS97, PPS02] veröffentlicht. 6.1 Das Modell Wir betrachten von Feststationen. Die Frequenzen bezeichnen wir also eine Menge . Zwischen verschiedenen Frequenzen treten keine Interferenzen auf. Die Interferenzen gleimit cher Frequenzen werden duch den ungerichteten Interferenzgraph beschrieben. Ist die Kante , so bedeutet diese, dass entweder in oder in eine Frequenz einem Teilnehmer zugewiesen werden kann. (em requests). Mit einer 6.1.1 Requests Die Teilnehmer selbst modellieren wir nur über ihre Rufanforderungen Rufanforderung übermittelt ein mobiler Teilnehmer folgende Informationen: Die Interpretation ist wie folgt. beschreibt die nächste Feststation des mobilen Teilnehmers. Nur an dieser wird der Ruf bedient (wenn überhaupt). 77 beschreibt den Anfangszeitpunkt des Rufs. Zu diesem Zeitpunkt trifft auch die Rufanforderung an. Damit muss der Netzbetzreiber sich unmittelbar entscheiden, wartet er, lehnt er den Ruf dadurch ab. beschreibt die Rufdauer. Ist legt der Teilnehmer nicht mehr auf. Es gehört zu den Spielregeln, dass ein Ruf bis zum Ende bedient wird, auch wenn neue lukrativere Rufanforderungen in der Zwischenzeit eintreffen1. beschreibt den Preis der Verbindung. Nimmt der Netzbetreiber den Ruf an, so kann der diesen Betrag sofort einstreichen. Natürlich ist der Netzbetreiber gewillt diesen Betrag zu maximieren. 6.1.2 Das Spiel In einer zentralen Stelle treffen nun also die Folge der Rufanforderungen ein, sortiert nach den Zeitpunkten . Dem Netzbetreiber ist der Interferenzgraph bekannt und zu Beginn sind noch alle Frequenzen an allen Mobilstationen verfügbar. Für bis zum Ende der Folge , erhält der Betreiber den Request und muss ohne Kenntnis späterer Requests folgende Entscheidung treffen: wird bedient. Diese Entscheidung ist nur möglich, wenn es eine Frequenz 1. Der Request gibt, die sowohl an der Feststation als auch an allen benachbarten Feststationen mit zum Zeitpunkt noch frei ist. an und allen benachbarten Feststationen belegt und . Man wählt nun solch eine freie Frequenz diese Frequenz für den Zeitraum Dann erhält man die Belohnung . 2. Der Request wird abgelehnt. Diese Entscheidung ist zwingend, wenn gerade keine Frequenz verfügbar ist. Solche eine Entscheidung kann aber auch strategisch getroffen werden, wenn zum Beispiel die Belohnung zu gering ist gemessen oder die Netzlage angespannt ist. Ein einfaches Beispiel findet sich in Abbildung 6.1. Abbildung 6.1: Bedienen und Ablehnung von Rufanfoderungen Wir erkennen, dass in diesem dynamischen Problem das Färbungsproblem schon enthalten ist. Hierbei betrachte man den Fall, dass jeder Knoten zeitgleich eine Anfrage erhält. Alle Anfragen können dann nur, genau dann bedient werden, wenn der Graph -färbbar ist. Neben dieser hinlänglich diskutierten kombinatorischen Schwierigkeit kommt aber auch ein weiterer, dynamisches Problem hinzu. 1 Sonst bekommt der Netzbetreiber Probleme mit der Aufsichtsbehörde 78 6.2 Online-Algorithmen und das Kompetitive Verh¨ altnis Hierzu betrachten wir nur eine Feststation und eine Frequenz, d.h. folge und die folgende Anforderungs- Wir erinnern uns, dass der erste Parameter bedeutet, dass immer nur Feststation angerufen wird. Der zweite beschreibt den Zeitpunkt der Rufanforderung. Also treffen zwei Anforderungen zum Zeitpunkt ein, dann jeweils eine zum Zeitpunkt . Der nächste Parameter beschreibt die Zeitdauer und der letzte die Belohnung. Man überlegt sich schnell, dass es am lukrativsten ist, die erste Anforderung abzulehnen und alle anderen hintereinander zu bedienen. Damit erhält man die Belohnung . Nur muss die Entscheidung zum Zeitpunkt geschehen, diese Strategie zu treffen (ohne Kenntnis des Rests der Folge). Treffen aber nur die beiden ersten Rufanforderungen ein, so währe es besser die höher dotierte mit Belohnung zu akzeptieren und auf die andere zu verzichten. Damit wäre zwar der Kanal für zehn Schritte blockiert. Das stellt dann aber kein Problem dar, da sonst keine Anforderungen folgen würden. Der Zwang uns am Anfang einer Folge zu entscheiden stellt uns also vor ein unauflösbares Dilemma. 6.2.1 Das Leihskiproblem Ein ähnliches Online-problem ist das sogenannte Leihskiproblem. Als Skianfänger steht man vor der Entscheidung, ob man sich gleich Skier zum Pris von 100 Taler kaufen soll, oder ob man sich diese für 10 Taler pro Tag leihen sollte. Nun weiss man nicht, ob man sich gleich am ersten Tag die Beine bricht (oder der ganze Schnee wegschmilzt) oder ob man eine ganze Saison jetzt jeden Tag Ski fahren möchte. Die optimale Strategie wäre jeweils die folgende. Der Schnee bleibt von Oktober bis April liegen (und wir finden Gefallen am Skifahren). Dann sollte man am besten gleich am ersten Tag Skier kaufen für 100 Taler. Würde man jeden Tag Skier leihen, kostete das mehr als 1000 Taler. Der Schnee schmilzt am nächsten Tag. Dann hätte man besser nur einmal leihen sollen für 10 Taler. Ersparnis gegenüber kaufen: 90 Taler. Wie kann man diesen Widerspruch auflösen? Nun, man könnte ja zuerst Skier leihen und dann kaufen! Wir betrachten also folgenden Online-Algorithmus. An den ersten 10 Tagen leihen wir Skier zu je 10 Taler. Dann kaufen wir die Skier am 11. Tag. Diese Strategie ist an den ersten 10 Tagen tatsächlich optimal. Ab den 11. Tag zahlen wir drauf. Da wir dann 200 Taler ausgegeben haben. Optimal wären dann 100 Taler. Damit sind wir einen Faktor 2 schlechter als die optimale Strategie. Diese optimale Strategie, die erst hinterher bestimmbar wird, (aus dem Off), nennt man Offline-L ösung. Das Verhältnis aus Ergebnis des Online-Algorithmus und Offline-Lösung wird kompetitives Verḧ altnis (competitive ratio) genannt. Unser Online-Algorithmus hat also ein kompetitives Verhältnis von 2. 6.2.2 Das kompetitive Verhältnis im Belohnungsmodell Für eine Folge bezeichne die Summe aller Belohnungen, die Algorithmus für dir Rufanforderungsfolge erhält. Ferner sei OPT die Summe aller Belohnungen bei optimaler Bedienung der Rufan forderungen. Dann verhält sich Algorithmus -kompetitiv, falls für alle Folgen gilt: OPT 79 Greedy-Algorithmus A begin for to do if Frequenz in Knoten verfügbar then Bediene Request mit einer beliebigen freien Frequenz fi od end. Abbildung 6.2: Greedy-Algorithmus A für das Call-Control-Problem 6.3 Flatrate ohne Auflegen Um einen ersten Einblick in Online-Lösungsstrategien für das Call-Control-Problem zu erhalten betrachten wir Folgen, die der Einschränkung von Einheitskosten, d.h. , und ohne Auflegen, d.h. , genügen. 6.3.1 Der Greedy-Algorithmus Hierfür untersuchen wir einfachen Greedy-Algorithmus, der in Abb. 6.2 dargestellt ist. Tatsächlich haben wir diesen Algorithmus schon in Abb. 6.1 angewendet. Dort wurde Request abgelehnt. Als notwendiges Kriterium zum Ablehnen einer Rufanforderung durch den Greedy-Algorithmus ist die Existenz von Calls auf der 1-Nachbarschaft des angefordeten Knotens. Die 1-Nachbarschaft eines Knoten bezeichnet die Menge aller direkten Nachbarn eines Knoten vereinigt mit dem Knoten selbst. Diese Ablehnungsrelation können wir durch einen eigenen Ablehnungsgraph darstellen. Die Knoten dieses Graphes umfassen alle Rufanforderungen , die vom Greedy-Algorithmus angenommen werden oder Bestandteil der optimalen Offline-Lösung sind. Dieser gerichtete Graph besteht aus den Quellknoten aller angenommen Rufanforderungen und den Senkenknoten aller abgelehnten Knoten . Verhindert ein angenommener Ruf gemäß des GreedyAlgorithmus die Bedienung eines Rufs, so wird eine gerichtete Kante von dem angenommen Ruf zum abgelehnten eingefügt. D.h. falls ein akzeptierter Request eine der Frequenzen eines abgelehnten Requests blockiert, ist . die Anzahl aller Rufanforderungen und bezeichne die Anzahl aller akzeptierten Sei nun und die Anzahl aller abgelehnten Requests. Wir machen nun die folgenden Beobachtungen: 1. Der Eingrad in den abglehnten Knoten des Ablehnungsgraphen der Frequenzen. 2. Der Ausgrad in den angenommenen Knoten ist beschränkt durch le) Grad des Interferenzgraphen ist. ist mindestens gleich der Anzahl , wobei der (maxima- Hierfür veranschaulichen wir uns, dass die abgelehnten Rufe im Ablehnungsgraph nach Definition in der Offline-Lösung angenommen wurden. Für die beiden Knoten einer Kante stehen aber nur Frequenzen zur Verteilung an. Betrachten wir also die 1-Nachbarschaft eines Knoten können im besten Fall Rufanforderungen bedient werden. Damit haben wir höchstens abgelehnte Rufe in der Nachbarschaft. Theorem 34 Der Greedy-Algorithmus hat kompetitives Verhältnis heitlicher Belohnung und unendlicher Dauer. N für Requestfolgen mit ein- Beweis: Um die Performanz des Greedy-Algorithmus abzuschätzen, zählen wir die Anzahl ten des Ablehnungsgraphs . Es gilt, dass die Anzahl der Kanten mindestens 80 der Kanbeträgt, Dagegen ist aufgrund des Eingrades abgelehnter Rufanforderungen. Also gradbeschränkung nach oben beschränkt durch . Damit gilt: Wir setzen nun und erhalten Damit gilt Rufanforderungen in den Ab , da wirgenaualledieakzeptierten Belohnung des Online-Algorithmus be- Nun gilt für die optimale Lösung OPT lehnungsgraph eingefügt haben, während schreibt. Theorem 35 Der Greedy-Algorithmus hat mindestens kompetitives Verh ältnis einheitlicher Belohnung und unendlicher Dauer. wegen der Aus- für Requestfolgen mit Beweis: Hierfür betrachten wir einen Sterngraphen wie in Abbildung 6.3 gezeigt mit zentralen Knoten und Grad .Die Requestfolge besteht aus Requests der Form und Requests der Form . auf jedem der anderen Knoten. Abbildung 6.3: Der Sterngraph als schlimmster Fall für den Greedy-Algorithmus für Call-Control Der Greedy-Algorithmus würde nur die Requests der ersten Sorte bedienen können und Belohnung erhalten. Die optimale offline-Strategie bedient alle anderen Reqeusts und erhält die Belohnung . 6.3.2 Oblivious Adversary Der Einsatz von Zufallsexperimenten im Online-Algorithmus kann das kompetitive Verhältnis verbessern. Er zwingt uns, den Begriff des kompetitiven Verhältnis zu verfeinern. Nehmen wir einmal an, dass beim Leihskiproblem der Wettergott 2 die Entscheidungen des Skifahrers beobachten und darauf reagieren. Dann kann er die Kosten maximieren, indem der Schnee am Tag des Skikaufs schmilzt. Ist das aber nicht der Fall, reden wir von einem oblivious adversary. Wir müssen zwar rechnen, dass der Schnee an einem ungewünschten (schlimmstmöglichen) Tag schmilzt. Aber unsere Entscheidungsprozesse, die zum Kauf führen, bleiben dem Adversary verborgen. Hierzu ein Beispiel. Wir leihen die Skier 4 Tage lang zum Preis von 10 Taler. Am 6. Tag werfen wir eine Münze. Fällt der Taler auf Zahl, dann kaufen wir. Andernfalls mieten wir noch bis zum 9. Tag und kaufen am 10. Tag. Bis zum 6. Tag ist dieser Algorithmus optimal. Am 6. Tag sind die erwarteten Kosten . Das kompetitive Verhältnis zum optimalen Wert 6 Tage lang mieten, also , ist dann . Am 10. Tag sind die erwarteten Kosten . Das Verhältnis zu den optimalen . Offline-Kosten von ist damit nur 2 oder die Bediener der Schnekanonen in Personalunion mit dem Skiverleiher 81 - Classify-and-Randomly-Select (CRS) begin Bestimme unabhängige Knotenmengen Wähle gleichwahrscheinlich for to do if und Frequenz in verfügbar then Akzeptiere und bediene Request else Lehne Request ab fi od end. ' Abbildung 6.4: Classify-and-Randomly-Select (CRS) für das Call-Control-Problem Eine detaillierte Analyse aller dieser Fälle zeigt, dass das kompetitive Verhältnis tatsächlich kleiner ist als das jedes deterministischen Algorithmus. Im deterministischen Fall ist das kompetitive Verhältnis von optimal (Kaufe am 10. Tag). Mit randomisierten Algorithmen kann man dagegen dieses Verhältnis auf verbessern.3 Wir definieren daher das kompetitive Verhältnis gegenüber einem unbeirrbaren/vergesslichen Gegner (oblivious adversary), als das maximale Verhältnis über alle vom Online-Algorithmus unabhängigen Folgen der erwarteten Belohnung des Online-Algorithmus zum optimalen Offline-Algorithmus. 6.3.3 Klassifizieren und Auswählen Der Sterngraph aus dem letzten Beweis zeigt die Grenzen einer deterministischen Strategie auf. Es erscheint unvermeidbar sich auf den Deal einzulassen, zuerst den zentralen Knoten mit Aufgaben zu versorgen. Würde man darauf verzichten, könnte im schlimmsten Fall keine weitere Anforderung kommen. Durch den geschickten Einsatz von Zufallsentscheidungen gelingt es, im Durchschnitt das kompetitive Verhältnis auf den Faktor zwei zu senken. Hier stellen wir den CRS-Algorithmus vor, siehe Abbildung 6.4. Dieser beruht auf der Bestimmung von unabhängiger Knotenmengen im Interferenzgraphen. Zwischen Knoten von unabhängigen Knotenmengen dürfen keine Kanten des Graphen liegen. So besteht zum Beispiel der Sterngraph aus zwei unabhängigen Knotenmengen. Man sieht leicht ein, dass die minimale Anzahl unabhängiger Knotenmengen der Färbungszahl des Graphen entspricht. Wir gehen in folgenden Theorem davon aus, dass eine optimale Färbung des Interferenzgraphen gegeben ist. Die Färbungszahl von bezeichnen wir mit . Theorem 36 Der Classify-and-Randomly-Select-Algorithmus hat erwartetes kompetitives Verh ältnis für Requests mit einheitlicher Belohnung und unendlicher Dauer gegen über einem oblivious Adversary. Beweis: Wir bezeichnen mit OPT die Belohnung, die der CRS-Algorithmus erhält, wenn er sich für die te unabhängige Knotenmenge entscheidet. Diese Belohnung entspricht der Anzahl der Requests für Knoten , wobei für jeden Knoten maximal zugelassen werden. Interferenzen spielen hier keine Rolle. Wenn wir die optimale Lösung eingeschränkt auf Requests in der Knotenmenge betrachten, dann können nicht mehr Calls zugelassen werden. Damit gilt folgende Ungleichung für die Summe der Beloh- 6 8 +6 ; <F ! 6 #F " 66 !@ " 6 8 6?9 @ 6 8 ; @ A= GO O O 3 Eine exakte Analyse im Skiverleihproblem zeigt, dass die Wahrscheinlichkeit Tag gekauft werden, am besten mit " dann ein kompetitives Verh¨altnis von [EYKL99]. " 82 7 A= OOO = 1 für die Entscheidung, dass die Skier am -ten für zu w¨ahlen ist, was ergibt. Eine algemeinere Untersuchung hierzu findet sich in &' ( nungen der optimalen Offline-Lösung. OPT OPT Die erwartete Belohnung des CRS-Algorithmus ergibt sich durch aus den Einzelwahrscheinlichkeiten zur Wahl einer Knotenmenge als E Damit erhalten wir die Beziehung E &' - ( &' ( - - OPT - OPT ' OPT was einem kompetitiven Verhältnis von entspricht. In den bisherigen Überlegungen hat die Anzahl der verfügbaren Frequenz interessanterweise keine Rolle gespielt. Das nun folgende Ergebnis von [AAF 01] zeigt, dass man Ergebnisse für eine Frequenz auf mehrere übertragen kann. Aus Zeit- und Platzgründen verzichten wir auf die Darstellung des Beweis. Theorem 37 Jeder -kompetitive Algorithmus für das Call-Control-Problem mit einer Frequenz kann in einen -kompetitiven Algorithmus für das Call-Control-Problem mit Frequenzen umgewandelt werden. Wir werden daher im folgenden uns auf eine Frequenz, d.h. , beschränken. 6.3.4 Lokale Online-Strategien 16.Vorlesung Wir betrachten also den Spezialfall einer Frequenz, einheitlicher Belohnung und unendlicher Gesprächs- 12.02.2003 dauer. Natürlich kann man mit einer Frequenz immer nur einen Knoten in einer 1-Nachbarschaft bedienen. Aber auch hier stellt sich die Frage wie man dies am besten bewerkstelligt. Hierfür betrachten wir den sogenannten Block-and-Randomly-Serve-Algorithmus (BaRS) aus Abbildung 6.5. Sei der durchschnittliche Grad des Interferenzgraphen . Dann gilt folgendes Lemma. Lemma 14 Die Anzahl der akzeptierten Requests ist mindestens . Beweis: Ein Knoten ist isoliert, falls er keine Nachbarn hat. Wir betrachten mit einen nicht isolierten und nicht blockierten Knoten in der Nachbarschaft zum Zeitpunkt des ersten eintreffenden Requests, der eine Färbung zur Folge hat. Beschreibe die binäre Zufallsvariable das Ereignis, dass jetzt gefärbt wird, d.h. , falls gefärbt wird und sonst . Ebenso beschreibe die binäre Zufallsvariable das Ereigniss, dass nun blockiert wird, d.h. heisst wird nun blockiert und heisst keine Blockade. Dann gilt für den Erwartungswert der Summe E falls ( bezeichnet die Anzahl nicht blockierter Nachbarn von ). Ist gilt E Sei die binäre Zufallsvariable, die beschreibt, dass der Knoten mit Wahrscheinlichkeit eine Färbung verzichtet und nie wieder zur Färbung zur Verfügung steht. Hier gilt und im Falle von ist E E . 83 auf Block-and-Randomly-Serve-Algorithmus (BaRS) begin to do for if Frequenz in nicht verfügbar, weil ein Nachbar einen Request bedient then Lehne Reqeust ab Blockiere else if ist blockiert or bedient bereits or hat schon einmal abgelehnt then Lehne Request ab else Anzahl nicht blockierter Nachbarn von if then Bediene Request else with probability do Bediene Request otherwise Lehne Request ab Akzeptiere nie wieder einen Request od fi fi od end. Abbildung 6.5: Block and Randomly Serve (BaRS) — Ein Algorithmus für das Call-Control-Problem für eine Frequnz. 84 Hieraus folgt für die erwartete Gesamtanzahl aller Request-ablehner E E , die Ge und die erwartete Anzahl aller blockierten Knoten samtanzahl aller gefärbten Knoten E E E E : E E E ( E , da jeder der Sei E die erwartete Anzahl aller gefärbter Knoten Ferner ist E nicht blockierten Knoten nur einmal gezählt wird, da er später blockiert wird. Nun folgt aus der letzten Ungleichung die linke Seite der Ungleichung & E ( E während die rechte aus der Tatsache folgt, dass E gilt. die Menge nicht-blockierter Nachbarn. Es gilt nun Für jeden gefärbten Knoten sei nun & ( & ' ' ' mit ' . ' ' Nun betrachten wir zwei ungefärbte und noch nicht blockierte Nachbarknoten und Dann gilt ' Somit haben die Knoten kleineren (nicht-blockierten) Grads höhere Wahrscheinlichkeit gefärbt zu werden als ihre Nachbarn mit höheren Grad, was bedeutet E ' E P ' wird gefärbt und wird blockiert Somit erhalten wir & E ( & & ' E ( & ( ( E ( & E E ' E E Aus der Cauchy-Schwarz-Ungleichung folgt nun & & ( E Für allgemeine Adversary (nicht oblivious) kann man folgendes Lemma beweisen. Hierbei ist , wobei die Anzahl der Knoten in der größten unabhängigen Menge beschreibt. 85 Lemma 15 Die erwartete Anzahl von akzeptieren Requests durch den BaRS-Algorithmus ist mindestens Damit erhalten wir ein kompetives Verhältnis von . 6.4 Das allgemeine Resultat Natürlich gelten diese Überlegungen nur für das eingeschränkte Modell mit uniformer Belohnung und unbeschränkter Anrufdauer. Mit der Classify-and-Select-Technik kann man aber einen Algorithmus konstruieren, der auch den allgemeinen Fall lösen kann. Hierzu klassifiziert man die Zeitdauer in Größenklassen, die bis auf einen Faktor zwei gleich groß sind. Man wählt eine dieser zufällig aus, wobei der Quotient aus maximaler und minimaler Rufdauer ist. Nun löst man das Problem für eine Zeitperiode dieser Länge als ob die Anrufe beliebig lange dauern. Natürlich verliert man durch diesen Ansatz erwartungsgemäß einen Faktor von . Genaus kann man für unterschiedliche Belohnungen vorgehen. Wiederum geht ein Faktor von verloren, wobei der Quotient aus größter und kleinster Belohnung ist. Man also folgendes Resultat zeigen , , , Theorem 38 Es gibt einen randomisierten Online-Algorithmus der das Call-Control-Problem mit beliebigen Requests mit kompetitiven Verhältnis , , D 86 Literaturverzeichnis [AAF 01] Awerbuch, Azar, Fiat, Leonardi, and Rosen. On-line competitive algorithms for call admission in optical networks. Algorithmica, 31, 2001. [AH77a] K. Appel and W. Haken. Every planar map is 4-colorable – 1: Discharging. Illinois Journal of Mathematics, 21:421–490, 1977. [AH77b] K. Appel and W. Haken. Every planar map is 4-colorable – 2: Reducibility. Illinois Journal of Mathematics, 21:491–567, 1977. [BB99] Martin Bossert and Markus Breitbach. Digitale Netze. Teubner, Stuttgart, 1999. ISBN: 3-51906191-0. [BGS98] Mihir Bellare, Oded Goldreich, and Madhu Sudan. Free bits, PCPs, and nonapproximability— towards tight results. SIAM Journal on Computing, 27(3):804–915, June 1998. [BYGI87] Reuven Bar-Yehuda, Oded Goldreich, and Alon Itai. On the time-complexity of broadcast in radio networks: An exponential gap between determinism and randomisation. In Fred B. Schneider, editor, Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing, pages 98–108, Vancouver, BC, Canada, August 1987. ACM Press. [EYKL99] R. El-Yaniv, R. Kaniel, and N. Linial. Competitive optimal on-line leasing. Algorithmica, 25:116–140, 1999. [Feh95] Kamilo Feher. Wireless Digital Communications: Modulation and Spread Spectrum. Prentice Hall PTR, 1995. ISBN: 0130986178. [FLZ98] M. Fischer, T. Lukovszki, and M. Ziegler. Geometric searching in walkthrough animations with weak spanners in real time. In 6th Annual European Symposium on Algorithms (ESA ’98), pages 163–174, 1998. [FMS97] M. Fischer, F. Meyer auf der Heide, and W.-B. Strothmann. Dynamic data structures for realtime management of large geometric scenes. In 5th Annual European Symposium on Algorithms (ESA ’97), pages 157–170, 1997. [FNPS01] Fotakis, Nikoletseas, Papadopoulou, and Spirakis. Hardness results and efficient approximations for frequency assignment problems and the radio coloring problem. BEATCS: Bulletin of the European Association for Theoretical Computer Science, 75, 2001. [For86] Steven J. Fortune. A sweepline algorithm for Voronoi diagrams. In Proc. 2nd ACM Symp. Computational Geometry, pages 313–322. ACM Press, 2–4 June 1986. [GJS74] M. R. Garey, D. S. Johnson, and L. Stockmeyer. Some simplified NP-complete problems. In ACM, editor, Conference record of sixth annual ACM Symposium on Theory of Computing: papers presented at the symposium, Seattle, Washington, April 30–May 2, 1974, pages 47–63, New York, NY, USA, 1974. ACM Press. 87 [GLSV02] M. Grünewald, T. Lukovszki, C. Schindelhauer, and K. Volbert. Distributed maintenance of resource efficient wireless network topologies (distinguished paper). Lecture Notes in Computer Science, 2400:935–945, 2002. [Gro02] IETF MANET Working Group. Manet-charter. http://www.ietf.org/html.charters/manetcharter.html, 2002. [Hal93] M.M. Halldórsson. A still better performance guarantee for approximate graph coloring. Inform. Process. Lett., 45:19–23, 1993. [Kle97] Rolf Klein. Algorithmische Geometrie. Addison-Wesley, Bonn, 1997. ISBN: 3-486-24382-9. [MKOS00] Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Schwarzkopf. Computational Geometry: Algorithms and Applications. Springer, Heidelberg, 2000. [MSVG02] F. Meyer auf der Heide, C. Schindelhauer, K. Volbert, and M . Grünewald. Energy, Congestion and Dilation in Radio Networks. In 14th ACM Symposium on Parallel Algorithms and Architectures (S PAA’02), pages 230–237, 2002. [Per01] C. E. Perkins, editor. Ad Hoc Networking. Addision-Wesley, 2001. [PPS97] Pantziou, Pentaris, and Spirakis. Competitive call control in mobile networks. In ISAAC: 8th International Symposium on Algorithms and Computation (formerly SIGAL International Symposium on Algorithms), 1997. [PPS02] Pantziou, Pentaris, and Spiraki. Competitive call control in mobile networks. Theory of Computing Systems, 2002. [Sch00] Jochen Schiller. Mobile Communications. Addison-Wesley, Bonn, 2000. [Tan96] Andrew S. Tanenbaum. Computer Networks. Prentice-Hall International, Inc., 1996. ISBN: 0-13-394248-1. [Vai02] Nitin Vaidya. Tutorials about the MAC-Layer http://www.crhc.uiuc.edu/ nhv/presentations.html, 2002. 88 in Wireless Networks.