8 Diskrete Optimierung

Ähnliche Dokumente
Folien aus der Vorlesung Optimierung I SS2013

Algorithmen und Datenstrukturen 2

Das Briefträgerproblem

Anmerkungen zur Übergangsprüfung

WS 2009/10. Diskrete Strukturen

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

Algorithmen II Vorlesung am

Konzepte der Informatik

1 topologisches Sortieren

Algorithmentheorie Maximale Flüsse

Algorithmen und Datenstrukturen (WS 2007/08) 63

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

Kombinatorische Optimierung

Kombinatorische Optimierung

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

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Algorithmen und Datenstrukturen

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

Algorithmen und Datenstrukturen 2

Datenstrukturen & Algorithmen

Algorithmische Mathematik

Kapitel MK:IV. IV. Modellieren mit Constraints

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

Lösungen zu Kapitel 7

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Frohe Weihnachten und ein gutes neues Jahr!

Nachbarschaft, Grad, regulär, Inzidenz

Einführung in die Algebra

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

4 Greedy-Algorithmen (gierige Algorithmen)

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Expander Graphen und Ihre Anwendungen

Informatik I WS 07/08 Tutorium 24

Lineare Gleichungssysteme

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Graphen: Datenstrukturen und Algorithmen

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Information Systems Engineering Seminar

Mathematischer Vorbereitungskurs für Ökonomen

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

13. Binäre Suchbäume

Grundlagen der Programmierung 2. Bäume

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Quadratische Gleichungen

Definition 3.1: Ein Differentialgleichungssystem 1. Ordnung

Minimale Darstellungen, Kommutator- und Fixräume, projektive Geometrie

Suchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6

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

Primzahlen und RSA-Verschlüsselung

Verkehrsstauspiel: Wieviel Prozent der Autos fahren über blau/grün? Jörg Rambau

ADS: Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen Suchbaum

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

( ) als den Punkt mit der gleichen x-koordinate wie A und der

16. All Pairs Shortest Path (ASPS)

WS 2013/14. Diskrete Strukturen

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Guten Morgen und Willkommen zur Saalübung!

7 Rechnen mit Polynomen

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

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

Korrelation (II) Korrelation und Kausalität

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Bitte wenden. Name: KURSARBEIT NR. 4 (10 DIFF GA) Seite 1

Künstliche Intelligenz Maschinelles Lernen

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Breiten- und Tiefensuche in Graphen

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Graphentheorie Mathe-Club Klasse 5/6

Was ist Logische Programmierung?

15 Optimales Kodieren

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.

Lineare Algebra und Lösung linearer zeitinvarianter Differentialgleichungssysteme

Algorithmische Methoden der Netzwerkanalyse

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

2.11 Kontextfreie Grammatiken und Parsebäume

1. Einige Begriffe aus der Graphentheorie

Gleichungen und Ungleichungen

Statuten in leichter Sprache

Bestimmung einer ersten

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Kap. 8: Speziell gewählte Kurven

Beispiele für Relationen

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Eigenwerte und Eigenvektoren von Matrizen

Grundlagen der Theoretischen Informatik, SoSe 2008

Melanie Kaspar, Prof. Dr. B. Grabowski 1

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

5 Graphen. Repräsentationen endlicher Graphen. 5.1 Gerichtete Graphen. 5.2 Ungerichtete Graphen. Ordnung von Graphen

Grundlagen der Videotechnik. Redundanz

