Graphentheorie (Teschl/Teschl 15-17)

Größe: px
Ab Seite anzeigen:

Download "Graphentheorie (Teschl/Teschl 15-17)"

Transkript

1 Graphentheorie (Teschl/Teschl 15-17) Ein Graph besteht aus Knoten, die durch Kanten miteinander verbunden sind. graphen.pdf, Seite 1

2 Anwendungen Netzwerke (Verkehr, Daten,...) Datenstrukturen Suchbäume Bildverarbeitung Rechnerarchitektur MarkowKetten (Übergangswahrscheinlichkeiten) graphen.pdf, Seite 2

3 Denition Ein Graph G = (V, E) besteht aus einer Menge V von Knoten (oder Ecken, englisch vertices) und einer Menge E von Kanten (englisch edges). Dabei ist eine Kante ein Paar e von Knoten a, b V. Bei einem ungerichteten Graphen spielt die Reihenfolge keine Rolle, man schreibt e = {a, b} oder kurz e = ab (= ba). Bei einem gerichteten Graphen ist e eine Kante von a nach b und man schreibt e = (a, b) oder kurz e = ab ( ba). Die Knoten- und die Kantenmenge können endlich oder abzählbar sein, wir werden uns auf den endlichen Fall beschränken. graphen.pdf, Seite 3

4 Geometrische Darstellung Die Kanten werden als Verbindungslinien zwischen den Knoten dargestellt. Beispiel: Geometrische Darstellung und Mengenschreibweise des ungerichteten Graphen G = (V, E) mit V = {1, 2, 3, 4, 5} und { } E = {1, 2}, {1, 4}, {2, 3}, {2, 4}, {2, 5}, {3, 5}, {4, 5}, {5, 5} = {12, 14, 23, 24, 25, 35, 45, 55} graphen.pdf, Seite 4

5 Gerichtete Graphen Hier werden die Kanten als Pfeile dargestellt. Beispiel: Geometrische Darstellung und Mengenschreibweise des gerichteten Graphen G = (V, E) mit V = {1, 2, 3, 4} und { } E = (1, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 1), (4, 3) = {12, 23, 24, 33, 34, 41, 43} graphen.pdf, Seite 5

6 Bezeichnungen für ungerichtete Graphen: Zwei Knoten heiÿen adjazent oder benachbart, wenn sie durch eine Kante verbunden sind. Zwei Kanten heiÿen inzident, wenn sie einen gemeinsamen Knoten haben. Ein Knoten und eine Kante heiÿen inzident, wenn sie sich berühren. Der Grad oder die Ordnung eines Knoten ist die Zahl der mit ihm inzidenten Kanten. Bei gerichteten Graphen können die Begrie geeignet modiziert werden. Dabei wird oft zwischen eingehenden und ausgehenden Kanten bei einem Knoten unterschieden. graphen.pdf, Seite 6

7 Beispiel: Knotengrade (Ordnungen) in ungerichtetem Graphen graphen.pdf, Seite 7

8 Teilgraphen Ein Teilgraph von G = (V, E) ist ein Graph G = (V, E ) mit V V und E E. Teilgraph G = (V, E ) von G = (V, E) rot markiert graphen.pdf, Seite 8

9 Isomorphe Graphen Die Graphen G = (V, E) und Ĝ = ( ˆV, Ê) sind isomorph, wenn es eine bijektive Abbildung f : V ˆV gibt, sodass den Kanten e = vw E die Kanten ê = f (v)f (w) Ê entsprechen. Die Abblidung f wird als Isomorphismus bezeichnet. Interpretation Ein Isomorphismus f beschreibt lediglich eine Umbenennung der Knoten, ohne dass die Struktur des Graphen verändert wird. Beispiel Die ungerichteten Graphen G = (V, E) und Ĝ = ( ˆV, Ê) mit V = {1, 2, 3, 4} und E = {12, 13, 23, 24} sowie ˆV = {a, b, c, d} und Ê = {ab, ac, ad, cd} sind isomorph. (Betrachte f (1) = c, f (2) = a, f (3) = d und f (4) = b) graphen.pdf, Seite 9

10 Isomorphe Graphen Nicht isomorphe Graphen graphen.pdf, Seite 10

11 Isomorphie und Knotenordnung Isomorphe Graphen haben die gleiche Anzahl von Knoten und Kanten, die Ordnung von f (v) muss für jeden Knoten gleich der Ordnung von v sein. Damit gilt: Haben zwei Graphen eine unterschiedliche Anzahl von Knoten oder eine unterschiedliche Anzahl von Kanten oder sind die Knotengrade verschieden, so können sie nicht isomorph sein. Im Beispiel auf der letzten Seite unten haben beide Graphen jeweils 4 Knoten und 4 Kanten. Jedoch der linke Graph G = (V, E) Knoten mit Ordung 1 und 3, während im rechten Graphen Ĝ = ( ˆV, Ê) alle Knoten die Ordnung 2 haben. Daher sind die beiden Graphen nicht isomorph. graphen.pdf, Seite 11

