Rechnerische Komplexität

Größe: px
Ab Seite anzeigen:

Download "Rechnerische Komplexität"

Transkript

1 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 3. Die Klassen P und NP 3.1. Entscheidungsprobleme 3.2. Charakterisierung der Klassen P und NP 4. Literatur 1. Einführung In den letzten Jahrzehnten wurden Methoden in Hinsicht auf kombinatorische Optimierung entwickelt, um Algorithmen zu bewerten und Probleme entweder als schwer oder leicht einzuordnen. Das TSP (Travelling Salesman Problem) ist dabei eines der bedeutendsten Probleme, an dem jeder neue erdenkliche Algorithmus ausprobiert wurde, und das als eines der ersten Optimierungsprobleme als schwer eingestuft wurde. 2. Algorithmen und Komplexität 2.1. Algorithmen Ein Algorithmus ist eine Prozedur, bei der Schritt für Schritt ein Problem gelöst wird. Er kann entweder in einer Programmiersprache formuliert sein, aber ebenso auch informell. Zum Beispiel sei folgendes TSP gegeben: Es gibt n Städte, und eine n n Distanzmatrix C ist gegeben. Die Frage sei, welches der kürzeste Reiseweg für diese n Städte ist. Man kann dies auch folgendermaßen schreiben: TSP INSTANZ: ganze Zahl n = 3 und eine n n Matrix C = (c ij ), wobei jedes c ij eine nichtnegative ganze Zahl ist (Bem.: jede rationale Zahl kann durch Multiplikation zu einer ganzen Zahl umgewandelt werden). FRAGE: Welche zyklische Permutation p der ganzen Zahlen von 1 bis n minimiert die Summe c ip(i)? n i=1 1

2 Zur Lösung dieses Problems gibt es einen Algorithmus, hier zur Unterscheidung für spätere Algorithmen ALGORITHMUS A genannt. Er generiert alle möglichen Reisewege, bewertet jeden und bestimmt den besten. Da er nicht sehr effizient arbeitet, wird er auch als rohe Gewalt-Technik bezeichnet. ALGORITHMUS A Input: Eine ganze Zahl n = 3 und eine n n Distanzmatrix C besetzt mit nicht-negativen ganzen Zahlen. Output: Ein kürzester Reiseweg durch die n Städte. min :=8; FOR alle zyklischen Permutationen p von {1,2,...,n} DO cost := c ip(i) ; IF cost < min THEN min := cost; besttour := p OUTPUT besttour n i=1 Ein besserer Algorithmus ist ALGORITHMUS B. Dieser findet für jedes i den kürzesten Weg von Stadt 1 zu Stadt i, der alle anderen Knoten in {2,3,...,n} besucht. Sobald einmal diese Wege gefunden sind, ist es einfach, den kürzesten Reiseweg zu finden. ALGORITHMUS B Input: Eine ganze Zahl n = 3 und eine n n Distanzmatrix C besetzt mit nicht-negativen ganzen Zahlen Output: Ein kürzester Reiseweg durch die n Städte FOR i := 2 TO n DO cost [{i},i] := c 1i ; bestpath[{i},i] := (1,i); ; FOR j := 2 TO n-1 DO FOR EACH S {2,3,,n} mit S = j DO FOR EACH i S DO cost [S,i] := min k S-{i} {cost[s-{i},k]+c ki }; k soll die Stadt sein, die dieses Minimum erreicht; bestpath[s,i] := bestpath[s-{i},k] concat (i); ; mincost := mink 1{cost[{2,3,,n},k]+ck1}; k soll die Stadt sein, die dieses Minimum erreicht; besttour := bestpath[{2,3,...,n},k]; OUTPUT besttour; Dabei geht der Algorithmus wie folgt vor: Um diese kürzesten Reisewege zu finden, löst der Algorithmus ein allgemeineres Problem. S sei eine Untermenge der Stadtmenge, die alle Städte bis auf Stadt 1 enthält, und i sei der Index einer Stadt dieser Menge. Für jedes S und 2

3 i soll ein (S,i)-Weg ein Weg sein, der bei Stadt 1 anfängt, jede Stadt in S genau einmal und keine andere besucht, und bei Stadt i endet. cost[s,i] steht für die Länge eines kürzesten (S,i)-Weges. ALGORITHMUS B baut also die Werte für cost[s,i] für immer größer werdende Mengen S auf, bis cost[{2,3,...,n},i] erreicht wird für i = 2,3,...,n. Das Feld bestpath wird benutzt, um für jedes S und i einen Weg zu speichern, der cost[s,i] liefert. Diese Technik, immer größer werdende Unterproblemlösungen zusammenzufügen, ist weitverbreitet und wird als dynamisches Programmieren bezeichnet. Ein verwandtes Problem zu TSP ist auch das folgende: KÜRZESTER WEG INSTANZ: ganze Zahl n = 3 und eine n n Matrix C = (c ij ), wobei jedes c ij eine nichtnegative ganze Zahl ist (Bem.: jede rationale Zahl kann durch Multiplikation zu einer ganzen Zahl umgewandelt werden). FRAGE: Was ist ein kürzester Weg von Stadt 1 zu Stadt n? ALGORITHMUS C Input: Eine ganze Zahl n = 3 und eine n n Distanzmatrix C besetzt mit nicht-negativen ganzen Zahlen. Output: Ein kürzester Reiseweg von Stadt 1 zu Stadt n. FOR i := 2 TO n DO cost[i,1] := c1i; bestpath[i,1] := (1,i) ; FOR j := 2 TO n DO FOR i := 2 TO n DO cost[i,j] := min k 1,i {cost[k,j-1]+c ki }; k soll die Stadt sein, die dieses Minimum erreicht; bestpath[i,j] := bestpath[k,j-1] concat (i); IF cost[i,j-1] < cost[i,j] THEN cost[i,j] := cost[i,j-1]; bestpath[i,j] := bestpath[i,j-1] ; OUTPUT bestpath[n,n-1] ALGORITHMUS C erlaubt, dass Städte (außer Stadt 1 und n) besucht werden dürfen. Hier wird cost[i,j] (für jede Stadt i 1 und j 1) definiert als die Länge des kürzesten Weges von Stadt 1 zu i. Dabei enthält dieser Weg durch Ausschluss von wegverlängernden Städten maximal j Kanten Laufzeitabschätzung Um Algorithmen analysieren zu können, empfiehlt es sich, ihre Laufzeit durch eine Funktion zu beschreiben, die die einzelnen Schritte zählt. Die sogenannte O-Notation drückt die Laufzeitfunktion aus. 3

