Algorithmische Methoden für schwere Optimierungsprobleme

Ähnliche Dokumente
Algorithmische Methoden zur Netzwerkanalyse

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Vorlesung 3 MINIMALE SPANNBÄUME

Algorithmische Methoden zur Netzwerkanalyse

Algorithmen II Vorlesung am

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

2. Optimierungsprobleme 6

Algorithmische Methoden zur Netzwerkanalyse Vorlesung für den Bereich Master Informatik

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

Fortgeschrittene Netzwerk- und Graph-Algorithmen

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

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

Kombinatorische Optimierung

ADS: Algorithmen und Datenstrukturen 2

Theoretische Überlegungen zur Ausbreitung von Infektionserregern auf Kontaktnetzen. Hartmut Lentz, Maria Kasper, Ansgar Aschfalk und Thomas Selhorst

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 14, Henning Meyerhenke

Minimal spannende Bäume

Angewandte Informatik

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 7, Henning Meyerhenke

11 Untermannigfaltigkeiten des R n und lokale Extrema mit Nebenbedingungen

Kombinatorische Optimierung

Algorithmen II Vorlesung am

WS 2009/10. Diskrete Strukturen

16. All Pairs Shortest Path (ASPS)

Optimieren unter Nebenbedingungen

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

Euklidische Distanzmatrizen. Andrei Grecu

Wie Google Webseiten bewertet. François Bry

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

2. Repräsentationen von Graphen in Computern

Inhaltsverzeichnis. Grundlagen

Algorithmische Methoden zur Netzwerkanalyse

WS 2009/10. Diskrete Strukturen

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

Diskrete Strukturen Kapitel 1: Einleitung

Kombinatorische Optimierung

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

Wirtschaftsmathematik für International Management (BA) und Betriebswirtschaft (BA)

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

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

Routing Algorithmen. Begriffe, Definitionen

Inhaltsverzeichnis. Vorwort Kapitel 1 Einführung, I: Algebra Kapitel 2 Einführung, II: Gleichungen... 57

Vorlesung 4 BETWEENNESS CENTRALITY

Big Data aus Sicht der Algorithmentechnik

Optimierung I. Dr. Ulf Lorenz F2.413

Algorithmen und Datenstrukturen

Algorithmische Methoden für schwere Optimierungsprobleme

9 Optimierung mehrdimensionaler reeller Funktionen f : R n R

Mathematik für Wirtschaftswissenschaftler

2. Übungsblatt zu Algorithmen II im WS 2016/2017

3 Optimierung mehrdimensionaler Funktionen f : R n R

6. Übung zur Linearen Optimierung SS08

Lineares Programmieren

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

Lineare Gleichungssysteme

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48

Universität des Saarlandes

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Christian Schulz und Johannes Singler

1 Lineare Optimierung, Simplex-Verfahren

Probabilistische Analyse von Algorithmen

Mathematik 1 für Wirtschaftsinformatik

Daniel Borchmann. Sommerakademie Görlitz September 2007

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Das Briefträgerproblem

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Mathematik für Wirtschaftswissenschaftler. Universität Trier Wintersemester 2013 / 2014

Großes Lehrbuch der Mathematik für Ökonomen

Mathematik anschaulich dargestellt

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Unimodularität. Kapitel 1. Peter Becker (H-BRS) Operations Research II Wintersemester 2015/16 11 / 206

Rückblick auf die letzte Vorlesung. Bemerkung

Lineare Algebra II 6. Übungsblatt

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

Customization (Zuschneiden)

Algorithmen für schwierige Optimierungsprobleme Vorlesung für den Bereich Bachelor Informatik

Grundbegriffe der Informatik

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Inhaltsverzeichnis. 1 Lineare Algebra 12

11. Rekursion, Komplexität von Algorithmen

Anwendungen von Netzwerkfluss. Wojciech Polcwiartek Institut für Informatik FU Berlin

Übung zur Vorlesung Berechenbarkeit und Komplexität

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

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

2.5. VERBINDUNGSNETZWERKE GESTALTUNGSKRITERIEN DER NETZWERKE TOPOLOGIE ALS GRAPH. Vorlesung 5 TOPOLOGIE: DEFINITIONEN : Sei G = (V, E) ein Graph mit:

Wiederholung zu Flüssen

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Optimierung für Nichtmathematiker

Analysis of Crash Simulation Data using Spectral Embedding with Histogram Distances

Modulnummer Modulname Verantwortlicher Dozent. Lineare Algebra und Analytische Geometrie

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Ranking by Reordering Tobias Joppen

Operations Research I

9. Übung Algorithmen I

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

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

Einführung in die Volkswirtschaftslehre

