Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Ähnliche Dokumente
Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2

Graphen: Datenstrukturen und Algorithmen

Anmerkungen zur Übergangsprüfung

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Fully dynamic algorithms for the single source shortest path problem.

Konzepte der Informatik

8 Diskrete Optimierung

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

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

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

16. All Pairs Shortest Path (ASPS)

Das Briefträgerproblem

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

Breiten- und Tiefensuche in Graphen

Vorlesung 3 MINIMALE SPANNBÄUME

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

Kapitel 6: Graphalgorithmen Gliederung

WS 2009/10. Diskrete Strukturen

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Wie findet das Navi den Weg?

Algorithmen und Datenstrukturen

Wissensbasierte Systeme

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

Algorithmen II Vorlesung am

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

SS 2005 FAU Erlangen Eine Wegeplanungs-Strategie. Jeremy Constantin, Michael Horn, Björn Gmeiner

Algorithmen und Datenstrukturen (WS 2007/08) 63

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Statistische Untersuchungen zu endlichen Funktionsgraphen

2 Lösungen "Peptide de novo Sequencing"

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Datenstrukturen & Algorithmen

Wo geht s lang: Routing. Erstellt von Simon Wegbünder.

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

WORKFLOW DESIGNDOKUMENT

8. Uninformierte Suche

Modelle und Statistiken

Algorithmentheorie Maximale Flüsse

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

Graphentheorie Mathe-Club Klasse 5/6

Internet Routing. SS 2012 Grundlagen der Rechnernetze Internetworking

Guten Morgen und Willkommen zur Saalübung!

Die k kürzesten Wege in gerichteten Graphen

1 topologisches Sortieren

Property Testing in Graphen mit beschränktem Maximalgrad

Dijkstra, Kalmann und der Heiratssatz. Anwendung von Algorithmen am Beispiel der innovativen Mobilitätslösung car2go

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Erzeugung zufälliger Graphen und Bayes-Netze

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/ / 206

4 Greedy-Algorithmen (gierige Algorithmen)

Seminararbeit für das SE Reine Mathematik- Graphentheorie

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Kapitel 4: Analyse von Petrinetzen

Netzwerkmodelle. Seminar Netzwerkanalyse. Sommersemester 2005 Jasmine Metzler

Graphentheorie. Graphen sind Modelle für Netzwerke.

PROSEMINAR ONLINE ALGORITHMEN

10 Dynamische Programmierung

Expander Graphen und Ihre Anwendungen

Organic Computing: Peer-to-Peer-Netzwerke

Überblick. Einführung Graphentheorie

Wissensbasierte Systeme

Modul N5 - Routing. Informatik erleben. Anwendung: http, smtp. Transport: TCP, UDP. Segment. Vermittlung: IP. Datagramm. Sicherung: Ethernet, PPP

Informatik I WS 07/08 Tutorium 24

Kapitel MK:IV. IV. Modellieren mit Constraints

Routenberechnung mit partitionierten Straßendaten

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Da Ros Consulting GmbH. Da Ros Consulting GmbH

4. Relationen. Beschreibung einer binären Relation

Wissensbasierte Systeme

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Internet Routing. Grundprinzipien Statisches Routing Dynamisches Routing Routingprotokolle Autonome Systeme

Wie Google Webseiten bewertet. François Bry

Kombinatorische Optimierung

Ohne Mathematik undenkbar!

Grundlagen der Programmierung 2. Bäume

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Entwicklung eines Graphenmodells als Grundlage für eine Routingapplikation für den motorisierten Individualverkehr basierend auf der GIP

Daten, Daten, Daten. Und immer an den Zugriff denken.

Schwierige Probleme in der Informatik Informationen für die Lehrperson

x 2 x 1 x Lernen mit Entscheidungsbäumen

Routing Information Protocol (RIP), Open Shortest Path First (OSPF)

Gyarmati Michael p1/15. Softwarepraktikum. Gyarmati Michael

Seminar künstliche Intelligenz

ABITURPRÜFUNG 2009 LEISTUNGSFACH INFORMATIK

Projekthefter. Distanzprobleme in Graphen. Deutsche Telekom AG, Hochschule für Telekommunikation Leipzig. Steve Martin und Rico Gemeinhardt

