Skript: Exakte Exponentialzeit-Algorithmen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Skript: Exakte Exponentialzeit-Algorithmen"

Transkript

1 Departement Informatik Algorithmik für schwere Probleme Prof. Dr. Juraj Hromkovič Dr. Hans-Joachim Böckenhauer Dr. Richard Královič Skript: Exakte Exponentialzeit-Algorithmen Zürich, 2. Mai 2017 Motivation. Wenn eine exakte Lösung benötigt wird und kein parametrisierter Algorithmus bekannt ist (oder der Parameter in der Eingabe gross ist), versuche einen Algorithmus zu finden, der zwar exponentielle Laufzeit hat, aber schneller ist als die vollständige Suche. Beispiel 1. Ein Algorithmus mit Laufzeit 2 n n kann doppelt so grosse Eingaben bewältigen wie ein Algorithmus mit Laufzeit 2 n. Ziel. Einige Entwurfsmethoden für schnelle Exponentialzeit-Algorithmen kennenlernen. Definition 1 (O -Notation). Seien f, g : N R +. Dann gilt f(n) O ( g(n) ), falls ein Polynom p: N R + existiert, so dass f(n) O ( g(n) p(n) ) ist. Anschaulich: Ignoriere polynomielle Faktoren in der asymptotischen Abschätzung. Dies ist bei exponentiellen Funktionen sinnvoll, weil α n p(n) O ( (α + ε) n) für jedes α 1 und jedes ε > 0 gilt. Die Basis der Exponentialfunktion wird in unseren Abschätzungen ohnehin meist eine gerundete reelle Zahl sein. 1. Methode: Branching-Algorithmen Idee. Reduziere ein Problem der Grösse n auf mehrere kleinere Teilprobleme. Bemerkung. Dies ist auch eine generelle Entwurfsmethode für polynomielle Algorithmen. Mergesort reduziert zum Beispiel ein Problem der Grösse n auf zwei Teilprobleme der Grösse n 2. Hier ist eine typische Reduktion aber eher von n auf n d für eine kleine Konstante d. 1

2 Beispiel 2 (Branching-Algorithmus für Max-IS). Definition 2. Das Maximum-Independent-Set-Problem (Max-IS) ist das Optimierungsproblem, in einem gegebenen ungerichteten Graphen G = (V, E) eine unabhängige Menge X V maximaler Grösse zu finden (d. h. {u, v} / E für alle u, v X). Beobachtung. Trivialer Algorithmus, der in Zeit O (2 n ) läuft: Alle Teilmengen von V ausprobieren. Definition 3. Sei G = (V, E) ein Graph, v V. Die abgeschlossene Nachbarschaft von v in G ist definiert als N[v] = { x V {x, v} E } {v}. Beobachtung. Sei G = (V, E) ein Graph, X ein (inklusions-)maximales IS in G (d. h. ein IS in G, zu dem kein Knoten mehr hinzugefügt werden kann). Dann gibt es für jeden Knoten v V in N[v] einen Knoten y, so dass X N[y] = {y}. Beweis. Wir machen eine einfache Fallunterscheidung. Falls v X ist, dann kann keiner der Nachbarn y von v in X sein nach der Definition des IS. Damit folgt die Behauptung für y = v. Falls v / X ist, dann muss ein Nachbar y von v in X sein, sonst wäre X nicht maximal (X {v} wäre dann auch im IS). Nach Definition des IS ist dann keiner der Nachbarn von y in X. = Diese Beobachtung liefert uns einen rekursiven Algorithmus, um die Kardinalität des maximalen IS zu berechnen: Algorithmus Branch-IS(G) Eingabe: Ungerichteter Graph G = (V, E). if V =, then return 0. Wähle einen Knoten v mit minimalem Grad in G. return 1 + max { Branch-IS(G N[y]) y N[v] }. Theorem 1. Der Algorithmus Branch-IS löst das Max-IS auf Graphen mit n Knoten in Zeit O ( 3 n 3 ) O ( n ). Beweis. Wir beweisen die Korrektheit und Laufzeitschranke einzeln. 1. Korrektheit: Folgt sofort aus der Beobachtung oben, da ein maximales IS maximaler Grösse ein Maximum-IS ist. 2

3 2. Laufzeit: Sei G der Graph (in irgendeinem der Teilprobleme), v der ausgewählte Knoten mit minimalem Grad. Seien v 1,..., v k die Nachbarn von v in G mit k = deg(v). Sei V (G) = n. Das Auswählen eines Knotens v mit minimalem Grad ist offensichtlich in polynomieller Zeit durchführbar. Durch das rekursive Aufrufen von Branch-IS entsteht ein Verzweigungsbaum T, dessen Grösse (Anzahl der Knoten) wir mit T (n) bezeichnen. = Die Gesamtlaufzeit ist in O(n 2 ) T (n). Nun schätzen wir T (n) ab durch T (n) 1 + T (n deg(v) 1) + deg(v) i=1 1 + (deg(v) + 1) T (n deg(v) 1). T (n deg(v i ) 1) Die zweite Ungleichung gilt, weil deg(v) deg(v i ) und offenbar T (l) T (l + 1) ist. Weiter gilt T (0) = 1. Dies gibt uns aber noch nicht unmittelbar eine Rekurrenzgleichung für die Gesamtlaufzeit des Algorithmus, weil der Knotengrad des ausgewählten Knotens in jedem rekursiven Aufruf des Algorithmus unterschiedlich sein kann. Deshalb schätzen wir zunächst deg(v) ab durch den schlechtestmöglichen Knotengrad, der auftreten kann: Sei D N die Menge aller minimalen Knotengrade, die in irgendeiner der Teilinstanzen vorkommen. Sei s mit s 1 D derjenige Wert für t, der die Funktion t T (n t) + 1 maximiert. Damit ergibt sich dann die Rekurrenzgleichung T (n) 1 + s T (n s ). Weil die Funktion T aber auch von der Knotenanzahl n des Graphen abhängt, und diese Knotenanzahl auch in jedem rekursiven Aufruf kleiner wird, müssen wir zusätzlich noch zeigen, dass der schlechtestmögliche Wert s nicht von n abhängt. Dafür zeigen wir folgende Aussage. Sei s mit s 1 D derjenige Wert für t, der die Funktion t T (n t) + 1 maximiert. Dann maximiert s auch die Funktion ts T (n s t) + s + 1 (die sich durch einmaliges rekursives Einsetzen von T in sich selbst ergibt). Um diese Hilfsaussage zu zeigen, nehmen wir an, dass T (n) = a n für ein a mit 1 a 2. Damit gilt dann ts T (n s t) + s + 1 (s ) 2 T (n 2s ) + s + 1 ts T (n s t) (s ) 2 T (n 2s ) ts a n s t (s ) 2 a n 2s ta n t s a n s tt (n t) s T (n s ) tt (n t) + 1 s T (n s ) + 1 3

4 Damit können wir in der Rekurrenz also überall die auftretenden Knotengrade abschätzen durch denselben schlechtestmöglichen Wert und erhalten die Rekurrenz T (n) 1 + s T (n s) 1 + s (1 + s T (n 2s)) = 1 + s + s 2 T (n 2s) 1 + s + s 2 (1 + s T (n 3s)) = 1 + s + s 2 + s 3 T (n 3s) s + s s n s = 1 s n s +1 1 s O (s n s ) Die Funktion f(s) = s 1 s erreicht bei s > 0 ihr Maximum für s = e und für ganzzahlige Werte bei s = 3. = T (n) O (3 n 3 ) O ( n ). = Die Gesamtlaufzeit ist in O ( n ). Beispiel 3 (Branching-Algorithmus für 3Sat). Definition 4. Sei Φ eine Formel in 3-KNF über der Variablenmenge X. Seien x X und α {0, 1}. Φ[x = α] ist die Formel in 3-KNF, die aus Φ entsteht, wenn man den Wert x = α in Φ einsetzt und die Formel vereinfacht. Beobachtung. Φ[x = α] lässt sich aus Φ in linearer Zeit berechnen: Falls α = 1 ist, streiche alle Klauseln aus Φ, die x enthalten und streiche alle Vorkommen von x (hierdurch können leere Klauseln entstehen). Falls α = 0, verfahre umgekehrt. Beobachtung. Φ[x = α] ist genau dann erfüllbar, wenn es eine Belegung β für X gibt, die Φ erfüllt und die partielle Belegung α erweitert (d. h. β(x) = α). Trivialer Branching-Algorithmus für 3Sat. Führe die Berechnung für die Eingabe Φ zurück auf Φ[x = 0] und Φ[x = 1] für eine Variable x. = Laufzeit auf einer Formel mit n Variablen: T (n) = 2 T (n 1) + O(n) = T (n) = O (2 n ). Ziel. Verbesserung des Branchings. 4

5 Algorithmus Branch-3SAT(Φ) (Monien und Speckenmeyer) Eingabe: Formel Φ in 3-KNF über der Variablenmenge X = {x 1,..., x n }. Sei L := X {x x X} die Menge aller Literale in Φ. if Φ =, then return JA. Sei F eine Klausel in Φ minimaler Länge. if F =, then return NEIN. if F = (l) für ein l L, then Rufe Branch-3SAT(Φ[l = 1]) auf und übernimm das Ergebnis. if F = (x y) für x, y L, then Rufe Branch-3SAT(Φ[x = 1]) und Branch-3SAT(Φ[x = 0, y = 1]) auf und gib JA aus, falls einer der Aufrufe JA liefert, NEIN sonst. if F = (x y z) für x, y, z L, then Rufe Branch-3SAT(Φ[x = 1]), Branch-3SAT(Φ[x = 0, y = 1]) und Branch- 3SAT(Φ[x = 0, y = 0, z = 1]) auf und gib JA aus, falls einer der Aufrufe JA liefert, NEIN sonst. Theorem 2. Der Algorithmus Branch-3SAT löst 3Sat in Zeit O (1.84 n ). Beweis. Wir beweisen die Korrektheit und Laufzeitschranke wieder einzeln. 1. Korrektheit: Betrachte die Klausel F = (x y z) der Länge 3 mit x, y, z L. Um Φ zu erfüllen, muss auch F erfüllt werden, also muss mindestens eines der Literale x, y, z auf 1 gesetzt werden. Dies ist genau dann der Fall, wenn einer der drei Fälle x = 1, x = 0 und y = 1, x = y = 0 und z = 1 eintritt. Die Argumentation für kürzere Klauseln ist analog. 2. Laufzeit: Die Entscheidung für eine Formel mit n Variablen wird zurückgeführt auf (maximal) drei Teilprobleme mit n 1, n 2 und n 3 Variablen. Um die Laufzeit abzuschätzen, reicht es wieder aus, die Anzahl der Knoten im Verzweigungsbaum abzuschätzen, da für jeden Knoten nur polynomieller Aufwand nötig ist (hier: linearer Aufwand für die Berechnung von Φ[l = α] aus Φ). Die Anzahl der Knoten im Verzweigungsbaum (Anzahl der betrachteten Formeln) ist beschrieben durch T (n) = T (n 1) + T (n 2) + T (n 3), T (0) = 1. 5

6 Diese Rekurrenz lässt sich wie folgt lösen: Wir nehmen an, dass T (n) = a n gilt für 1 a 2. = T (n) ist die Lösung der Gleichung a n = a n 1 + a n 2 + a n 3. Das ist äquivalent zu: a 3 = a 2 + a + 1. Die einzige Lösung dieser kubischen Gleichung im Intervall [1, 2] ist a = = T (n) O (1.84 n ) = Die Gesamtlaufzeit ist in O (1.84 n ). 2. Methode: Dynamische Programmierung Beispiel 4 (TSP). O (2 n )-Algorithmus für TSP siehe Übung. Bemerkung. Dieser Algorithmus wurde vor ca. 50 Jahren entworfen und ist bis heute der beste bekannte exakte Algorithmus für TSP. Beispiel 5 (Graphfärbung). Definition 5. Sei G = (V, E) ein ungerichteter Graph, k N. Eine k-färbung von G ist eine Abbildung c: V {1,..., k}, so dass {x, y} E = c(x) c(y). Die chromatische Zahl χ(g) von G ist das kleinste k, so dass G eine k-färbung besitzt. Definition 6. Das Graphfärbungsproblem (Coloring) ist das folgende Berechnungsproblem: Gegeben ein Graph G, berechne χ(g). Theorem 3 (Hier ohne Beweis). Coloring ist NP-schwer. Trivialer Algorithmus für Coloring. Probiere jede Farbe für jeden Knoten aus. Da die chromatische Zahl allgemein nur durch n = V beschränkt werden kann, ergibt sich für einen Graphen mit n Knoten eine Laufzeit von O (n n ). Definition 7. Sei G = (V, E) ein ungerichteter Graph, sei c: V {1,..., k} eine k- Färbung von G. Wir nennen die Menge C i := {x V c(x) = i} die i-te Farbklasse von c. Beobachtung. Jede Farbklasse von c ist ein IS in G. Beobachtung. Sei G ein ungerichteter Graph, c eine k-färbung von G, C i eine Farbklasse von c. Falls C i kein (inklusions-)maximales IS ist, gibt es einen Knoten x V C i, der mit der Farbe i gefärbt werden kann, so dass das Resultat eine gültige k-färbung ist. 6