12 Nachweis der Isomorphie Um zu begründen, dass zwei Graphen nicht isomorph sind, können die Überlegungen auf der letzten Seite benutzt werden. Der Nachweis, dass zwei Graphen isomorph sind, kann dadurch erfolgen, dass ein Isomorphismus f explizit angegeben wird. Im vielen Fällen ist es jedoch nicht ohne weiteres feststellbar, ob zwei gegebene Graphen isomorph sind. Zwei Graphen mit gleichen Knoten- und Kantenzahl und den gleichen Knotengraden sind noch nicht automatisch isomorph. graphen.pdf, Seite 12

13 Speichern von Graphen im Computer ist auf unterschiedliche Weise möglich. Gebräuchliche Darstellunsformen sind: Adjazenzmatrix: Matrix (Tabelle), deren Zeilen und Spalten den Knoten entsprechen mit Einträgen 0 oder 1, je nachdem ob eine Kante zwischen den betreenden Knoten existiert. Eine ungerichtete Kante ab führt zu zwei Einträgen in der Adjazenzmatrix: jeweils eine 1 in Zeile a/spalte b und in Zeile b/spalte a. Eine Kante in einem gerichteten Graphen entspricht einer Eins in der Adjazenzmatrix. Adjazenzliste: Zu jedem Knoten a werden die Knoten b aufgelistet, für die es eine Kante ab gibt. Auch hier kommen ungerichtete Kanten zweimal und gerichtete Kanten einmal vor. Inzidenzmatrix: Stellt eine tabellarische Zuordnung zwischen inzidenten Paaren von Knoten und Kanten her. graphen.pdf, Seite 13

14 Beispiel 1 Der gerichtete Graph G = (V, E) mit V = {1, 2, 3, 4} und E = {12, 23, 24, 34, 41, 43} ist darstellbar durch die Matrix: A = und die Liste: L = 1 : 2 2 : 3, 4 3 : 4 4 : 1, 3 Jeder Kante entspricht eine 1 in der Matrix sowie ein Listeneintrag. graphen.pdf, Seite 14

15 Beispiel 2 Der ungerichtete Graph G = (V, E) mit V = {1, 2, 3, 4} und E = {12, 14, 23, 24, 34} ist darstellbar durch die Matrix: A = und die Liste: L = 1 : 2, 4 2 : 1, 3, 4 3 : 2, 4 4 : 1, 2, 3 Hier führt jede Kante zu zwei Einsen in der Matrix und zwei Listeneinträgen. graphen.pdf, Seite 15

16 Bezeichnungen Ein Graph heiÿt einfach, wenn es zu je zwei Knoten a und b maximal eine Kante e = ab gibt, multipel oder Multigraph, wenn er nicht einfach ist, d. h. es zwei Knoten gibt, die durch mehr als eine Kante miteinander verbunden sind, schlicht, wenn einfach ist und keine Schlingen e = aa hat. Ein schlichter (gerichteter oder ungerichteter) Graph heiÿt vollständig, wenn es zu je zwei Knoten a, b V eine Kante ab E gibt. Eine Clique ist ein vollständiger Teilgraph, d. h. innerhalb einer Clique sind alle Knoten miteinander verbunden. graphen.pdf, Seite 16

17 vollständige Graphen graphen.pdf, Seite 17

18 Planare Graphen Ein Graph heiÿt planar (eben, plättbar), wenn er eine geometrische Darstellung in der Ebene besitzt, bei der sich keine Kanten kreuzen. Anwendungen: Aufbau von Computerchips, Verkehrsnetzen... graphen.pdf, Seite 18

19 Eulerscher Polyedersatz Für die geometrische Darstellung eines zusammenhängenden planaren Graphen gilt Knotenzahl + Flächenzahl = Kantenzahl + 2 Als Flächen werden alle von Kanten umschlossenen Flächen sowie die äuÿere Fläche gezählt. 5 (Knoten) + 4 (Flächen) = 7 (Kanten) + 2 graphen.pdf, Seite 19