Transkript:

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 G ist V (G) und die Größe m(g) von G ist E(G). Gilt {u, v} E(G) für u, v V (G), so nennt man u und v adjazent/benachbart. Gilt u e für u V (G) und e E(G), so nennt man u und e inzident. Für u V (G) ist N G (u) = {v V (G) {u, v} E(G)} die Nachbarschaft von u in G und d G (u) = N G (u) der Grad von u in G. Der Minimalgrad von G ist δ(g) = min{d G (u) u V (G)} und der Maximalgrad von G ist (G) = max{d G (u) u V (G)}. Sind G und H Graphen mit V (H) V (G) und E(H) E(G), so ist H Teilgraph von G. Gilt weiter E(H) = {e E(G) e V (H)}, so ist H ein induzierter Teilgraph von G, genauer nennt man H den von V (H) in G induzierten Teilgraphen G[V (H)]. Zwei Graphen G und H sind isomorph, falls eine Bijektion f : V (G) V (H) existiert, die die Adjazenz respektiert, d.h. u V (G) : v V (G) \ {u} : {u, v} E(G) {f(u), f(v)} E(H). Bemerkung 8.2. Die hier definierten Graphen sind lich, schlicht und ungerichtet. Für {u, v} E(G) schreiben wir kurz uv. Lemma 8.3 (Handschlaglemma). Für jeden Graphen G gilt d G (u) = 2 E(G), u V (G) d.h. insb. die Anzahl der Ecken ungeraden Grades ist gerade. Lemma 8.4. Ist G ein Graph mit m(g) > 0, so existiert ein Teilgraph H von G mit δ(h) > m(g) n(g). Beweis: Wir betrachten folgen Algorithmus. Input: Ein Graph G mit m(g) > 0. Output: Ein Teilgraph H von G. begin H G; while δ(h) m(g) do n(g) Sei u V (H) mit d H (u) m(g) ; n(g) H H u; return H; Algorithm 1: Finde H in G.

Definition 8.5. Sei G ein Graph. (i) Ein Weg in G zwischen u 0 und u l der Länge l N 0 ist ein Teilgraph P von G mit Schreibweise: P : u 0 u 1... u l. V (P ) = {u 0,..., u l } und E(P ) = {u i 1 u i 1 i l}. (ii) G ist zusammenhäng, falls zwischen je zwei Knoten von G ein Weg in G existiert. Eine Komponente von G ist ein maximaler zusammenhänger Teilgraph von G. (iii) Für u, v V (G) ist der Abstand dist G (u, v) in G zwischen u und v gleich der minimalen Länge eines Weges in G zwischen u und v. Der maximale Abstand zweier Knoten in G ist der Durchmesser diam(g) von G. (iv) Ein Kreis in G der Länge l N mit l 3 ist ein Teilgraph C von G mit V (C) = {u 1,..., u l } und E(C) = {u i 1 u i 2 i l} {u 1 u l }. Schreibweise: C : u 1 u 2... u l u 1. (v) Die minimale/maximale Länge eines Kreises in G ist die Taillenweite/der Umfang g(g)/c(g) von G. Lemma 8.6. Sei G ein Graph. (i) Besitzt G einen Weg P zwischen u und v sowie einen Weg Q zwischen v und w, so besitzt G einen Weg R zwischen u und v der Länge höchstens m(p ) + m(q), d.h. d G (u, w) d G (u, v) + d G (v, w). (ii) G besitzt genau dann einen Kreis der Länge höchstens l + k, wenn zwei Knoten u und v existieren, für die G zwei verschiedene Wege P und Q der Längen höchstens l und k zwischen u und v besitzt. (iii) Enthält G einen Kreis, so gilt g(g) 2diam(G) + 1. Bemerkung 8.7. Die Komponenten von G sind die Äquivalenzklassen der Relation V (G) 2 mit u v Weg in G zwischen u und v. Lemma 8.8. Jeder Graph G mit δ(g) 2 enthält einen Kreis der Länge δ(g) + 1. Definition 8.9. Ein Graph ohne Kreise ist ein Wald. Ein Baum ist ein zusammenhänger Wald. Ein Knoten vom Grad höchstens 1 nennt man Endknoten/Blatt. Eine Kante e eines Graphen G ist eine Brücke von G, falls G e = (V (G), E(G) \ {e}) mehr Komponenten besitzt als G.

Lemma 8.10. Ein Graph G ist genau dann ein Wald, wenn alle Kanten von G Brücken sind. Lemma 8.11. Jeder Wald G hat genau n(g) m(g) Komponenten und mindestens (G) Endknoten. Beweis: Induktion über die Kantenzahl. Satz 8.12. Ist G ein Graph, so sind folge Aussagen äquivalent. (a) G ist ein Baum. (b) Zwischen je zwei Knoten von G existiert genau ein Weg. (c) G ist ein minimal zusammenhänger Graph. (d) G hat n(g) 1 Kanten und keine Kreise. Definition 8.13. Ein Digraph D ist ein Paar (V (D), A(D)) besteh aus einer lichen Menge V (D) von Knoten und einer Menge von gerichteten Kanten (oder Bögen). A(G) V D V D \ {(u, u) u V D } n(d) = V (D) (Ordnung von D) m(d) = A(D) (Größe von D) N + D (u) = {v V (D) (u, v) A(D)} (Außennachbarschaft von u in D) d + D (u) = N + D (u) (Außengrad von u in D) N D (u) = {v V (D) (v, u) A(D)} (Innennachbarschaft von u in D) d D (u) = N D (u) (Innengrad von u in D) + (D) = max{d + D (u) u V (D)} (maximaler Außengrad von D) (D) (analog) δ + (D) (analog) δ (D) (analog) Ein Digraph D ist ein Teildigraph des Digraphen D, falls V (D ) V (D) und A(D ) A(D). Für U V (D) ist D[U] mit V (D[U]) = U und der in D von U induzierte Teildigraph. A(D[U]) = {(u, v) A(D) u, v U} Definition 8.14. (i) Ein gerichteter Weg in D von u 0 nach u l der Länge l N 0 ist ein Teildigraph P von D mit V (P ) = {u 0,..., u l } und A(P ) = {(u i 1, u i ) 1 i l}. Schreibweise: P : u 0 u 1... u l. Ein ungerichteter Weg in D von u 0 nach u l der Länge l N 0 ist ein Teildigraph P von D mit l + 1 verschiedenen Knoten u 0,..., u l und l verschiedenen gerichtete Kanten e 0,..., e l 1 mit e i {(v i, v i+1 ), (v i+1, v i )} für 0 i l 1.

(ii) D ist stark zusammenhäng, falls für alle (u, v) V (D) 2 ein gerichteter Weg in D von u nach v existiert. Die maximalen stark zusammenhängen Teildigraphen von D sind die starken Zusammenhangskomponenten von D. (iii) Ist D ein Digraph, so ist der D unterliege (ungerichtete) Graph der Graph G mit V (G) = V (D) und { ( ) } V (G) E(G) = uv (u, v) A(D) oder (v, u) A(D). 2 D ist schwach zusammenhäng, falls G zusammenhäng ist. Die maximalen schwach zusammenhängen Teildigraphen von D sind die schwachen Zusammenhangskomponenten von D. (iv) Ein gerichteter Kreis in D der Länge l N mit l 2 ist ein Teildigraph C von D mit V (C) = {u 1,..., u l } und E(C) = {(u i 1, u i ) 2 i l} {(u l, u 1 )}. Schreibweise: C : u 1 u 2... u l u 1. Ein ungerichteter Kreis in D der Länge l N mit l 2 ist ein Teildigraph C von D mit l verschiedenen Knoten u 1,..., u l und l verschiedenen gerichtete Kanten e 1,..., e l mit e i {(v i, v i+1 ), (v i+1, v i )} für 1 i l 1 und e l {(v l, v 1 ), (v 1, v l )}. Satz 8.15. (Minty 1960) Sei D ein Digraph und sei e A(D). Ist e schwarz gefärbt und sind alle anderen gerichteten Kanten von D rot, schwarz oder grün gefärbt, so gilt genau eine der folgen zwei Aussagen: (i) Es existiert ein ungerichteter Kreis in D, der e enthält, in dem alle gerichteten Kanten rot oder schwarz sind und in dem alle schwarzen gerichteten Kanten die gleiche Orientierung haben. (ii) Es existiert ein ungerichteter Schnitt {(u, v) A(D) {u, v} U = 1} mit U V (D), der e enthält, in dem alle gerichtete Kanten grün oder schwarz sind und in dem alle schwarzen gerichteten Kanten die gleiche Orientierung haben. Beweis: Der folge Algorithmus sucht zunächst nach einem Kreis wie in (i). Wird dieser nicht gefunden, so ergibt sich ein Schnitt wie in (ii).

Input: Ein Digraph D, eine gerichtete Kante (x, y) von D und eine Färbung f : A(D) {s, r, g} mit f((x, y)) = s. Output: Entweder ein gerichteter Kreis C wie in (i) oder eine Menge U wie in (ii). begin m(y) 1; for u V (D) \ {y} do m(u) 0; p(u) ; while v, w V (D) mit m(v) = 1, m(w) = 0 und entweder (v, w) f 1 (s) f 1 (r) oder (w, v) f 1 (r) do m(w) 1; p(w) v; if m(x) = 1 then Sei l minimal mit p l (x) = y; 1 return C : p l (x)... p 2 (x)p(x)xp l (x); else 2 return U = m 1 (1); Algorithm 2: Algorithmus zu Minty s Satz Definition 8.16. Sei D ein Digraph. Eine topologische Ordnung von D ist eine Abbildung f : V (D) [n(d)] mit (u, v) A(D) : f(u) < f(v). D heißt azyklisch, falls D keine gerichteten Kreise besitzt. Satz 8.17. Ein Digraph D hat genau dann eine topologische Ordnung, wenn er azyklisch ist. Bemerkung 8.18. Datenstrukturen für Graphen G : Adjazenzmatrix (O(n 2 ), dichte/dünne Graphen) Inzidenzmatrix ({0, 1} V (G) E(G) ) Kantenliste (O(m log n)) Adjazenzliste (O(m log n + n log m), Kanten plus Pointer auf die Anfänge der einzelnen Listen) Analog für Digraphen, z.b. Inzidenzmatrix (a u,(u,v) = 1 und a v,(u,v) = 1). Laufzeit Anzahl der elementaren Operationen. Definition 8.19. Eine Arboreszenz mit Wurzel r ist ein Digraph D mit r V (D), der aus einem (ungerichteten) Baum entsteht, indem man die Kanten so orientiert, dass für jeden Knoten u in D ein gerichteter Weg von r nach u existiert. Ein Branching ist ein Digraph, dessen schwache Zusammenhangskomponenten Arboreszenzen sind.

Algorithmus 8.20. Graph Scanning Algorithmus Input: Ein Graph G/ Digraph D und ein Knoten r von G/D. Output: Die Menge R der Knoten, die in G/D von r aus auf Wegen/gerichteten Wegen erreichbar sind und eine Menge T E(G)/A(D), für die (R, T ) Baum/Arboreszenz mit Wurzel r ist. begin R {r}; Q {r}; T ; l(r) 0; while Q do 1 Wähle v Q; 2 if w V \ R mit e = vw E(G) / e = (v, w) A(D) then Wähle solch ein w; R R {w}; Q Q {w}; T T {e}; l(w) l(v) + 1; else Q Q \ {v}; return (R, T ); Lemma 8.21. Der Graph Scanning Algorithmus arbeitet korrekt. Lemma 8.22. Der Graph Scanning Algorithmus kann so implementiert werden, dass er eine Laufzeit von O(n(G) + m(g)) besitzt. Man kann die Komponenten eines Graphen in linearer Zeit bestimmen. Bemerkung 8.23. Spezialfälle des Graph Scanning Algorithmus. Depth-First-Search (DFS): Wähle in der while-schleife (Zeile 1) als v Q jeweils die Knoten, die als letzte zu Q hinzugefügt wurde. (LIFO, Tremaux Tarry vor 1900, König 1936) Breadth-First-Search (BFS): Wähle in der while-schleife (Zeile 1) als v Q jeweils die Konten, die als erstes zu Q hinzugefügt wurde. (Moore 1959) Die entsprechen Ausgaben des Graph Scanning Algorithmus nennt man DFS- Bäume, DFS-Arboreszenzen, BFS-Bäume, BFS-Arboreszenzen. Lemma 8.24. BFS-Bäume enthalten kürzeste Wege von r zu allen von r aus erreichbaren Knoten, d.h. man kann die Abstände von einer Ecke r zu allen erreichbaren Knoten in linearer Zeit bestimmen.