4 ALGORITHMUS A besitzt eine Laufzeit von O(n!), da die Hauptschleife (n-1)! Mal für jede zyklische Permutation durchlaufen wird, und jede Schleife nochmals eine Laufzeit von O(n) besitzt, um den nächsten Reiseweg zu generieren. Durch Multiplikation ergibt sich O(n!). Im Vergleich zu ALGORITHMUS A hat sich die Laufzeit von ALGORITHMUS B stark verbessert auf O(n²2 n ). In ALGORITHMUS C wird die innere Schleife, die eine Laufzeit von O(n) besitzt, (n-1)²-mal durchlaufen. Daraus erhält man eine Laufzeit von O(n³) Polynomialzeit Um Algorithmen zu bewerten, hat es sich durchgesetzt, ihn als gut zu bezeichnen, wenn seine worst-case-komplexität durch ein Polynom in n begrenzt ist. Das heißt, dass die Laufzeit des Algorithmus für den ungünstigsten Fall nur O(n Konstante ) betragen darf. ALGORITHMUS C erfüllt diese Bedingung und wird daher als gut bezeichnet, ALGORITHMUS A sowie ALGORITHMUS B dagegen nicht. Deren Laufzeit ist exponentiell. Weswegen darin unterschieden wird, sollte durch folgendes klar werden: Für eine gegebene exponentielle Funktion und eine polynomiale Funktion gibt es immer ein N, so dass für alle n N die polynomiale Funktion besser abschneidet als die exponentielle Funktion, obwohl für kleine n die Situation für die exponentielle Funktion besser ausgesehen haben mag. Auch können Polynomialzeit-Algorithmen besser von der Computergeschwindigkeitsentwicklung profitieren. Angenommen, ein Computer kann je ein Problem für n = 100 mit den zwei Algorithmen mit den Laufzeitverhalten O(n³) und O(2 n ) in je einer Stunde lösen. Dann könnte zum Beispiel ein neuer Computer, der doppelt so schnell arbeitet, in einer Stunde mit dem Polynomialzeit-Algorithmus das Problem mit n = 126 lösen, hingegen mit dem Exponentialzeit-Algorithmus nur mit n = 101. Der Beweis: (126 3 )/2 und = (2 101 )/2. 3. Die Klassen P und NP 3.1. Entscheidungsprobleme Genauso wie man Algorithmen als gut oder schlecht bewerten kann abhängig davon, ob ihr Laufzeitverhalten polynomiell begrenzt ist oder nicht, kann man ein Problem als leicht oder schwer einstufen abhängig davon, ob es einen Algorithmus gibt, der das Problem in polynomieller Zeit lösen kann oder nicht. Diese Theorie beschränkt sich auf Entscheidungsprobleme, d. h. Probleme, deren Antwort entweder ein ja oder nein ist. Ein solches Entscheidungsproblem ist zum Beispiel das graphentheoretische Hamilton-Kreis-Problem. HAMILTON-KREIS INSTANZ: Ein Graph G = (V,E). FRAGE: Gibt es einen Kreis (eine geschlossene Sequenz von Kanten) in G, der durch jeden Knoten in V genau einmal hindurch geht? Das TSP selbst ist kein Entscheidungsproblem, kann aber einfach durch die Umformulierung der Frage und die Einführung einer oberen Grenze B für die maximale Rundreiselänge darin umgewandelt werden. 4

5 TSP ENTSCHEIDUNG INSTANZ: Gegeben ist eine ganze Zahl n = 3 und eine n n Matrix C = (c ij ), wobei jedes c ij eine nicht-negative ganze Zahl ist. FRAGE: Gibt es eine zyklische Permutation p der ganzen Zahlen von 1 bis n, so dass n i=1 c ip(i) B ist? Klar ist, wenn es für das TSP einen Polynomialzeit-Algorithmus gibt, dann gibt es auch einen Polynomialzeit-Algorithmus für TSP ENTSCHEIDUNG gibt. Der Algorithmus TSPTOUR generiert einen optimalen Reiseweg für jede TSP-Instanz, solange das von ihm aufgerufene Unterprogramm TSPDECISION mit den Parametern n, C, B das Problem TSP Entscheidung löst. ALGORITHMUS TSPTOUR Input: Eine ganze Zahl n = 3 und eine n n Distanzmatrix C besetzt mit nicht-negativen ganzen Zahlen. Output: Eine neue Matrix C, in der alle bis auf n Einträge erhöht wurden auf n max i,j {c ij } + 1. Die n belassenen Einträge liefern die Kanten, die in dem optimalen Reiseweg enthalten sind. low := 0; high := n max i,j {c ij } + 1; WHILE low high DO IF tspdecision (n, C, (low + high) / 2) = ja THEN high := (low + high) / 2) ELSE low := (low + high) / 2) + 1; COMMENT Nun sind low = high und ihr Wert entspricht den Kosten des optimalen Reiseweges; optimum := high; FOR i := 1 TO n DO FOR j := 1 TO n DO remember := c ij ; c ij := n max i,j {c ij } + 1; IF tspdecision(n, C, optimum) = nein THEN c ij := remember Im ersten Teil von TSPTOUR wird mit Hilfe der binären Suche die Länge des optimalen Reiseweges ermittelt, der länger als 0 und kürzer als n max i,j {c ij } + 1 ist. Die Anzahl der Iterationsschritte beträgt maximal log 2 (nc max ). Anschließend ist bekannt, wie lang der optimale Reiseweg ist, aber nicht, wie er verläuft. Im zweiten Teil wird die Länge jeder Stadtverbindungstrecke c ij zwischengespeichert und danach auf n max i,j {c ij } + 1 erhöht. Sollte es an diesem Punkt immer noch einen Reiseweg geben, der die optimale Länge besitzt, kann man davon ausgehen, dass das veränderte c ij nicht zum optimalen Reiseweg gehört. Andernfalls setzt man veränderte c ij wieder auf den zwischengespeicherten Wert zurück. Am Ende erhält man die veränderte Distanzmatrix. Die n Einträge c ij, die unverändert blieben, ergeben nun den optimalen Reiseweg. 5

