Das Problem des Handlungsreisenden
|
|
|
- Sebastian Hertz
- vor 8 Jahren
- Abrufe
Transkript
1 Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme in der Verkehrsplanung und Logistik oder beim Entwurf integrierter Schaltungen und Mikrochips. Man kann auch andere Probleme aus der Klasse der NP-vollständigen Probleme auf TSP zurückführen. Wir werden zunächst eine sehr einfache Strategie zur exakten Lösung von TSP untersuchen, die sogenannte brute-force Technik (wir nennen sie auch Holzhammermethode), und zeigen wie katastrophal langsam ein Algorithmus mit exponentieller Laufzeit sein kann. Inhalt: 1. Die Holzhammer-Methode Dynamisches Programmieren Näherungslösungen Einige Bemerkungen zum Schluss...10
2 Seite 2 1. Die Holzhammer-Methode Die Holzhammer-Methode, die auch brute-force oder naive Methode genannt wird, ist der einfachste Algorithmus zur exakten Lösung von TSP. Er betrachtet nacheinaner alle möglichen Rundreisen, berechnet für jede die Gesamtlänge und ermittelt durch Vergleich der so erhaltenen Werte die kürzeste Tour. Leider wächst aber die Zahl aller möglichen Rundreisen mit steigender Zahl n der gegebenen Städte sehr schnell. Man kann sich leicht überlegen, dass es insgesamt (n 1)! = (n 1) verschiedene Möglichkeiten gibt, n Orte mit einer Rundreise zu besuchen: jede Rundreise muss in einer Stadt (z.b. der ersten) beginnen, die restlichen n 1 Städte in irgendeiner Reihenfolge besuchen, und dann wieder zur ersten Stadt zurückkehren. Es gibt aber genau (n 1)! Möglichkeiten, die restlichen (n 1) Städte nacheinander aufzuzählen (man spricht auch von der Zahl der Permutationen). Abbildung 1 zeigt die 6 = (4 1)! möglichen Rundreisen für 4 Städte A,B,C,D. Städte mögliche Rundreisen Laufzeit msec msec msec msec msec ,5 sec sec min ,5 Stunden ,5 Stunden ,8 Tage Tage ,3 Jahre Jahre Tabelle 1: Anzahl der möglichen Rundreisen und Laufzeit Bei den unteren drei Touren handelt es sich, wie man leicht sieht, um Umkehrungen der oberen drei Touren, so dass man eigentlich nur für die Hälfte der Rundreisen die Gesamtlängen ausrechnen muss. Bei n Städten muss der Algorithmus also 1/2 (n 1)! Rundreisen betrachten. Es gibt übrigens auch Varianten von TSP ohne diese Symmetrie- Eigenschaft. Dann muss man tatsächlich alle Touren untersuchen. Tabelle 1 zeigt, wie gewaltig schnell die Zahl der Rundreisen mit steigendem n wächst. Die letzte Spalte gibt eine Abschätzung für die Laufzeit eines Programms an, das TSP mithilfe der Holzhammermethode zu lösen versucht. Dabei wird angenommen, dass die Bearbeitung einer einzigen Rundreise etwa eine Millisekunde Zeit benötigt. Die letzte Zeile der Tabelle zeigt, dass ein solches Programm für die Lösung eines TSP-Problems mit nur 16 Städten mehr als eine halbe Billionen Rundreisen betrachten muss und so über 20 Jahre Rechenzeit benötigt. Laufzeiten im Minutenbereich sind nur für Probleme mit maximal 10 Städten möglich.
3 Seite 3 2. Dynamisches Programmieren Eine Technik, die in der Informatik und insbesondere beim Entwurf von Algorithmen sehr häufig eingesetzt wird, ist die Rekursion. Dabei versucht man, die Lösung eines Problems auf kleinere Probleme der gleichen Art zurückzuführen. Das sogenannte Dynamischen Programmieren ist eine spezielle Variante dieser Technik, bei der man Zwischenresultate von rekursiv definierten Teilproblemen in einer Tabelle verwaltet. Wir nehmen an, dass die n Städte mit den Zahlen von 1 bis n durchnummeriert sind, d.h. wir können die Menge der Städte als Menge S = { 1, 2,..., n } schreiben, und dass die Entfernungen oder Kosten in einer Tabelle DIST gegeben sind, d.h. DIST [i, j] bezeichnet die Entfernung von Stadt i nach Stadt j. Da eine Rundreise in jeder beliebigen Stadt beginnen und enden kann, nehmen wir zur Vereinfachung an, dass jede Rundreise in der Stadt 1 beginnt, dann zu einer Stadt i { 2,..., n } führt, dann alle restlichen Städte { 2,..., i-1, i+1,..., n } besucht, und schließlich zur Stadt 1 zurückkehrt. Sei i eine beliebige Stadt und A eine Menge von Städten. Dann definiere L(i,A) als die Länge eines kürzesten Weges der in der Stadt i beginnt, jede Stadt in der Menge A genau einmal besucht, und in Stadt 1 endet. Für die Berechung der L(i,A)-Werte sind folgende Beobachtungen nützlich. 1. Für jede Stadt i S ist L(i, ) = DIST [i, 1]. Es ist klar, dass der kürzeste Weg von i nach 1, der keine andere Stadt besucht, die direkte Verbindung von i nach 1 ist. 2. Für jede Stadt i S und Teilmenge A S \ {1, i}: L(i,A) = min{dist [i, j] + L(j, A \ {j}) j A }. Wenn die Menge A nicht leer ist, dann kann man den optimalen Weg wie folgt rekursiv definieren. Probiere für alle j A den Weg aus, der von i aus zunächst nach j führt. Für den besten dieser Wege muss gelten, dass auch der Rest des Weges (von j nach 1) optimal ist. Dieser hat aber nach unserer Definiton die Länge L(j, A \ {j}). 3. L(1, { 2,..., n }) ist die Länge einer optimalen Rundreise. Dies folgt aus der Tatsache, dass jede Rundreise in der Stadt 1 beginnt, dann alle anderen Städte besucht und schließlich nach 1 zurückkehrt.
4 Seite 4 Aus diesen Beobachtungen folgt ein rekursiver Algorithmus, der die Werte von L(i, A) für immer größere Teilmengen A in eine Tabelle einträgt. Dabei ist der Fall A = die Verankerung der Rekursion. Algorithmus TSP mit dynamischer Programmierung 1 for i := 1 to n do L(i, Ø) := DIST [i, 1] endfor; 2 for k := 1 to n - 1 do 3 forall A S \ {1} with A = k do 4 for i := 1 to n do 5 if i A then 6 L(i, A) = min {DIST [i, j] + L(j, A \ {j}) j A}. 7 endif 8 endfor 9 endfor 10 endfor 11 return L(1, {2,..., n});
5 Seite 5 Der Algorithmus füllt eine Tabelle mit n Zeilen (i = 1,..., n) und maximal 2 n Spalten (für alle Teilmengen der Größe k <= n-1), d.h. die Tabelle enthält maximal n 2 n Einträge. Pro Eintrag wird eine Minimumssuche über n Werte ausgeführt (Zeilen 4 bis 7). Damit wird Zeile 6 des Algorithmus maximal n n 2 n = n 2 2 n mal ausgeführt. n Städte Größe der Tabelle (n 2 2 n ) Laufzeit msec ,4 sec ,8 sec ,3 sec ,3 sec sec sec sec ,1 Minuten ,8 Minuten Minuten Minuten Stunden ,7 Stunden Tabelle 2: Größe der Tabelle und Laufzeit Tabelle 2 zeigt, wie sich diese Zahl mit wachsendem n entwickelt. Außerdem gibt sie in der letzten Spalte eine Abschätzung für die Laufzeit, wenn wir annehmen, dass die Berechnung eines Tabelleneintrags eine Millisekunde Zeit kostet. Man sieht, dass die Laufzeit immer noch mehr als exponentiell mit n wächst. Allerdings ergibt sich im Vergleich zur Holzhammer-Methode doch schon eine gewaltige Verbesserung. Die Zeit zur Berechnung einer optimalen Rundreise durch 16 Städte hat sich von 20 Jahren auf 5 Stunden verringert. Hinweis: Ein ernstes Problem beim Dynamischen Programmieren ist die exponentiell wachsende Tabelle und der damit verbundene Speicherbedarf.
6 Seite 6 3. Näherungslösungen Der Ansatz des Dynamischen Programmierens hat zwar eine Verbesserung der Laufzeit bewirkt. Aber diese ist immer noch exponentiell und daher für große Werte von n völlig unbrauchbar. Auch der gewaltige Speicherbedarf ist ein Problem. In diesem Abschnitt lernen wir ein Verfahren kennen, das nicht unbedingt die optimale Rundreise findet, aber eine relativ gute Lösung berechnet. Genauer gesagt, der nun vorgestellte Algorithmus findet eine Rundreise, die nicht mehr als doppelt so lang wie die kürzeste Reise ist. Ein solches Verfahren nennt man auch eine Heuristik. Abbildung 2: Der vollständige Graph aller direkten Reisewege Wir modellieren hierzu TSP als ein Problem auf einem Graphen, wobei die Knoten die Städte darstellen und eine Kante zwischen zwei Knoten i und j die direkte Reise von i nach j beschreibt und entsprechend mit der Distanz bzw. den Kosten für diese Reise beschriftet ist. Da beim TSP-Problem für jedes Paar (i, j) von Städten eine direkte Reise von i nach j möglich ist, handelt es sich bei dem so konstruierten Graphen G = (V, E) um den vollständigen Graphen, der alle Knotenpaare als Kanten enthält, d.h. E = V V. Eine Rundreise wird in diesem Modell durch einen Kreis in G dargestellt, der jeden Knoten genau einmal enthält. Ein solcher Kreis wird auch als Hamilton-Kreis bezeichnet.
7 Seite 7 Abbildung 3: Der minimal aufspannende Baum Es gibt einen einfachen Zusammenhang zwischen möglichen Rundreisen (d.h. Hamilton- Kreisen) und speziellen Teilgraphen von G, den sogenannen aufspannenden Bäumen. Ein aufspannender Baum ist ein kreisfreier Teilgraph, der alle Knoten von G miteinander verbindet. Ein minimal aufspannender Baum ist ein aufspannender Baum, dessen Gesamtkosten (d.h. die Summe aller Kantenkosten) minimal sind. Wenn man aus einer Rundreise eine beliebige Kante entfernt, so erhält man einen sogenannten Hamilton- Pfad. Da ein Hamilton-Pfad die Bedingungen eines aufspannenden Baumes erfüllt (ein kreisfreier Teilgraph, der alle Knoten miteinander verbindet), sind dessen Gesamtkosten mindestens so groß wie die eines minimal aufspannenden Baumes. Mit anderen Worten, die Gesamtkosten eines minimal aufpannenden Baumes sind kleiner oder gleich den Gesamtkosten eines bestmöglichen Hamilton-Pfades und damit auch einer optimalen Rundreise. Abbildung 4: Einmal um den Minimum-Spanning-Tree
8 Seite 8 Diese Algorithmen sind sehr effizient. Der teuerste Schritt ist das Sortieren der Kanten nach ihren Kosten. Ausgehend von einem minimal aufspannenden Baum kann man nun sehr leicht eine TSP-Tour berechnen. Das vollständige Verfahren wird in den folgenden Schritten beschrieben. Algorithmus: 1. Konstruiere den vollständigen Graphen G = (V, E) wobei V die Menge der Städte ist und E = V V (siehe Abbildung 2). 2. Berechne einen minimal-aufspannenden Baum T von G. Dabei sind die Kosten einer Kante (v, w) gleich der Entfernung zwischen den Städten v und w (DIST [v, w]). Abbildung 3 zeigt das Ergebnis dieses Rechenschrittes für unser Beispielproblem. 3. Im nächsten Schritt konstruiert man aus dem Baum T eine erste Tour, indem man T einfach entlang seiner Kanten einmal umrundet (siehe Abbildung 4). Die Gesamtlänge dieser Reise ist offensichtlich genau doppelt so groß ist wie die Kosten von T, da man jede Kante zweimal verwendet. Aus unseren Vorüberlegungen schließen wir, dass die Gesamtlänge dieser Reise höchstens doppelt so groß wie die Länge einer optimalen TSP Rundreise ist. 4. Die im letzten Schritt konstruierte Tour ist offensichtlich nicht optimal und eigentlich sogar keine korrekte Rundreise, da sie jeden Knoten zweimal besucht. Man kann sie aber leicht in eine korrekte und im allgemeinen auch kürzere Rundreise umwandeln, indem man jeweils drei aufeinanderfolgene Knoten a, b, c untersucht und testet, ob man die beiden Kanten a b c durch die Abkürzung a c ersetzen kann, ohne dass der Knoten b isoliert wird. Das Resultat dieses Schrittes sehen wir in Abbildung 5.
9 Seite 9 Abbildung 5: Die Minimum-Spanning-Tour Tabelle 3 zeigt die Laufzeit des MST-Algorithmus für zufällig ausgewählte Städte. Wie man sieht, kann er eine Näherungslösung für 1000 Städte in etwa einer Minute Rechenzeit finden. In weiteren Bearbeitungsschritten kann man, die Rundreise weiter verbessern. Es existieren viele Heuristiken, um dies zu erreichen, z.b. das 2-OPT Verfahren, das wie folgt arbeitet. Man betrachtet jeweils 2 Kanten der berechneten Tour, sagen wir A B und C D. Wenn man diese beiden Kanten entfernt, zerfällt die Tour in zwei Teilstücke von B nach C und von D nach A. Dann wird getestet, ob man diese Teile durch Einfügen der Kanten A C und D B zu einer kürzeren Tour zusammenfügen kann. Städte Laufzeit 100 0,01 sec 200 0,08 sec 300 0,36 sec 400 1,30 sec 500 3,62 sec 600 8,27 sec ,07 sec ,35 sec ,22 sec ,38 sec Tabelle 3: Laufzeit der MST-Heuristik
10 Seite Einige Bemerkungen zum Schluss Es gibt eine Reihe weiterer Heuristiken, die oft zu sehr guten Ergebnissen führen und häufig sogar die optimale Rundreise liefern. Auch bei der Berechnung von exakten Lösungen für TSP hat man in den letzten Jahren erhebliche Fortschritte erzielt. Es gibt mittlerweile Programme die TSP- Probleme mit mehreren tausend Städten in wenigen Stunden Rechenzeit exakt lösen können. Im schlechtesten Fall bleibt das TSP-Problem sehr schwierig (NP-vollständig) und erfordert exponentiell viele Rechenschritte.
Proseminar Online Algorithmen, Prof. Dr. Rolf Klein
Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP
Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick
Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.
Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.
Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
5.4 Das Rucksackproblem
Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen
3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
Minimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
Dynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
Graphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 3: Minimal aufspannende Bäume und Matroide Minimal aufspannende
Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
Das Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20
Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:
Routing Algorithmen. Begriffe, Definitionen
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
4. Kreis- und Wegeprobleme Abstände in Graphen
4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls
Datenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
Übung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 9 10.12.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T20 Beweisen Sie die
Algorithmische Bioinformatik 1
Algorithmische Bioinformatik 1 Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2009 Übersicht Paarweises
Effiziente Algorithmen I
H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug
Algorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
2. Optimierungsprobleme 6
6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen
4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
Anmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011
Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.
Randomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
Klausur Grundlagen der Informatik Hochschule Ravensburg-Weingarten
Klausur Grundlagen der Informatik Hochschule Ravensburg-Weingarten Semester: AI2, WI2 Bearbeitungszeit: 90 Min. Hilfsmittel: kein prog. C SS 2010, 07.07.2010 90% Punkte entspr. Note 1,0 50% Punkte entspr.
Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung
Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte
NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)
NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des
Vorlesung 4 BETWEENNESS CENTRALITY
Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/
1. Einleitung wichtige Begriffe
1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und
Algorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
Dynamisches Programmieren - Problemstruktur
Dynamisches Programmieren - Problemstruktur Optimale Substruktur: Optimale Lösung enthält optimale Lösungen von Teilproblemen. Bsp.: Kürzester Weg im Graphen, LCS (s. etwa Folie 42 der letzten Vorlesung)
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm
Einstieg in die Informatik mit Java
1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking
Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme
Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
Fortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
ADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
14. Algorithmus der Woche Gewinnstrategie für ein Streichholzspiel
14. Algorithmus der Woche Gewinnstrategie für ein Streichholzspiel Autor Jochen Könemann, University of Waterloo Ich bin gerade ein bisschen verärgert und, zugegeben, auch etwas verwirrt. Gestern Abend
Algorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
Durchschnitt von Matroiden
Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
abgeschlossen unter,,,, R,
Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen
Rechnerische Komplexität
Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit
Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. [email protected]. [email protected].
1 Programmierung 2 Dynamische Programmierung Sebastian Hack [email protected] Klaas Boesche [email protected] Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung
Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
Wiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
Klausur Informatik B April Teil I: Informatik 3
Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.
11 Dynamisches Programmieren
Algorithmen und Datenstrukturen 279 11 Dynamisches Programmieren Gegenstand dieses und des nächsten Kapitels sind noch einmal Algorithmen. Zunächst beschreiben wir das sog. dynamische Programmieren. kein
SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung
SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung Martin Dietzfelbinger Juni/Juli 2011 FG KTuEA, TU Ilmenau Effiziente Algorithmen SS11 Kapitel 5 Kapitel 5: Dynamische Programmierung Typische
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass
Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik
Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren
Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren 1 Übersicht 1. Ziele des Kapitels 2. Bereits behandelte Lösungsstrategien 3. Backtracking 4. Branch-and-Bound 5. Weiterführende
Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone
Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer
Alles zu seiner Zeit Projektplanung heute
Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?
Minimal spannende Bäume
Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu
Universität des Saarlandes
Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Kurt Mehlhorn WiSe 2015/2016 Übungen zu Ideen der Informatik http://www.mpi-inf.mpg.de/departments/algorithms-complexity/teaching/winter15/ideen/
Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung
Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs
Nichtdeterministische Platzklassen
Sommerakademie 2010 Rot an der Rot AG 1: Wieviel Platz brauchen Algorithmen wirklich? Nichtdeterministische Platzklassen Ulf Kulau August 23, 2010 1 Contents 1 Einführung 3 2 Nichtdeterminismus allgemein
Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering
Steinerbäume Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering Verfasser Flamur Kastrati Betreuer Prof. Dr. habil. Thomas
Verbesserungsheuristiken
Verbesserungsheuristiken Bestandteile der Lokalen Suche Für schwierige Optimierungsaufgaben haben Verbesserungsheuristiken eine große praktische Bedeutung. Sie starten mit Ausgangslösungen, die von z.b.
Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung
Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,
Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. [email protected]
Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern [email protected] Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der
ADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University
Vorlesung 3 MINIMALE SPANNBÄUME
Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei
Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei
7/7/ Das Rucksack-Problem Englisch: Knapsack Problem Das Problem: "Die Qual der Wahl" Ein Dieb raubt einen Laden aus; um möglichst flexibel zu sein, hat er für die Beute nur einen Rucksack dabei Im Ladens
f h c 7 a 1 b 1 g 2 2 d
) Man bestimme mit Hilfe des Dijkstra-Algorithmus einen kürzesten Weg von a nach h: c 7 a b f 5 h 3 4 5 i e 6 g 2 2 d Beim Dijkstra-Algorithmus wird in jedem Schritt von den noch unmarkierten Knoten jener
Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung
Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman
Algorithmische Methoden zur Netzwerkanalyse
Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische
Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken
Algorithmen und Datenstrukturen 1 Kapitel 3
Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät [email protected] Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann
Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger
Toleranzbasierte Algorithmen für das Travelling Salesman Problem Gerold Jäger (Zusammenarbeit mit Jop Sibeyn, Boris Goldengorin) Institut für Informatik Martin-Luther-Universität Halle-Wittenberg [email protected]
MafI I: Logik & Diskrete Mathematik (F. Hoffmann)
Lösungen zum 14. und letzten Aufgabenblatt zur Vorlesung MafI I: Logik & Diskrete Mathematik (F. Hoffmann) 1. Ungerichtete Graphen (a) Beschreiben Sie einen Algorithmus, der algorithmisch feststellt, ob
Einführung in Heuristische Suche
Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?
9. Heuristische Suche
9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany [email protected] S Heuristische Suche Idee: Wir nutzen eine (heuristische)
Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm [email protected]
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm [email protected] Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
Lösungsvorschläge Blatt Z1
Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt Z1 Zürich, 2. Dezember 2016 Lösung zu Aufgabe Z1 Wir zeigen L qi /
Grundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon
Algorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
Geometrische Algorithmen
Geometrische Algorithmen Thomas Röfer Motivation Scan-line-Prinzip Konvexe Hülle Distanzprobleme Voronoi-Diagramm Rückblick Manipulation von Mengen Vorrangwarteschlange Heap HeapSort swap(a, 0, 4) 1 5
HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen
9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam
Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
Optimierung. Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen. Vorgehen: Dynamische Programmierung
Optimierung Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen Optimierung I Dynamisches Programmieren Günther Greiner Lehrstuhl für Graphische Datenverarbeitung Sommersemester
Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität
Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte
»La filosofia è scritta in questo grandissimo libro che continuamente ci sta aperto innanzi a
MOTTO GALILEO GALILEI: DIE GOLDWAAGE (IL SAGGIATORE) VON 623»La filosofia è scritta in questo grandissimo libro che continuamente ci sta aperto innanzi a gli occhi (io dico l universo), ma non si può intendere
Algorithmen & Programmierung. Rekursive Funktionen (1)
Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden
11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung
Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben
Datenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 27.10.2011 [email protected] 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:
