Counting the Number of Satisfying Assignments
|
|
- Angelika Fertig
- vor 5 Jahren
- Abrufe
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..03 Randomisierte Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrApproximations-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
MehrNP-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
MehrErfü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
MehrProbabilistische 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:
Mehr1. 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
MehrProportional 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,...,
MehrFerien-Ü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.
MehrMaximum 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
MehrDie 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.
MehrInformatik 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
MehrTheorie 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
Mehr5. 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
MehrPolynomialzeit- 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
MehrFormale 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
MehrGrundlagen 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
MehrLö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
MehrLogik 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
MehrKochrezept 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
MehrAlgorithmenbegriff: 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
MehrNP-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,
MehrFormale 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
MehrBerechenbarkeit 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
MehrDiskrete 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
MehrEinige 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
MehrProbleme 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
MehrKapitel 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
MehrAlgorithmische 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
MehrWiederholung. 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
MehrInformatik 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
MehrRandomisierte 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
MehrAlgorithmische 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
MehrDie 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
MehrEinfü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
MehrEin 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
MehrPunktbeschriftung 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
MehrGrundlagen 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
MehrBerechenbarkeits- 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
MehrTypischerweise 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
MehrDie 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
MehrTheorie 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
MehrKapitel 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 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
MehrAlgorithmen 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
MehrDas 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
MehrEinfü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.
MehrVorlesung 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
MehrStatt 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,
MehrWie 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!
MehrTheoretische 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
MehrTheoretische Informatik Mitschrift
10. Komplexitätstheorie Theoretische Informatik Mitschrift Klassifikation algorithmischer Probleme (formalisiert als Sprachen) nach ihrem Bedarf an Berechnungsressourcen (= Rechenzeit, Speicherplatz als
MehrNP-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.
MehrLogik. 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
MehrDas 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.
Mehr1 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 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
MehrLogik 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
MehrLogik 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
MehrRucksackproblem 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
MehrEntscheidungsbä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
MehrDas 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
MehrDas 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
MehrAufgaben 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
MehrDefinition 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
MehrEinfü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
MehrKESS - 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.
MehrEinfü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
MehrAbbildung 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
MehrAlgorithmen 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 +
MehrVertiefung 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
MehrWahrscheinlichkeitstheorie 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)
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/
MehrLogik 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
MehrLogische 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
MehrRandomisierte 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
MehrLogik 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
MehrRandomisierte 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
MehrWillkommen 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
MehrRundreiseproblem 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/
MehrDiskrete 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
MehrAlgorithmische 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
MehrSatz 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
MehrDie 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
MehrTheoretische 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
MehrReelle 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,
MehrKü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
MehrSatz 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,
MehrDas 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
MehrFormale 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
MehrDas 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?
MehrSeminar: 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
MehrKomplexitä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
MehrAlgorithmische 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
MehrKapitel 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
Mehrabgeschlossen 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
MehrFormale 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
MehrNP-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
Mehr12. 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
MehrKapitel 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