graphenalgorithmen und lineare algebra hand in hand...

23
Prof. Dr. Henning Meyerhenke | Fakultät für Informatik KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK www.kit.edu Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Master Informatik Dozent: Prof. Dr. Henning Meyerhenke Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik 2 VORLESUNG 1 Einführung 20. April 2016 Graphenalgorithmen und lineare Algebra Hand in Hand

Upload: vohanh

Post on 17-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK

www.kit.edu

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

Dozent: Prof. Dr. Henning Meyerhenke

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

2

VORLESUNG 1 Einführung

20. April 2016

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 2: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

3

Motivation

  Graphen wichtige abstrakte Datenstrukturen   Mächtiges Werkzeug zur Modellierung komplexer Probleme

Allgegenwärtig in täglichen Anwendungen   Straßennetzwerke in Navigationsgeräten   Soziale Netzwerke   Kommunikationsnetze   UML-Diagramme   Bildverarbeitung

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

4

Beispielalgorithmen und -anwendungen

  APSP: Vorverarbeitung bei der Routenplanung

  Partitionierung und Lastbalancierung: Effizientes paralleles Rechnen

  Netzwerkanalyse: Hauptakteure in einem (sozialen) Netzwerk

  Visualisierung von Graphen: Technische Zeichnungen, Geschäftsdatenanalyse

Graphenalgorithmen und lineare Algebra Hand in Hand

http://www.facebook.com/marketing

Page 3: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

5

Netzwerkanalyse

  Empirische Untersuchung von Daten, die als Netzwerk (Graph) modelliert werden können

  Modelle   Struktur   Maßzahlen   Algorithmen

  Anwendungsgebiete (Auswahl):   Technik: Internet und Telefon, Strom, Transport und Logistik, ...   Information: WWW, Zitierungen, ...   Biologie: Protein-Protein-Interaktionen, ...   Soziales: Soziale Online-Netzwerke, Politik, ...

H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse

[http://www.swisscinema.org/gimage/ eec89088ee408b80387155272b113256.jpg]

[http://www.utoronto.ca/boonelab/ research_projects/images/fig11-3.gif]

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

6

Skalierbare Verarbeitung

  Große Datenmengen è Skalierbare Verarbeitung

  Herausforderung: Implementierung von Graphenalgorithmen mit guter (paralleler) Performanz   Analyse mit Methoden der Matrixalgebra häufig sehr nützlich   Implementierung mit Matrixalgebra oft deutlich kürzer   Produktivität des Programmierers vs Effizienz des Programms

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 4: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

7

Lernziele

  Verständnis für Zusammenhang zwischen Graphen und Matrizen   Auftretende Fragestellungen aus der Graphentheorie auf ihren algorithmischen Kern reduzieren   Analyse und/oder Lösung mit Techniken der linearen Algebra

  Vorgestellte Methoden selbstständig auf verwandte Fragestellungen anwenden

Inhalte:   Effiziente praktische Lösung der behandelten Probleme ist wichtiger Bestandteil der Übungen   Geht (teilweise) auch auf Aspekte der Parallelverarbeitung ein

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

8

Vorlesungsübersicht

  Dualität von Graphen und Matrizen   Grundlegende Graphenalgorithmen in Matrixalgebra

  Datenstrukturen für Graphen und dünn besetzte Matrizen

Anwendungsbereiche:   Netzwerkanalyse   Layouten von Graphen   Lastbalancierung mit Diffusion   Partitionierung   Ausdünnung von Graphen   Gleichungssystemlöser

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 5: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

14

ORGANISATORISCHES

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

15

Bachelor-/Masterarbeiten

  Insbesondere in den vorher genannten Themengebieten

  Beschreibungen liegen aus und sind auf Gruppenwebseite zu Studium und Lehre:

http://parco.iti.kit.edu/lehre.shtml

  Bei Interesse einfach ansprechen!

H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse

[http://www.oc.tu-bs.de/dickschat/masterarbeiten_de.html]

[http://www.uni-rostock.de/weiterbildung/fernstudien/medien-bildung/masterabschluss/]

Page 6: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

16

Stellenangebote

HiWi-Stelle   Doktorandenstelle

  Unterstützung in Forschung und Lehre   Themenbereich parallele Algorithmentechnik

  Analyse von (sozialen) Netzwerken   Kombinatorisches wissenschaftliches Rechnen   Angewandte kombinatorische Optimierung

  Studiengänge?

H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse

[http://www.ausbildungplus.de/ images_content/Berufswahl_180px.jpg]

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

17

Organisatorisches zur Veranstaltung

  Vorlesung und Übung kombiniert   Termine:

  Mittwochs 14:00-15:30 Uhr im SR -119   Donnerstags 14:00-15:30 Uhr im SR -119   Übersicht auf

Vorlesungswebseite

  SWS: 2+1

  Sprechstunde: Nach Vereinbarung (E-Mail)

  Webseite zur Vorlesung (bzw. Link auf weitere Details): http://parco.iti.kit.edu/henningm/lehre.shtml

H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse

[http://igd-r.fraunhofer.de/awf_organisatorisches/?L=1]

Page 7: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

18

Methodik des Übungsbetriebs

  Aufgaben sowohl theoretisch (z. B. vglw. einfache Beweise) als auch praktisch (z. B. Implementierung)

  Übungen: Teilnehmer präsentieren ihre Lösungen zu Übungsaufgaben

  Bonuspunkte für erfolgreiches Programmierprojekt

  Projektvorstellung am Ende der Vorlesungszeit

  Mündliche Prüfung voraussichtlich in KW 30 und Sep/Okt 2016

H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse

[http://www.slideshine.de/browser/uploads/412/Intelligente%20Wege%20zu%20 neuen%20Ideen%20%28Clipart%29/7598-Gl%C3%BChbirne%20Aha.jpg]

[http://www.verlag-bauer.de/UserFiles/Image/start_uebung.gif]

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

19

Projekthilfsmittel NetworKit

  Software zur interaktiven Netzwerkanalyse   Schnell durch C++ und OpenMP

  Anwendungsarbeit im Browser (Jupyter notebook)   Paralleles Backend kann auf Server laufen

http://www.network-analysis.info

  Begleitende Programmierübung   Projektthemen erscheinen in ca. zwei Wochen   Bedarf?

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 8: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

20

Literatur

  Weitere Literatur: Angabe bei Bedarf auf Folien

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

21

EINLEITUNG UND MOTIVATION Abschnitt 1 (mit einigen Folien von Aydin Buluc, Berkeley Lab):

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 9: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

22

Motivation for graphs

  A graph is an important abstract data structure   Powerful tool for modelling complex problems   Models discrete structures

Ubiquituous in daily-life applications:   Road networks   Social networks   Communication networks   UML diagrams   Image processing

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

http://www.facebook.com/marketing

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

23

Motivation for linear algebra

  A matrix is an important abstract data structure   Powerful tool for modeling complex problems   Models discretized physical processes (often)

  Ubiquitous in scientific applications:   Physical process: PDE   Discretized PDE -> matrix

  Numerical simulations   FFT (your camera!)   …

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Page 10: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

24

„Middleware“

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Computers

Continuous physical modeling

Linear algebra

Discrete structure analysis

Graph theory

Computers

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

25

Why both together?

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

  Design:   Few basic operations

  Analysis:   As above

  Implementation:   As above

  Experiments:   Both types have acted as inputs

for benchmarks

Page 11: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

26

Layered system approach (with examples)

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Applications

Algorithms

Primitives

Fluid flow simulation

Linear solver

MatVec

Statistical network analysis

Betweenness Centrality

BFS step

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

27

BLAS vs GraphBLAS

  BLAS (Basic Linear Algebra Subroutines):   Highly successful   Used in many other libraries   Dense LA

GraphBLAS   New effort   Standardization in progress   Sparse graphs/matrices

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Page 12: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

28

ALGORITHMISCHE GRUNDLAGEN

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

29

Was ist ein Algorithmus?   Definition: Ein Algorithmus ist eine eindeutige Beschreibung eines Verfahrens zur Lösung einer bestimmten Klasse von Problemen.

Schlüsselworte:   Eindeutige Beschreibung   eines Verfahrens   zur Lösung   einer Klasse von Problemen

Graphenalgorithmen und lineare Algebra Hand in Hand

Genauer: Ein Algorithmus ist eine Menge von Regeln für ein Verfahren, um aus gewissen Eingabegrößen bestimme Ausgabegrößen herzuleiten. Dabei muss

1.  Das Verfahren in einem endlichen Text beschreibbar sein. 2.  Jeder Schritt des Verfahrens auch tatsächlich ausführbar sein. 3.  Der Ablauf des Verfahrens zu jedem Zeitpunkt eindeutig

definiert sein.

Page 13: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

30

Ø Algorithmen müssen korrekt sein.

→ Benötigen Korrektheitsbeweise.

Ø Algorithmen sollen zeit- und speichereffizient sein.

→ Benötigen Analysemethoden für Zeit- und Speicherbedarf.

Ø Analyse basiert in der klassischen Algorithmik nicht auf empirischen Untersuchungen, sondern auf mathematischen Analysen. Man nutzt hierfür Pseudocode und Basisoperationen.

Ø Algorithmentechnik: Zyklus von Entwurf, Analyse, Implementierung und Experiment

Kriterien für Algorithmen

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

31

Definition: Multimenge

  Eine Menge E mit einer Vielfachheit ihrer Elemente heißt Multimenge.

  Die Kardinalität von E ist

  Kurzschreibweise:   für   , falls und

Graphenalgorithmen und lineare Algebra Hand in Hand

| E |= #Ee∈E∑ (e).

#E : E→ 0

e∈k E e∈E# e #E (e)

# e = k

Page 14: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

32

Definition: Graph, Multigraph

  Ein mglw. gerichteter Graph (bzw. Multigraph) ist ein   Paar G = (V, E)   aus einer endlichen Menge V von Knoten und   einer Menge (bzw. Multimenge) E µ V £ V von Kanten.

  Kanten e 2 {(v, v) | v 2 V} nennen wir Schleifen.

  Kanten e 2 E in einem Multigraphen mit k > 1 (Mehrfachauftreten) heißen Multikanten.

  Ein Graph ist schlicht (simple), wenn er weder Schleifen noch Multikanten hat.

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

33

Beispiel

mit und für

  ist eine Multikante   (3,3) ist eine Schleife

  1 ist Vorgänger von 2   2 ist Nachfolger von 1   1 ist adjazent zu 2   (1, 2) ist inzident zu 1 (bzw. 2)

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 15: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

34

Jetzt sind Sie dran:

  Frage: Welche Matrizen kennen Sie, um einen Graphen zu repräsentieren?

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

35

Beispiel für Dualität [KG, S. 4, S. 32f.]

  BFS und Matrix-Vektor-Produkt   BFS(G, s) ó AT x (wiederholt), x(s) = 1

  Graphenalgorithmen in Halbringnotation Halbring: Algebraische Struktur mit

  einer (nichtleeren) Menge und mit   zwei zweistelligen Verknüpfungen (Addition, Multiplikation).   Addition ist eine kommutative Halbgruppe,   Multiplikation ist eine Halbgruppe,   es gelten die Distributivgesetze.

  A op1.op2 v: Abkürzung für Matrix-Vektor-Multiplikation

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 16: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

36

Breadth-first search (BFS)

  Basic graph traversal algorithm

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

1 2

3

4 7

6

5

1 2

3

4 7

6

5

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

37

1 2

3

4 7

6

5

AT

1

7

7 1 from

to

BFS in the language of linear algebra

  Graph as adjacency matrix A (or AT, stored as sparse matrix) Auv: Edge from u to v

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Page 17: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

38

How do we express one BFS step?

  Source: Entry 1 in vector x

  What happens in matrix-vector product?

  Interpretation:   Result: Non-zeros at neighbors of source(s)   Another matvec: 2-step neighbors, ...

  Trick: Interpret these matvec operations as general semiring operations!

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

x

1

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

39

Semiring

  A semiring is a set R equipped with two binary operations + and ·, called addition and multiplication, such that:

  (R, +) is commutative semigroup with identity 0   (a + b) + c = a + (b + c)   0 + a = a + 0 = a   a + b = b + a

  (R, ·) is semigroup with identity 1   (a·b)·c = a·(b·c)   1·a = a·1 = a

  Distributive multiplication   a·(b + c) = (a·b) + (a·c)   (a + b)·c = (a·c) + (b·c)

  0 · a = a · 0 = 0

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Page 18: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

40

Other semiring

  Exchange (+, ·) by two other operations...   Actually we do not have to sum…

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

41

1 2

3

4 7

6

5

xAT

1

7

7 1 from

to

ATx

à

1

1

1

1

1parents:

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Par,cularsemiringopera,ons:Mul$ply:selectAdd:minimum

1

Page 19: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

42

1 2

3

4 7

6

5

x

4

2

2

AT

1

7

7 1 from

to

ATx

à

2

4

4

2

24

1

1parents:4

2

2

Mul$plytraversesoutgoingedgesAddchoosesamongincomingedges(minimum)

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

11

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

43

1 2

3

4 7

6

5

x

3

AT

1

7

7 1 from

to

ATx

à 3

5

7

3

1

1parents:4

2

2

5

3

Selectvertexwithminimumlabelasparent

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

11

Page 20: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

44

xAT

1

7

7 1 from

to

ATx

à

6

1 2

3

4 7

6

5

Result:Determinis,cbreadth-firstsearch

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

45

Fazit

  BFS(G, s) und Matrix-Vektor-Produkt   Vektor x: x(s) = 1, alle anderen Einträge 0   Matrix: AT, geeignete Datenstruktur

  Theorem:   (Ak)ij = Anzahl Wege der Länge k von i nach j   Beweis: Übung!

  1. Schritt: BFS(G, s) ó x(1) := AT x(0)

  2. Schritt: BFS(G, s) ó x(2) := AT x(1) = (AT)2 x(0)

  ...

  Anpassen der Operationen gemäß Halbring!

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 21: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

46

Historie

  Dualität zwischen einem schlichten Graphen (ohne weitere Information) und einer Adjazenzmatrix lange bekannt   Matrixalgebra etabliertes Werkzeug in der Graphentheorie

  Allerdings: In algorithmischer Software wurden meist andere Repräsentationen gewählt

  Frage: Mögliche Gründe?

Graphenalgorithmen und lineare Algebra Hand in Hand

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

47

Vorteile der Nutzung der Dualität

  Reduktion der syntaktischen Komplexität:   Manche Graphenalgorithmen sind kompakter und einfacher

verständlich, wenn sie Array-basiert aufgeschrieben werden   Personenkreise mit Kenntnissen in linearer Algebra haben

leichteren Zugang zur Graphentheorie (Ingenieure, Physiker, ...)   Einfache Implementierung:

  Nutzung der existierenden Software-Infrastruktur für parallele Berechnungen auf dünn besetzten Matrizen   Weniger Fehler durch Wiederverwendung   Bessere Optimierung durch Spezialisten

  Geschwindigkeit:   Array-basierte Algorithmen heben stärker das Muster des

Datenzugriffs hervor   Dadurch bessere Optimierung möglich

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 22: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

48

The case for sparse matrices

Many irregular applications: •  Coarse-grained parallelism

•  Exploit by abstractions at proper level.

H. Meyerhenke: Graph Algorithms and Linear Algebra Hand in Hand

Traditional graph computations

Graphs in the language of linear algebra

Data driven, unpredictable communication

Fixed communication patterns

Irregular and unstructured, poor locality of reference

Operations on matrix blocks exploit memory hierarchy

Fine grained data accesses, dominated by latency

Coarse grained parallelism, bandwidth limited

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

49

Nachteile der Nutzung der Dualität

  Frage: Was fällt Ihnen ein?

Graphenalgorithmen und lineare Algebra Hand in Hand

Page 23: Graphenalgorithmen und lineare Algebra Hand in Hand ...parco.iti.kit.edu/henningm/GALA-SS16/GALA-slides-01.pdf · Beispiel mit und für ist eine Multikante (3,3) ist eine Schleife

Prof. Dr. Henning Meyerhenke | Fakultät für Informatik

KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik

50

Ansatz der Vorlesung

  Zunächst anhand grundlegender Algorithmen Dualität erklären   Implementierungsaspekte beleuchten

  Anwendung der Dualität:   Algorithmisch   Analytisch

Graphenalgorithmen und lineare Algebra Hand in Hand