20 Beweisidee des Eulerschen Polyedersatzes Für einen Graphen, der aus einem Knoten und keiner Kante besteht, ist die Knotenzahl k = 1 und die Kantenzahl e = 0. Die Ebene wird nicht in Teilächen unterteilt, so dass die Flächenzahl f = 1 ist. Somit gilt k + f = = e + 2 = Davon ausgehend kann jeder Graph durch wiederholtes Anwenden der beiden folgenden Teilschritte konstruiert werden: Hinzufügen eines neuen Knotens und einer Kante, die den neuen Knoten mit einem schon vorhandenen Knoten verbindet. Dadurch erhöht sich k und e jeweils um 1. f bleibt unverändert, da durch diesen Schritt keine Fläche unterteilt wird. Hinzufügen einer neuen Kante zwischen zwei schon vorhandenen Knoten. Dadurch erhöht sich e um 1, k bleibt gleich. Durch diesen Schritt wird eine Fläche unterteilt, so dass sich f um 1 erhöht. In beiden Fällen erhöht sich k + f und e + 2 jeweils um 1, so dass die Gleichheit erhalten bleibt. graphen.pdf, Seite 20

21 Satz von Kuratowski Ein Graph ist genau dann planar, wenn er keinen Teilgraphen G der folgenden Form enthält: Die Struktur des linken Graphen G entspricht einem vollständigen Graphen mit 5 Knonten, die des rechten einem bipartiten Graphen mit 2 mal 3 Knoten. graphen.pdf, Seite 21

22 Wege Ein Weg (oder Kantenzug) von a nach b ist eine Folge aneinandergereihter Kanten a 1 b 1, a 2 b 2,..., a n b n mit a 1 = a, b n = b und a i+1 = b i für i = 1,..., n 1, d. h. der Endpunkt jeder Kante ist Anfangspunkt der nächsten. Kurzschreibweise: a 1, a 2, a 3,..., a n, b n oder a 1 a 2 a 3...a n b n Bei einem geschlossenen Weg (Zyklus) ist der Endpunkt gleich dem Anfangspunkt, d. h. b n = a 1. Ein Pfad ist ein Weg, bei dem kein Knoten mehrfach durchlaufen wird. Ein Kreis ist ein geschlossener Pfad. graphen.pdf, Seite 22

23 Pfad abcdefg = a, b, c, d, e, f, g = ab, bc, cd, de, ef, fg mit Anfangspunkt a und Endpunkt g: Pfad von a nach g Bemerkungen Die Begrie Weg, Pfad und Kreis sind in der Literatur nicht ganz einheitlich deniert. Zu gegebenen Knoten a und b kann ein Pfad von a nach b z. B. mittels der Tiefensuche (Depth-First Search) oder der Breitensuche (Breadth First Search) gefunden werden. graphen.pdf, Seite 23

24 Zusammenhang Ein zusammenhängender Graph ist ein Graph, der sich nicht in kleinere Teile zerlegen lässt: Ein ungerichteter Graph heiÿt zusammenhängend, wenn es zu je zwei Knoten a und b einen Weg von a nach b gibt. Ein gerichteter Graph heiÿt stark zusammenhängend, wenn es zu je zwei Knoten a und b einen Weg von a nach b gibt. Ein gerichteter Graph G = (V, E) heiÿt zusammenhängend, wenn der ungerichtete Graph zusammenhängend ist, welcher entsteht, wenn die Kanten e E als ungerichtete Kanten interpretiert werden. Ein Graph heiÿt nfach zusammenhängend für n 1, wenn man mindestens n Kanten entfernen muss, damit der verbleibende Restgraph nicht mehr zusammenhängend ist. graphen.pdf, Seite 24

25 Verschiedene Formen des Zusammenhangs graphen.pdf, Seite 25

26 Test auf Zusammenhang mit der Breitensuche Knoten werden in drei Gruppen eingeteilt (markiert): neu, alt und unmarkiert. Start mit einem neuen Knoten, Rest unmarkiert, In jedem Schritt: Markiere alle bislang unmarkierten Knoten, die einem neuen Knoten benachbart sind, als neu, Markiere alle vorher neuen Knoten als alt Graph zusammenhängend Am Ende sind alle Knoten markiert. graphen.pdf, Seite 26

27 Beispiel Breitensuche neu: Startknoten graphen.pdf, Seite 27

28 Beispiel Breitensuche neu: Nachbarn des Startknoten graphen.pdf, Seite 28

29 Beispiel Breitensuche neu: Nachbarn der Nachbarn graphen.pdf, Seite 29

30 Beispiel Breitensuche neu: Entfernung 3 graphen.pdf, Seite 30

31 Beispiel Breitensuche neu: Entfernung 4 graphen.pdf, Seite 31

32 Beispiel Breitensuche neu: Entfernung 5 graphen.pdf, Seite 32

33 Beispiel Breitensuche neu: Entfernung 6 graphen.pdf, Seite 33

34 Beispiel Breitensuche neu: Entfernung 7 graphen.pdf, Seite 34

35 Beispiel Breitensuche alle Knoten alt Graph zusammenhängend graphen.pdf, Seite 35