6 Die Laufzeit von TSPTOUR ist abhängig von TSPDECISION, welches log 2 (nc max ) + n² aufgerufen wird. Dies ist eine polynomiale Funktion. Daraus kann man folgern: Für TSPTOUR gibt es einen Polynomialzeit-Algorithmus, wenn und nur genau dann wenn es für TSPDECISION einen Polynomialzeit-Algorithmus gibt Charakterisierung der Klassen P und NP Eine der beiden Klassen der Entscheidungsprobleme ist die Klasse P. Diese Klasse enthält all jene Entscheidungsprobleme, für die ein Polynomialzeit-Algorithmus existiert. Eine andere Klasse ist NP (steht für Nichtdeterministische Polynomialzeit). Man kann die Charakteristiken eines Problems in drei verschiedenen aber äquivalenten Formulierungen darstellen, zwei davon sollen hier von Bedeutung sein. Die erste Definition beschäftigt sich mit der Eigenschaft des prägnanten Zertifikats. Jede Ja -Instanz eines Problems (z.b. ein Graph hat einen Hamilton-Kreis; eine Distanzmatrix, deren optimale Weglänge geringer ist als eine gegebene obere Grenze B) hat eine solche Eigenschaft, d.h. es gibt ein Zertifikat, das jene Instanz als eine Ja-Instanz bestätigt. Es muss einen Polynomialzeit-Algorithmus geben, der das Zertifikat auf seine Richtigkeit überprüft. Alle Ja -Instanzen müssen zumindest ein solches Zertifikat besitzen, aber nie eine Nein -Instanz. Eine zweite Definition enthält das Konzept eines nichtdeterministischen Algorithmus, der unrealistisch aber trotzdem hilfreich ist. Im Vergleich zu einem normalen Algorithmus unterscheidet er sich nur durch den zusätzlichen Befehl go to both label_1, label_2. Wie auf der folgenden Grafik ersichtlich, können sich Berechnungen an jeder Stelle in zwei parallele Prozesse (label_1 und label_2) aufteilen, so dass sich eine Baumform ergibt. Sobald eine der Verzweigungen ein Ja zurückgibt, dann antwortet der gesamte nichtdeterministische Algorithmus mit Ja. Analog ist die Antwort ein Nein, wenn keiner der Verzweigungen ein Ja zurückgibt. 6

7 Ein nichtdeterministischer Algorithmus löst ein Problem in polynomieller Zeit, wenn er (1) für jede Instanz die korrekte Antwort gibt und (2) die Schrittanzahl, die die erste der Verzweigungen braucht, um ein Ja zurückzugeben, polynomiell begrenzt wird (siehe auch Grafik). Bedeutend ist zudem, ob P = NP gilt, denn offensichtlich ist P NP. Es erscheint ziemlich unwahrscheinlich, dass man deterministisch einen nichtdeterministischen Algorithmus simulieren kann, ohne mehr als eine polynomielle Zeit zu investieren: Die Simulation selbst erfordert zunächst eine exponentielle Zeit, da ein nichtdeterministischer Algorithmus bereits nach einer polynomialen Anzahl von nichtdeterministischen Schritten eine exponentielle Anzahl von parallelen Berechnungen hat. Zudem haben sich Forscher über Jahre hinweg damit beschäftigt, Polynomialzeit-Algorithmen für bestimmte Probleme in NP wie das TSP zu finden. Man wäre sehr überrascht, wenn P = NP gelten würde. So geht man heute davon aus, dass P NP ist, obwohl man noch keinen Beweis dafür gefunden hat. Da TSP ENTSCHEIDUNG und viele andere Spezialfälle und Verallgemeinerungen von TSP in NP liegen, ist nicht davon auszugehen, dass TSP in polynomieller Zeit lösbar ist und TSP daher schwer ist. 4. Literatur E. L. Lawler, J. K. Lenstra, A. H. G. Rinnooy Kann, D. B. Shmoys (1985). The Traveling Salesman Problem. John Wiley & Sons Ltd. 1-15, Internet (http://users.forthnet.gr/ath/kimon/cc/ccc1b.htm, Part A - D) 7

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) 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

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis Optimierungsprobleme Instanz eines Optimierungsproblems zulässiger Bereich (meist implizit definiert) Zielfunktion Optimierungsrichtung opt {max, min} Optimierungsproblem Menge von Instanzen meist implizit

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

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

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

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Ü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

