Counting the Number of Satisfying Assignments

Größe: px
Ab Seite anzeigen:

Download "Counting the Number of Satisfying Assignments"

Transkript

1 Counting the Number of Satisfying Assignments Ferienakademie im Sarntal Kurs 1 Moderne Suchmethoden der Informatik: Trends und Potenzial Stefan Ploner Department Informatik FAU Erlangen-Nürnberg 29. September 2014 Stefan Ploner: Counting the Number of Satisfying Assignments 1/ 44

2 Outline 1 Einführung Was ist #k-sat? 2 Monte-Carlo Counting MC im Allgemeinen MC für #k-sat 3 l-cuts Eliminationsbäume l-cuts 4 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts 5 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Rekursion und Berechnung von ψ 6 Zusammenfassung Stefan Ploner: Counting the Number of Satisfying Assignments 2/ 44

3 Einführung 1 Einführung Was ist #k-sat? 2 Monte-Carlo Counting MC im Allgemeinen MC für #k-sat 3 l-cuts Eliminationsbäume l-cuts 4 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts 5 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Rekursion und Berechnung von ψ 6 Zusammenfassung Stefan Ploner: Counting the Number of Satisfying Assignments 2/ 44

4 Einführung Was ist #k-sat? Satisfiability (SAT) (x 1 x 2 ) (x 1 x 3 x 4 ) (x 3 ) Erfüllbarkeit einer boolschen Formel Φ in konjunktiver Normalform über den Variablen x 1,..., x n Konjunktive Normalform (KNF / CNF): Literale: l = {x i, x i i {1,..., n}} x 1 Klauseln: C j = l 1... l kj (x 1 x 2 ) KNF: Φ = C 1... C m (x 1 x 2 ) (x 3 x 2 ) SAT ist NP-vollständig Brute-Force-Methode: Alle Variablenbelegungen testen Laufzeit in O (2 n ) O (.) ignoriert polynomielle Faktoren Stefan Ploner: Counting the Number of Satisfying Assignments 3/ 44

5 Einführung Was ist #k-sat? k-sat Bsp. 2-SAT: (x 1 x 2 ) (x 1 x 3 ) (x 3 ) (x 3 x 4 ) Jede Klausel enthält maximal k Literale 2-SAT P k 3: k-sat N P Laufzeiten randomisierter k-sat Solver Laufzeit k = n k = n Stefan Ploner: Counting the Number of Satisfying Assignments 4/ 44

6 Einführung Was ist #k-sat? k-sat Bsp. 2-SAT: (x 1 x 2 ) (x 1 x 3 ) (x 3 ) (x 3 x 4 ) Jede Klausel enthält maximal k Literale 2-SAT P k 3: k-sat N P Laufzeiten randomisierter k-sat Solver Laufzeit β k k = n = n k = n = n Stefan Ploner: Counting the Number of Satisfying Assignments 4/ 44

7 Einführung Was ist #k-sat? #k-sat Gesucht ist die Anzahl erfüllender Belegungen einer k-sat Instanz Brute-Force-Methode: Belegungen durchprobieren und mitzählen Laufzeit wieder O (2 n ) Stefan Ploner: Counting the Number of Satisfying Assignments 5/ 44

8 Einführung Was ist #k-sat? #k-sat Gesucht ist die Anzahl erfüllender Belegungen einer k-sat Instanz Brute-Force-Methode: Belegungen durchprobieren und mitzählen Laufzeit wieder O (2 n ) #k-sat ist für k 2 #P-vollständig, die Lösung ist nicht in polynomieller Zeit verifizierbar #2-SAT ist exakt in O ( n ) berechenbar ( Wahlström s Algorithmus ) Stefan Ploner: Counting the Number of Satisfying Assignments 5/ 44

9 Einführung Was ist #k-sat? Randomisiertes Zähl-Approximationsschema Liefert mit einer bestimmten Wahrscheinlichkeit eine Näherungslösung Pr[ #(I ) A(I, ε) ε #(I )] 3 4 I : Instanz des Zählproblems #(I ): exakte Lösung A(I, ε): berechnete Lösung ε: obere Schranke der Abweichung Stefan Ploner: Counting the Number of Satisfying Assignments 6/ 44

10 Einführung Was ist #k-sat? Ziel des Vortrags Algorithmus zum effizienten Lösen von #k-sat Eigenschaften: Randomisiert Hybrid bestehend aus 3 Komponenten: 1 Monte-Carlo Counting 2 Eliminationsbäume / l-cuts 3 Rekursion Kein Algorithmus kann alle Probleminstanzen gut lösen Nimm den Algorithmus, der für die Instanz am besten geeignet ist Stefan Ploner: Counting the Number of Satisfying Assignments 7/ 44

11 Monte-Carlo Counting 1 Einführung Was ist #k-sat? 2 Monte-Carlo Counting MC im Allgemeinen MC für #k-sat 3 l-cuts Eliminationsbäume l-cuts 4 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts 5 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Rekursion und Berechnung von ψ 6 Zusammenfassung Stefan Ploner: Counting the Number of Satisfying Assignments 7/ 44

12 Monte-Carlo Counting MC im Allgemeinen Monte-Carlo Counting, Beispiel 1 Rate x und y gleichverteilt im Intervall [ 1, 1] 2 Prüfe, ob (x, y) im Kreis um den Ursprung mit Radius 1 liegt Stefan Ploner: Counting the Number of Satisfying Assignments 8/ 44

13 Monte-Carlo Counting MC im Allgemeinen Monte-Carlo Counting, Beispiel 1 Rate x und y gleichverteilt im Intervall [ 1, 1] 2 Prüfe, ob (x, y) im Kreis um den Ursprung mit Radius 1 liegt 3 Wiederhole die vorigen Schritte endlos 4 Sei R der Anteil an Treffern. Die Ausgabe ist R 4. Wie lautet das Ergebnis? Stefan Ploner: Counting the Number of Satisfying Assignments 8/ 44

14 Monte-Carlo Counting MC im Allgemeinen Monte-Carlo Counting, Beispiel 1 Rate x und y gleichverteilt im Intervall [ 1, 1] 2 Prüfe, ob (x, y) im Kreis um den Ursprung mit Radius 1 liegt 3 Wiederhole die vorigen Schritte endlos 4 Sei R der Anteil an Treffern. Die Ausgabe ist R 4. Wie lautet das Ergebnis? Pr[Trefferwskt.] 4 = 12 π = π Realität: Mehr Wiederholungen führen zu einer genaueren Annäherung. Stefan Ploner: Counting the Number of Satisfying Assignments 8/ 44

15 Monte-Carlo Counting MC im Allgemeinen Monte-Carlo Counting, Allgemein S I : Menge zulässiger Lösungen U I : Stichprobenraum, Universum, U I S I Stefan Ploner: Counting the Number of Satisfying Assignments 9/ 44

16 Monte-Carlo Counting MC im Allgemeinen Monte-Carlo Counting, Allgemein S I : Menge zulässiger Lösungen U I : Stichprobenraum, Universum, U I S I U I muss bekannt sein, S I = #(I ) ist gesucht. (Kreis) (Quadrat) Stefan Ploner: Counting the Number of Satisfying Assignments 9/ 44

17 Monte-Carlo Counting MC im Allgemeinen Monte-Carlo Counting, Allgemein S I : Menge zulässiger Lösungen U I : Stichprobenraum, Universum, U I S I U I muss bekannt sein, S I = #(I ) ist gesucht. (Kreis) (Quadrat) Algorithmus MC: Wiederhole T mal Rate unabhängig und gleichverteilt ein Element x aus U I Prüfe, ob x S I (Treffer?) Sei L die Anzahl der Treffer. Dann ist R = L T eine (Trefferwskt.) Abschätzung für den Anteil richtiger Lösungen. Dann ist R U I eine Abschätzung von #(I ) Stefan Ploner: Counting the Number of Satisfying Assignments 9/ 44

18 Monte-Carlo Counting MC im Allgemeinen Estimator Theorem Satz: Sei ε > 0. Mit T 4 ( U ε 2 I S I 1) ist MC ein RASC, es gilt also: Tschebyscheff-Ungleichung: Pr[ MC(T (ε)) #(I ) ε #(I )] 3 4 Pr [ Z E[Z] ε E[Z]] 1 1 ε 2 Var[Z] E[Z] 2 Stefan Ploner: Counting the Number of Satisfying Assignments 10/ 44

19 Monte-Carlo Counting MC im Allgemeinen Estimator Theorem Satz: Sei ε > 0. Mit T 4 ( U ε 2 I S I 1) ist MC ein RASC, es gilt also: Tschebyscheff-Ungleichung: Pr[ MC(T (ε)) #(I ) ε #(I )] 3 4 Pr [ Z E[Z] ε E[Z]] 1 1 ε 2 Var[Z] E[Z] 2 E[Z] =... = #(I ) Stefan Ploner: Counting the Number of Satisfying Assignments 10/ 44

20 Monte-Carlo Counting MC im Allgemeinen Zufallsvariable für einen Treffer in der i. Stichprobe: { 1 x i S I X i = 0 sonst Stefan Ploner: Counting the Number of Satisfying Assignments 11/ 44

21 Monte-Carlo Counting MC im Allgemeinen Zufallsvariable für einen Treffer in der i. Stichprobe: { 1 x i S I X i = 0 sonst Rechenregeln der Varianz: Var[X ] = E[X 2 ] E[X ] 2 Var[cX ] = c 2 Var[X ] [ T ] T Var X i = Var[X i ], i=1 i=1 wenn X i unabhängig Stefan Ploner: Counting the Number of Satisfying Assignments 11/ 44

22 Monte-Carlo Counting MC im Allgemeinen Zufallsvariable für einen Treffer in der i. Stichprobe: { 1 x i S I X i = 0 sonst Rechenregeln der Varianz: Var[X ] = E[X 2 ] E[X ] 2 Var[cX ] = c 2 Var[X ] [ T ] T Var X i = Var[X i ], i=1 i=1 wenn X i unabhängig Var[Z] =... = S I T ( U I S I ) Stefan Ploner: Counting the Number of Satisfying Assignments 11/ 44

23 Monte-Carlo Counting MC im Allgemeinen Tschebyscheff-Ungleichung: Pr [ Z E[Z] ε E[Z]] 1 1 ε 2 Var[Z] E[Z] 2 ( ) Satz: Sei ε > 0. Mit T 4 UI ε 2 S I 1 ist MC ein RASC, es gilt also: Pr[ MC(T (ε)) #(I ) ε #(I )] 3 4 Stefan Ploner: Counting the Number of Satisfying Assignments 12/ 44

24 Monte-Carlo Counting MC im Allgemeinen Tschebyscheff-Ungleichung: Pr [ Z E[Z] ε E[Z]] 1 1 ε 2 Var[Z] E[Z] 2! 3 4 ( ) Satz: Sei ε > 0. Mit T 4 UI ε 2 S I 1 ist MC ein RASC, es gilt also: Pr[ MC(T (ε)) #(I ) ε #(I )] 3 4 Stefan Ploner: Counting the Number of Satisfying Assignments 12/ 44

25 Monte-Carlo Counting MC im Allgemeinen Tschebyscheff-Ungleichung: Pr [ Z E[Z] ε E[Z]] 1 1 ε 2 Var[Z] E[Z] 2! ε 2 Var[Z] E[Z] ( ) Satz: Sei ε > 0. Mit T 4 UI ε 2 S I 1 ist MC ein RASC, es gilt also: Pr[ MC(T (ε)) #(I ) ε #(I )] 3 4 Stefan Ploner: Counting the Number of Satisfying Assignments 12/ 44

26 Monte-Carlo Counting MC im Allgemeinen Tschebyscheff-Ungleichung: Pr [ Z E[Z] ε E[Z]] 1 1 ε 2 Var[Z] E[Z] 2 1 ε 2! ε 2 Var[Z] E[Z] S I T ( U I S I ) S I ( ) Satz: Sei ε > 0. Mit T 4 UI ε 2 S I 1 ist MC ein RASC, es gilt also: Pr[ MC(T (ε)) #(I ) ε #(I )] 3 4 Stefan Ploner: Counting the Number of Satisfying Assignments 12/ 44

27 Monte-Carlo Counting MC im Allgemeinen Tschebyscheff-Ungleichung: Pr [ Z E[Z] ε E[Z]] 1 1 ε 2 Var[Z] E[Z] 2 1 ε 2! ε 2 Var[Z] E[Z] S I T ( U I S I ) 4 ε 2 S I ( ) UI S I 1 T ( ) Satz: Sei ε > 0. Mit T 4 UI ε 2 S I 1 ist MC ein RASC, es gilt also: Pr[ MC(T (ε)) #(I ) ε #(I )] 3 4 Stefan Ploner: Counting the Number of Satisfying Assignments 12/ 44

28 Monte-Carlo Counting MC im Allgemeinen In unserem Beispiel... T I (ε) 4 ( ) UI ε 2 S I 1 T (ε) 4 ( ) 2 2 ε π 1 = 1.1 ε 2 T (10 3 ) ( 3) ( 2) = Stefan Ploner: Counting the Number of Satisfying Assignments 13/ 44

29 Monte-Carlo Counting MC im Allgemeinen In unserem Beispiel... T I (ε) 4 ( ) UI ε 2 S I 1 T (ε) 4 ( ) 2 2 ε π 1 = 1.1 ε 2 T (10 3 ) ( 3) ( 2) = Problem: Stefan Ploner: Counting the Number of Satisfying Assignments 13/ 44

30 Monte-Carlo Counting MC im Allgemeinen In unserem Beispiel... T I (ε) 4 ( ) UI ε 2 S I 1 T (ε) 4 ( ) 2 2 ε π 1 = 1.1 ε 2 T (10 3 ) ( 3) ( 2) = Problem: S I ist eigentlich die Unbekannte. Lösung: Verwende untere Grenze l S I. T I (ε) 4 ( ) UI ε ( ) UI l ε 2 S I 1 Stefan Ploner: Counting the Number of Satisfying Assignments 13/ 44

31 Monte-Carlo Counting MC für #k-sat Monte-Carlo Counting für #k-sat S Φ : I = Φ = (x 1 x 2 ) (x 2 x 3 ) Stefan Ploner: Counting the Number of Satisfying Assignments 14/ 44

32 Monte-Carlo Counting MC für #k-sat Monte-Carlo Counting für #k-sat I = Φ = (x 1 x 2 ) (x 2 x 3 ) S Φ : Menge der erfüllenden Belegungen U Φ Stefan Ploner: Counting the Number of Satisfying Assignments 14/ 44

33 Monte-Carlo Counting MC für #k-sat Monte-Carlo Counting für #k-sat I = Φ = (x 1 x 2 ) (x 2 x 3 ) S Φ : Menge der erfüllenden Belegungen U Φ = {0, 1} n : Belegungen der n Variablen von Φ, U Φ = 2 n Stefan Ploner: Counting the Number of Satisfying Assignments 14/ 44

34 Monte-Carlo Counting MC für #k-sat Monte-Carlo Counting für #k-sat I = Φ = (x 1 x 2 ) (x 2 x 3 ) S Φ : Menge der erfüllenden Belegungen U Φ = {0, 1} n : Belegungen der n Variablen von Φ, U Φ = 2 n Wiederhole T mal Für jede Variable Mit Wahrscheinlichkeit 1 : x 2 i := 1, sonst x i := 0 Werte Φ aus { 1 erfüllende Belegung X t = 0 sonst R = 1 T T t=1 X t Gebe R U Φ aus. Stefan Ploner: Counting the Number of Satisfying Assignments 14/ 44

35 Monte-Carlo Counting MC für #k-sat Monte-Carlo Counting für #k-sat I = Φ = (x 1 x 2 ) (x 2 x 3 ) S Φ : Menge der erfüllenden Belegungen U Φ = {0, 1} n : Belegungen der n Variablen von Φ, U Φ = 2 n Wiederhole T mal O((n + mk) T ) Für jede Variable O(n) Mit Wahrscheinlichkeit 1 : x 2 i := 1, sonst x i := 0 Werte Φ aus O(mk) { 1 erfüllende Belegung X t = 0 sonst R = 1 T T t=1 X t Gebe R U Φ aus. Stefan Ploner: Counting the Number of Satisfying Assignments 14/ 44

36 Monte-Carlo Counting MC für #k-sat Berechnung der Laufzeit T Φ (ε) 4 ε 2 ( UΦ l ) 1 = 4ε ( ) 2 n 2 l 1 Stefan Ploner: Counting the Number of Satisfying Assignments 15/ 44

37 Monte-Carlo Counting MC für #k-sat Berechnung der Laufzeit T Φ (ε) 4 ε 2 ( UΦ l LZ = (n + mk) 4 ε 2 ) 1 = 4ε ( 2 n 2 l 1 ( 2 n ) ) ( ) 1ε l 1 O 2 2n l Stefan Ploner: Counting the Number of Satisfying Assignments 15/ 44

38 Monte-Carlo Counting MC für #k-sat Berechnung der Laufzeit Wie wählen wir l? T Φ (ε) 4 ε 2 ( UΦ l LZ = (n + mk) 4 ε 2 ) 1 = 4ε ( 2 n 2 l 1 ( 2 n ) ) ( ) 1ε l 1 O 2 2n l Stefan Ploner: Counting the Number of Satisfying Assignments 15/ 44

39 Monte-Carlo Counting MC für #k-sat Berechnung der Laufzeit T Φ (ε) 4 ε 2 ( UΦ l LZ = (n + mk) 4 ε 2 ) 1 = 4ε ( 2 n 2 l 1 ( 2 n ) ) ( ) 1ε l 1 O 2 2n l Wie wählen wir l? Idee: Ein Löser für k-sat liefert uns die Untergrenze l = 1 in o(2 n ) LZ O ( 1 ε 2 2n ) Stefan Ploner: Counting the Number of Satisfying Assignments 15/ 44

40 Monte-Carlo Counting MC für #k-sat Berechnung der Laufzeit T Φ (ε) 4 ε 2 ( UΦ l LZ = (n + mk) 4 ε 2 ) 1 = 4ε ( 2 n 2 l 1 ( 2 n ) ) ( ) 1ε l 1 O 2 2n l Wie wählen wir l? Idee: Ein Löser für k-sat liefert uns die Untergrenze l = 1 in o(2 n ) LZ O ( 1 ε 2 2n ) Die triviale Laufzeit war auch O (2 n ). Wir sollten also noch ein wenig nachbessern... Stefan Ploner: Counting the Number of Satisfying Assignments 15/ 44

41 Monte-Carlo Counting MC für #k-sat Hat die Methode überhaupt Potenzial? Laufzeit in O*(.) n = Untergrenze l 2 n / l Mit einer größeren Untergrenze l ließe sich die Laufzeit deutlich reduzieren. Stefan Ploner: Counting the Number of Satisfying Assignments 16/ 44

42 l-cuts 1 Einführung Was ist #k-sat? 2 Monte-Carlo Counting MC im Allgemeinen MC für #k-sat 3 l-cuts Eliminationsbäume l-cuts 4 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts 5 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Rekursion und Berechnung von ψ 6 Zusammenfassung Stefan Ploner: Counting the Number of Satisfying Assignments 16/ 44

43 l-cuts Eliminationsbäume Elimination Trees Die Lösungen einer beliebigen SAT-Instanz können als Baum dargestellt werden Stefan Ploner: Counting the Number of Satisfying Assignments 17/ 44

44 l-cuts Eliminationsbäume Elimination Trees Die Lösungen einer beliebigen SAT-Instanz können als Baum dargestellt werden Beispiel: (x 1 x 2 ) (x 2 x 3 ) (x 2, x 1, x 3 ) Stefan Ploner: Counting the Number of Satisfying Assignments 17/ 44

45 l-cuts Eliminationsbäume Elimination Trees Die Lösungen einer beliebigen SAT-Instanz können als Baum dargestellt werden Beispiel: (x 1 x 2 ) (x 2 x 3 ) (x 2, x 1, x 3 ) Die Anzahl erfüllbarer Blätter entspricht der gesuchten Anzahl an Lösungen #Φ. Stefan Ploner: Counting the Number of Satisfying Assignments 17/ 44

46 l-cuts l-cuts l-cuts Ein l-cut ist ein Teilbaum des Eliminationsbaumes, der die Wurzel enthält und l Blätter hat. Er enthält nur Knoten, die erfüllbare Formeln repräsentieren. Stefan Ploner: Counting the Number of Satisfying Assignments 18/ 44

47 l-cuts l-cuts l-cuts Ein l-cut ist ein Teilbaum des Eliminationsbaumes, der die Wurzel enthält und l Blätter hat. Er enthält nur Knoten, die erfüllbare Formeln repräsentieren. Stefan Ploner: Counting the Number of Satisfying Assignments 18/ 44

48 l-cuts l-cuts l-cuts Ein l-cut ist ein Teilbaum des Eliminationsbaumes, der die Wurzel enthält und l Blätter hat. Er enthält nur Knoten, die erfüllbare Formeln repräsentieren. Berechnung: Von der Wurzel des Eliminationsbaums aus überprüfen, ob die teilweise belegte Formel erfüllbar ist, bis l Blätter gefunden wurden Stefan Ploner: Counting the Number of Satisfying Assignments 18/ 44

49 l-cuts l-cuts l-cuts Ein l-cut ist ein Teilbaum des Eliminationsbaumes, der die Wurzel enthält und l Blätter hat. Er enthält nur Knoten, die erfüllbare Formeln repräsentieren. Berechnung: Von der Wurzel des Eliminationsbaums aus überprüfen, ob die teilweise belegte Formel erfüllbar ist, bis l Blätter gefunden wurden Beispiel: (x 1 x 2 ) (x 2 x 3 ) (x 2, x 1, x 3 ) Stefan Ploner: Counting the Number of Satisfying Assignments 18/ 44

50 l-cuts l-cuts l-cuts Ein l-cut ist ein Teilbaum des Eliminationsbaumes, der die Wurzel enthält und l Blätter hat. Er enthält nur Knoten, die erfüllbare Formeln repräsentieren. Berechnung: Von der Wurzel des Eliminationsbaums aus überprüfen, ob die teilweise belegte Formel erfüllbar ist, bis l Blätter gefunden wurden Beispiel: (x 1 x 2 ) (x 2 x 3 ) (x 2, x 1, x 3 ) Fakten zu l-cuts: Ein l-cut hat maximal #Φ Blätter l-cut existiert #Φ l Ein l-cut enthält maximal n l Knoten Stefan Ploner: Counting the Number of Satisfying Assignments 18/ 44

51 l-cuts l-cuts Laufzeit zum Ermitteln eines l-cuts l-cut, max. Anzahl Knoten: Binärbaum, Höhe: Binärbaum, Anzahl Knoten pro Level: Laufzeit SAT-Solver: n-te Partialsumme der geometrischen Reihe: l n log 2 (#Knoten) 2 i 2 β k #Variablen n k=0 qk = qn+1 1 q 1 Stefan Ploner: Counting the Number of Satisfying Assignments 19/ 44

52 l-cuts l-cuts Laufzeit zum Ermitteln eines l-cuts l-cut, max. Anzahl Knoten: Binärbaum, Höhe: Binärbaum, Anzahl Knoten pro Level: Laufzeit SAT-Solver: n-te Partialsumme der geometrischen Reihe: l n log 2 (#Knoten) 2 i 2 β k #Variablen n k=0 qk = qn+1 1 q 1 T cut O log(n l) i=0 = O (2 β k n l 1 β k ) log(n l) 2 i 2 β k (n i) = O 2 β k n }{{} [0;1) i=0 2 (1 β k) i Stefan Ploner: Counting the Number of Satisfying Assignments 19/ 44

53 l-cuts l-cuts Laufzeit zum Ermitteln eines l-cuts l-cut, max. Anzahl Knoten: Binärbaum, Höhe: Binärbaum, Anzahl Knoten pro Level: Laufzeit SAT-Solver: n-te Partialsumme der geometrischen Reihe: l n log 2 (#Knoten) 2 i 2 β k #Variablen n k=0 qk = qn+1 1 q 1 T cut O log(n l) i=0 = O (2 β k n l 1 β k ) log(n l) 2 i 2 β k (n i) = O 2 β k n }{{} [0;1) i=0 2 (1 β k) i Bemerkung: l 1 β k ist im Allgemeinen kein polynomieller Faktor, l 2 n. Stefan Ploner: Counting the Number of Satisfying Assignments 19/ 44

54 l-cuts l-cuts Laufzeit zum Ermitteln eines l-cuts, Abhängigkeit von #Φ Bricht die Berechnung eines l-cuts vorzeitig ab, weil keine erfüllbaren Äste mehr existieren, so ist #Φ gleich der aktuellen Anzahl Blätter des Schnitts n = 10, k = 3, beta = ( beta*n) * #Phi ( 1 - beta) 768 Laufzeit in O*(.) #Phi Je größer #Φ, desto aufwendiger ist die Berechnung des l-cuts Stefan Ploner: Counting the Number of Satisfying Assignments 20/ 44

55 l-cuts l-cuts Laufzeit von l-cut und Monte-Carlo n = 10, k = 3, beta = l-cut MC Laufzeit in O*(.) #Phi bzw. Untergrenze l Die Stärken beider Algorithmen ergänzen sich Stefan Ploner: Counting the Number of Satisfying Assignments 21/ 44

56 l-cuts l-cuts Hybrider Algorithmus Berechne zuerst einen l-cut l-cut existiert nicht: #Φ entspricht der Anzahl der Blätter im Schnitt l-cut existiert: l ist eine Untergrenze der Lösungen von Φ Starte MC mit der Untergrenze l und dem gewünschten ε n = 10, k = 3, beta = l-cut MC Laufzeit in O*(.) #Phi bzw. Untergrenze l Stefan Ploner: Counting the Number of Satisfying Assignments 22/ 44

57 l-cuts l-cuts Hybrider Algorithmus Berechne zuerst einen l-cut l-cut existiert nicht: #Φ entspricht der Anzahl der Blätter im Schnitt l-cut existiert: l ist eine Untergrenze der Lösungen von Φ Starte MC mit der Untergrenze l und dem gewünschten ε n = 10, k = 3, beta = l-cut MC Laufzeit in O*(.) #Phi bzw. Untergrenze l Welcher Wert von l ist der optimale Umschaltpunkt? Stefan Ploner: Counting the Number of Satisfying Assignments 22/ 44

58 l-cuts l-cuts Optimales l für die kleinste Worst-Case Laufzeit T Cut O (2 β k n l 1 β k ) ( ) 1 T MC O ε 2 2n l l = arg-min l {T Cut + T MC } Stefan Ploner: Counting the Number of Satisfying Assignments 23/ 44

59 l-cuts l-cuts Optimales l für die kleinste Worst-Case Laufzeit T Cut O (2 β k n l 1 β k ) ( ) 1 T MC O ε 2 2n l l = arg-min l {T Cut + T MC } l (T Cut + T MC )! = 0 Stefan Ploner: Counting the Number of Satisfying Assignments 23/ 44

60 l-cuts l-cuts Optimales l für die kleinste Worst-Case Laufzeit T Cut O (2 β k n l 1 β k ) ( ) 1 T MC O ε 2 2n l Resultierende Worst-Case Laufzeit: l = arg-min l {T Cut + T MC } l (T Cut + T MC )! = 0 l = 2 1 β k n 2 β k Stefan Ploner: Counting the Number of Satisfying Assignments 23/ 44

61 l-cuts l-cuts Optimales l für die kleinste Worst-Case Laufzeit T Cut O (2 β k n l 1 β k ) ( ) 1 T MC O ε 2 2n l l = arg-min l {T Cut + T MC } l (T Cut + T MC )! = 0 l = 2 1 β k n 2 β k Resultierende Worst-Case Laufzeit: ( ) 1 O ε n 2 β k Stefan Ploner: Counting the Number of Satisfying Assignments 23/ 44

62 l-cuts l-cuts Worst-Case Laufzeiten des hybriden Algorithmus ( ) 1 O ε n 2 β k k = 3: O (ε n ) β k = k = 4: O (ε n ) β k = k 5: für β k, siehe Literatur Stefan Ploner: Counting the Number of Satisfying Assignments 24/ 44

63 l-cuts l-cuts Laufzeit des hybriden Algorithmus in Abhängigkeit von #Φ 1024 n = 10, k = 3, beta = Laufzeit in O*(.) l-cut MC hybrid #Phi bzw. Untergrenze l für MC Stefan Ploner: Counting the Number of Satisfying Assignments 25/ 44

64 l-cuts l-cuts Laufzeit des hybriden Algorithmus in Abhängigkeit von #Φ 1024 n = 10, k = 3, beta = Laufzeit in O*(.) l-cut MC hybrid #Phi bzw. Untergrenze l für MC Starke Verbesserung ohne in die Formel selbst hineinzuschauen! Stefan Ploner: Counting the Number of Satisfying Assignments 25/ 44

65 Eliminationsbaum zurechtstutzen 1 Einführung Was ist #k-sat? 2 Monte-Carlo Counting MC im Allgemeinen MC für #k-sat 3 l-cuts Eliminationsbäume l-cuts 4 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts 5 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Rekursion und Berechnung von ψ 6 Zusammenfassung Stefan Ploner: Counting the Number of Satisfying Assignments 25/ 44

66 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Grad des Eliminationsbaums reduzieren - Fall κ = k Φ = (x 1 x 2 ) (x 2 x 3 ) (x 3 x 4 ) (x 1 x 2 ) Sei φ die von einem Knoten im Eliminationsbaum repräsentierte k-cnf Formel Sei C eine Klausel in φ mit κ = k Literalen Es gibt genau eine Belegung der κ Variablen, die C nicht erfüllt C = (x 1 x 2 )! = (false false) x 1 false, x 2 false Stefan Ploner: Counting the Number of Satisfying Assignments 26/ 44

67 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Grad des Eliminationsbaums reduzieren - Fall κ = k Φ = (x 1 x 2 ) (x 2 x 3 ) (x 3 x 4 ) (x 1 x 2 ) Sei φ die von einem Knoten im Eliminationsbaum repräsentierte k-cnf Formel Sei C eine Klausel in φ mit κ = k Literalen Es gibt genau eine Belegung der κ Variablen, die C nicht erfüllt C = (x 1 x 2 )! = (false false) x 1 false, x 2 false Belegen wir die k Variablen von C, kann der Ast, der die Klausel nicht erfüllt, weggelassen werden Stefan Ploner: Counting the Number of Satisfying Assignments 26/ 44

68 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Grad des Eliminationsbaums reduzieren - κ k Φ =(x 1 x 2 ) (x 2 x 3 ) (x 3 x 4 ) (x 1 x 2 ) Sei C eine Klausel in φ mit κ k Literalen Stefan Ploner: Counting the Number of Satisfying Assignments 27/ 44

69 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Grad des Eliminationsbaums reduzieren - κ k Φ =(x 1 x 2 ) (x 2 x 3 ) (x 3 x 4 ) (x 1 x 2 ) x 1 true, x 2 true (x 3 ) (x 3 x 4 ) Sei C eine Klausel in φ mit κ k Literalen Stefan Ploner: Counting the Number of Satisfying Assignments 27/ 44

70 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Grad des Eliminationsbaums reduzieren - κ k Φ =(x 1 x 2 ) (x 2 x 3 ) (x 3 x 4 ) (x 1 x 2 ) x 1 true, x 2 true (x 3 ) (x 3 x 4 ) Sei C eine Klausel in φ mit κ k Literalen Belegen wir k Variablen einschließlich der in C enthaltenen, können alle Äste, die C nicht erfüllen, weggelassen werden Stefan Ploner: Counting the Number of Satisfying Assignments 27/ 44

71 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Grad des Eliminationsbaums reduzieren - κ k Φ =(x 1 x 2 ) (x 2 x 3 ) (x 3 x 4 ) (x 1 x 2 ) x 1 true, x 2 true (x 3 ) (x 3 x 4 ) (x 3 false, x 4 true) und (x 3 false, x 4 false) fallen weg. Sei C eine Klausel in φ mit κ k Literalen Belegen wir k Variablen einschließlich der in C enthaltenen, können alle Äste, die C nicht erfüllen, weggelassen werden Ersparnis: 2 k κ 1 Äste Stefan Ploner: Counting the Number of Satisfying Assignments 27/ 44

72 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Grad des Eliminationsbaums reduzieren - κ k Φ =(x 1 x 2 ) (x 2 x 3 ) (x 3 x 4 ) (x 1 x 2 ) x 1 true, x 2 true (x 3 ) (x 3 x 4 ) (x 3 false, x 4 true) und (x 3 false, x 4 false) fallen weg. Sei C eine Klausel in φ mit κ k Literalen Belegen wir k Variablen einschließlich der in C enthaltenen, können alle Äste, die C nicht erfüllen, weggelassen werden Ersparnis: 2 k κ 1 Äste Der Knoten hat also 2 k 2 k κ 2 k 1 Kinder Die Höhe des Baumes reduziert sich auf n k Stefan Ploner: Counting the Number of Satisfying Assignments 27/ 44

73 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Verbesserte Laufzeit zum Ermitteln eines l-cuts verbesserter l-cut, max. Anzahl Knoten: Höhe eines Baumes mit Grad 2 k 1: Anzahl Knoten pro Level: Laufzeit SAT-Solver, Level i: n-te Partialsumme der geometrischen Reihe: T cut O log 2 k 1 (l n k ) i=0 = O (2 β k n l 1 β k l n k log 2 k 1(#Knoten) (2 k 1) i 2 β k (n k i) n k=0 qk = qn+1 1 q 1 (2 k 1) i 2 β k (n k i) k log(2 k 1) ) Stefan Ploner: Counting the Number of Satisfying Assignments 28/ 44

74 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Verbesserte Laufzeit zum Ermitteln eines l-cuts verbesserter l-cut, max. Anzahl Knoten: Höhe eines Baumes mit Grad 2 k 1: Anzahl Knoten pro Level: Laufzeit SAT-Solver, Level i: n-te Partialsumme der geometrischen Reihe: T cut O log 2 k 1 (l n k ) i=0 = O (2 β k n l 1 β k l n k log 2 k 1(#Knoten) (2 k 1) i 2 β k (n k i) n k=0 qk = qn+1 1 q 1 (2 k 1) i 2 β k (n k i) k log(2 k 1) ) k log(2 k 1) = log(2k ) log(2 k 1) > 1 Stefan Ploner: Counting the Number of Satisfying Assignments 28/ 44

75 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Änderung der Laufzeit des Hybriden Algorithmus ( Laufzeit l-cut O 2 β k n l 1 β k Umschaltpunkt ( l = exp Laufzeit Gesamt O ( 1 ε 2 2 p kn ) k log(2 k 1) 1 β k k 2 β k log(2 k 1) ) ) n wird kleiner wird größer Stefan Ploner: Counting the Number of Satisfying Assignments 29/ 44

76 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Änderung der Laufzeit des Hybriden Algorithmus ( Laufzeit l-cut O 2 β k n l 1 β k Umschaltpunkt ( l = exp Laufzeit Gesamt O ( 1 ε 2 2 p kn ) p k = ( ) k 1 β k log(2 k 1) 1 2 β k k log(2 k 1) k log(2 k 1) 1 β k k 2 β k log(2 k 1) ) ) n wird kleiner wird größer wird unübersichtlich Stefan Ploner: Counting the Number of Satisfying Assignments 29/ 44

77 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Änderung der Laufzeit des Hybriden Algorithmus ( Laufzeit l-cut O 2 β k n l 1 β k Umschaltpunkt ( l = exp Laufzeit Gesamt O ( 1 ε 2 2 p kn ) p k = ( ) k 1 β k log(2 k 1) 1 2 β k k log(2 k 1) k log(2 k 1) 1 β k k 2 β k log(2 k 1) ) ) n wird kleiner wird größer wird kleiner Stefan Ploner: Counting the Number of Satisfying Assignments 29/ 44

78 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts Änderung der Laufzeit des Hybriden Algorithmus ( Laufzeit l-cut O 2 β k n l 1 β k Umschaltpunkt ( l = exp Laufzeit Gesamt O ( 1 ε 2 2 p kn ) p k = ( ) k 1 β k log(2 k 1) 1 2 β k k log(2 k 1) k log(2 k 1) 1 β k k 2 β k log(2 k 1) ) ) n wird kleiner wird größer wird kleiner Verbesserter l-cut ursprünglicher l-cut k = 3 O (ε n ) O (ε n ) k = 4 O (ε n ) O (ε n ) Stefan Ploner: Counting the Number of Satisfying Assignments 29/ 44

79 Unabhängige Klauseln und Rekursion 1 Einführung Was ist #k-sat? 2 Monte-Carlo Counting MC im Allgemeinen MC für #k-sat 3 l-cuts Eliminationsbäume l-cuts 4 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts 5 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Rekursion und Berechnung von ψ 6 Zusammenfassung Stefan Ploner: Counting the Number of Satisfying Assignments 29/ 44

80 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Erinnerung Laufzeit des Monte-Carlo Algorithmus ( 1 O ε 2 U ) Φ l Bisheriger Fokus: Untergrenze l Stefan Ploner: Counting the Number of Satisfying Assignments 30/ 44

81 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Erinnerung Laufzeit des Monte-Carlo Algorithmus ( 1 O ε 2 U ) Φ l Bisheriger Fokus: Untergrenze l Neuer Ansatz: Reduzierung von U Φ Stefan Ploner: Counting the Number of Satisfying Assignments 30/ 44

82 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Unabhängigkeit (x 1 x 2 ) (x 3 x 4 ) }{{} Zwei Klauseln sind unabhängig, wenn sie keine gemeinsamen Variablen enthalten. Stefan Ploner: Counting the Number of Satisfying Assignments 31/ 44

83 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Unabhängigkeit Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ Zwei Klauseln sind unabhängig, wenn sie keine gemeinsamen Variablen enthalten. Betrachte Φ als Menge von Klauseln. Eine Teilformel ψ Φ ist unabhängig, wenn die enthaltenen Klauseln paarweise unabhängig sind. Stefan Ploner: Counting the Number of Satisfying Assignments 31/ 44

84 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Unabhängigkeit Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ Zwei Klauseln sind unabhängig, wenn sie keine gemeinsamen Variablen enthalten. Betrachte Φ als Menge von Klauseln. Eine Teilformel ψ Φ ist unabhängig, wenn die enthaltenen Klauseln paarweise unabhängig sind. ψ ist maximal, wenn jede Klausel aus Φ mindestens eine Variable enthält, die in einer Klausel von ψ enthalten ist. Stefan Ploner: Counting the Number of Satisfying Assignments 31/ 44

85 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ ψ ist Teil von Φ Φ enthält weitere Klauseln, ist also restriktiver Stefan Ploner: Counting the Number of Satisfying Assignments 32/ 44

86 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ ψ ist Teil von Φ Φ enthält weitere Klauseln, ist also restriktiver S ψ S Φ Stefan Ploner: Counting the Number of Satisfying Assignments 32/ 44

87 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ ψ ist Teil von Φ Φ enthält weitere Klauseln, ist also restriktiver {0, 1} n S ψ S Φ Stefan Ploner: Counting the Number of Satisfying Assignments 32/ 44

88 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Ein neues Universum Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ ψ ist Teil von Φ Φ enthält weitere Klauseln, ist also restriktiver {0, 1} n S ψ S Φ Verwende S ψ als Universum für die Approximation von S Φ = #Φ weniger Wiederholungen Stefan Ploner: Counting the Number of Satisfying Assignments 32/ 44

89 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Ein neues Universum Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ ψ ist Teil von Φ Φ enthält weitere Klauseln, ist also restriktiver {0, 1} n S ψ S Φ Verwende S ψ als Universum für die Approximation von S Φ = #Φ weniger Wiederholungen Warum verwenden wir nicht gleich S Φ? Stefan Ploner: Counting the Number of Satisfying Assignments 32/ 44

90 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Ein neues Universum Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ ψ ist Teil von Φ Φ enthält weitere Klauseln, ist also restriktiver {0, 1} n S ψ S Φ Verwende S ψ als Universum für die Approximation von S Φ = #Φ weniger Wiederholungen Warum verwenden wir nicht gleich S Φ? Stichproben ziehen N P Stefan Ploner: Counting the Number of Satisfying Assignments 32/ 44

91 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Ziehen von uniform verteilten Stichproben aus S ψ {}}{{}}{ Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 {}}{ x 5 ) ψ Stefan Ploner: Counting the Number of Satisfying Assignments 33/ 44

92 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Ziehen von uniform verteilten Stichproben aus S ψ (1) (1) {}}{{}}{ Φ = (x 1 x 2 ) (x 3 x 4 ) } {{ } ψ (x 1 {}}{ x 5 ) 1 Für jede Klausel aus ψ, wähle uniform eine erfüllende Belegung der enthaltenen Variablen Stefan Ploner: Counting the Number of Satisfying Assignments 33/ 44

93 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Ziehen von uniform verteilten Stichproben aus S ψ (1) (1) {}}{{}}{ Φ = (x 1 x 2 ) (x 3 x 4 ) (x 1 } {{ } ψ (2) {}}{ x 5 ) 1 Für jede Klausel aus ψ, wähle uniform eine erfüllende Belegung der enthaltenen Variablen 2 Für alle anderen Variablen, wähle uniform eine Belegung Stefan Ploner: Counting the Number of Satisfying Assignments 33/ 44

94 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Monte-Carlo Counting im neuen Universum Wiederhole T mal Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ Für jede Variable Mit Wahrscheinlichkeit 1 : x 2 i := 1, sonst x i := 0 Werte Φ aus { 1 erfüllende Belegung X t = 0 sonst R = 1 T T t=1 X t Das Ergebnis ist R S ψ Stefan Ploner: Counting the Number of Satisfying Assignments 34/ 44

95 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Monte-Carlo Counting im neuen Universum Φ = (x 1 x 2 ) (x 3 x 4 ) (x }{{} 1 x 5 ) ψ Wiederhole T mal Für jede Klausel in ψ Würfle von 1 bis 2 k 1, setze die Literale entsprechend der Bits Für jede übrige Variable Mit Wahrscheinlichkeit 1 : x 2 i := 1, sonst x i := 0 Werte Φ aus { 1 erfüllende Belegung X t = 0 sonst R = 1 T T t=1 X t Das Ergebnis ist R S ψ Stefan Ploner: Counting the Number of Satisfying Assignments 34/ 44

96 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Laufzeit Monte-Carlo mit kleinerem Universum S ψ (2 k 1) ψ 2 n k ψ ψ = number of clauses in ψ Stefan Ploner: Counting the Number of Satisfying Assignments 35/ 44

97 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Laufzeit Monte-Carlo mit kleinerem Universum S ψ (2 k 1) ψ 2 n k ψ = }{{} 2 n (1 2 k ) }{{} = U Φ <1 ψ = number of clauses in ψ ψ Stefan Ploner: Counting the Number of Satisfying Assignments 35/ 44

98 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Laufzeit Monte-Carlo mit kleinerem Universum S ψ (2 k 1) ψ 2 n k ψ = }{{} 2 n (1 2 k ) }{{} = U Φ <1 ψ = number of clauses in ψ Es ergibt sich die Laufzeit ( ) 1 O ε 2 2n l (1 2 k ) ψ ψ Stefan Ploner: Counting the Number of Satisfying Assignments 35/ 44

99 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Was bringt uns das neue Universum S ψ im Worst-Case? ( ) 1 O ε 2 2n l (1 2 k ) ψ Stefan Ploner: Counting the Number of Satisfying Assignments 36/ 44

100 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Was bringt uns das neue Universum S ψ im Worst-Case? ( ) 1 O ε 2 2n l (1 2 k ) ψ Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) Stefan Ploner: Counting the Number of Satisfying Assignments 36/ 44

101 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Was bringt uns das neue Universum S ψ im Worst-Case? ( ) 1 O ε 2 2n l (1 2 k ) ψ Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) ψ = 1 (1 2 k ) 1 k:=2 = 3 4 ist im Worst-Case ein konstanter Faktor Die Ersparnis wird in O-Notation komplett vernachlässigt! Stefan Ploner: Counting the Number of Satisfying Assignments 36/ 44

102 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) Stefan Ploner: Counting the Number of Satisfying Assignments 37/ 44

103 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Rekursionsidee Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) = #Φ x1 =true + #Φ x1 =false (vgl. Elim.-Baum) Stefan Ploner: Counting the Number of Satisfying Assignments 37/ 44

104 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Rekursionsidee Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) = #Φ x1 =true + #Φ x1 =false (vgl. Elim.-Baum) Φ x1 =true = (true x 2 ) (true x 3 ) (false x 4 ) (false x 5 ) Φ x1 =false = (false x 2 ) (false x 3 ) (true x 4 ) (true x 5 ) Stefan Ploner: Counting the Number of Satisfying Assignments 37/ 44

105 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Rekursionsidee Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) = #Φ x1 =true + #Φ x1 =false (vgl. Elim.-Baum) Φ x1 =true = (true x 2 ) (true x 3 ) (false x 4 ) (false x 5 ) = (x 4 ) (x 5 ) Φ x1 =false = (false x 2 ) (false x 3 ) (true x 4 ) (true x 5 ) = (x 2 ) (x 3 ) Stefan Ploner: Counting the Number of Satisfying Assignments 37/ 44

106 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Rekursionsidee Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) #2-SAT = #Φ x1 =true + #Φ x1 =false (vgl. Elim.-Baum) Φ x1 =true = (true x 2 ) (true x 3 ) (false x 4 ) (false x 5 ) = (x 4 ) (x 5 ) #1-SAT Φ x1 =false = (false x 2 ) (false x 3 ) (true x 4 ) (true x 5 ) = (x 2 ) (x 3 ) #1-SAT Mehr, aber deutlich einfachere Instanzen! Stefan Ploner: Counting the Number of Satisfying Assignments 37/ 44

107 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Rekursion im Allgemeinen Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) Wenn ψ klein ist Belege alle Variablen aus ψ in allen erfüllbaren Kombinationen Löse die 2 k ψ Subprobleme der Größe n n k ψ aus (k 1)-#SAT Stefan Ploner: Counting the Number of Satisfying Assignments 38/ 44

108 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Rekursion im Allgemeinen Φ = (x 1 x 2 ) (x 1 x 3 ) (x 1 x 4 ) (x 1 x 5 ) Wenn ψ klein ist Belege alle Variablen aus ψ in allen erfüllbaren Kombinationen Löse die 2 k ψ Subprobleme der Größe n n k ψ aus (k 1)-#SAT Im Worst-Case (nur unabhängige Klauseln) würde das Verfahren (2 k 1) m < 2 n Subprobleme erzeugen Stefan Ploner: Counting the Number of Satisfying Assignments 38/ 44

109 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Hybrider(er) Algorithmus Berechne ψ nach dem Greedy-Prinzip Wenn ψ < ˆm: Wenn k 1 = 2: Verwende Wahlström s Algorithmus Sonst: Berechne rekursiv die Summe von #(k 1)-SAT aller ψ-erfüllenden Belegungen Sonst: Stefan Ploner: Counting the Number of Satisfying Assignments 39/ 44

110 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Hybrider(er) Algorithmus Berechne ψ nach dem Greedy-Prinzip Wenn ψ < ˆm: Wenn k 1 = 2: Verwende Wahlström s Algorithmus Sonst: Berechne rekursiv die Summe von #(k 1)-SAT aller ψ-erfüllenden Belegungen Sonst: Berechne zuerst einen l-cut l-cut existiert nicht: #Φ entspricht der Anzahl der Blätter im Schnitt l-cut existiert: l ist eine Untergrenze der Lösungen von Φ Starte MC mit der Untergrenze l und dem Universum U ψ Stefan Ploner: Counting the Number of Satisfying Assignments 39/ 44

111 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Hybrider(er) Algorithmus Berechne ψ nach dem Greedy-Prinzip Wenn ψ < ˆm: Wenn k 1 = 2: Verwende Wahlström s Algorithmus Sonst: Berechne rekursiv die Summe von #(k 1)-SAT aller ψ-erfüllenden Belegungen Sonst: Berechne zuerst einen l-cut l-cut existiert nicht: #Φ entspricht der Anzahl der Blätter im Schnitt l-cut existiert: l ist eine Untergrenze der Lösungen von Φ Starte MC mit der Untergrenze l und dem Universum U ψ Es gilt: Für die max. Anzahl rekursiver Aufrufe: (2 k 1) ψ (2 k 1) ˆm 1 Stefan Ploner: Counting the Number of Satisfying Assignments 39/ 44

112 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Hybrider(er) Algorithmus Berechne ψ nach dem Greedy-Prinzip Wenn ψ < ˆm: Wenn k 1 = 2: Verwende Wahlström s Algorithmus Sonst: Berechne rekursiv die Summe von #(k 1)-SAT aller ψ-erfüllenden Belegungen Sonst: ψ ˆm Berechne zuerst einen l-cut l-cut existiert nicht: #Φ entspricht der Anzahl der Blätter im Schnitt l-cut existiert: l ist eine Untergrenze der Lösungen von Φ Es gilt: Starte MC mit der Untergrenze l und dem Universum U ψ Für die max. Anzahl rekursiver Aufrufe: (2 k 1) ψ (2 k 1) ˆm 1 Für die min. Reduzierung des Universums:(1 2 k ) ψ (1 2 k ) ˆm U ψ = 2 n (1 2 k ) ψ Stefan Ploner: Counting the Number of Satisfying Assignments 39/ 44

113 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Optimierung von ˆm und l Wahlström O ( n ( ) ) Rekursion O (2 k 1) ˆm T(#(k 1)-SAT) ( ) l-cut O 2 β k n l 1 β k k log(2 k 1) ( ) 1 MC O ε 2 2n l (1 2 k ) ˆm 2-dimensionales Optimierungsproblem Die Parameter ˆm und l können wieder durch Null-Setzen der partiellen Ableitungen berechnet werden Stefan Ploner: Counting the Number of Satisfying Assignments 40/ 44

114 Unabhängige Klauseln und Rekursion Rekursion und Berechnung von ψ Worst-Case Laufzeiten des hybrid(er)en Algorithmus Unabh. Klauseln Verbesserter l-cut ursprünglicher l-cut k = 3 O (ε n ) O (ε n ) O (ε n ) k = 4 O (ε n ) O (ε n ) O (ε n ) Stefan Ploner: Counting the Number of Satisfying Assignments 41/ 44

115 Zusammenfassung 1 Einführung Was ist #k-sat? 2 Monte-Carlo Counting MC im Allgemeinen MC für #k-sat 3 l-cuts Eliminationsbäume l-cuts 4 Eliminationsbaum zurechtstutzen Verbesserung der Laufzeit zum Finden von l-cuts 5 Unabhängige Klauseln und Rekursion Wie man das Universum verkleinert... Rekursion und Berechnung von ψ 6 Zusammenfassung Stefan Ploner: Counting the Number of Satisfying Assignments 41/ 44

116 Zusammenfassung Zusammenfassung Stefan Ploner: Counting the Number of Satisfying Assignments 42/ 44

117 Zusammenfassung Ausblick Wir haben die Verwendung der randomisierten SAT-Solver nicht exakt analysiert. Deren Fehlerwahrscheinlichkeit kann mit Hilfe der Median of Means -Methode, also durch eine polynomielle Anzahl zusätzlicher Wiederholungen, klein genug gehalten werden. Dies hat keine Auswirkung auf die Laufzeit in O -Notation Stefan Ploner: Counting the Number of Satisfying Assignments 43/ 44

118 Zusammenfassung Ausblick Wir haben die Verwendung der randomisierten SAT-Solver nicht exakt analysiert. Deren Fehlerwahrscheinlichkeit kann mit Hilfe der Median of Means -Methode, also durch eine polynomielle Anzahl zusätzlicher Wiederholungen, klein genug gehalten werden. Dies hat keine Auswirkung auf die Laufzeit in O -Notation Für die Rekursion und die Verkleinerung des MC-Universums ist es nicht notwendig, ausschließlich Klauseln zu verwenden Solange die Länge der verwendeten Teilformeln konstant ist, kann die Anzahl an Lösungen ohne zusätzlichen asymptotischen Aufwand berechent werden Stefan Ploner: Counting the Number of Satisfying Assignments 43/ 44

119 Zusammenfassung Ausblick Wir haben die Verwendung der randomisierten SAT-Solver nicht exakt analysiert. Deren Fehlerwahrscheinlichkeit kann mit Hilfe der Median of Means -Methode, also durch eine polynomielle Anzahl zusätzlicher Wiederholungen, klein genug gehalten werden. Dies hat keine Auswirkung auf die Laufzeit in O -Notation Für die Rekursion und die Verkleinerung des MC-Universums ist es nicht notwendig, ausschließlich Klauseln zu verwenden Solange die Länge der verwendeten Teilformeln konstant ist, kann die Anzahl an Lösungen ohne zusätzlichen asymptotischen Aufwand berechent werden Beim Erstellen eines l-cuts muss der SAT-Solver sehr ähnliche Formeln lösen. Möglicherweise ließe sich das zugunsten einer besseren Laufzeit ausnutzen. Stefan Ploner: Counting the Number of Satisfying Assignments 43/ 44

120 Zusammenfassung Vielen Dank für die Aufmerksamkeit! Fragen? Stefan Ploner: Counting the Number of Satisfying Assignments 44/ 44

Algorithmen II Vorlesung am

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

Mehr

Approximations-Schemata, Estimator-Theorem, Expansion des Universums und Uniformes Sampling am Beispiel von # DNF

Approximations-Schemata, Estimator-Theorem, Expansion des Universums und Uniformes Sampling am Beispiel von # DNF Approximations-Schemata, Estimator-Theorem, Expansion des Universums und Uniformes Sampling am Beispiel von # DNF Sommerakademie 2007 Peter Zaspel Inhaltsverzeichnis 1 Einleitung 1 2 Übersicht 1 2.1 Definitionen

Mehr

NP-Vollständigkeit einiger Zahlprobleme

NP-Vollständigkeit einiger Zahlprobleme NP-Vollständigkeit einiger Zahlprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 22. Januar 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT Erfüllbarkeitsprobleme SAT (satisfiability problem) Eingabe: Formel F in konjunktiver Form. Frage: Gibt es eine Belegung x der Variablen in F mit F(x)=1? Beispiel: Begriffe erfüllbar satisfiable: Eigenschaft

Mehr

Probabilistische Pfadsuche

Probabilistische Pfadsuche Probabilistische Pfadsuche Frage: Existiert ein Pfad in G von s nach t? Deterministisch mit Breitensuche lösbar in Zeit O( V + E ). Erfordert allerdings auch Speicher Ω( V ). Algorithmus PATH EINGABE:

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element

Mehr

Proportional Symbol Maps

Proportional Symbol Maps Proportional Symbol Maps Florian Simon 8. Dezember, 2009 Proportional Symbol Maps Gegeben: Punkte p 1,..., p n R 2 mit zugeordneten Werten w 1,..., w n R Proportional Symbol Maps Gegeben: Punkte p 1,...,

Mehr

Ferien-Übungsblatt 8 Lösungsvorschläge

Ferien-Übungsblatt 8 Lösungsvorschläge Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Ferien-Übungsblatt 8 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Probabilistische Komplexitätsklassen [vgl.

Mehr

Maximum and Minimum Satisfiability Problem

Maximum and Minimum Satisfiability Problem and Lehrstuhl für Wissensverarbeitung und Informationssysteme Universität Potsdam 25. Januar 2006 Agenda 1 2 3 I Erfüllbarkeitsproblem der Aussagenlogik : Aussagenlogische Formel auf Erfüllbarkeit prüfen

Mehr

Die Probabilistische Methode

Die Probabilistische Methode Die Probabilistische Methode Wladimir Fridman 233827 Hauptseminar im Sommersemester 2004 Extremal Combinatorics Zusammenfassung Die Probabilistische Methode ist ein mächtiges Werkzeug zum Führen von Existenzbeweisen.

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 20. Vorlesung 12.01.2007 1 Komplexitätstheorie - Zeitklassen Die Komplexitätsklassen TIME DTIME, NTIME P NP Das Cook-Levin-Theorem Polynomial-Zeit-Reduktion

Mehr

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21. Theorie der Informatik 19. Mai 2014 21. einige NP-vollständige Probleme Theorie der Informatik 21. einige NP-vollständige Probleme 21.1 Übersicht 21.2 Malte Helmert Gabriele Röger 21.3 Graphenprobleme

Mehr

5. Spezielle stetige Verteilungen

5. Spezielle stetige Verteilungen 5. Spezielle stetige Verteilungen 5.1 Stetige Gleichverteilung Eine Zufallsvariable X folgt einer stetigen Gleichverteilung mit den Parametern a und b, wenn für die Dichtefunktion von X gilt: f x = 1 für

Mehr

Polynomialzeit- Approximationsschema

Polynomialzeit- Approximationsschema Polynomialzeit- Approximationsschema 27.01.2012 Elisabeth Sommerauer, Nicholas Höllermeier Inhalt 1.NP-Vollständigkeit Was ist NP-Vollständigkeit? Die Klassen P und NP Entscheidungsproblem vs. Optimierungsproblem

Mehr

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2) Formale Grundlagen der Informatik 1 Kapitel 23 (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 5. Juli 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/37 Die Klassen P und NP P := {L

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 28. Aussagenlogik: DPLL-Algorithmus Malte Helmert Universität Basel 2. Mai 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26. Grundlagen 27. Logisches

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker Vorlesung 5: Normalformen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 2. November 2017 1/37 MOTIVATION FÜR AUSSAGENLOGIK Aussagenlogik

Mehr

Kochrezept für NP-Vollständigkeitsbeweise

Kochrezept für NP-Vollständigkeitsbeweise Kochrezept für NP-Vollständigkeitsbeweise Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 11. Januar 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität) Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration

Mehr

NP-Vollständigkeit des Erfüllbarkeitsproblems

NP-Vollständigkeit des Erfüllbarkeitsproblems NP-Vollständigkeit des Erfüllbarkeitsproblems Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 25 Def: NP-Härte Definition (NP-Härte) Ein Problem L heißt NP-hart,

Mehr

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 9. Juni 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/36 Ersetzbarkeitstheorem

Mehr

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 11. Januar 2008 Wiederholung

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

Einige Grundlagen der Komplexitätstheorie

Einige Grundlagen der Komplexitätstheorie Deterministische Polynomialzeit Einige Grundlagen der Komplexitätstheorie Ziel: NP-Vollständigkeit als ressourcenbeschränktes Analagon zur RE-Vollständigkeit. Komplexitätstheorie untersucht den Ressourcenbedarf

Mehr

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

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

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Wiederholung. Divide & Conquer Strategie

Wiederholung. Divide & Conquer Strategie Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 23. Vorlesung 25.01.2007 1 NP-Vollständigkeit Definition: Eine Sprache S ist NP-vollständig, wenn: S NP S ist NP-schwierig, d.h. für alle L

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

Mehr

Algorithmische Spieltheorie

Algorithmische Spieltheorie Algorithmische Spieltheorie Grundlagen der Komplexitätstheorie Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00

Mehr

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 26 Optimierungsprobleme und ihre Entscheidungsvariante Beim Rucksackproblem

Mehr

Einführung in das Seminar Algorithmentechnik

Einführung in das Seminar Algorithmentechnik Einführung in das Seminar Algorithmentechnik 10. Mai 2012 Henning Meyerhenke, Roland Glantz 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Roland undglantz: nationales Einführung Forschungszentrum

Mehr

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an. 2.5 Suchen Eine Menge S will nach einem Element durchsucht werden. Die Menge S ist statisch und S = n. S ist Teilmenge eines Universums auf dem eine lineare Ordnung definiert ist und soll so gespeichert

Mehr

Punktbeschriftung in Landkarten

Punktbeschriftung in Landkarten Vorlesung Algorithmische Kartografie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 07.05.2013 Klassische Kartenbeschriftung Poor, sloppy, amateurisch

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

Berechenbarkeits- und Komplexitätstheorie

Berechenbarkeits- und Komplexitätstheorie Berechenbarkeits- und Komplexitätstheorie Lerneinheit 5: Die Klasse NP Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2015/2016 26.9.2015 Einleitung Thema dieser Lerneinheit

Mehr

Typischerweise sind randomisierte Algorithmen einfacher zu beschreiben und zu implementieren als deterministische Algorithmen.

Typischerweise sind randomisierte Algorithmen einfacher zu beschreiben und zu implementieren als deterministische Algorithmen. Kapitel Randomisierte Algorithmen Einleitung Definition: Ein Algorithmus, der im Laufe seiner Ausführung gewisse Entscheidungen zufällig trifft, heisst randomisierter Algorithmus. Beispiel: Bei der randomisierten

Mehr

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Theorie Parameterschätzung Ausblick. Schätzung. Raimar Sandner. Studentenseminar "Statistische Methoden in der Physik"

Theorie Parameterschätzung Ausblick. Schätzung. Raimar Sandner. Studentenseminar Statistische Methoden in der Physik Studentenseminar "Statistische Methoden in der Physik" Gliederung 1 2 3 Worum geht es hier? Gliederung 1 2 3 Stichproben Gegeben eine Beobachtungsreihe x = (x 1, x 2,..., x n ): Realisierung der n-dimensionalen

Mehr

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Kapitel 2. Weitere Beispiele Effizienter Algorithmen Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte

Mehr

Übung 4: Aussagenlogik II

Übung 4: Aussagenlogik II Übung 4: Aussagenlogik II Diskrete Strukturen im Wintersemester 2013/2014 Markus Kaiser 8. Januar 2014 1/10 Äquivalenzregeln Identität F true F Dominanz F true true Idempotenz F F F Doppelte Negation F

Mehr

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016 Algorithmen und Datenstrukturen Übung Stefan Florian Palkovits, BSc 09 e09@student.tuwien.ac.at 9. Juni 0 Aufgabe 9: Anwenden der Spanning Tree Heuristik auf symmetrisches TSP 9 8 7 8 8 7 Bilden eines

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele

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

Vorlesung Theoretische Informatik (Info III)

Vorlesung Theoretische Informatik (Info III) 1 Vorlesung Theoretische Informatik (Info III) Prof. Dr. Dorothea Wagner Dipl.-Math. Martin Holzer 20. Dezember 2007 Einleitung Motivation 2 Thema heute Relative Approximation (Forts.) Approximationsschemata

Mehr

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes. Turingmaschinen Wir haben Turingmaschinen eingeführt. Bis auf einen polynomiellen Anstieg der Rechenzeit haben Turingmaschinen die Rechenkraft von parallelen Supercomputern! Statt Turingmaschinen anzugeben,

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

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift 10. Komplexitätstheorie Theoretische Informatik Mitschrift Klassifikation algorithmischer Probleme (formalisiert als Sprachen) nach ihrem Bedarf an Berechnungsressourcen (= Rechenzeit, Speicherplatz als

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

Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15

Logik. Gabriele Kern-Isberner LS 1 Information Engineering. TU Dortmund Wintersemester 2014/15 WS 2014/15 Logik Gabriele Kern-Isberner LS 1 Information Engineering TU Dortmund Wintersemester 2014/15 WS 2014/15 G. Kern-Isberner (TU Dortmund) Logik WS 2014/15 1 / 125 Übersicht Modallogik 5. Grundlagen 6. Erfüllbarkeit

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

Mehr

1 Aussagenlogik AL: Verknüpfung von Aussagen

1 Aussagenlogik AL: Verknüpfung von Aussagen 1 Aussagenlogik AL: Verknüpfung von Aussagen Syntax atomare Formeln A,B,C sind AL-Formeln F und G AL-Formeln (F G),(F G) und F AL-Formeln müssen in endlich vielen Schritten gebildet werden können echtes

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Komplexitätstheorie Nico Döttling 8. Januar 2010 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in

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

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 4 07.05.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Gestern Normalformen Atome, Literale, Klauseln Konjunktive

Mehr

Rucksackproblem und Verifizierbarkeit

Rucksackproblem und Verifizierbarkeit Rucksackproblem und Verifizierbarkeit Gegeben: n Gegenstände mit Gewichten G={g 1,g 2,,g n } und Werten W={w 1,w 2,,w n } sowie zulässiges Gesamtgewicht g. Gesucht: Teilmenge S {1,,n} mit i i S unter der

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

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

Aufgaben aus den Übungsgruppen 8(Lösungsvorschläge)

Aufgaben aus den Übungsgruppen 8(Lösungsvorschläge) Universität des Saarlandes Theoretische Informatik (WS 2015) Fakultät 6.2 Informatik Team der Tutoren Aufgaben aus den Übungsgruppen 8(Lösungsvorschläge) 1 Berechenbarkeitstheorie Aufgabe 8.1 (Wahr oder

Mehr

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =.

Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n i =. 2. Der Blum-Floyd-Pratt-Rivest-Tarjan Selektions-Algorithmus Definition 77 Sei n N. Der Median (das mittlere Element) einer total geordneten Menge von n Elementen ist deren i-kleinstes Element, wobei n

Mehr

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 13

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 13 Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 13 Übungsblatt Wir unterscheiden

Mehr

KESS - Die Komplexität evolutionär stabiler Strategien

KESS - Die Komplexität evolutionär stabiler Strategien KESS - Die Komplexität evolutionär stabiler Strategien Andreas Lochbihler Universität Karlsruhe (TH) 0..008 K. Etessami, A. Lochbihler: The computational complexity of evolutionarily stable strategies.

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 http://www.inf.uni-konstanz.de/algo/lehre/ss08/info2 Sommersemester 2008 Sven

Mehr

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z} u v u v z w z w y x y x Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z} Definition 0.0.1 (Vertex Cover (VC)). Gegeben: Ein ungerichteter

Mehr

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016 Algorithmen und Datenstrukturen 2 Übung 1 Stefan Florian Palkovits, BSc 0926364 e0926364@student.tuwien.ac.at 12. Juni 2016 Aufgabe 1: Es existiert eine Reduktion von Problem A auf Problem B in O(n 3 +

Mehr

Vertiefung NWI: 8. Vorlesung zur Wahrscheinlichkeitstheorie

Vertiefung NWI: 8. Vorlesung zur Wahrscheinlichkeitstheorie Fakultät für Mathematik Prof. Dr. Barbara Gentz SS 2013 Vertiefung NWI: 8. Vorlesung zur Wahrscheinlichkeitstheorie Mittwoch, 5.6.2013 8. Unabhängigkeit von Zufallsgrößen, Erwartungswert und Varianz 8.1

Mehr

Wahrscheinlichkeitstheorie und Statistik

Wahrscheinlichkeitstheorie und Statistik Wahrscheinlichkeitstheorie und Statistik Definitionen und Sätze Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 2018 2.5.2018 Diskrete Wahrscheinlichkeitsräume Diskreter

Mehr

Übersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4)

Übersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4) Datenstrukturen und Algorithmen Vorlesung 3: (K4) 1 e für rekursive Algorithmen Prof. Dr. Erika Ábrahám 2 Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/

Mehr

Logik Vorlesung 5: Grundlagen Resolution

Logik Vorlesung 5: Grundlagen Resolution Logik Vorlesung 5: Grundlagen Resolution Andreas Maletti 21. November 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen Weitere

Mehr

Logische und funktionale Programmierung

Logische und funktionale Programmierung Logische und funktionale Programmierung Vorlesung 2 und 3: Resolution Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 3. November 2017 1/43 HERBRAND-STRUKTUR Sei

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Kapitel 1 Markus Lohrey Universität Leipzig http://www.informatik.uni-leipzig.de/~lohrey/rand WS 2005/2006 Markus Lohrey (Universität Leipzig) Randomisierte Algorithmen WS 2005/2006

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker Vorlesung 6: Modellierung Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 1/30 MOTIVATION FÜR AUSSAGENLOGIK Aussagenlogik erlaubt Repräsentation

Mehr

Randomisierte Algorithmen

Randomisierte Algorithmen Randomisierte Algorithmen Randomisierte Algorithmen 7. Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2018/2019 1 / 43 Überblick Überblick Ein randomisierter Algorithmus

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V7, 5.12.2011 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

Mehr

Rundreiseproblem und Stabilität von Approximationsalg.

Rundreiseproblem und Stabilität von Approximationsalg. Das Rundreiseproblem und Stabilität von Approximationsalgorithmen Friedrich Alexander Universität Erlangen-Nürnberg Seminar Perlen der theoretischen Informatik, 2008-01-19 http://verplant.org/uni/perlen/

Mehr

Diskrete Strukturen Wiederholungsklausur

Diskrete Strukturen Wiederholungsklausur Technische Universität München (I7) Winter 2013/14 Prof. J. Esparza / Dr. M. Luttenberger LÖSUNG Diskrete Strukturen Wiederholungsklausur Beachten Sie: Soweit nicht anders angegeben, ist stets eine Begründung

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr Definition 6 3SAT ist die Menge der booleschen Formeln in konjunktiver Normalform, die in jeder Klausel höchstens drei Literale enthalten und die erfüllbar sind. Satz 7 3SAT ist N P-vollständig. Info IV

Mehr

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P Die Klassen Formale Grundlagen der Informatik 1 Kapitel 11 Frank Heitmann heitmann@informatik.uni-hamburg.de P := {L es gibt ein Polynom p und eine p(n)-zeitbeschränkte DTM A mit L(A) = L} = i 1 DTIME(n

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Reelle Komplexität - Grundlagen II

Reelle Komplexität - Grundlagen II Reelle Komplexität - Grundlagen II Julian Bitterlich Themenübersicht: Beziehungen zwischen den Komplexitätsklassen Savitchs Theorem conp und Charakterisierungen von NP und conp Reduktion, Vollständigkeit,

Mehr

Künstliche Intelligenz Logische Agenten & Resolution

Künstliche Intelligenz Logische Agenten & Resolution Künstliche Intelligenz Logische Agenten & Resolution Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Inferenz-Algorithmus Wie könnte ein

Mehr

Satz 61 (Chebyshev-Ungleichung)

Satz 61 (Chebyshev-Ungleichung) Die folgende Abschätzung ist nach Pavnuty Lvovich Chebyshev (1821 1894) benannt, der ebenfalls an der Staatl. Universität in St. Petersburg wirkte. Satz 61 (Chebyshev-Ungleichung) Sei X eine Zufallsvariable,

Mehr

Das Rucksackproblem. Definition Sprache Rucksack. Satz

Das Rucksackproblem. Definition Sprache Rucksack. Satz Das Rucksackproblem Definition Sprache Rucksack Gegeben sind n Gegenstände mit Gewichten W = {w 1,...,w n } N und Profiten P = {p 1,...,p n } N. Seien ferner b, k N. RUCKSACK:= {(W, P, b, k) I [n] : i

Mehr

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln

Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Hornformeln Formale Grundlagen der Informatik 1 Kapitel 15 Normalformen und Frank Heitmann heitmann@informatik.uni-hamburg.de 30. Mai 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/42 Zusammenfassung Syntax

Mehr

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0 Das SAT Problem oder Erfüllbarkeitsproblem Formale Systeme Prof. Dr. Bernhard Beckert Fakultät für Informatik Universität Karlsruhe TH SAT Instanz: Eine aussagenlogische Formel F For 0 Frage: Ist F erfüllbar?

Mehr

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener

Seminar: Randomisierte Algorithmen Auswerten von Spielbäumen Nele Küsener Seminar: Randomisierte Algorithmen Auswerten von Sielbäumen Nele Küsener In diesem Vortrag wird die Laufzeit von Las-Vegas-Algorithmen analysiert. Das Ergebnis ist eine obere und eine untere Schranke für

Mehr

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin Helmut Veith Technische Universität München Organisatorisches Anmeldung zur Lehrveranstaltung: complexity@tiki.informatik.tu-muenchen.de

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Kapitel III Selektieren und Sortieren

Kapitel III Selektieren und Sortieren Kapitel III Selektieren und Sortieren 1. Einleitung Gegeben: Menge S von n Elementen aus einem total geordneten Universum U, i N, 1 i n. Gesucht: i-kleinstes Element in S. Die Fälle i = 1 bzw. i = n entsprechen

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

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP Formale Grundlagen der Informatik 1 Kapitel 21 Frank Heitmann heitmann@informatik.uni-hamburg.de 28. Juni Frank Heitmann heitmann@informatik.uni-hamburg.de 1/41 Die Klassen Probleme in P := {L es gibt

Mehr

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1 NP-vollständige Probleme Michael Budahn - Theoretische Informatik 1 Motivation Michael Budahn - Theoretische Informatik 2 Motivation viele praxisrelevante Probleme sind NPvollständig und eine Lösung würde

Mehr

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

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