36 Zusammenhangskomponenten Jeder Graph G ist eine Vereinigung von zusammenhängenden Graphen, den Zusammenhangskomponeten von G. Beispiel: Zusammenhangskomponenten eines nicht zusammenhängenden Graphen Die Bestimmung der Zusammenhangskomponenten ist möglich mittels einer Union-Find-Datenstruktur oder durch Labeling (Markierung) der Knoten. graphen.pdf, Seite 36

37 EulerZüge Ein EulerZug ist ein Weg in einem zusammenhängenden Graphen, der jede Kante genau einmal durchläuft. Ist dabei der Startknoten gleich dem Endknoten, so spricht man von einem geschlossenen EulerZug, andernfalls von einem oenen EulerZug. Satz In einem ungerichteten zusammenhängenden Graphen existiert genau dann ein geschlossener EulerZug, wenn der Grad aller Knoten gerade ist. Es gibt genau dann einen nicht geschlossenen EulerZug, wenn zwei Knoten einen ungeraden Grad haben und der Grad der übrigen Knoten gerade ist. graphen.pdf, Seite 37

38 Königsberger Brückenproblem Gibt es einen Weg, bei dem jede der 7 Brücken genau einmal überquert wird? graphen.pdf, Seite 38

39 Graph des Königsberger Brückenproblems Alle 4 Knoten haben ungeraden Gard Es gibt keinen EulerZug. graphen.pdf, Seite 39

40 Konstruktion von EulerZügen mit Algorithmus von Fleury (1) Start in Knoten mit ungeradem Grad (falls vorhanden) sonst Start in beliebigem Knoten (2) (a) Gehe entlang einer vom aktuellen Knoten a ausgehenden Kante ab ( ) und wähle b als neuen aktuellen Knoten, (b) Entferne diese Kante aus dem Graphen, (c) Entferne auch den Knoten a, falls dieser nun isoliert ist, ( ) Die Kante ist so zu wählen, dass der Graph nach Schritt (2) zusammenhängend bleibt. Ist dies nicht möglich, so existiert kein EulerZug. (3) Wiederhole Schritt (2) so oft wie möglich. graphen.pdf, Seite 40

41 Beispiel Algorithmus von Fleury Bemerkung: Im 5. Schritt (untere Reihe links) wäre es nicht zulässig gewesen, zum Knoten unten rechts zu gehen, da dann der Restgraph nicht mehr zusammenhängend wäre. graphen.pdf, Seite 41

42 Ein HamiltonKreis ist ein geschlossener Weg, den jeden Knoten genau einmal durchläuft. Es gibt weder allgemeine Kriterien für die Existenz noch allgemein gut funktionierende Algorithmen zur Konstruktion von HamiltonKreisen. Faustregel: Je mehr Kanten ein Graph hat, desto gröÿer ist die Chance, einen HamiltonKreis zu nden. graphen.pdf, Seite 42

43 Bäume Ein Baum ist ein zusammenhängender Graph, in dem es keinen Kreis gibt. Eigenschaften Ein Baum mit n Knoten hat genau n 1 Kanten, Jeder zusammenhängende Graph mit n Knoten und n 1 Kanten ist ein Baum, Zwischen je zwei Knoten gibt es genau einen Pfad, Entfernt man eine Kante, ist der Restgraph nicht mehr zusammenhängend, Fügt man eine Kante hinzu, entsteht ein Kreis, Ein Baum ist planar und unterteilt die Ebene nicht in Teilächen. graphen.pdf, Seite 43

44 Beispiele Anwendungen Struktur von Datenbanken (-> Suchbäume) Minimale aufspannende Bäume, Steinerbäume graphen.pdf, Seite 44

45 Bemerkung Wählt man in einem (ungerichteten) Baum einen (beliebigen) Knoten als Wurzel, so kann man jeder Kante auf eindeutige Weise ein Richtung zuordnen, die von der Wurzel weg führt. Dann gibt es zu jedem Knoten v einen gerichteten Weg von der Wurzel nach v. Die Relation R auf der Knotenmenge V (v 1, v 2 ) R Es gibt einen gerichteten Weg von v 1 nach v 2 deniert eine partielle Ordnung auf V. graphen.pdf, Seite 45

46 Gewichtete Graphen sind Graphen, bei denen jeder Kante eine (reelle) Zahl (Gewicht) zugeordnet ist. Formal: Ein gewichteter Graph G = (V, E, g) besteht aus der Knotenmenge V, der Kantenmenge E und einer Abbildung g : E R. Mögliche Interpretation der Gewichte Entfernung, Kapazität (z. B. bei Datenleitung), Übergangswahrscheinlichkeit. Darstellung im Computer In der Adjazenzmatrix kann für jede Kante statt 1 das Gewicht der Kante abgespeichert werden. graphen.pdf, Seite 46

47 Graphische Darstellung eines gewichteten Graphen Bei einer graphischen Darstellung werden die Gewichte in der Regel neben die Kanten geschrieben. graphen.pdf, Seite 47

48 Denition: Gerüst Sei G = (V, E) ein zusammenhängender ungerichteter Graph. Ein aufspannender Baum (oder ein Gerüst) ist ein Teilgraph G = (V, Ẽ) mit Ẽ E, der ein Baum ist. Beispiel Verschiedene Gerüste eines Graphen graphen.pdf, Seite 48

49 Minimale Gerüste Ist G ein gewichteter Graph, so ist G ein minimales Gerüst, wenn die Summe aller Gewichte aus Ẽ den kleinstmöglichen Wert unter allen aufspannenden Bäumen annimmt. Beispiel Minimales Gerüst graphen.pdf, Seite 49

50 Der Algorithmus von Kruskal zur Bestimmung eines minimalen Gerüstes durchläuft alle Kanten in aufsteigender Reihenfolge nach ihrem Gewicht und fügt dabei diejenigen Kanten dem minimalen Gerüst hinzu, durch die kein Kreis entsteht. Vorgehen: Gegeben sei ein ungerichteter gewichteter Graph G = (V, E) mit Gewichten g : E R. Orde die Kanten in aufsteigender Reihenfolge nach ihrem Gewicht, d. h. E = {e 1,..., e n }, so dass g(e i ) g(e i+1 ) für alle i. Starte mit dem Graph G 0 = (V, E 0 ) mit E 0 =, Setze E i = E i 1 {e i }, falls dadurch kein Kreis entsteht, sonst E i = E i 1. Dann ist G = (V, En ) minimales Gerüst. graphen.pdf, Seite 50

51 Beispiel Algorithmus von Kruskal G 0 = (V, ), erste betrachtete Kante e 1, wird hinzugefügt graphen.pdf, Seite 51

52 Beispiel Algorithmus von Kruskal G 1 = (V, E 1 ), nächste Kante e 2, wird hinzugefügt graphen.pdf, Seite 52

53 Beispiel Algorithmus von Kruskal G 2 = (V, E 2 ), nächste Kante e 3, wird hinzugefügt graphen.pdf, Seite 53

54 Beispiel Algorithmus von Kruskal G 3 = (V, E 3 ), nächste Kante e 4, wird hinzugefügt graphen.pdf, Seite 54

55 Beispiel Algorithmus von Kruskal G 4 = (V, E 4 ), nächste Kante e 5, wird hinzugefügt graphen.pdf, Seite 55

56 Beispiel Algorithmus von Kruskal G 5 = (V, E 5 ), nächste Kante e 6, wird hinzugefügt graphen.pdf, Seite 56

57 Beispiel Algorithmus von Kruskal G 6 = (V, E 6 ), nächste Kante e 7, wird nicht hinzugefügt, da sonst ein Kreis entsteht graphen.pdf, Seite 57

58 Beispiel Algorithmus von Kruskal G 7 = (V, E 7 ), nächste Kante e 8, wird hinzugefügt graphen.pdf, Seite 58

59 Beispiel Algorithmus von Kruskal G 8 = (V, E 8 ), nächste Kante e 9, wird hinzugefügt graphen.pdf, Seite 59

60 Beispiel Algorithmus von Kruskal G 9 = (V, E 9 ), nächste Kante e 10, wird hinzugefügt graphen.pdf, Seite 60

61 Beispiel Algorithmus von Kruskal G 10 = (V, E 10 ), nächste Kante e 11, wird nicht hinzugefügt, da sonst ein Kreis entsteht graphen.pdf, Seite 61

62 Beispiel Algorithmus von Kruskal G 11 = (V, E 11 ), nächste Kante e 12, wird hinzugefügt graphen.pdf, Seite 62

63 Beispiel Algorithmus von Kruskal G 12 = (V, E 12 ), nächste Kante e 13, wird nicht hinzugefügt, da sonst ein Kreis entsteht graphen.pdf, Seite 63

64 Beispiel Algorithmus von Kruskal G 13 = (V, E 13 ), nächste Kante e 14, wird nicht hinzugefügt, da sonst ein Kreis entsteht graphen.pdf, Seite 64

65 Beispiel Algorithmus von Kruskal G 14 = (V, E 14 ), nächste Kante e 15, wird nicht hinzugefügt, da sonst ein Kreis entsteht graphen.pdf, Seite 65

66 Beispiel Algorithmus von Kruskal G 15 = (V, E 15 ), nächste Kante e 16, wird hinzugefügt graphen.pdf, Seite 66

67 Beispiel Algorithmus von Kruskal G 16 = (V, E 16 ), nächste Kante e 17, wird nicht hinzugefügt, da sonst ein Kreis entsteht graphen.pdf, Seite 67

68 Beispiel Algorithmus von Kruskal: Ende G 19 = (V, E 19 ) Alle Kanten sind abgearbeitet und alle Knoten verbunden graphen.pdf, Seite 68

69 Kanten mit gleichem Gewicht Haben mehrere Kanten das gleiche Gewicht, so ist die Sortierung der Kanten nicht eindeutig. Kanten mit gleichem Gewicht können in beliebiger Reihenfolge abgearbeitet werden. Das Ergebnis des Algorithmus hängt dann im Allgemeinen von dieser Reihenfolge ab und ist somit nicht eindeutig. In jedem Fall liefert der Algorithmus von Kruskal aber ein minimales Gerüst. Ende des Algorithmus Der Algorithmus kann beendet werden, sobald n 1 Kanten ausgewählt sind, wobei n die Zahl der Knoten ist. Im Beispiel ist dies bei der Kantenmenge E 16 der Fall. Dann sind alle Knoten durch Wege verbunden. Bei der Abarbeitung der verbleibenden Kanten (im Beispiel alle Kanten mit Gewicht > 26) würden dem Spannbaum keine neuen Kanten mehr hinzugefügt werden. graphen.pdf, Seite 69

70 Bemerkungen Um feststellen zu können, wann durch hinzufügen einer neuen Kante ein geschlossener Weg entstehen würde, werden die Knoten in der Praxis markiert. Dabei bekommen alle Knoten, die zur selben Zusammenhangskomponente des schon bestimmten Teilgraphen gehören, die selbe Markierung. Dies kann z. B. mit einer UnionFindDatenstruktur geschehen. Der Algorithmus von Kruskal benötigt O(m log m) Operationen, wobei m = #E die Anzahl der Kanten ist. Dabei ist der gröÿte Aufwand durch das Sortieren der Kanten gegeben. Der Algorithmus von Kruskal ist ein sogenannter Greedy-Algorithmus. Einen alternativen Ansatz zur Bestimmung eines minimalen Spannbaums liefert der Algorithmus von Prim. graphen.pdf, Seite 70

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Minimal spannender Baum

Minimal spannender Baum Minimal spannender Baum 16 1 2 21 5 11 19 6 6 3 14 33 10 5 4 18 Die Kreise zeigen die vorgesehenen Standorte neu zu errichtender Filialen einer Bank. Entlang der bestehenden Straßen sollen Telefonleitungen

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen und Datenstrukturen (WS 2007/08) 63 Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders

Mehr

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

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten Graphentheorie Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten gerichteter Graph (DiGraph (directed graph) E: Teilmenge E

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Graphen und Bäume. A.1 Graphen

Graphen und Bäume. A.1 Graphen Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

f h c 7 a 1 b 1 g 2 2 d

f h c 7 a 1 b 1 g 2 2 d ) Man bestimme mit Hilfe des Dijkstra-Algorithmus einen kürzesten Weg von a nach h: c 7 a b f 5 h 3 4 5 i e 6 g 2 2 d Beim Dijkstra-Algorithmus wird in jedem Schritt von den noch unmarkierten Knoten jener

Mehr

6. Übung zur Linearen Optimierung SS08

6. Übung zur Linearen Optimierung SS08 6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl

Mehr

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

Mehr

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007 Graphentheorie Rainer Schrader Organisatorisches Zentrum für Angewandte Informatik Köln 23. Oktober 2007 1 / 79 2 / 79 Organisatorisches Organisatorisches Dozent: Prof. Dr. Rainer Schrader Weyertal 80

Mehr

2. Repräsentationen von Graphen in Computern

2. Repräsentationen von Graphen in Computern 2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete). Vollständiger Graph Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete). Mit K n wird der vollständige Graph mit n Knoten bezeichnet. Bemerkung

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

Graphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX

Graphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX Graphentheorie 1 Diskrete Strukturen Uta Priss ZeLL, Ostfalia Sommersemester 2016 Diskrete Strukturen Graphentheorie 1 Slide 1/19 Agenda Hausaufgaben Graph-Äquivalenz SetlX Diskrete Strukturen Graphentheorie

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Kodieren Von Graphen

Kodieren Von Graphen Kodieren Von Graphen Allgemeine Anwendungen: Routenplaner Netzpläne Elektrische Schaltungen Gebäudeerkennung aus Luftaufnahmen Definitionen:? Graph Ein Graph G besteht aus einem geordneten Paar G = (V,E)

Mehr

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965). 5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

Einführung in die Graphentheorie. Monika König

