Kombinatorische Aspekte (1) Kombinatorische Aspekte (2) - Wieviele verschiedene Wege der Länge k (ausgehend von Knoten 0) gibt es?



Ähnliche Dokumente
auf bel. zusammenh. Topologie vorausgesetzt wird jeweils, dass der Algorithmus "weiss", dass eine spezifische Topologie vorliegt!

Primzahlen und RSA-Verschlüsselung

1 topologisches Sortieren

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Grundlagen der Theoretischen Informatik, SoSe 2008

Professionelle Seminare im Bereich MS-Office

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Das Briefträgerproblem

SMS/ MMS Multimedia Center

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

2.5. VERBINDUNGSNETZWERKE GESTALTUNGSKRITERIEN DER NETZWERKE TOPOLOGIE ALS GRAPH. Vorlesung 5 TOPOLOGIE: DEFINITIONEN : Sei G = (V, E) ein Graph mit:

Anmerkungen zur Übergangsprüfung

Kompetitive Analysen von Online-Algorithmen

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Einführung in die Algebra

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Übung 6. Tutorübung zu Grundlagen: Rechnernetze und Verteilte Systeme (Gruppen MI-T7 / DO-T5 SS 2015) Michael Schwarz

WS 2008/09. Diskrete Strukturen

Informationsblatt Induktionsbeweis

Musterlösungen zur Linearen Algebra II Blatt 5

Lineare Gleichungssysteme

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Algorithmentheorie Maximale Flüsse

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Konzepte der Informatik

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

7 Rechnen mit Polynomen

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Anleitung über den Umgang mit Schildern

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Wir machen neue Politik für Baden-Württemberg

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

6.2 Scan-Konvertierung (Scan Conversion)

Guten Morgen und Willkommen zur Saalübung!

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Zählen von Objekten einer bestimmten Klasse

Bürgerhilfe Florstadt

Wasserfall-Ansätze zur Bildsegmentierung

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

SEND-IT Bedienungsanleitung

Einführung in. Logische Schaltungen

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

HBF IT-Systeme. BBU-NPA Übung 4 Stand:

Broadcasting mit. WhatsApp. Ein neues Tool für die Jugendarbeit.

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

WS 2009/10. Diskrete Strukturen

AutoTexte und AutoKorrektur unter Outlook verwenden

SUDOKU - Strategien zur Lösung

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Beweisbar sichere Verschlüsselung

Algorithmische Mathematik

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

W-Rechnung und Statistik für Ingenieure Übung 11

Algorithmen II Vorlesung am

Statuten in leichter Sprache

Grundbegriffe der Informatik

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Was meinen die Leute eigentlich mit: Grexit?

Übungen (2) zur Vorlesung "Verteilte Algorithmen"... Das Märchen von der verteilten Terminierung

Wenn Russland kein Gas mehr liefert

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Deutsches Rotes Kreuz. Kopfschmerztagebuch von:

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Datenbanken Kapitel 2

Technical Note Nr. 101

A Lösungen zu Einführungsaufgaben zu QueueTraffic

Lineare Gleichungssysteme

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Senioren ans Netz. schreiben kurze Texte. Lektion 9 in Themen aktuell 2, nach Übung 7

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Daten sammeln, darstellen, auswerten

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Jörg Rambau

Electronic Systems GmbH & Co. KG

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

Was ist Sozial-Raum-Orientierung?

WLAN Konfiguration. Michael Bukreus Seite 1

Info-Veranstaltung zur Erstellung von Zertifikaten

Informationen als Leistung

Routing im Internet Wie findet ein IP Paket den Weg zum Zielrechner?

LANGFRISTIGE HAUSAUFGABE (LINEARE GLEICHUNGSSYSTEME)

Lehrer: Einschreibemethoden

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Mobile Intranet in Unternehmen

MASTER-BERATUNG. im Fach Kunstgeschichte

Anwendertreffen 20./21. Juni

!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Transkript:

Broadcast auf speziellen Topologien - Echo-Algorithmus realisiert einen Broadcast - Verteilen von Information ausgehend von einem Initiator - für beliebige (zusammenhängende) Topologien - liefert sogar "Vollzugsmeldung" durch Echo-Nachrichten - Auf speziellen Topologien lässt sich der Broadcast auch effizienter realisieren - Beispiel Ring: Ein "Token" zirkuliert mit der Information; alle sind informiert, wenn das Token wieder beim Initiator eingetroffen ist - ggf. kann einer anderen Topologie ein Ring überlagert werden Initiator auf bel. zusammenh. Topologie Hypercubes - Hypercube = "Würfel der Dimension d" - Rekursives Konstruktionsprinzip - Hypercube der Dimension 0: Einzelrechner - Hypercube der Dimension d+1: Nimm zwei Würfel der Dimension d und verbinde korrespondierende Ecken 011 111 001 010 110 000 d=3 d=2 d=1 - Beispiel (Spann)baum (tatsächlich Unterschied zum Echo-Algorithmus) - Beispiel vollständiger Graph (als Denkübung) vorausgesetzt wird jeweils, dass der Algorithmus "weiss", dass eine spezifische Topologie vorliegt! Vert. Algo. 03/04, F. Ma. 71 - Anzahl der Knoten n = 2 d - Anzahl der Kanten = d 2 d-1 (Ordnung O(n log n)) - viele Wegalternativen (Fehlertoleranz, Parallelität!) - maximale Weglänge: d = log n - mittlere Weglänge: d/2 (Beweis als Denkübung!) - Knotengrad = d (nicht konstant bei Skalierung!) - Einfaches Routing von einzelnen Nachrichten - xor von Absende- und Zieladresse... wieviele verschiedene Wege der Länge k gibt es insgesamt Vert. Algo. 03/04, F. Ma. 72

Kombinatorische Aspekte (1) - Wieviele verschiedene Wege der Länge k (ausgehend von Knoten 0) gibt es - man wiederhole die Begriffe und Methoden der Kombinatorik... - für den Anfang: was ergibt sich für k=1, k=n - Ein ähnliches Problem: Wege in Manhatten... Brian Hayes, American Scientist, January-February 1996 A Walk in Manhattan (Auszug) When I was a commuter in New York, I walked a diagonal route across midtown Manhattan morning and evening. I used to wonder how many different paths I could find through the grid of east-west and north-south streets without taking extra steps. Eventually I grew curious enough to calculate some solutions. For a square lattice of n- by-n blocks, any minimum-length diagonal path is necessarily 2n blocks long. How many such paths are there For the 1-by-1 lattice the answer is 2: You can go east and then north or you can go north and then east. In a two-block square there are six paths, and in a 3- by-3 block there are 20. The sequence of values I calculated begins like this: 2, 6, 20, 70, 252, 924, 3432, 12870, 48620... Do those numbers look familiar They should. They are prominent members of one of the most ancient and famous families of numerical sequences. And yet I did not identify them until several years later, when I had a chance to submit them to Sloane's sequence server. The answer came back immediately: They were recognized as sequence M1645, the central binomial coefficients, the numbers that run down the middle of Pascal's triangle. My reaction was "of course! Why didn't I see it all along" But I doubt that I would have made the connection without help. Vert. Algo. 03/04, F. Ma. 73 The discovery was a productive one, which led not just to an answer but to an insight. I saw that counting the shortest diagonal paths for all rectangular lattices--not just the square ones--would fill in the rest of Pascal's triangle. Each row of the triangle consists of all the lattices with a given minimum diagonal path length. For example, the fifth row includes all the lattices with a path length of 4, namely the 0-by-4, 1-by-3, 2-by-2, 3-by-1 and 4-by-0 lattices. The corresponding counts of diagonal paths (and the corresponding entries in Pascal's triangle) are 1, 4, 6, 4 and 1. http://www.sigmaxi.org/amsci/issues/comsci96/compsci96-01.html A Kombinatorische Aspekte (2) B - Jeder kürzeste Weg von A nach B hat die Länge 11 - Repräsentation durch ein Wort der Länge 11-5 Nullen und 6 Einsen - 0: gehe nach Osten - 1: gehe nach Norden - Wieviele solche Worte gibt es - Gegeben sei eine 11-elementige Menge - Dem i-ten Element sei die Position i (in einem Wort) zugeordnet - Anzahl der 6-elementigen Teilmengen = Anzahl der Worte der Länge 11 mit genau 5 Nullen und 6 Einsen - ==> Binomialkoeffizienten Vert. Algo. 03/04, F. Ma. 74