Transkript:

Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über vermaschte Nachrichtennetze. Insbesondere in paketvermittelten Datennetzen ist hierbei strenggenommen zwischen den beiden verschiedenen Prozessen Routing und Forwarding zu unterscheiden. Das Routing bestimmt t den gesamten Weg eines Nachrichtenstroms durch das Netzwerk; das Forwarding beschreibt hingegen den Entscheidungsprozess eines einzelnen Netzknotens, über welchen seiner Nachbarn er eine vorliegende Nachricht weiterleiten soll. Häufig werden jedoch Routing und Forwarding unter dem Begriff Routing miteinander vermengt; in diesem Fall bezeichnet Routing ganz allgemein die Übermittlung von Nachrichten über vermaschte Nachrichtennetze.

Begriffe, Definitionen Graph Ein Graph ist in der Graphentheorie ein Gebilde aus Knoten (auch Ecken oder Punkte), die durch Kanten verbunden sein können. Ein Graph G ist ein geordnetes Paar zweier Mengen: G = (V,E) Dabei bezeichnet V die Menge der im Graph enthaltenen Knoten und E die Menge der Kanten des Graphen. Die Bezeichnungen der Mengen entstammen dem Englischen: V für vertex (engl. für Knoten ) und E für edge (engl. für Kante ). Gerichteter Graph Ein Graph G =(V,E) heißt gerichtet, wenn zu jedem e є Edasdurcheine definierte Abbildung Ψ zugeordnete Paar (v,v') - geordnet ist (v,v' є V). Anschaulich bedeutet ein gerichteter Graph, dass sich die Kante von einem Knoten zu einem Knoten durch einen Pfeil darstellen lässt. (Quelle: www.wikipedia.de) V E Prinzip von im GIS Bereich Suche nach einer optimalen Verbindung von einem Start- zu einem Zielpunkt unter einer bestimmten Kostenfunktion /-modell Kürzester Weg Schnellste Verbindung Behindertengerechte Route Andere Ziel- / Kostenfunktionen in einem Graphen bestehend aus Knoten und Kanten, wobei die Kanten mit einem Gewicht (z.b. Strecke, Zeit ) versehen sind

Routing Verfahren (Auswahl) Benannt nach seinem Erfinder Edsger W. Dijkstra Standardalgorithmus für Routing A* Algorithmus Informative Suche, der Algorithmus greift auf eine Heuristik zurück Zielgerichtete i t Suche, mit Punkten, die am wahrscheinlichsten h h zum Ziel führen Findet einen kürzesten Weg, nicht den kürzesten Weg Floyd Algorithmus Berechnung der kürzesten Wege zwischen allen Paaren von Punkten Geg.: Gerichteter Graph G, dessen Kanten alle mit Kosten (z.b. Entfernung, Fahrtzeit) versehen sind Kürzester Weg von A nach B in einem Graphen

Geg.: Gerichteter Graph G, dessen Kanten mit Kosten attributiert sind (z.b. Strecke oder Zeit) Aufgabe: Berechnung des kürzesten Weges von einem Startknoten s zu einem Zielknoten z Einfachste Idee: alle Wege berechnen und den Kürzesten auswählen Feststellung: wenn der kürzeste Weg von s nach z über y geht, sind die Teilstücke auch immer der kürzeste Weg zwischen den beiden Punkten Dijkstra: Berechnung der kürzesten Wege von einem beliebigen Startpunkt zu allen anderen Punkten des Graphen Beispiel: Kürzester Weg von Do nach Du Startpunkt: Do 20 15 Do Ha W X X80 30 Du Du Neue kürzeste Verbindung nach Du über W und Ha längerer längerer Weg

ein Beispiel S 1 2 Grüne Knoten: in Arbeit /bearbeitet 2 Rote Knoten: Rand des jeweiligen TG 2 7 Grüne Kanten: Kürzeste Wege 3 6 8 9 4 5 Beschreibung des Algorithmus Bildung eines Teilgraphen TG in G, ausgehend von s TG beschreibt den erkundeten Teil von G, bestehend aus: Allen Knoten die mit s verbunden sind, dabei bedeuten: Grüne Knoten: In Arbeit / bearbeitet Rote Knoten: Rand vom TG Markierung der Kanten innerhalb des TG Grüne Kanten: Bilden kürzeste Wege Rote Kanten: längere (eliminierte) Wege In jedem Knoten wird der Abstand zu s verwaltet TG wächst, indem in jedem Schritt der Randknoten mit minimalen Abstand von s ins Innere von TG übernommen wird Nachfolger übernommener Knoten werden Randknoten Kürzeste Pfade zu grünen Knoten, die erneut erreicht werden, sind ggf. zu korrigieren