7 Algorithmus DP-COL Eingabe: Ungerichteter Graph G = (V, E). col( ) := 0 for i := 1 to V do for all X V mit X = i do col(x) := 1 + min{col(x I) I ist ein maximales IS in G[X]} (G[X] ist der von X induzierte Teilgraph von G.) Ausgabe: χ(g) := col(v ) Theorem 4. DP-COL löst Coloring auf Graphen mit n Knoten in Zeit O (2.45 n ). Beweis. Wir beweisen die Korrektheit und Laufzeitschranke wieder einzeln. 1. Korrektheit: Weil jede Farbklasse einer optimalen Färbung ein IS ist, kann man die optimale Färbungszahl finden durch Ausprobieren aller IS und Reduktion auf den Restgraphen. Wegen der Beobachtung oben reicht es aus, das Ausprobieren auf maximale IS zu beschränken. 2. Laufzeit: Der Algorithmus iteriert für alle Teilmengen X von V über alle maximalen IS von X. Die maximalen IS lassen sich für X = i in Zeit O (3 i 3 ) aufzählen (einfache Erweiterung des Max-IS-Algorithmus oben). ( n ( ) ) = Die Gesamtlaufzeit ist in O n 3 i 3 i Wegen n i=1 i=1 ( ) n 3 i 3 3 = (1 + 3) n < 2.45 n i (die erste Gleichung folgt aus dem binomischen Satz) folgt die Behauptung. Beispiel 6 (Anzahl perfekter Matchings bestimmen). Ziel. Schneller Exponentialzeit-Algorithmus, der in einem gegebenen Graphen zählt, wie viele perfekte Matchings existieren. Definition 8. Sei G = (V, E) ein ungerichteter Graph mit n = V gerade. Ein perfektes Matching in G ist eine Menge M E von n paarweise disjunkten Kanten. 2 Beobachtung. Nicht jeder Graph hat ein perfektes Matching (z. B. Stern). Beobachtung. Ein Graph kann mehrere perfekte Matchings besitzen (z. B. gerader Kreis). 7

8 Entscheidungsproblem. Existiert in G ein perfektes Matching? = In Polynomzeit lösbar, aber kompliziert. Zählproblem. Wie viele verschiedene perfekte Matchings hat G? = Schweres Problem. Ziel. Algorithmus, der dynamische Programmierung verwendet mit Laufzeit O (1.681 n ). Trivialer Algorithmus. Alle Kantenteilmengen der Grösse n 2 ausprobieren. Beobachtung. Führt in dichten Graphen mit O(n 2 ) Kanten zu einer Laufzeit von 2 O(n2). Definition 9. Sei G = (V, E) ein ungerichteter Graph. Sei für alle X V, X gerade, die Anzahl perfekter Matchings in G[X] definiert als pm(x). Offensichtlich gilt pm(x) = 0, falls E(G[X]) =, und pm(v ) ist der gesuchte Wert. Um pm(v ) zu bestimmen, zählen wir zunächst alle geordneten perfekten Matchings, also alle geordneten Folgen (e 1,..., e n/2 ) paarweise disjunkter Kanten. Sei opm(x) die Anzahl geordneter perfekter Matchings in G[X] für alle X V, X gerade. Der Wert opm(x) lässt sich mit dynamischer Programmierung berechnen als opm(x) = opm(x e). e E(G[X]) (Wie oben ist G[X] der von X induzierte Teilgraph von G und für e = {v, w} E ist X e := X {v, w}.) Offenbar gilt pm(v ) = opm(v )/( n 2!). Beobachtung. Es gibt ungefähr 2 n 1 Teilmengen gerader Mächtigkeit in G und die Berechnung eines der 2 n 1 Werte opm(x) umfasst eine Summe mit höchstens n 2 Summanden. = Die Gesamtlaufzeit der Berechnung von pm(v ) ist in O(n 2 2 n 1 ) O (2 n ). Ziel. Dynamische Programmierung verbessern. Nicht alle Werte opm(x) sind nötig. Definition 10. Sei G = (V, E) ein ungerichteter Graph mit V = {v 1,..., v n } und n = V gerade. Die Ordnung der Knoten aus V induziert eine eindeutige lexikographische Ordnung auf der Menge aller perfekten Matchings: Ordne Knoten einer Kante aufsteigend nach Index. Ordne Kanten des Matchings lexikographisch aufsteigend. Die resultierende Darstellung eines perfekten Matchings heisst lexikographisch geordnetes perfektes Matching. Beobachtung. Zu jedem perfekten Matching gibt es ein eindeutiges lexikographisch geordnetes perfektes Matching. Idee. Verbessere Laufzeit, indem nur lexikographisch geordnete perfekte Matchings gezählt werden. 8

9 Beobachtung. Sei G = (V, E) und sei (e 1,..., e n ) ein lexikographisch geordnetes perfektes Matching in G. Dann 2 gilt v 1 e 1, für alle j {2,..., n} enthält e 2 j e 1,..., e j 1 nicht vorkommt. den Knoten mit dem kleinsten Index, der in Idee. Definiere Klassen von relevanten Knotenmengen, die in der dynamischen Programmierung untersucht werden müssen: Für 1 j n 2 sei R 1 = {e E v 1 e}, R j = {Y e Y R j 1, e E, Y e =, min{v Y } e}, = R j enthält alle Knotenmengen, für die ein lexikographisch geordnetes perfektes Matching (e 1,..., e j ) existiert, sodass e j den Knoten mit dem kleinsten Index enthält, der in e 1,..., e j 1 nicht vorkommt. Ziel. Berechne die Anzahl lopm(x) = pm(x) lexikographisch geordneter perfekter Matchings für alle relevanten Knotenmengen X mit dynamischer Programmierung. Algorithmus DP-LOPM Eingabe: Ungerichteter Graph G = (V, E). R 1 = {e E v 1 e} for all X R 1, setze lopm(x) = 1 for j = 2 to n do 2 R j = {Y e Y R j 1, e E, Y e =, min{v Y } e}; for all X R j do lopm(x) := lopm(y ) Ausgabe: lopm(v ). X=Y e Y e= Y R j 1 min{v Y } e Anschaulich: Die Anzahl lexikographisch geordneter perfekter Matchings für X R j lässt sich zurückführen auf die entsprechenden Anzahlen für alle Mengen Y R j 1, die sich so durch Hinzunahme einer Kante e zu X erweitern lassen, dass e den nächstgrösseren Knoten (gemäss der Ordnung v 1,..., v n ) enthält. Um die Korrektheit von DP-LOPM abzuschätzen, benötigen wir das folgende Lemma. 9

10 Lemma 1. Sei F k die k-te Fibonacci-Zahl (F 1 = F 2 = 1, F i = F i 1 + F i 2 ). Dann gilt F n+1 = n 2 k=1 ( ) n k k für alle geraden n 2. Beweis. Wir bestimmen die Anzahl a n aller Wörter über {0, 1} der Länge n 1, die keine zwei aufeinanderfolgenden Nullen enthalten. Es gilt a 1 = 2 (Wörter 0 und 1), a 2 = 3 (Wörter 01, 10 und 11) und a n = a n 1 + a n 2 (alle Wörter, die mit 1 beginnen, danach alle zulässigen Wörter der Länge n 1, und alle Wörter, die mit 01 beginnen, danach alle zulässigen Wörter der Länge n 2). = a n = F n+2. Nun bestimmen wir a n auf eine alternative Weise, um damit eine Darstellung für F n+2 zu gewinnen. Wenn ein solches Wort der Länge n genau k Nullen enthält, gibt es n k Einsen und n k + 1 Stellen, an denen jeweils höchstens eine Null eingefügt werden kann. Dies sind ( ) n k + 1 k Möglichkeiten, also insgesamt ( ) n n k + 1 k=0 und somit ist und F n+2 = F n+1 = k ( ) n n k + 1 k=0 n 1 k=0 k ( ) n k. k Weil bei mehr als n Nullen zwei davon aufeinander folgen müssen, sind alle entsprechenden 2 Summanden 0, also gilt F n+1 = n 2 k=0 ( ) n k. k Theorem 5. Der Algorithmus DP-LOPM berechnet die Anzahl aller lexikographisch geordneten perfekten Matchings in Zeit O ( n ). 10

11 Beweis. Wir beweisen die Korrektheit und Laufzeitschranke wieder einzeln. 1. Korrektheit: Weil die Ordnung eines Matchings eindeutig ist, gilt pm(v ) = lopm(v ). 2. Laufzeit: In der j-ten Iteration sind R j Mengen X zu betrachten und für jede solche Menge müssen höchstens E Kanten e getestet werden. n ) 2 = Die Gesamtlaufzeit ist in O ( E R j. j=1 Nun schätzen wir noch R j ab. Jede Knotenmenge X enthält die Knoten v 1,..., v j und j weitere Knoten aus {v j+1,..., v n }. ( ) n j = R j. j Mit Lemma 1 gilt n n ( ) n ( ) 2 2 n j 2 n j R j = F n+1. j=1 j=1 j j=0 j Ferner ist E O(n 2 ). = Die Gesamtlaufzeit ist in O (F n+1 ). Nach der Formel von Moivre ist F n+1 = ϕ n+1 5 O(ϕ n ), wobei ϕ = das Verhältnis des goldenen Schnittes ist. 3. Methode: Inklusion-Exklusion-Prinzip Idee. Zähle Objekte (z. B. Graphen), die eine bestimmte Eigenschaft haben. Beispiel 7. Sei S eine Menge mit N = S, seien A, B Eigenschaften von Elementen in S, jedes Element kann keine, eine oder beide Eigenschaften haben. Sei Z die Anzahl der Elemente ohne A und ohne B, N A die Anzahl der Elemente mit A, N B die Anzahl der Elemente mit B und N A B die Anzahl der Elemente mit A und B. Dann gilt Z = N (N A + N B ) + N A B. 11

12 N A A B B Z Verallgemeinerung. Inklusion-Exklusion-Prinzip. Theorem 6. Gegeben sei eine Kollektion von N kombinatorischen Objekten und n Eigenschaften P 1,..., P n, so dass jedes Objekt eine Teilmenge dieser Eigenschaften hat. Für W {1,..., n} sei N(W ) die Anzahl Objekte, die die Eigenschaften P i haben für alle i W. Sei Z die Anzahl Objekte, die keine der Eigenschaften P 1,..., P n haben. Dann gilt Z = N + ( 1) W N(W ). W {1,...,n} W Beweis-Idee. Es gilt für n = 3: Z = N }{{} alle Objekte N({1}) N({2}) }{{}}{{} Objekte mit P 1 Objekte mit P 2 N({3}) }{{} Objekte mit P 3 + N({1, 2}) + N({1, 3}) + N({2, 3}) N({1, 2, 3}) = N N(W ) + N(W ) N(W ) W {1,2,3} W =1 = N W {1,2,3} W W {1,2,3} W =2 ( 1) W N(W ). W {1,2,3} W =3 Die Erweiterung auf beliebige n ist einfach. Theorem 7 (Umformulierung von Theorem 6). Gegeben sei eine Kollektion von N Objekten und n Eigenschaften Q 1,..., Q n, so dass jedes Objekt eine Teilmenge dieser Eigenschaften hat. Für W {1,..., n} sei N(W ) die Anzahl Objekte, die die Eigenschaften Q i nicht haben für alle i W. Sei X die Anzahl Objekte, die alle Eigenschaften Q 1,..., Q n haben. Dann gilt X = N + ( 1) W N(W ). W {1,...,n} W 12

13 Beweis. Folgt sofort aus Theorem 6 für Eigenschaften P i, so dass ein Objekt die Eigenschaft P i genau dann hat, wenn es Q i nicht hat. Ziel. Inklusion-Exklusion verwenden, um einen besseren Algorithmus für Coloring zu entwerfen. Hierfür: Betrachte das Set-Cover-Problem. Definition 11. Das Set-Cover-Problem (SetCover) ist das folgende Entscheidungsproblem: Gegeben eine Menge U mit n Elementen, eine Familie S von Teilmengen von U und ein k N, entscheide, ob es eine Teilmenge C = {C 1,..., C k } S gibt mit C C C = U und k k. Eine solche Teilmenge C nennen wir ein k -Set-Cover. Im Folgenden wollen wir das Inklusion-Exklusion-Prinzip verwenden, um alle k-set-cover einer gegebenen Instanz (U, S, k) abzuschätzen. Definition 12. Sei (U, S, k) eine Set-Cover-Instanz. Sei c k die Anzahl geordneter k-set- Cover mit Wiederholungen (C 1,..., C k ) für (U, S, k), wobei C i = C j für i j erlaubt ist. Für W U sei S[W ] = {X S X W = }, sei s[w ] = S[W ]. Lemma 2. Die Anzahl geordneter k-set-cover mit Wiederholungen für eine Set-Cover- Instanz (U, S, k) ist c k = S k + ( 1) W s[w ] k. W U W Beweis. Wir verwenden die Umformulierung des Inklusion-Exklusion-Theorems, also Theorem 7. Hierfür definieren wir die Objekte und die Eigenschaften wie folgt: Die Objekte seien alle k-tupel (S 1,..., S k ) mit S i S. Man beachte, dass die S i in einem solchen Tupel nicht verschieden sein müssen. Also gibt es N = S k viele solche Objekte. Für jedes u U sagen wir, dass (S 1,..., S k ) die Eigenschaft Q(u) hat, falls u k i=1 S i gilt. Jedes Objekt, das alle Eigenschaften Q(u) hat für alle u U, ist ein geordneter k-set-cover mit Wiederholungen und umgekehrt. Die Anzahl N(W ) der Objekte, die die Eigenschaft Q(u) nicht haben für alle u W lässt sich berechnen als N(W ) = s[w ] k : Jede Menge S i S in einem solchen Objekt lässt sich frei wählen aus der Menge S[W ] aller X S, die W vermeiden. Damit folgt aus Theorem 7, dass c k = N + ( 1) W N(W ) = S k + ( 1) W s[w ] k. W U W U W W Beobachtung. Eine SetCover-Instanz (U, S, k) besitzt ein Set-Cover der Grösse k genau dann, wenn sie ein geordnetes k-set-cover mit Wiederholungen besitzt, wenn also c k > 0 gilt. 13

14 Theorem 8. Sei (U, S, k) eine SetCover-Instanz mit U = n. Die Anzahl geordneter k-set-cover mit Wiederholungen c k lässt sich in Zeit O (2 n ) bestimmen. Beweis. Zeige, dass sich die Werte s[w ] für alle W U in Zeit O (2 n ) berechnen lassen. Damit lässt sich dann offenbar auch die Formel aus Lemma 2 in Zeit O (2 n ) auswerten. Sei für alle X U die charakteristische Funktion f(x) definiert durch 1, falls X S, f(x) = 0, sonst. Dann gilt s[w ] = X U W f(x). (Jede Menge X S, die W vermeidet, trägt 1 zu der Summe bei.) Wir bestimmen s[w ] jetzt mit Hilfe dynamischer Programmierung. Sei U = {u 1,..., u n }. Für i {0, 1,..., n} und W U sei g i (W ) die Anzahl von Mengen in S, die W vermeiden und alle Elemente aus {u i+1,..., u n } W enthalten, d. h. g i (W ) = f(s). Für i = 0 gilt also g 0 (W ) = {u i+1,...,u n} W S S U W U W S U W f(s) = S=U W f(s) = f(u W ). = Mit einem Durchlauf durch S lassen sich alle Werte g 0 (W ) für alle W U in Zeit O(2 n ) bestimmen. Weiterhin können wir aus g n (W ) = f(s) = f(s) = s[w ] S U W S U W die Werte s[w ] ablesen. Es bleibt zu zeigen, wie sich g i (W ) aus den bereits berechneten g i 1 -Werten ableiten lässt. Wir unterscheiden zwei Fälle. Falls u i W ist, dann gilt {u i,..., u n } W = {u i+1,..., u n } W, also ist g i (W ) = {u i+1,...,u n} W S U W f(s) = {u i,...,u n} W S U W f(s) = g i 1 (W ). Falls u i / W, dann zählt g i 1 (W ) alle Mengen von g i (W ), die u i enthalten, und g i 1 (W {u i }) zählt alle Mengen aus g i (W ), die u i nicht enthalten. Also gilt: g i (W ) = g i 1 (W ) + g i 1 (W {u i }). In jedem der beiden Fälle lässt sich g i (W ) mit konstantem Aufwand berechnen, es ergibt sich also eine Gesamtlaufzeit in O(n 2 n ) O (2 n ). 14

15 Anwendung für Coloring Beobachtung. Sei G = (V, E) ein ungerichteter Graph, sei S Pot(V ) die Menge aller IS von G. Betrachte die SetCover-Instanz (V, S, k). Dann hat (V, S, k) ein k-set-cover genau dann, wenn G k-färbbar ist. Beweis. Wir zeigen die Äquivalenz durch zwei Implikationen. = : Sei {C 1,..., C k } ein k-set-cover von (V, S, k). Da jede Teilmenge eines IS wieder ein IS ist, gibt es dann auch ein k-set-cover (C 1,..., C k), so dass die C i paarweise disjunkt sind. = c: V {1,..., k}: c(u) = i u C i ist eine k-färbung von G. = : Sei c eine k-färbung von G. Die Farbklassen von c sind IS von G, also gibt es k IS, die V überdecken. Algorithmus IE-COLORING Eingabe: Graph G = (V, E) mit V = n. 1. Schritt: Konstruiere ein Tupel (V, S), wobei S die Menge aller IS von G sei. 2. Schritt: k := 1 while k < n do Berechne Anzahl geordneter k-set-cover mit Wiederholungen c k für (V, S, k) if c k > 0, then return χ(g) = k, else k := k + 1 Theorem 9. Der Algorithmus IE-COLORING löst Coloring in Zeit O (2 n ). Beweis. Wir beweisen die Korrektheit und Laufzeitschranke wieder einzeln. 1. Korrektheit: Folgt unmittelbar aus den Beobachtungen oben. 2. Laufzeit: Da es maximal 2 n IS in G gibt, ist Schritt 1 in Zeit O(2 n ) durchführbar, Schritt 2 läuft nach Theorem 8 in O (n 2 n ) O (2 n ). Beobachtung. Der Algorithmus zur Bestimmung der geordneten k-set-cover und der Algorithmus IE-COLORING brauchen exponentiellen Platz zur Berechnung der s[w ]. Ziel. Polynomielle Platzkomplexität für für Bestimmung geordneter k-set-cover. Theorem 10. Sei (U, S, k) eine SetCover-Instanz mit U = n, und sei S = {S 1,..., S l } in polynomiellem Platz und polynomieller Zeit aufzählbar, d. h. es existiert ein Polynom p, so dass S i+1 aus S i in Zeit und Platz p(n) berechenbar ist. Dann lässt sich die Anzahl der geordneten k-set-cover von (U, S, k) in polynomiellem Platz und in Zeit 2 n S p(n) berechnen. Beweis-Idee. Für jede Teilmenge W U separat über alle X S iterieren, um s[w ] zu berechnen, Wert s[w ] auf laufende Summe aufaddieren. 15

16 Literaturhinweise Dieses Kapitel der Vorlesung basiert im Wesentlichen auf folgendem Buch. Fedor Fomin, Dieter Kratsch: Exact Exponential Algorithms, Springer

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

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

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

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

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

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

Wie komme ich von hier zum Hauptbahnhof?

Wie komme ich von hier zum Hauptbahnhof? NP-Vollständigkeit Wie komme ich von hier zum Hauptbahnhof? P Wie komme ich von hier zum Hauptbahnhof? kann ich verwende für reduzieren auf Finde jemand, der den Weg kennt! Alternativ: Finde eine Stadtkarte!

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Kapitel L:II. II. Aussagenlogik

Kapitel L:II. II. Aussagenlogik Kapitel L:II II. Aussagenlogik Syntax der Aussagenlogik Semantik der Aussagenlogik Eigenschaften des Folgerungsbegriffs Äquivalenz Formeltransformation Normalformen Bedeutung der Folgerung Erfüllbarkeitsalgorithmen

Mehr

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

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke Steve Göring 13.07.2012 1/18 Gliederung Einleitung Grundlagen Vertex-Cover-Problem Set-Cover-Problem Lösungsalgorithmen

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 NP-Vollständigkeit Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v.

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Lösungsvorschläge Blatt Z1

Lösungsvorschläge Blatt Z1 Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt Z1 Zürich, 2. Dezember 2016 Lösung zu Aufgabe Z1 Wir zeigen L qi /

Mehr

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen en Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie P, und C Definition () Seien L 1, L 2 {0, 1} zwei Sprachen. Wir sagen, dass L 1 auf L 2 in polynomialer Zeit reduziert wird, wenn eine

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14

Mehr

Sudoku ist NP-vollständig

Sudoku ist NP-vollständig Sudoku ist NP-vollständig Seminar über Algorithmen und Komplexität Freie Universität Berlin Institut für Informatik SS 007 Sarah Will 8.07.007 Einführung Sudoku ist ein japanisches Logikrätsel und hat

Mehr

Grundlagen der Graphentheorie. Thomas Kamps 6. Oktober 2008

Grundlagen der Graphentheorie. Thomas Kamps 6. Oktober 2008 Grundlagen der Graphentheorie Thomas Kamps 6. Oktober 2008 1 Inhaltsverzeichnis 1 Definition von Graphen 3 2 Unabhängigkeit von Ecken und Kanten 3 3 Teil- und Untergraphen 4 4 Schnitt, Vereinigung und

Mehr

Vorlesung 2 KÜRZESTE WEGE

Vorlesung 2 KÜRZESTE WEGE Vorlesung 2 KÜRZESTE WEGE 34 Kürzeste Wege im Graphen Motivation! Heute:! Kürzeste Wege von einem Knoten (SSSP)! Kürzeste Wege zwischen allen Knotenpaaren (APSP)! Viele Anwendungen:! Navigationssysteme!

Mehr

Resolutionsalgorithmus

Resolutionsalgorithmus 112 Resolutionskalkül Mit dem Begriff Kalkül bezeichnet man eine Menge von syntaktischen Umformungsregeln, mit denen man semantische Eigenschaften der Eingabeformel herleiten kann. Für den Resolutionskalkül:

Mehr

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem 8.1 Der Kompaktheitssatz Kompaktheitssatz Endlichkeitssatz Der Kompaktheitssatz ist auch unter dem Namen Endlichkeitssatz bekannt. Unter Verwendung

Mehr

1 Potenzen und Polynome

1 Potenzen und Polynome 1 Potenzen und Polynome Für eine reelle Zahl x R und eine natürliche Zahl n N definieren wir x n := x x x... x }{{} n-mal Einschub über die bisher aufgetretenen mathematischen Symbole: Definition mittels

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Sascha Böhme, Lars Noschinski Sommersemester 2011 Lösungsblatt 11 1. August 2011 Einführung in die Theoretische Informatik

Mehr

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:

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

NP-vollständig - Was nun?

NP-vollständig - Was nun? Kapitel 4 NP-vollständig - Was nun? Wurde von einem Problem gezeigt, dass es NP-vollständig ist, ist das Problem damit nicht gelöst oder aus der Welt geschafft. In der Praxis muss es trotzdem gelöst werden.

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

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

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren . Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen

Mehr

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Bernhard Ganter WS 2013/14 1 Eulersche Graphen Kantenzug Ein Kantenzug in einem Graphen (V, E) ist eine Folge (a 0, a 1,..., a n ) von Knoten

Mehr

Quicksort ist ein Divide-and-Conquer-Verfahren.

Quicksort ist ein Divide-and-Conquer-Verfahren. . Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.

Mehr

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler

Kapitel 3: Die Sätze von Euler, Fermat und Wilson. 8 Der Satz von Euler Kapitel 3: Die Sätze von Euler, Fermat und Wilson In diesem Kapitel wollen wir nun die eulersche -Funktion verwenden, um einen berühmten Satz von Euler zu formulieren, aus dem wir dann mehrere interessante

Mehr

Graphen und Algorithmen

Graphen und Algorithmen Graphen und Algorithmen Vorlesung #8: Färbungsprobleme Dr. Armin Fügenschuh Technische Universität Darmstadt WS 2007/2008 Übersicht Knotenfärbung (vs. Kanten- & Kartenfärbung) Satz von Brooks Algorithmen

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

Mehr

Übungsblatt Nr. 5. Lösungsvorschlag

Übungsblatt Nr. 5. Lösungsvorschlag Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 5 Aufgabe 1: Eine schöne Bescherung (K)

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

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

Isomorphie von Bäumen

Isomorphie von Bäumen Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................

Mehr

Ersetzbarkeitstheorem

Ersetzbarkeitstheorem Ersetzbarkeitstheorem Die Abgeschlossenheit läßt sich auch folgendermaßen formulieren: Ersetzbarkeitstheorem Seien F und G Formeln mit F G. SeienH und H Formeln, so daß H aus H hervorgeht, indem ein Vorkommen

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 6 14.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Syntax der Aussagenlogik: Definition der Menge

Mehr

4.1. Vektorräume und lineare Abbildungen

4.1. Vektorräume und lineare Abbildungen 4.1. Vektorräume und lineare Abbildungen Mengen von Abbildungen Für beliebige Mengen X und Y bezeichnet Y X die Menge aller Abbildungen von X nach Y (Reihenfolge beachten!) Die Bezeichnungsweise erklärt

Mehr

Konstruktion der reellen Zahlen

Konstruktion der reellen Zahlen Konstruktion der reellen Zahlen Zur Wiederholung: Eine Menge K (mit mindestens zwei Elementen) heißt Körper, wenn für beliebige Elemente x, y K eindeutig eine Summe x+y K und ein Produkt x y K definiert

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Klausur Theoretische Informatik I WS 2004/2005

Klausur Theoretische Informatik I WS 2004/2005 Technische Universität Chemnitz Chemnitz, den 22.02.2005 Fakultät für Informatik Prof. Dr. Andreas Goerdt Klausur Theoretische Informatik I WS 2004/2005 Studiengang Mechatronik Aufgabe 1 (2+2+2 Punkte)

Mehr

Fünf-Farben-Satz. Seminar aus reiner Mathematik, WS 13/14. Schweighofer Lukas, November Seite 1

Fünf-Farben-Satz. Seminar aus reiner Mathematik, WS 13/14. Schweighofer Lukas, November Seite 1 Der Fünf- Farben-Satz Seminar aus reiner Mathematik, WS 13/14 Schweighofer Lukas, November 2013 Seite 1 Inhaltsverzeichnis Vorwort...3 Graphentheoretische Grundlagen...4 Satz 2 (Eulerscher Polyedersatz)...7

Mehr

Theoretische Informatik SS 03 Übung 11

Theoretische Informatik SS 03 Übung 11 Theoretische Informatik SS 03 Übung 11 Aufgabe 1 Zeigen Sie, dass es eine einfachere Reduktion (als die in der Vorlesung durchgeführte) von SAT auf 3KNF-SAT gibt, wenn man annimmt, dass die Formel des

Mehr

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1 Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

Kapitel 3. Konvergenz von Folgen und Reihen

Kapitel 3. Konvergenz von Folgen und Reihen Kapitel 3. Konvergenz von Folgen und Reihen 3.1. Normierte Vektorräume Definition: Sei V ein Vektorraum (oder linearer Raum) über (dem Körper) R. Eine Abbildung : V [0, ) heißt Norm auf V, falls die folgenden

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

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 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/ws1314

Mehr

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden

Mehr

Eigenwerte, Diagonalisierbarkeit, charakteristisches Polynom

Eigenwerte, Diagonalisierbarkeit, charakteristisches Polynom Eigenwerte, Diagonalisierbarkeit, charakteristisches Polynom Eine Fragestellung, die uns im weiteren beschäftigen wird, ist das Finden eines möglichst einfachen Repräsentanten aus jeder Äquivalenzklasse

Mehr

Surjektive, injektive und bijektive Funktionen.

Surjektive, injektive und bijektive Funktionen. Kapitel 1: Aussagen, Mengen, Funktionen Surjektive, injektive und bijektive Funktionen. Definition. Sei f : M N eine Funktion. Dann heißt f surjektiv, falls die Gleichung f(x) = y für jedes y N mindestens

Mehr

Automaten, Formale Sprachen und Berechenbarkeit I Wichtige Begriffe

Automaten, Formale Sprachen und Berechenbarkeit I Wichtige Begriffe Automaten, Formale Sprachen und Berechenbarkeit I Wichtige Begriffe Eine partielle Funktion ist eine Relation f A B; für jedes x dom(f) gibt es ein y range(f) mit x f y; wir schreiben statt f A B und x

Mehr

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier. Henning Fernau Universität Trier

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier. Henning Fernau Universität Trier Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Näherungsalgorithmen Gesamtübersicht Organisatorisches Einführung

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

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Überblick Kap. 5: Graph Coloring

Überblick Kap. 5: Graph Coloring Überblick Kap. 5: Graph Coloring Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 10./11. VO 18.12.0 / 8.1.07 5.1 Einführung Definition und Motivation Sudoku 5.2 ILP-Formulierungen

Mehr

Einführung in die Logik

Einführung in die Logik Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

Mehr

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13 Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 22/3 Vorname Nachname Matrikelnummer

Mehr

Konstruktion reeller Zahlen aus rationalen Zahlen

Konstruktion reeller Zahlen aus rationalen Zahlen Konstruktion reeller Zahlen aus rationalen Zahlen Wir nehmen an, daß der Körper der rationalen Zahlen bekannt ist. Genauer wollen wir annehmen: Gegeben ist eine Menge Q zusammen mit zwei Verknüpfungen

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,

Mehr

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013 Technische Universität Braunschweig Sommersemester 2013 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und Datenstrukturen

Mehr

Binary Decision Diagrams (Einführung)

Binary Decision Diagrams (Einführung) Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von

Mehr

Vier-Farben-Vermutung (1)

Vier-Farben-Vermutung (1) Vier-Farben-Vermutung (1) Landkarten möchte man so färben, dass keine benachbarten Länder die gleiche Farbe erhalten. Wie viele Farben braucht man zur Färbung einer Landkarte? Vier-Farben-Vermutung: Jede

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

Folgen. Kapitel 2. Folgen. Peter Becker (H-BRS) Analysis Sommersemester / 543

Folgen. Kapitel 2. Folgen. Peter Becker (H-BRS) Analysis Sommersemester / 543 Kapitel 2 Folgen Peter Becker (H-BRS) Analysis Sommersemester 2016 89 / 543 Inhalt Inhalt 1 Folgen Definition kriterien in C, R d und C d Peter Becker (H-BRS) Analysis Sommersemester 2016 90 / 543 Definition

Mehr

Gleichungen und Ungleichungen

Gleichungen und Ungleichungen Gleichung Eine Gleichung erhalten wir durch Gleichsetzen zweier Terme. Kapitel 3 Gleichungen und Ungleichungen linke Seite = rechte Seite Grundmenge: Menge aller Zahlen, die wir als Lösung der Gleichung

Mehr

Durchschnitt von Matroiden

Durchschnitt von Matroiden Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

Explizite Formeln für rekursiv definierte Folgen

Explizite Formeln für rekursiv definierte Folgen Schweizer Mathematik-Olympiade Explizite Formeln für rekursiv definierte Folgen Aktualisiert: 6 Juni 014 In diesem Skript wird erklärt, wie man explizite Formeln für rekursiv definierte Folgen findet Als

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

2. Teilbarkeit. Euklidischer Algorithmus

2. Teilbarkeit. Euklidischer Algorithmus O. Forster: Einführung in die Zahlentheorie 2. Teilbarkeit. Euklidischer Algorithmus 2.1. Wir benutzen die folgenden Bezeichnungen: Z = {0, ±1, ±2, ±3,...} Menge aller ganzen Zahlen N 0 = {0, 1, 2, 3,...}

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

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

Musterlösung 11.Übung Mathematische Logik

Musterlösung 11.Übung Mathematische Logik Lehr- und Forschungsgebiet Mathematische Grundlagen der Informatik RWTH Aachen Prof. Dr. E. Grädel, F. Reinhardt SS 2015 Aufgabe 2 Musterlösung 11.Übung Mathematische Logik Geben Sie für die folgenden

Mehr

Folgen und Reihen. Folgen. Inhalt. Mathematik für Chemiker Teil 1: Analysis. Folgen und Reihen. Reelle Funktionen. Vorlesung im Wintersemester 2014

Folgen und Reihen. Folgen. Inhalt. Mathematik für Chemiker Teil 1: Analysis. Folgen und Reihen. Reelle Funktionen. Vorlesung im Wintersemester 2014 Inhalt Mathematik für Chemiker Teil 1: Analysis Vorlesung im Wintersemester 2014 Kurt Frischmuth Institut für Mathematik, Universität Rostock Rostock, Oktober 2014... Folgen und Reihen Reelle Funktionen

Mehr

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und

Mehr

a i x i, (1) Ein Teil der folgenden Betrachtungen gilt auch, wenn man den Körper durch einen Ring ersetzt.

a i x i, (1) Ein Teil der folgenden Betrachtungen gilt auch, wenn man den Körper durch einen Ring ersetzt. Polynome Definition 1. Ein Polynom f über einem Körper K mit der Unbestimmten x ist eine formale Summe f(x) = i 0 a i x i, (1) wobei nur endlich viele der Koeffizienten a i K von Null verschieden sind.

Mehr

Algorithmen für schwierige Probleme

Algorithmen für schwierige Probleme Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 30. November 2011 Wiederholung Baumzerlegung G = (V, E) Eine Baumzerlegung von G ist ein Paar {X i i V T }, T, wobei T Baum mit Knotenmenge

Mehr

2 Polynome und rationale Funktionen

2 Polynome und rationale Funktionen Gleichungen spielen auch in der Ingenieurmathematik eine große Rolle. Sie beschreiben zum Beispiel Bedingungen, unter denen Vorgänge ablaufen, Gleichgewichtszustände, Punktmengen. Gleichungen für eine

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

Kapitel 5 KONVERGENZ

Kapitel 5 KONVERGENZ Kapitel 5 KONVERGENZ Fassung vom 21. April 2002 Claude Portenier ANALYSIS 75 5.1 Metrische Räume 5.1 Metrische Räume DEFINITION 1 Sei X eine Menge. Eine Abbildung d : X X! R + heißt Metrik oder Distanz

Mehr

Übungen zur Linearen Algebra 1

Übungen zur Linearen Algebra 1 Übungen zur Linearen Algebra 1 Wintersemester 014/015 Universität Heidelberg - IWR Prof. Dr. Guido Kanschat Dr. Dörte Beigel Philipp Siehr Blatt 7 Abgabetermin: Freitag, 05.1.014, 11 Uhr Aufgabe 7.1 (Vektorräume

Mehr

Seminar Graphenfärbung Greedy-Färbung und Verwandtes

Seminar Graphenfärbung Greedy-Färbung und Verwandtes Seminar Graphenfärbung Greedy-Färbung und Verwandtes Stefan Heinz 4. Juni 2004 Zusammenfassung Das Problem der Berechnung der chromatischen Zahl χ(g) ist N P-schwer, so dass es vermutlich keinen Algorithmus

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

12.4 Traveling Salesman Problem

12.4 Traveling Salesman Problem 96 KOMBINATORISCHE SUCHE.4 Traveling Salesman Problem Definition.3(TSP, Problem des Handlungsreisenden): Wir betrachten einen gerichteten, gewichteten Graphen G = (V,E) mit K : V R. K({u,v}) sind die Kosten

Mehr

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

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Satz 16 (Multiplikationssatz)

Satz 16 (Multiplikationssatz) Häufig verwendet man die Definition der bedingten Wahrscheinlichkeit in der Form Damit: Pr[A B] = Pr[B A] Pr[A] = Pr[A B] Pr[B]. (1) Satz 16 (Multiplikationssatz) Seien die Ereignisse A 1,..., A n gegeben.

Mehr

2. Spezielle anwendungsrelevante Funktionen

2. Spezielle anwendungsrelevante Funktionen 2. Spezielle anwendungsrelevante Funktionen (1) Affin-lineare Funktionen Eine Funktion f : R R heißt konstant, wenn ein c R mit f (x) = c für alle x R existiert linear, wenn es ein a R mit f (x) = ax für

Mehr