Heinrich-Heine-Gymnasium Herausforderungen annehmen Haltungen entwickeln Gemeinschaft stärken

Transkript:

Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische Informatik nationales Algorithmische Forschungszentrum Methoden in der Helmholtz-Gemeinschaft für schwere Optimierungsprobleme www.kit.edu

Fortsetzung Vorlesung 9 Programm: Clusteranalyse in Graphen Modularität 2 Henning Meyerhenke, Institut für Theoretische Informatik

Inhalt Einführung 3 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Stetig wachsende Datenflut Schlagwort Big Data in aller Munde Rasantes Wachstum der Menge von (irregulär strukturierten) Daten: Teilchenbeschleuniger, Teleskope: Terabytes / Tag Facebook: 1G+ Mitglieder, 1G+ Aktionen/Tag Web-Graph, Log-Dateien, Smartphone-Aktionen 4 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Stetig wachsende Datenflut Schlagwort Big Data in aller Munde Rasantes Wachstum der Menge von (irregulär strukturierten) Daten: Teilchenbeschleuniger, Teleskope: Terabytes / Tag Facebook: 1G+ Mitglieder, 1G+ Aktionen/Tag Web-Graph, Log-Dateien, Smartphone-Aktionen Big Data: Nicht nur Graphdaten, aber auch! 4 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Was ist BIG? Irregulär strukturierte Daten wachsen mit enormer Geschwindigkeit: Facebook: 1G+ Mitglieder, durchschnittlich 130 Freunde, 1G+ neue Inhalte pro Tag Twitter: 1G Tweets pro Woche Web-Graph Finanztransaktionen http://thecursedvalley.wordpress.com 5 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Gesundheitspolitische Erwägungen Epidemien (Grippe,...) sind in sozialen Netzwerken nachvollziehbar Lassen sich (gesundheits)politische Entwicklungen durch Analyse von sozialen Medien vorhersagen? Zu bedenken: Twitter: 1G+ Tweets/Woche Andere Dienste auch relevant Datenschutz Zielkonflikt zwischen Laufzeit und Genauigkeit http://thecursedvalley. wordpress.com 6 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Community Detection Natürliche Gruppen eines Netzwerks identifizieren Komplexität reduzieren: Anwendung teurer Algorithmen nur auf Teile des Netzwerks aber welche? Clusteranalyse (z. B. geometrisch) Daten desselben Clusters sind sich ähnlich Daten verschiedener Cluster sind sich unähnlich 7 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Community Detection Natürliche Gruppen eines Netzwerks identifizieren Komplexität reduzieren: Anwendung teurer Algorithmen nur auf Teile des Netzwerks aber welche? Clusteranalyse (z. B. geometrisch) Daten desselben Clusters sind sich ähnlich Daten verschiedener Cluster sind sich unähnlich Community Detection Knoten desselben Clusters sind stark miteinander verbunden Knoten verschiedener Cluster sind schwach miteinander verbunden http://renardteipelke. blogspot.com 7 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Community Detection Problem (Graph Clustering / Community Detection) Eingabe: Graph G = (V, E) Ausgabe: Clusterung (Partition von V ), die Zielfunktion optimiert Oft: Zielfunktion (ZF) wägt Anteil der internen Kanten, Anteil der externen Kanten und Clustergrößen ab Fast alle (interessanten) ZF sind N P-schwer zu optimieren 8 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Community Detection Problem (Graph Clustering / Community Detection) Eingabe: Graph G = (V, E) Ausgabe: Clusterung (Partition von V ), die Zielfunktion optimiert Oft: Zielfunktion (ZF) wägt Anteil der internen Kanten, Anteil der externen Kanten und Clustergrößen ab Fast alle (interessanten) ZF sind N P-schwer zu optimieren Weitere Anwendungen Ähnliche Objekte finden (Gene, Produkte, Personen,...) Verteiltes Rechnen, Speichern Visualisierung 8 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Zielfunktion Modularität Frage: Wie formalisiert man Ähnlichkeit? 9 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Zielfunktion Modularität Frage: Wie formalisiert man Ähnlichkeit? Populäre Zielfunktion (wenn auch mit Nachteilen): Modularität (engl. modularity) Man betrachtet die Differenz aus zwei Verhältnissen: Anteil der tatsächlichen Intra-Cluster-Kanten Erwarteter Anteil dieser Kanten in einem Zufallsgraphen mit gleicher Gradfolge ( ( ) ) E(C) q(c) = m v C deg(v) 2 2m C C 9 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Zielfunktion Modularität Frage: Wie formalisiert man Ähnlichkeit? Populäre Zielfunktion (wenn auch mit Nachteilen): Modularität (engl. modularity) Man betrachtet die Differenz aus zwei Verhältnissen: Anteil der tatsächlichen Intra-Cluster-Kanten Erwarteter Anteil dieser Kanten in einem Zufallsgraphen mit gleicher Gradfolge ( ( ) ) E(C) q(c) = m v C deg(v) 2 2m C C Erklärung: Tafel/Übung! Modularität hat einige bekannte Nachteile, z. B. das Auflösungsproblem (kann man teilweise durch ein Gewichtungsschema beseitigen) 9 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Modularität Komplexität Optimierung bzgl. Modularität ist streng N P-schwer Problem 1: MODULARITY Gegeben ein Graph G und eine Zahl K, gibt es eine Clusterung C von G, für die q(c) K gilt? 10 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Modularität Komplexität Optimierung bzgl. Modularität ist streng N P-schwer Problem 1: MODULARITY Gegeben ein Graph G und eine Zahl K, gibt es eine Clusterung C von G, für die q(c) K gilt? Problem 2: 3-PARTITION Seien 3k positive ganze Zahlen a 1,..., a 3k derart gegeben, dass 3k i=1 a i = kb und b/4 < a i < b/2 für eine ganze Zahl b und alle i = 1,..., 3k. Gibt es eine Partition dieser Zahlen in k Mengen derart, dass die Zahlen in jeder Menge in der Summe b ergeben? Beweis in Master-Vorlesung AMNA! 10 Henning Meyerhenke, Institut für Theoretische Informatik Einführung

Inhalt Einführung 11 Henning Meyerhenke, Institut für Theoretische Informatik

Spektrale Optimierung von Modularität N P-schwer: Was nun? : Globale Methode (Heuristik) Hier: Darstellung für Teilung in 2 Cluster Allgemeines k durch rekursives Vorgehen Setzt voraus, dass k bekannt ist 12 Henning Meyerhenke, Institut für Theoretische Informatik

Spektrale Optimierung von Modularität N P-schwer: Was nun? : Globale Methode (Heuristik) Hier: Darstellung für Teilung in 2 Cluster Allgemeines k durch rekursives Vorgehen Setzt voraus, dass k bekannt ist Gegeben: Schlichter, ungerichteter und zusammenhängender Graph G = (V, E), V = n, mit positiven Kantengewichten Gesucht: 2-Clusterung (V 1, V 2 ), die Modularität maximiert 12 Henning Meyerhenke, Institut für Theoretische Informatik

Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 13 Henning Meyerhenke, Institut für Theoretische Informatik

Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 13 Henning Meyerhenke, Institut für Theoretische Informatik

Kodierung von Bipartitionen in Vektoren Sei (V 1, V 2 ) eine 2-Clusterung von V. Wir kodieren diese in x = (x 1,..., x n ) T Z n durch: x i = { 1 vi V 1 +1 v i V 2 Beachten Sie: Normiert mit x 2 2 = n. 14 Henning Meyerhenke, Institut für Theoretische Informatik

Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 15 Henning Meyerhenke, Institut für Theoretische Informatik

Kodierung des Graphen in einer Matrix 1 5 2 10 4 3 6 2 3 Adjazenzmatrix: 0 5 0 1 0 0 5 0 3 10 0 4 A = 0 3 0 7 1 2 1 10 7 0 1 0 0 0 1 1 0 0 0 4 2 0 0 0 7 1 1 4 5 1 16 Henning Meyerhenke, Institut für Theoretische Informatik

Kodierung des Graphen in einer Matrix 1 5 1 2 4 3 10 7 6 4 5 1 2 1 3 Adjazenzmatrix: 0 5 0 1 0 0 5 0 3 10 0 4 A = 0 3 0 7 1 2 1 10 7 0 1 0 0 0 1 1 0 0 0 4 2 0 0 0 Gradmatrix: 6 0 0 0 0 0 0 22 0 0 0 0 D = 0 0 13 0 0 0 0 0 0 19 0 0 0 0 0 0 2 0 0 0 0 0 0 6 16 Henning Meyerhenke, Institut für Theoretische Informatik

Kodierung des Graphen in einer Matrix Definition (Laplace-Matrix) L := D A 6 0 0 0 0 0 0 5 0 1 0 0 6 5 0 1 0 0 0 22 0 0 0 0 5 0 3 10 0 4 5 22 3 10 0 4 L = 0 0 13 0 0 0 0 0 0 19 0 0 0 3 0 7 1 2 1 10 7 0 1 0 = 0 3 13 7 1 2 1 10 7 19 1 0 0 0 0 0 2 0 0 0 1 1 0 0 0 0 1 1 2 0 0 0 0 0 0 6 0 4 2 0 0 0 0 4 2 0 0 6 2 4 6 5 2 3 1 10 3 7 1 1 4 5 1 17 Henning Meyerhenke, Institut für Theoretische Informatik

Modularität: Andere Formulierung Beobachtung q(c) lässt sich auch schreiben als: 1 2m ij ( A ij wobei δ das Kronecker-Symbol ist und C(i) der Cluster von Knoten i in C. ) deg(i) deg(j) δ(c(i), C(j)), (1) 2m 18 Henning Meyerhenke, Institut für Theoretische Informatik

Modularitäts-Matrix Definition Sei die Modularitäts-Matrix B definiert als: B ij = A ij deg(i) deg(j) 2m Proposition n j=1 B ij = 0 i q(c) = 1 4m xt Bx mit B = B(G) und x = x(c) 19 Henning Meyerhenke, Institut für Theoretische Informatik

Modularitäts-Matrix Definition Sei die Modularitäts-Matrix B definiert als: B ij = A ij deg(i) deg(j) 2m Proposition n j=1 B ij = 0 i q(c) = 1 4m xt Bx mit B = B(G) und x = x(c) Beweis: Übung! 19 Henning Meyerhenke, Institut für Theoretische Informatik

Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 20 Henning Meyerhenke, Institut für Theoretische Informatik

Zielfunktion und Nebenbedingungen Maximiere q = 1 4m xt Bx u. d. Nb. x i { 1, 1} i 21 Henning Meyerhenke, Institut für Theoretische Informatik

Zielfunktion und Nebenbedingungen Maximiere q = 1 4m xt Bx u. d. Nb. x i { 1, 1} i Bild des Suchraums: Siehe Tafel! 21 Henning Meyerhenke, Institut für Theoretische Informatik

Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 22 Henning Meyerhenke, Institut für Theoretische Informatik

Das kontinuierliche Problem Die Ganzzahligkeits-Bedingung wird relaxiert: Maximiere q = 1 4m xt Bx u. d. Nb. x i R i und x T x = n (quadratische Norm) 23 Henning Meyerhenke, Institut für Theoretische Informatik

Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 24 Henning Meyerhenke, Institut für Theoretische Informatik

Lösen des kontinuierlichen Problems Herleitung des EV-Problems anhand der Ableitung der ZF und Überführung in Lagrange-Optimierung (Details nicht Teil dieser Vorlesung) Schließlich: Berechne Eigenvektor z 1 zum größten Eigenwert von B 25 Henning Meyerhenke, Institut für Theoretische Informatik

Das grobe Vorgehen 1. Kodiere Clusterung in Vektoren 2. Kodiere Graphen in einer Matrix 3. Zielfunktion und Nebenbedingungen aufstellen 4. Diskretes Problem zu kontinuierlichem Problem relaxieren 5. Kontinuierliches Problem mit Mitteln der linearen Algebra und der Analysis lösen 6. Lösung diskretisieren 26 Henning Meyerhenke, Institut für Theoretische Informatik

Lösung diskretisieren Kontinuierliche Lösung x = z 1 diskrete Lösung x mit folgenden Eigenschaften: x i {+1, 1} (x soll eine 2-Clusterung kodieren) { 1 xi < 0 x i = +1 x i > 0 27 Henning Meyerhenke, Institut für Theoretische Informatik

Spektrale Partitionierung Algorithmus Eingabe: G = (V, E) Ausgabe: 2-Clusterung (V 1, V 2 ) von G 1. Konstruiere B(G) 2. Berechne den Eigenvektor z 1 von B(G) 3. Partitioniere Indizes von z 1 in zwei Teile: V 1 := {i z 1 (i) < 0}, V 2 := {i z 1 (i) > 0} 4. Weise die Null-Einträge von z 1 beliebig zu 5. return (V 1, V 2 ) 28 Henning Meyerhenke, Institut für Theoretische Informatik

Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Verbreitetes Clustering-Konzept Theoretische Analyse 29 Henning Meyerhenke, Institut für Theoretische Informatik

Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Verbreitetes Clustering-Konzept Theoretische Analyse Nachteile: Laufzeit nicht so gut wie schnelle lokale Verfahren Qualität in der Regel nicht so gut wie Multilevel + lokale Heuristik (Praxis) bzw. LP oder SDP (Theorie) 29 Henning Meyerhenke, Institut für Theoretische Informatik

Diskussion Vorteile: Schnell programmiert (Eigenlöser-Bibliothek vorausgesetzt) Verbreitetes Clustering-Konzept Theoretische Analyse Nachteile: Laufzeit nicht so gut wie schnelle lokale Verfahren Qualität in der Regel nicht so gut wie Multilevel + lokale Heuristik (Praxis) bzw. LP oder SDP (Theorie) Trotzdem wertvoll: In der Praxis z. B. als Startlösung 29 Henning Meyerhenke, Institut für Theoretische Informatik