atorf & nuhn, 2009 malte nuhn (physik, informatik) linus atorf (physik) die np-harten kerle...

35
ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

Upload: diedrich-lawrenz

Post on 05-Apr-2015

109 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

Malte Nuhn(Physik, Informatik)

Linus Atorf(Physik)

Die NP-harten Kerle

InformatiCup 2008: CargoConcept

Page 2: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

2Gliederung

• Problembeschreibung• Lösungsweg• Implementierung• Parallelisierung• Zusatzaufgabe

Page 3: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

3Aufgabenstellung CargoConcept

Gegeben:• Städte (Punkte in der Ebene)• Grenzen (Einfach zusammen-

hängende Fläche)

Gesucht: • Kürzestes Tunnelnetz,

das alle Städte verbindet

Bedingungen:• Beliebige Zwischenstationen können eingefügt werden• Tunnel dürfen keine Grenzen kreuzen

Mit Zwischenstation „z“Ohne Zwischenstation Konkave Grenzen

Page 4: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

4Terminologie

Problemstellung besteht aus:• Städten (fest)• Grenzpolygon (fest)

Mögliche Lösung besteht aus:• Position und Anzahl der

Zwischenstationen

Problemstellung Minimaler Spannbaum (MST)

Grenzenberücksich- tigender MST (GMST)

Entfernungsmessung auf der Erde (Kugeloberfläche)wird durch Euklidische Distanz (Ebene) nur angenähert

Mögliche Lösung

Page 5: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

5Form des Grenzpolygons

Konvexe Grenzen: • Alle Städte von allen erreichbar:

Grenzen automatisch eingehalten• Problem des Euklidischen Steinerbaums• NP-vollständig

Konkave Grenzen:• Grenzen müssen eingehalten werden• Städte evtl. ohne Stationen nicht erreichbar:

Problem der Wegfindung

Algorithmus für konkaven Fall löst auch konvexen„Mindestens“ NP-vollständig

Page 6: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

6

Lösungsweg

Page 7: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

7Lösungsidee

Reduktion auf Suche nach geeigneten Stationen

Zentrale Lösungsidee:

1. Zwischenstationen optimal einfügen2. GMST (der alle Städte und Stationen verbindet)

liefert für gewählte Stationen opt. Tunnelnetz

Wegen NP-Vollständigkeit:• Erschöpfende Suche für „große Probleme“ nicht realistisch• Approximation der Lösung (z.B. durch Heuristiken)

Unser Ansatz: Genetischer Algorithmus• Spezielle Heuristik zu aufwändig• Fitness-Funktion bereits bekannt (gesamte Tunnellänge)• Parameterraum eingeschränkt („nur“ Position der Zwischenstationen)

Page 8: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

8Genetischer Algorithmus

Generation:• Menge der aktuellen Individuen• Wird laufend weiterentwickelt

Individuum:• Stellt mögliche Lösung dar• Liste von Zwischenstationen

Evolution eines Individuums:

Fitness berechnen

Selektion

Kreuzung

Mutation

Optimierung

Initialisierung

Page 9: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

9Genetischer Algorithmus

Evolution eines Individuums:

Fitness berechnen

Selektion

Kreuzung

Mutation

Optimierung

Initialisierung

Selektion:• Entfernt „schwache“ Individuen• Durch Backup bisheriger

Generationen niemals Verschlechterung

Initialisierung:• Alle Grenzpunkte zur Liste der

Zwischenstationen hinzufügen• Dadurch Wegfindung garantiert

Beispiel:Fitness-Funktion:• Bewertet Lösungsansätze• Wegen GMST-Berechnung

(Grenzen) sehr rechenintensiv

Page 10: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

10

Evolution eines Individuums:

Fitness berechnen

Selektion

Kreuzung

Mutation

Optimierung

Initialisierung

Kreuzung:• Zufällige Anwendung auf Teil der

gesamten Generation• Individuen tauschen oder

kopieren Zwischenstationen• Fitte Individuen werden häufiger

als Partner ausgewählt

Genetische Operationen

Mutation:• Zufällige Anwendung auf Teil der

gesamten Generation• Stationen werden verschoben,

entfernt oder hinzugefügt

Optimierung:• Verschiedene Verfahren

Page 11: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

11

Stationen werden regelmäßig optimiert

(rechenintensiv, daher nur Teil der

Generation)

Verschieben: Entfernen:

Hinzufügen:

Lokale Optimierungen

Page 12: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

12

Implementierung

Page 13: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

13Verwendete Sprachen und Hilfsmittel

Programmiersprachen

PyQt (Bibliothek)• Plattformunabhängig• Natives Look & Feel

C• Plattformunabhängig• Low level C

Python• Plattformunabhängig• High level

Werkzeuge

Subversion• Versionskontroll-

system

Eclipse• Entwicklungs-

umgebung

Trac• Projektmanagement• Tickets & Wiki

Page 14: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

14

Erste Veranschaulichung in MATLAB:

Aller Anfang ist schwer…

x

y

Ges

amte

Tun

nellä

nge

Page 15: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

15

Erste GUI in Visual Basic 6.0, Kommunikation mit Backend über TCP:

Aller Anfang ist schwer…

Page 16: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

16

Umstieg auf Python & Qt, Brute Force:

Aller Anfang ist schwer…

Page 17: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

17

Prototyp des aktuellen Designs:

Aller Anfang ist schwer…

Page 18: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

18

Die ausgewachsene Anwendung:

Aller Anfang ist schwer…

Page 19: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

19

Programmhierarchie:

Python

Python / Qt GUI (oder Kommandozeile)

Genetischer Algorithmus

Designübersicht

Dateninterface (XML)

C-Extension Fitnessfunktion & Optimierungsroutinen

Page 20: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

20Details zur Implementierung

Unterstützte Daten-Formate:• Eigenes Map-Format (simpel & schnell)• GPX (Aufgabenstellung), DOM-Parser (flexibel)• OpenStreetMap (nur lesen), SAX-Parser (performant)

Features der GUI:• Komfortable Kartenansicht mit Zoom• Anzeige der bisher besten Lösung• Berechnung jederzeit pausierbar

C-Extension für Python:• Effiziente Implementierung der GMST-Suche • Geometrische Algorithmen• Berücksichtigung numerisch schwieriger Fälle:

z.B. Zwischenstation = Grenzpunkt

Page 21: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

21GUI Demo 1

Page 22: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

22GUI Demo 2

Page 23: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

23

Parallelisierung

Page 24: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

24Parallelisierung, Möglichkeit 1

Mehrere „Kontinente“:• Entkoppelte Evolutionszyklen je Kontinent

Kontinent 1

Generation 1

Generation 2

Generation 3

Kontinent 2 Kontinent 3Sync

Sync

Sync

Evolution

Vorteile:• Relativ seltene, asynchrone

Kommunikation möglich• Nahezu vollständig parallele

Evolution

Nachteile:• Resultate des Algorithmus

von Kontinenten abhängig• Hoher Implementierungs-

aufwand

Page 25: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

25Parallelisierung, Möglichkeit 2

Großer Kontinent Generation N

Worker #1 Worker #2 Worker #3

Generation N+1

Ein Kontinent:• Nur Fitnessfunktion & Optimierungen parallel

Vorteile:• Einfache Implementierung• Funktionsweise des

bestehenden Algorithmus bleibt unverändert

Nachteile:• Synchronisation nach jedem

Evolutionsschritt nötig• Genetische Operationen

weiterhin sequentiell

Page 26: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

26

Zusatzaufgabe

Page 27: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

27Zusatzaufgabe

Bisher:• Grenzen durch einfaches Polygon gegeben• Einfach zusammenhängendes Gebiet

Zusatzaufgabe:• Durch weitere Polygone festgelegte Hindernisse

(z.B. Seen, hartes Gestein)• Landesgebiet nicht mehr einfach zusammenhängend

Erkenntnis:• Vorgestelltes Verfahren setzt den einfachen

Zusammenhang des Gebietes nicht voraus• Keine grundlegenden Veränderungen notwendig

Page 28: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

28Zusatzaufgabe

Notwendige Änderungen:• Editierbare Liste von Hindernispolygonen• Stationen dürfen nicht innerhalb der Hindernispolygone liegen• Verwende Grenzen- und hindernisberücksichtigenden MST

(GHMST)

Initialisierung des genetischen Algorithmus:• Punkte des Grenz- und der Hindernisspolygone werden

als Stationen hinzugefügt, dadurch Wegfindung garantiert

Page 29: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

29GUI Demo 3

Page 30: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

30

Vielen Dank für Ihre Aufmerksamkeit

Page 31: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

31

Anhang

Page 32: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

32Verbesserungen

Seit Release 1.0 verbessert:• Kleinere Bugfixes• GUI stabiler• Pausenfunktion verbessert• Kommandozeilen-Schalter für automatische Stapelverarbeitung

Ausblick• Autotuning für Parameter des Genetischen Algorithmus‘• Dynamische Parameter des Genetischen Algorithmus‘• Ausbau der Parallelisierung• C-Extension mit OpenMP (echtes Multi-Threading)• OpenSource …

Page 33: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

33Backup Folien

Berechnung der Fitnessfunktion: (Details siehe Paper)• Komplexitätsklasse O(BS² + C² + BCS)• C = Cities (Anzahl Städte)• B = Borders (Anzahl Grenzpunkte)• S = Stations (Anzahl Zwischenstationen)

Page 34: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

34Backup Folien

Lookuptables:

Page 35: ATORF & NUHN, 2009 Malte Nuhn (Physik, Informatik) Linus Atorf (Physik) Die NP-harten Kerle InformatiCup 2008: CargoConcept

ATORF & NUHN, 2009

35Backup Folien

Analyse der GA-Parameter: