Formale Grundlagen der Informatik F3: Berechenbarkeit un

Ähnliche Dokumente
Lineare Programmierung

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

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

Die Verbindung von Linearer Programmierung und Graphentheorie

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

Rechnerische Komplexität

Wiederholung zu Flüssen

Dynamische Programmierung. Problemlösungsstrategie der Informatik

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

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

Übung zur Vorlesung Berechenbarkeit und Komplexität

Optimierung. Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen. Vorgehen: Dynamische Programmierung

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

Daniel Borchmann. Sommerakademie Görlitz September 2007

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

Approximations-Algorithmen

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

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

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

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

Kostenmaße. F3 03/04 p.188/395

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren Thomas Brox, Fabian Kuhn

abgeschlossen unter,,,, R,

Einführung in Heuristische Suche

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

Diskrete Optimierung (Einführung zur Vorlesung)

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Anmerkungen zur Übergangsprüfung

(Technisch: Setze alle Skalarprodukte der allgemeinen Lösung mit den Basisvektoren des Kerns gleich Null eindeutige leastsqares Lösung)

Optimierung I. Dr. Ulf Lorenz F2.413

Alles zu seiner Zeit Projektplanung heute

Logistik: Rundreisen und Touren

Heuristiken im Kontext von Scheduling

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

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches

Schwierige Probleme in der Informatik Informationen für die Lehrperson

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung.

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

Algorithmen und Datenstrukturen 2

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

Kombinatorische Optimierung Vorlesung für den Bereich Diplom/Master Informatik

Kombinatorische Optimierung

Statistik und Graphentheorie

Vorlesung Einführung in die Mathematische Optimierung (Wintersemester 2013/14)

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

Längen-beschränkte Schnitte und Flüsse

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

Binäre lineare Optimierung mit K*BMDs p.1/42

Planare Graphen, Traveling Salesman Problem, Transportnetze. Formale Methoden der Informatik WiSe 2012/2013 teil 4, folie 1 (von 61)

Nichtdeterministische Platzklassen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Einstieg in die Informatik mit Java

Das Briefträgerproblem

Algorithmen und Datenstrukturen 2

Periodische Fahrpläne und Kreise in Graphen

Effiziente Algorithmen I

ADS: Algorithmen und Datenstrukturen 2

Bestimmung einer ersten

Lineare Programmierung

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

Operations Research II (Nichtlineare und dynamische Optimierung)

Teil II. Nichtlineare Optimierung

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Grundlagen der Künstlichen Intelligenz. 9.1 Einführung und Beispiele. 9.2 Constraint-Netze. 9.3 Belegungen und Konsistenz. 9.

2. Repräsentationen von Graphen in Computern

Approximationsalgorithmen

(Lineare) stochastische Optimierung

GRUNDLAGEN VON METAHEURISTIKEN UND LOKALE SUCHE

Algorithmische Bioinformatik

Lineare Gleichungssysteme

Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren

Kapitel 5. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Hybrid Optimization Methods for Warehouse Logistics and the Reconstruction of Destroyed Paper Documents

Wissensbasierte Systeme

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Uninformierte Suche in Java Informierte Suchverfahren

Systeme von linearen Ungleichungen

Approximationsalgorithmen am Beispiel des Traveling Salesman Problem

Informatik II, SS 2014

Schranken für zulässige Lösungen

Algorithmische Methoden für schwere Optimierungsprobleme

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15.

5 Zwei spieltheoretische Aspekte

Lineare Programmierung Teil I

OPERATIONS-RESEARCH (OR)

3. Musterlösung. Problem 1: Boruvka MST

4. Dynamische Optimierung

Eine molekulare Lösung des Hamiltonkreisproblems mit DNA

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

4 Greedy-Algorithmen (gierige Algorithmen)

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

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

6. Übungsblatt zur Mathematik I für Maschinenbau

Optimierungsalgorithmen

Maximizing the Spread of Influence through a Social Network

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch

6. Flüsse und Zuordnungen

6. Flüsse in Netzwerken Berechnung maximaler Flüsse. dann berechnet der Markierungsalgorithmus für beliebige Kapazitätsfunktionen

3. Schnittebenenverfahren

Transkript:

Formale Grundlagen der Informatik F3: Berechenbarkeit und Komplexität Fachbereich Informatik AB Theoretische Grundlagen der Informatik (TGI) Universität Hamburg farwer@informatik.uni-hamburg.de 14. Dezember 2004

lineare Programmierung Viele Probleme sind durch lineare Gleichungssysteme charakterisiert lineare Programmiermethoden Der Lösungsraum ist häufig auf ganze Zahlen oder gar natürliche Zahlen eingeschränkt! Das Auffinden einer Lösung wird schwieriger! Konsequenz: Betrachtung von linearer Programmierung mit Ganzzahllösungen. Problem: Effizientes Auffinden der gesuchten Lösung(en).