Einführung in die Graphentheorie. Monika König Einführung in die Graphentheorie Monika König 8. 11. 2011 1 Vorwort Diese Seminararbeit basiert auf den Unterkapiteln 1.1-1.3 des Buches Algebraic Graph Theory von Chris Godsil und Gordon Royle (siehe

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing Algorithmen. Begriffe, Definitionen Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

Graphen. Leonhard Euler ( )

Graphen. Leonhard Euler ( ) Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),

Mehr

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung Teilnehmer/innen: Markus Dahinten, Graf Münster Gymnasium Bayreuth Robert Fay, Herder Gymnasium Berlin Falko

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

9. Übung Algorithmen I

9. Übung Algorithmen I Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der

Mehr

Übungsblatt 2 - Lösung

Übungsblatt 2 - Lösung Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer

Mehr

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld Westfählische Wilhelms-Universität Eulersche Graphen Autor: 21. Mai 2015 Inhaltsverzeichnis 1 Das Königsberger Brückenproblem 1 2 Eulertouren und Eulersche Graphen 2 3 Auffinden eines eulerschen Zyklus

Mehr

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

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen . Graphen viele praktische (Optimierungs-)Probleme sind als graphentheoretische Probleme formulierbar z.b. in Produktionsplanung, Personaleinsatzplanung,.... Grundlagen gerichteter, ungerichteter und gewichteter

Mehr

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Verteilen von Bällen auf Urnen

Verteilen von Bällen auf Urnen Verteilen von Bällen auf Urnen Szenario: Wir verteilen n Bälle auf m Urnen, d.h. f : B U mit B = {b 1,..., b n } und U = {u 1,..., u m }. Dabei unterscheiden wir alle Kombinationen der folgenden Fälle

Mehr

15 G R A P H E N gerichtete graphen

15 G R A P H E N gerichtete graphen 15 G R A P H E N In den bisherigen Einheiten kamen schon an mehreren Stellen Diagramme und Bilder vor, in denen irgendwelche Gebilde durch Linien oder Pfeile miteinander verbunden waren. Man erinnere sich

Mehr

Datenstrukturen. einfach verkettete Liste

Datenstrukturen. einfach verkettete Liste einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten

Mehr

Lernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen

Lernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen Folie 1 von 20 Lernmodul 2 Graphen Folie 2 von 20 Graphen Übersicht Motivation Ungerichteter Graph Gerichteter Graph Inzidenz, Adjazenz, Grad Pfad, Zyklus Zusammenhang, Trennende Kante, Trennender Knoten

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Graphen. Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60)

Graphen. Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60) Graphen Formale Methoden der Informatik WiSe 2010/2011 teil 2, folie 1 (von 60) Teil II: Graphen 1. Einführung 2. Wege und Kreise in Graphen, Bäume 3. Planare Graphen / Traveling Salesman Problem 4. Transportnetzwerke

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Graphentheorie Mathe-Club Klasse 5/6

Graphentheorie Mathe-Club Klasse 5/6 Graphentheorie Mathe-Club Klasse 5/6 Thomas Krakow Rostock, den 26. April 2006 Inhaltsverzeichnis 1 Einleitung 3 2 Grundbegriffe und einfache Sätze über Graphen 5 2.1 Der Knotengrad.................................

Mehr

Vorlesungen vom 5.Januar 2005

Vorlesungen vom 5.Januar 2005 Vorlesungen vom 5.Januar 2005 5 Planare Graphen 5.1 Beispiel: Gas, Wasser, Elektrik Drei eingeschworene Feinde, die im Wald leben, planen Trassen zu den Versorgungswerken für die drei Grundgüter Gas, Wasser

Mehr

11. Übungsblatt zu Algorithmen I im SS 2010

11. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 11. Übungsblatt zu Algorithmen I im SS 2010 http://algo2.iti.kit.edu/algorithmeni.php

Mehr

5. Graphen und Algorithmen

5. Graphen und Algorithmen 36 5. Graphen und Algorithmen 5.1 Einführung Das klassische Problem der Graphentheorie ist Das Königsberger Brücken Problem Die Abbildung zeigt die Stadt Königsberg im 18. Jahrhundert. Die beiden Arme

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2 1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba

Mehr

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

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

MafI I: Logik & Diskrete Mathematik (F. Hoffmann) Lösungen zum 14. und letzten Aufgabenblatt zur Vorlesung MafI I: Logik & Diskrete Mathematik (F. Hoffmann) 1. Ungerichtete Graphen (a) Beschreiben Sie einen Algorithmus, der algorithmisch feststellt, ob

Mehr

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Minimal spannende Bäume

Minimal spannende Bäume Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie WS 2008/2009 Vorlesung: Dr. Felix Brandt, Dr. Jan Johannsen Übung: Markus Brill, Felix Fischer Institut für Informatik LMU München Organisatorisches Vorlesung Donnerstag,

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

2 Tiefen- und Breitensuche