Knoten: Blau -> Rot (Beispiel) Offene Fragen Algorithmus ist korrekt kt (Beweis-> Literatur) t Wie finden wir schnell Alle Nachfolger eines Knoten? Aktive Knoten? Wir benötigen : Datenstrukturen für den Graphen Datenstruktur für die aktiven Knoten und verbindungen

Datenstrukturen Datenstruktur t für den Graphen (mit Kosten) Variante 1: Adjazenzmatrix Variante 2: Adjazenzliste Datenstruktur für die Menge der aktiven Knoten: Heap auf Heap wird in dieser Vorlesung als Datenstruktur nicht weiter eingegangen Adjazenzmatrix Definition: Knoten, die durch eine Kante verbunden sind, heißen benachbart oder adjazent Definition: Die n x n Matrix A = {a ij } heißt Adjazenzmatrix mit a ij = true, falls v i und v j adjazent, sonst false.

Adjazenzmatrix mit Kosten Bei gewichteten Graphen lassen sich die Kosten k direkt in die Adjazenzmatrix eintragen: a ij = k, falls v i und v j adjazent, sonst. Beachte: alle Diagonalelemente sind Null. Vorteil: Möglichkeit, in der Laufzeit O(1) festzustellen, ob eine Kante von v i nach v j existiert. Nachteil: hoher Platzbedarf O(n²) Beispiel zur Adjazenzmatrix Do Du Ha W D K Do 0 80 20 Du 0 20 Ha 0 15 W 30 0 150 80 D 0 15 K 0

Adjazenzliste Für jeden Knoten wird eine Liste seiner (Nachfolger-) Nachbarknoten abgespeichert. Der Zugriff auf die Listen erfolgt über ein Array der Länge n (n = Anzahl der Knoten) Vorteil: geringer Platzbedarf: O(n+e) (e Anzahl der Kanten) alle m Nachfolger eines Knotens sind in der Zeit O(m) erreichbar ihb Nachteil: Um zu prüfen, ob v i und v j benachbart sind, muss die Adjazenzliste von v i durchlaufen und nach v j gesucht werden Aber: Für Dijkstra ist eine Adjazenzliste ideal Beispiel zur Adjazenzliste Do Du Ha W D K Do Du 80 Ha 20 Do 0 80 20 Du 0 20 Ha 0 15 W 30 0 150 80 D 0 15 Du Ha W D K 0 K

Erweiterung Dijkstra zur Behandlung von realen Straßennetzen Reale Netze stellen besondere Anforderungen Größe des Netzwerkes (Effizienz) Dijkstra mit Geometrie Straßenverkehrsordnung (Abbiege- und Wendeverbote) Abbildung realer Straßennetze auf Graphen Ansätze: Modifikation des Graphen Modifikation von Dijkstra Dijkstra Erweiterung Dijkstra nutzt die Geometrie der Knoten/Kannten nicht aus Richtungslos: Dijkstra berücksichtigt nicht die Richtung von Startknoten zum Zielknoten Erweiterung: Dijkstra mit Geometrie

Idee: kürzeste Verbindung von K nach HH gesucht Dijkstra nutzt zunächst nicht die Geo- Metrie-Information, sondern berechnet auch die Verbindung nach BN Resümee: Dijkstra mit Geometrie Erweiterung von Dijkstra durch Einbeziehung i der Richtung zum Ziel (Heuristik) Zielgerichtete Suche Findet optimale Lösung, wenn Kantenkosten = Weglänge Umsetzung dieses Ansatzes = A* Algorithmus

Anwendung in realen Netzen Abbiegeverbotb Änderung des Algorithmus Änderung des Graphen Transformation des Graphen mit Abbiegeverbot in einen Graphen ohne Abbiegeverbot Anschließend Anwendung von Standard Dijkstra Einbahnstraßen Gleiches Prinzip wie oben Standardalgorithmus für Routing