Mehr

Algorithmen II Vorlesung am 15.11.2012

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

Mehr

SOI 2013. Die Schweizer Informatikolympiade

SOI 2013. Die Schweizer Informatikolympiade SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012 Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

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

Mehr

16. All Pairs Shortest Path (ASPS)

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

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

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

Mehr

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen

Mehr

Komplexitätstheorie Einführung und Überblick (Wiederholung)

Komplexitätstheorie Einführung und Überblick (Wiederholung) Literatur C. Papadimitriou UC Berkeley Zum Komplexitätsbegriff Strukturelle Komplexität Average Case Analyse Effiziente Algorithmen Logische Komplexität Beschreibungssprachen: SQL Kolmogorov Komplexität

Mehr

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990. Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre

Mehr

Kombinatorische Optimierung

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

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

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

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

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) 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!

Mehr

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

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,

Mehr

ADS: Algorithmen und Datenstrukturen 2

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

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet. bei TMs bei Computern Formale Grundlagen der Informatik 1 Kapitel 10 Frank Heitmann heitmann@informatik.uni-hamburg.de Bisher haben wir mit TMs Probleme gelöst/entschieden/berechnet. Dabei war entscheidbar

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

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

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

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

Mehr

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Ü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

Mehr

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel Proseminar Theoretische Informatik Die Klasse NP von Marlina Spanel 29.11.2011 1 Gliederung Gliederung Problem des Handlungsreisenden Die Klasse NP Einleitung und Wiederholung Sprachen Nichtdeterministische

Mehr

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 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

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

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 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:

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

Mehr

abgeschlossen unter,,,, R,

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

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

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

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

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

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

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,

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet 22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart

Mehr

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

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Einführung in Heuristische Suche

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?

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen 1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

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

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck

Mehr

Nichtdeterministische Platzklassen

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

Mehr

Wiederholung zu Flüssen

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:

Mehr

Die Verbindung von Linearer Programmierung und Graphentheorie

Die Verbindung von Linearer Programmierung und Graphentheorie Die Verbindung von Linearer Programmierung und Graphentheorie Definition 5.9. Ein kombinatorisches Optimierungsproblem entspricht einem LP, bei dem statt der Vorzeichenbedingungen x i 0 Bedingungen der

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Einführung in Approximative Algorithmen und Parametrisierte Komplexität Einführung in Approximative Algorithmen und Parametrisierte Komplexität Tobias Lieber 10. Dezember 2010 1 / 16 Grundlegendes Approximationsalgorithmen Parametrisierte Komplexität 2 / 16 Grundlegendes Definition

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Laufzeit und Komplexität

Laufzeit und Komplexität Laufzeit und Komplexität Laufzeit eines Algorithmus Benchmarking versus Analyse Abstraktion Rechenzeit, Anzahl Schritte Bester, Mittlerer, Schlechtester Fall Beispiel: Lineare Suche Komplexitätsklassen

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger

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 gerold.jaeger@informatik.uni-halle.de

Mehr

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie Einführung in P und NP Frank Heitmann heitmann@informatik.uni-hamburg.de 11. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

