Graphpartitionierung und Graphenclustern in Theorie und Praxis

  • Typ: Vorlesung (V)
  • Semester: SS 2016
  • Ort:

    Geb. 50.34, Raum 236

  • Zeit:

    Termine

    Di (06.06.2017), 08:00 bis 11:30, 50.34 Raum 236            
    Mi (07.06.2017), 14:00 bis 17:15, 50.34 Raum 236            
    Do (08.06.2017), 14:00 bis 17:15, 50.34 Raum -120            
    Fr (09.06.2017), 08:00 bis 11:30, 50.34 Raum 236            

    Mo (12.06.2017), 09:45 bis 13:00, 50.34 Raum -120            
    Di (13.06.2017), 08:00 bis 11:30, 50.34 Raum 236            
    Mi (14.06.2017), 14:00 bis 17:15, 50.34 Raum 236            
    Fr (16.06.2017), 08:00 bis 11:30, 50.34 Raum 236            

    Mo (24.07.2017), 09:45 bis 13:00, 50.34 Raum -120            
    Di (25.07.2017), 08:00 bis 11:30, 50.34 Raum 236            
    Mi (26.07.2017), 14:00 bis 17:15, 50.34 Raum 236            
    Do (27.07.2017), 14:00 bis 17:15, 50.34 Raum -120            
    Fr (28.07.2017), 08:00 bis 11:30, 50.34 Raum 236

     

  • Dozent:

    Dr. Christian Schulz
    Sebastian Schlag

  • LVNr.: 2400008
Kontext
Viele Anwendungen der Informatik beinhalten das Clustern und die Partitionierung von Graphen, z.B. die Finite Element Methode in wissenschaftlichen Simulationen, Digitaler Schaltkreisentwurf, Routenplanung, Analyse des Webgraphen oder auch die Analyse von Sozialen Netzwerken.

Ein bekanntes Beispiel, in der gute Partitionierungen von unstrukturierten Graphen benötigt werden, ist die Parallelverarbeitung. Hier müssen Graphen partitioniert werden, um Berechnungen gleichmäßig auf eine gegebene Anzahl von Prozessoren zu verteilen und die Kommunikation zwischen diesen zu minimieren. Wenn man k Prozessoren verwenden möchte, muss der Graph in k ungefähr gleich große Blöcke aufgeteilt werden, so dass die Anzahl Kanten zwischen den Blöcken minimal ist.

Veranstaltungsziele
Ziel der Vorlesung ist es, den Studierenden einen ersten Einblick in die Problematik des Graphpartitionierens und des Graphenclusterns zu vermitteln und dabei Wissen aus der Graphentheorie sowie der Algorithmik umzusetzen. Auf der einen Seite werden die auftretenden Fragestellungen auf ihren algorithmischen Kern reduziert und anschließend effizient gelöst. Auf der anderen Seite, werden verschiedene Modellierungen und deren Interpretationen behandelt.

Skript+Folien

Username, Passwort auf den Folien:

Inhalte
Da in der Praxis viele Partitionierungs- und Clusteringprobleme auftreten, werden die besprochene Probleme vorgestellt und motiviert. Es werden sowohl die theoretischen als auch die praktischen Aspekte der Graphpartitionierung und des Graphenclusterns vermitteln. Dies beinhaltet Heuristiken, Meta-Heuristiken, evolutionäre und genetische Algorithmen sowie Approximations- und Streamingalgorithmen.

Detailierter Inhalt der Vorlesung:
  • Definition von Graphpartitionierungs- und clustering Problemen
  • Verschiedene Zielfunktionen (Kantenschnitt, Conductance, Modularity, ...)
  • NP-Härte von GP und GC
  • Exakte Partitionierung und exaktes Clustern
  • Spektrale Partitionierung und Clusterung
  • Lokale Suchen
  • Multilevel Algorithmen
  • Evolutionäre Algorithmen und Meta-Heuristiken 
  • Parallele Graphpartitionierung
  • External- und Semi-External Graph Partitioning
  • Streaming Algorithmen für Graph Partitionierung
  • Greedy Agglomeration Algorithmen und Top-Down Approaches
  • Evolutionäre und Parallele Methoden fürs Graphenclustern
  • Min-Cut Tree Clustering
  • Dynamisches Graphenclustern, Online Algorithmen
  • Community Detection with Overlaps
Weitere Informationen gibt es hier als PDF.
Feedback