2 Tiefen- und Breitensuche 2 Tiefen- und Breitensuche Übersicht 2.1 SpannendeBäume... 21 2.2 WiefindetmanspannendeBäume?... 24 2.3 AnwendungenvonBFSundDFS... 29 2.4 Aufgaben... 33 2.1 Spannende Bäume Vor nicht allzu langer Zeit

Mehr

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten Gliederung Zusammenhang von Graphen Stark Zusammenhängend K-fach Zusammenhängend Brücken Definition Algorithmus zum Finden von Brücken Anwendung Zusammenhangskomponente Definition Wichtige Aussagen und

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

4. Kreis- und Wegeprobleme Abstände in Graphen 4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls

Mehr

Institut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien.

Institut für Mathematik Geometrie und Lineare Algebra J. Schönenberger-Deuel. Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien. Lösungen Übung 13 Aufgabe 1. Wir geben nur zwei von sehr vielen möglichen Strategien. a) Strategie 1 (nächster Nachbar): Jedes Mal reist der Reisende vom Punkt, wo er gerade ist, zur nächstgelegenen Stadt,

Mehr

Einführung in die Graphentheorie. Modellierung mit Graphen. Aufgabe

Einführung in die Graphentheorie. Modellierung mit Graphen. Aufgabe Einführung in die Graphentheorie Modellierung mit Graphen Aufgabe Motivation Ungerichtete Graphen Gerichtete Graphen Credits: D. Jungnickel: Graphen, Netzwerke und Algorithmen, BI 99 G. Goos: Vorlesungen

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben

Mehr

Graphenalgorithmen I

Graphenalgorithmen I enalgorithmen I Tobias Pröger 21. Dezember 2016 Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch auf Vollständigkeit und Korrektheit. Wir sind froh über

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

1. Übung Graphentheorie WS2016/17

1. Übung Graphentheorie WS2016/17 1. Übung Graphentheorie WS2016/17 1. Schreiben Sie für jede Ecke der folgenden 7 Graphen den Grad auf! Welche der Graphen sind regulär? G 1 G 2 G 5 G 3 2. Bestimmen Sie alle paarweise nicht-isomorphen

Mehr

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal 3. Kreis- und Wegeprobleme Kapitelübersicht 3. Kreis- und Wegeprobleme Eulerweg, Eulerkreis Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Definition

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

4.7 Der Algorithmus von Dinic für maximalen Fluss

4.7 Der Algorithmus von Dinic für maximalen Fluss 4.7 Der Algorithmus von Dinic für maximalen Fluss Wir kennen bereits den Algorithmus von Ford Fulkerson zur Suche nach einem maximalen Fluss in einem Graphen. Wir lernen nun einen Algorithmus für maximalen

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.

Mehr

Flüsse in Netzwerken

Flüsse in Netzwerken Skript zum Seminar Flüsse in Netzwerken WS 2008/09 David Meier Inhaltsverzeichnis 1 Einführende Definitionen und Beispiele 3 2 Schnitte in Flussnetzwerken 12 2.1 Maximaler s t Fluss..........................

Mehr

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

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale

Mehr

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische

Mehr

Studientag zur Algorithmischen Mathematik

Studientag zur Algorithmischen Mathematik Studientag zur Algorithmischen Mathematik Eulertouren, 2-Zusammenhang, Bäume und Baumisomorphismen Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 22. Mai 2011 Outline

Mehr

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

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman

Mehr

8. Übung zu Algorithmen I 15. Juni 2016

8. Übung zu Algorithmen I 15. Juni 2016 8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative

Mehr

C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume

C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume Fachbereich IV, Informatik Softwarepraktikum C++, LEDA und STL Visualisierung minimal/maximal aufspannender Bäume Wintersemester 2004/2005 Dokumentation Algorithmen zur Lösung von MST - Problemen Nicolas

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 3: Minimal aufspannende Bäume und Matroide Minimal aufspannende

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

Einführung in die Graphentheorie. Modellierung mit Graphen. Aufgabe

Einführung in die Graphentheorie. Modellierung mit Graphen. Aufgabe Einführung in die Graphentheorie Modellierung mit Graphen Aufgabe Motivation Ungerichtete Graphen Gerichtete Graphen Credits: D. Jungnickel: Graphen, Netzwerke und Algorithmen, BI 99 G. Goos: Vorlesungen

Mehr

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

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

Expander Graphen und Ihre Anwendungen

Expander Graphen und Ihre Anwendungen Expander Graphen und Ihre Anwendungen Alireza Sarveniazi Mathematisches Institut Universität Göttingen 21.04.2006 Alireza Sarveniazi (Universität Göttingen) Expander Graphen und Ihre Anwendungen 21.04.2006

Mehr