1 Raumwechsel: Gr. 19 (Fr 12-14, F-334) diese Woche in D Studie zum Arbeitsverhalten von Studierenden unter Leitung

1 Raumwechsel: Gr. 19 (Fr 12-14, F-334) diese Woche in D Studie zum Arbeitsverhalten von Studierenden unter Leitung Organisatorisches Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie in P und NP Frank Heitmann heitmann@informatik.uni-hamburg.de 1 Raumwechsel: Gr. 19 (Fr 12-14, F-334) diese Woche in D-129.

Mehr

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 1 Primzahltest 1.1 Motivation Primzahlen spielen bei zahlreichen Algorithmen, die Methoden aus der Zahlen-Theorie verwenden, eine zentrale Rolle. Hierzu

Mehr

2. Optimierungsprobleme 6

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

Mehr

Graphen: Datenstrukturen und Algorithmen

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.

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie (Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie 1) Schreiben Sie ein LOOP-Programm, das die Funktion f: N \ {0} N, f (n) = n n berechnet. Sie dürfen in Ihrem Programm die Multiplikation

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

Mehr

3 Quellencodierung. 3.1 Einleitung

3 Quellencodierung. 3.1 Einleitung Source coding is what Alice uses to save money on her telephone bills. It is usually used for data compression, in other words, to make messages shorter. John Gordon 3 Quellencodierung 3. Einleitung Im

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Primzahlzertifikat von Pratt

Primzahlzertifikat von Pratt Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren

Mehr

Schwierige Probleme in der Informatik Informationen für die Lehrperson

Schwierige Probleme in der Informatik Informationen für die Lehrperson Schwierige Probleme in der Informatik Informationen für die Lehrperson Thema, Adressaten,... Das Thema dieses Moduls sind NP-vollständige Probleme, also schwierige Probleme in der Informatik. GraphBench

Mehr

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

Dynamische Optimierung. Kapitel 4. Dynamische Optimierung. Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Kapitel 4 Dynamische Optimierung Peter Becker (H-BRS) Operations Research II Wintersemester 2014/15 160 / 206 Inhalt Inhalt 4 Dynamische Optimierung Allgemeiner Ansatz und Beispiele Stochastische dynamische

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

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

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Praktikum Algorithmische Anwendungen WS 2006/2007

Praktikum Algorithmische Anwendungen WS 2006/2007 Praktikum Algorithmische Anwendungen WS 2006/2007 Traveling Salesman Problem Team A_gelb_Ala0607 Roman Pyro 11042289 ai821@gm.fh-koeln.de Markus A. Müller 11043150 ai820@gm.fh-koeln.de René Hilger 11043210

Mehr

Effiziente Algorithmen I

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

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Kapitel 2 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006

Mehr

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 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

Mehr

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

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Traveling Salesman Problem (TSP)

Traveling Salesman Problem (TSP) Traveling Salesman Problem (TSP) Das Traveling Salesman Problem (TSP) ist ein bekanntes Optimierungsproblem. Ein Handlungsreisender soll in einer Rundreise (auch Tour genannt) n vorgegebene Städte besuchen.

Mehr

Anmerkungen zur Übergangsprüfung

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

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n

Mehr

Approximationsalgorithmen am Beispiel des Traveling Salesman Problem

Approximationsalgorithmen am Beispiel des Traveling Salesman Problem Approximationsalgorithmen am Beispiel des Traveling Salesman Problem Seminararbeit im Rahmen des Seminars Algorithmentechnik vorgelegt von Leonie Sautter Leiter des Seminars: Juniorprof. Dr. Henning Meyerhenke

Mehr

Softwareentwicklung Allgemeines und prozedurale Konstrukte

Softwareentwicklung Allgemeines und prozedurale Konstrukte Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Allgemeines und prozedurale Konstrukte E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institut für Informationsverarbeitung

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

Alles zu seiner Zeit Projektplanung heute

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?

Mehr

11.1 Grundlagen - Denitionen

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

Mehr

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =

Mehr