Beispiel: Investitionsplanung Problem: Der Betrag von e 14000 soll möglichst gewinnbringend investiert werden. # Investitionssumme Wert (1) e 5000 e 8000 (2) e 7000 e 11000 (3) e 4000 e 6000 (4) e 3000 e 4000 Maximiere 8x 1 + 11x 2 + 6x 3 + 4x 4 mit den Einschränkungen 5x 1 + 7x 2 + 4x 3 + 3x 4 14 und x i {0, 1} für alle i {1, 2, 3, 4}.

Lösung Optimierungsprobleme Standardverfahren liefern als Lösung: x 1 = x 2 = 1, x 3 = 0, 5 und x 4 = 0 mit dem erreichten Wert e 22000. Keine ganzzahlige Lösung! Abrunden ergibt nur einen Wert von e 19000. Optimale ganzzahlige Lösung ist e 21000. (x 2 = x 3 = x 4 = 1 und x 1 = 0) Weitere Einschränkungen formalisierbar: höchstens zwei Investitionen: x i 2 wird in (2) investiert, so auch in (4): x 2 x 4 0 wird in (1) investiert, dann nicht in (3): x 1 x 3 1

allgemeines Rucksackproblem Problem Gegeben: Gesucht: Antwort: Menge von Paaren (l i, d i ) IN IN, 1 i m sowie Kapazität L IN des Rucksacks. Hierbei ist l i die Größe und d i der Wert des i-ten Objekts. Lösung des Optimierungsproblems 1 w = m d i x i ist maximal. i=1 2 Nebenbedingung: m l i x i L. i=1 Vektor x = (x 1, x 2,..., x m ) IN m

Service-Points Optimierungsprobleme 7 1 4 3 6 8 9 10 11 Minimiere x 1 +x 2 +x 3 +x 4 +x 5 +x 6 + x 7 + x 8 + x 9 + x 10 + x 11. 2 5 Dabei sei x i {0, 1}. Nebenbedingungen: mindestens ein Service-Point in der Nachbarschaft x 1 + x 2 + x 3 + x 4 1 x 1 + x 2 + x 3 + x 5 1 x 1 + x 2 + x 3 + x 4 + x 5 + x 6 1 usw. Instanz des set coverability problem

Travelling Salesperson Problem (TSP) Problem Gegeben: Gesucht: Antwort: Menge von Orten (oder Knoten) V = {1, 2,..., n}und eine (n n)-entfernungsmatrix D = (d i,k ) IN n n Eine Rundreise (Hamiltonkreis) K durch mindestens (exakt) alle n Orte von V mit minimaler Gesamtlänge. Wegbeschreibung (Folge von Knoten) Minimiere n i 1 d i,j x i,j mit i=1 j=1 Nebenbedingung x i,j 2 für alle S V i S j S

TSP als lineares Programmierproblem sehr große Anzahl von Nebenbedingungen # Städte # Nebenbedingungen 20 524288 300 1018517988167243043134 2228442046890805257341 9683296812531807022467 7190649881668353091698 688 Dennoch ist dies derzeit für Instanzen zwischen 100 und 1000 Knoten der beste bekannte Ansatz!!!

Lösbarkeit des TSP Optimierungsprobleme mit dynamischer Programmierung: Teilwege berechnen, Zwischenergebnisse in Tabelle ablegen, Kombination mit branch and bound konkretes Beispiel im Skript Exkurs: reines Backtracking z.b. zur Lösung des 8-Königinnen-Problems.

8-Königinnen-Problem Optimierungsprobleme Problem Gegeben: Gesucht: Antwort: Ein Schachbrett (8 8 Felder), eine beliebige Anzahl von Königinnen Stellungen, so dass sich keine zwei Königinnen bedrohen. Anzahl solcher Stellungen Es können niemals mehr als 8 sein 8 Königinnen-Problem

IP vs. LR Optimierungsprobleme Integer-Programmierung (IP) Minimiere cx Nebenbedingungen Ax = b x 0 und x ist ganzzahlig Lineare-Programmierung (LR) engl. linear relaxation Minimiere cx Nebenbedingungen Ax = b x 0 (analog für Maximierungsprobleme)

IP vs. LR (2) Da (LR) weniger Nebenbedingungen hat als (IP) gilt: Ist (IP) eine Minimierung/Maximierung, so ist der optimale Wert für (LR) / dem für (IP). Gibt es für (LR) keine optimale Lösung, so gibt es auch für (IP) keine. Ist die Lösung von (LR) ganzzahlig, so ist (IP) lösbar mit genau dieser optimalen Lösung. Auf-/abrunden der optimalen Lösung für (LR) liefert einen Wert / dem Optimum für (IP) bei einem Minimierungs-/Maximierungsproblem.