Broadcast in Hypercubes (1) - Initiator habe die Nummer 00...00 (binär) - Wir verzichten hier auf Vollzugsmeldung (also keine Acknowledgemnents oder Endeerkennung) Dim 3 (1) (2) (3) - Analog zum rekursiven Aufbau des Hypercube: Dim 2 Dim 1 - zunächst in Dimension 1 senden: Teil-Hypercube der Dimension 1 ist damit informiert - dann senden alle Knoten der Dimension 1 in Dimension 2 - dann Dimension 3 etc. - Nach d "Takten" sind alle Knoten informiert - Zeitkomplexität ist daher d (unter welchem Zeitmass) - Nachrichtenkomplexität: 1 + 2 + 4 +...+ 2 d-1 = 2 d-1-1 + 2 d-1 = n-1 (jeder Knoten, ausgenommen der Initiator, erhält genau eine Nachricht) - Welche Komplexität hat ein optimaler Broadcast-Algo. - Geht es besser was heisst überhaupt "besser" - Algorithmus startet ziemlich "langsam": am Anfang geschieht wenig parallel! - Kann man dies durch gleichzeitiges Versenden "in alle Richtungen" beschleunigen Vert. Algo. 03/04, F. Ma. 75 Broadcast in Hypercubes (2) - Ein anderes Verfahren (Vergleich als Denkübung!) - Initiator sendet an alle seine Nachbarn: 0...01, 0...010, 0...,..., 10...0 linkeste 1 - Ein Knoten mit der Nummer 0...01x...y...z leitet die Information an alle seine höheren Nachbarn weiter: 1111 in kanonischer Numerierung 0...0011x...y...z 0...0x...y...z 0...1x...y...z... 10...001x...y...z 0011 0 0111 1 0001 1 Von welchem (eindeutigen) Knoten A wird Knoten B informiert Setze vorderste 1 von B auf 0 --> = Nummer von A 1 (wie sieht der Spannbaum des anderen Verfahrens aus) 0110 0 1110 0000 - Der Algorithmus wird z.b. in Mehrprozessorsystemen verwendet beliebiges Restmuster 0010 0 1 0 Der implizite Spannbaum bei Dimension 4 (Tiefe d; n-1 Kanten) - Wie effizient ist der Algorithmus (Geht es besser) - Denkübung: Formuliere Algorithmus für einen beliebigen Initiator (schliesslich sind Hypercubes symmetrisch...) - Denkübung: Vergleich mit Flooding bzw. Echo-Algorithmus am besten gleichzeitig, wenn dies technisch geht! Vert. Algo. 03/04, F. Ma. 76

Noch ein anderer (besserer) Algorithmus - Beobachtungen: - Ein Baum verwendet im Hypercube relativ wenig Kanten --> schlechte Ausnutzung potentielle Parallelität - Es gibt mehrere Spannbäume in Hypercubes --> diese nutzen Veranschaulichung des Algorithmus - Sender 0...0 teilt die Nachricht in d Pakete - Sender startet für jedes Paket eine eigene Welle : - 1. Paket in Dimension 1 senden --> 0...01 - Dann: Alle informierten Knoten (also 0...0 und 0...01) senden dieses Paket in Dimension 2 - Etc. Welle für Paket 1 breitet sich analog zur rekursiven Definition des Hypercubes in einer jeweils zusätzlichen Dimension aus - Das 2. Paket wird erst in Dimension 2, dann 3,..., d und erst zuletzt in Dimension 1 gesendet - Das 3. Paket: Dimensionsreihenfolge 3, 4,..., d,1, 2 - Etc.: das d.-paket in Dimensionsreihenfolge d, 1, 2,..., d-1 Die drei Takte der Welle von Paket 1 Dim 3 Dim 2 Dim 1 Denkübungen: - Können so die Pakete gleichzeitig verschickt werden - Ist dann in jedem Takt pro Kante nur eine Nachricht unterwegs - Wieviele (kantendisjunkte ) Spannbäume gibt es in einem Hypercube Die Spannbäume bzgl. Paket 1 und Paket 2 Vert. Algo. 03/04, F. Ma. 77 Vert. Algo. 03/04, F. Ma. 78

Parallelausführung der drei Wellen Verteilte Berechnung von Routingtabellen für kürzeste Wege Gegeben: ungerichteter zusammenhängender Graph mit bewerteten Kanten (Kosten, Länge...) Takt 1 Takt 2 Takt 3 Paket 3 Paket 2 000 Paket 1 001 Takt 1 2 3 Paket 1: 1. 2. 3. Dim. Paket 2: 2. 3. 1. Dim. Paket 3: 3. 1. 2. Dim. Pro Takt laufen die Pakete in jeweils unterschiedlicher Dimension! Es können also tatsächlich die drei Wellen parallel ausgeführt werden, ohne dass diese sich gegenseitig stören! --> Dies ist das (im Prinzip) schnellere Verfahren! Beachte: Ein globaler Takt ist gar nicht nötig! Vert. Algo. 03/04, F. Ma. 79 F H 9 3 zu Kosten via A 0 - B 22 B C D E 4 E F 9 F G 1 G H Anfangstabelle für Knoten A 2 G 1 7 A 22 - Jeder kennt anfangs die Kosten zu seinen Nachbarn - "Spontanstart": Sende eigene Tabelle an Nachbarn - Bei Empfang einer Tabelle über Verbindung mit Kosten g: Für alle Zeilen i der Tabelle: Falls Nachricht.Kosten[i]+g < Knoten.Kosten[i]: ersetze Zeile (Kosten := Kosten+g; via := Absender) - Falls sich Tabelle verändert hat: Neue Tabelle an alle Nachbarn (Ausnahme: Sender) - Wie Terminierung feststellen - Ist eine verteilte Version des Bellman-Ford-Algorithmus - ähnlich dem bekannten Dijkstra-Algorithmus für kürzeste Wege - Relexationsprinzip (Bellman 1958, Dijkstra 1959, Ford 1962) 4 B E 2 6 4 D C Vert. Algo. 03/04, F. Ma. 80