Einsatz der branch and bound -Technik 1 Löse (LR)-Variante des Problems. Falls Lösung ganzzahlig fertig, ansonsten erzeuge Subprobleme bzgl. der Belegung einer kritischen Variablen. 2 Ein Subproblem ist nicht aktiv falls 1 es bereits für eine Verzweigung verwandt wurde, 2 alle Variablen der Lösung ganzzahlig sind, 3 das Subproblem nicht ganzzahlig lösbar ist, 4 ein bounding-argument es ausschließt. 3 Wähle ein aktives Subproblem und verzweige bzgl. einer kritischen Variable. Wiederhole dies bis keine aktiven Subprobleme mehr vorhanden sind.

Investitionen (branch and bound) (1; 1; 0; 0,667) (1; 1; 0,5; 0) nicht ganzzahlige Lösung z=22 (1; 0,714; 1; 0) Maximiere: 8x 1 + 11x 2 + 6x 3 + 4x 4 Nebenbedingungen: 5x 1 + 7x 2 + 4x 3 + 3x 4 14 x i {0, 1} für alle i {1, 2, 3, 4}. x3=0 nicht ganzzahlige Lösung z=21,65 x3=1 nicht ganzzahlige Lösung z=21,85 (1; 0; 1; 1) x3=1; x2=0 ganzzahlige Lösung z=18 (0,6; 1; 1; 0) x3=1; x2=1 nicht ganzzahlige Lösung z=21,8 (0; 1; 1; 1) x3=1; x2=1; x1=0 ganzzahlige Lösung z=21 x3=1; x2=1; x1=1 keine Lösung (zu wenig Kapital)

Fazit: branch and bound Branch-and-bound Verfahren sind im schlechtesten Falle exponentiell. Es ist möglich, dass die optimale Lösung erst gefunden wird, wenn alle möglichen Verzweigungen abgesucht worden sind. Ein vollständiger binärer Verzweigungsbaum der Tiefe n hat 2 n Blätter. Auch bei der branch-and-bound-lösung des TSP bringt die detaillierte Analyse nicht viel, denn wir wissen aus der NP-Vollständigkeit dieses Problems, dass es zur Zeit kein deterministisches polynomiales Verfahren zu dessen Lösung gibt.

: Ebenen und Schnitte 1. Einschränkung/Bedingung Optimum ist nicht ganzzahlig 2. Einschränkung/Bedingung Schnitt (Cut)

: Heuristiken Der Begriff Heuristik stammt von dem griechischen Mathematiker Archimedes ( 285-212 v.z.) und erinnert an seinen berühmten Ausspruch: Eνρηκα - Heureka! ( Ich hab s gefunden ) (heurisko (griech.): ich finde). Eine Heuristik (ein heuristisches Verfahren) ist ein Algorithmus, der (im allgemeinen recht gute) Lösungen für Problem-Instanzen erzeugt, aber einer exakten Analyse nicht (oder nur sehr schwer) zugänglich ist. ( Die Verfahren funktionieren, aber man weiss nicht genau warum! ).

Heuristik vs. Viele lokale Suchverfahren sind Heuristiken. Weitere Heuristiken sind: Simulated Annealing, Tabu Search, Genetische Algorithmen. sverfahren sind Algorithmen zur Erzeugung von Lösungen, die i.a. nur suboptimal sind, aber der optimalen Lösung (nachweislich) nahekommen.

diskrete Optimierung Optimierungsprobleme Ein ein diskretes Optimierungsproblem (DOP) P ist gegeben durch: I: Menge der Instanzen (Beispiele), L: Menge der Lösungen, w: Wertfunktion (Zielfunktion) w : L IR. s (I) heisst optimale Lösung für I : Min-Problem: w(s (I)) w(s(i)) für alle Lösungen s(i) von I I, Max-Problem: w(s (I)) w(s(i)) für alle Lösungen s(i) von I I. Kurz: OPT (I) := w(s (I)).

Polynomialzeit-Algorithmus Ein Algorithmus A heisst Polynomialzeit- (s-)algorithmus (PZ-Algorithmus) für P genau dann, wenn A für jedes I I in polynomialer Zeit eine Lösung s A (I) von I erzeugt: A(I) := w(s A (I)). Es muss hierfür also auch eine TM mit polynomialer Zeitkomplexität existieren!

Gütemaß für salgorithmen P ist Min-Problem: R A (I) = A(I) OPT (I) P ist Max-Problem: R A (I) = OPT (I) A(I) Es gilt für alle I I und alle Algorithmen für P : 1 R A (I) + A heißt ein Optimierungsalgorithmus für P genau dann, wenn gilt: A(I) = OPT (I) für alle I I Wir betrachten: R A := inf{c R A (I) c für alle I I} Es gilt: 1 R A +. R A kann nur selten exakt bestimmt werden. Einfacher kann es sein, R A abzuschätzen.

Gut- vs. schlecht-approximierbar Man teilt diskrete Optimierungsprobleme (DOP) ein in: gut-approximierbare DOP P : es gibt für P Algorithmen A mit R A nahe bei 1, schlecht-approximierbare DOP sind Probleme, für die es nachweislich keine guten salgorithmen gibt. Beispiel ( -TSP für symmetrisches D) -TSP ist ein Spezialfall des TSP: Für D gilt die Dreiecksungleichung, d.h. D = (d ik ), also und für alle i, k, l mit 1 i, k, l n ist d ik + d kl d il.

Algorithmus für -TSP Gegeben: I -TSP, G = (V, D), E = V V, D : E IR + { } Entfernungsmatrix D erfülle die Dreiecksungleichung. 1 Bestimme ein Minimalgerüst H von G. 2 Verdopple die Kanten von H Multigraph H ist Eulergraph (gerader Knotengrad). H besitzt Eulerkreis C. Bestimme C (Zeit: 0(m)) 3 Erzeuge aus C durch Anwendung der Dreiecksungleichung einen Hamiltonkreis C von G, indem bereits erfasste Knotenpunkte übersprungen werden. 4 STOP: Output: C mit l(c ) = A(I).

Beispiel Optimierungsprobleme Folgender Graph sei ein Minimalgerüst H eines Graphen G:

Beispiel (2) Optimierungsprobleme Wir verdopplen die Kanten von H und erhalten einen Eulergraphen H mit dem Eulerkreis C, für den die Reihenfolge der Kanten hier angegeben ist: 14 1 2 11 10 3 13 12 8 9 7 4 5 6

Beispiel Optimierungsprobleme Aus C konstruieren wir den Hamiltonkreis C : 8 1 1 14 13 12 2 2 11 8 3 3 10 9 7 4 4 5 5 7 6 6

Gut- vs. schlecht-approximierbar (2) Zur Erinnerung: H bezeichne ein Minimalgerüst der Instanz I. Es gilt: l(h) OPT (I) l(c ) l(c ) = 2 l(h). Folglich ist OPT (I) A(I) 2 OPT (I), also R A (I) = A(I) OPT (I) 2 und somit R A 2. Dieses Ergebnis kann kaum verbessert werden, denn es gilt folgendes Ergebnis. Theorem Das -TSP-Problem ist NP-vollständig. (d.h. es ist ein sehr schwieriges Problem, für das bislang bestenfalls Exponentialzeitalgorithmen existieren!)

Gut- vs. schlecht-approximierbar (3) Theorem Gäbe es für jedes ɛ > 0 einen PZ-salgorithmus A für TSP, der für jede symmetrische Entfernungsmatrix D IN n n in polynomialer Zeit eine Tour T A liefert, mit der Länge A TA (I), für die R A 1 + ɛ gilt, dann wäre HAMILTONKREIS P, d.h. dann ist P = N P. Also ist TSP vermutlich (d.h. unter der Annahme, dass P N P gilt) ein schlecht-approximierbares Problem. Beispiel für ein gut-approximierbares Problem: Für das Rucksackproblem gibt es einen PZ-Algorithmus A mit R A 1 + ɛ für beliebige ɛ 0.

Konstruktion von Wegen Nearest neighbour: Start-Ort wird zufällig gewählt und es wird immer die nächste (Entfernung) noch nicht besuchte Stadt besucht bis die letzte erreicht ist. Dann zurück zum Start-Ort. Nearest insertion: Beginn mit einer möglichst kurzen Strecke zwischen zwei Orten. Dann: Entfernen jeweils einer Kante mit Einfügen einer Stadt als Zwischenstopp. Wähle die Stadt so, dass die Strecke wenig erhöht wird! Furthest insertion: Beginn mit möglichst langer Strecke. Dann: wie oben, aber wähle die Stadt und Kante so, dass die Strecke größtmöglich erhöht wird! Sweep: Markiere den Mittelpunkt der Landkarte. Auswahl der nächsten Stadt, wie ein Radarstrahl.

Optimierung von Wegen Two-opt: Systematischer Vergleich jeweils zweier Kanten und ggf. Austausch gegen günstigere Variante. Three-opt: analog Two-opt, aber mit je drei Kanten. Lin-Kernighan: Entfernen einer Kante aus Rundtour liefert einen Pfad. Ein Ende mit innerem Knoten verbinden und andere Kante löschen, so dass wieder ein Pfad vorliegt. Wiederholung dieser Prozedur solange die gain sum (gelöschte minus eingefügte Kantengewichte) positiv ist und noch nicht behandelte Kanten existieren. Merke jeweilige Kosten für wiederhergestellte Rundtour. Wähle am Ende die Beste!