Kürzeste Wege in Rechnernetzen - Algorithmus wird oft als dynamisches ( adaptives ) Routing-Verfahren verwendet, wo in regelmässigen Zeitabständen die Tabellen neu berechnet und ausgetauscht werden - bzw. dann, wenn sich etwas ändert (Kosten einer Verbindung, z.b. Ausfall einer Leitung oder Änderung der Lastsituation) - Metrik für die Kosten z.b.: - (gewichtete)anzahl der hops - Bitrate einer Verbindung - Verzögerung einer Verbindung (z.b. gemessen mit Testpaketen) - Länge der Warteschlange vor einer Verbindung - "Count to infinity-problem" X Y Z Bei Ausfall von XY 1 2 2 3 24 3...... Beispiel: Kosten des Weges zu x - Durch die kürzesten Wege zu einem festen Knoten ("Wurzel") ist ein kostenminimaler Baum gegeben - Algorithmus wird in LANs eingesetzt, um einen Spannbaum zu bestimmen (Knoten = Teil-LAN; Kante = Bridge) - Zyklenfreiheit ist wichtig, da kein Routing in LANs - Ende wird heuristisch durch Abwarten einer Zeitspanne festgestellt LAN 4 Bridge 2-4 mehr zu diesen Dingen in anderen Vorlesungen ("Rechnernetze") kann man ggf. künstlich eindeutig machen Bridge 4-3 LAN 2 Bridge 3-2 LAN 3 Bridge 2-1 LAN 1 Vert. Algo. 03/04, F. Ma. 81 Das Paradigma der vert. Approximation Prinzip: - Anfang: Informiere alle Nachbarn spontan - Bei Empfang einer Nachricht: - berechne neue Approximation - falls diese "besser": informiere Nachbarn Potentialgefälle - Nachrichtengesteuert (aber "Spontanstart") - Alle Prozesse arbeiten gleich, alle sind beteiligt - Nichtdeterministischer Ablauf, determin. Ergebnis - Beliebige stark zusammenhängende Topologie - Assoziative Operatoren (min, max,,, +, and, or,...) - Stagnation bei globalem Gleichgewicht ("Optimum") --> Potentialunterschiede ausgeglichen --> Terminierungsproblem Beispiele ("Instanzen der Algorithmenklasse"): - ggt - Zahlenrätsel - Verteilen von Information ("Wissensausgleich") - Routingmatrizen (inkl. Spannbaum) - Maximale Identität ("election") (noch) - Lastausgleich (Approx. eines dyn. Optimums) nicht behandelt - Relaxationsverfahren (Lösen von DGL) Vert. Algo. 03/04, F. Ma. 82

Nachbarschaftswissen - Zweck: Lerne Identitäten Deiner Nachbarn kennen (Idee: "Ich heisse i, wie heisst Du") - Hier nachrichtengesteuert für P i : ( vgl. verteiltes Approximationsschema) {Nachricht <j> kommt an} if not vorgestellt then send <i> to all neighbors; fi; Nachbarn := Nachbarn {j}; vorgestellt := true; 3 7 mehrere Einer muss "spontan" mit der Vorstellung beginnen - global terminiert, wenn - vorgstellt = true bei allen Prozessen und keine Nachricht unterwegs - oder: alle kennen alle - lokal terminiert (genügt meistens!), wenn zu jeder inzidenten Kante die zugehörigen Nachbarknoten bekannt sind - 2e Nachrichten (bei Ring also 2n); Zeitkomplexität 5 P i Netz zusammenhängend mit bidirektionalen Kanten 4 Verwendung als: - vorgeschalteter eigener Algorithmus - "piggybacking" der Vorstellungsnachrichten mit eigentlichen (jew. "ersten") Anwendungsnachrichten Vert. Algo. 03/04, F. Ma. 83