the satisfiability problem and its impact
play

The SATisfiability problem and its impact Agostino Dovier Dept of - PowerPoint PPT Presentation

The SAT problem P versus NP SAT SOLVING The SATisfiability problem and its impact Agostino Dovier Dept of Mathematics, Computer Science, and Physics University of Udine Udine (Italy) TRIESTE, June 19 2019 Agostino Dovier SAT and its


  1. The SAT problem P versus NP SAT SOLVING The SATisfiability problem and its impact Agostino Dovier Dept of Mathematics, Computer Science, and Physics University of Udine Udine (Italy) TRIESTE, June 19 2019 Agostino Dovier SAT and its impact

  2. The SAT problem P versus NP SAT SOLVING Summary The SAT problem The role of SAT in the millenium problem P vs NP SAT solving, in brief Reduction to SAT A logic language for NP Agostino Dovier SAT and its impact

  3. The SAT problem P versus NP SAT SOLVING SAT Given a set of Boolean variables X = { X 1 , . . . , X n } and a propositional formula in “CNF” built on X : Φ = ( ℓ 1 1 ∨ · · · ∨ ℓ 1 n 1 ) ∧ · · · ∧ ( ℓ k 1 ∨ · · · ∨ ℓ k n k ) where every ℓ i j is a variable X p or its negation ¬ X p The SATisfiability problem is that of establishing the existence of an assignment true/false (1/0) to the variables so as to make Φ true (1). In this case the assignment is said a solution. Remember that: ¬ 0 = 1 , ¬ 1 = 0 0 ∨ 0 = 0 , 0 ∨ 1 = 1 ∨ 0 = 1 ∨ 1 = 1 0 ∧ 0 = 0 ∧ 1 = 1 ∧ 0 = 0 , 1 ∧ 1 = 1 Agostino Dovier SAT and its impact

  4. The SAT problem P versus NP SAT SOLVING SAT Example (X 1 ∨ ¬X 2 ) (¬X 1 ∨ X 2 ∨ ¬X 3 ) (¬X 1 ∨ ¬X 2 ∨ X 3 ) (¬X 1 ∨ ¬X 2 ∨ ¬X 3 ) 1. Given a guess, verifying it is easy. 2. The number of guesses is “huge” (2 |X| ). Agostino Dovier SAT and its impact

  5. The SAT problem P versus NP SAT SOLVING SAT Example (X 1 ∨ ¬X 2 ) (¬X 1 ∨ X 2 ∨ ¬X 3 ) (¬X 1 ∨ ¬X 2 ∨ X 3 ) (¬X 1 ∨ ¬X 2 ∨ ¬X 3 ) X 1 =1 1. Given a guess, verifying it is easy. 2. The number of guesses is “huge” (2 |X| ). Agostino Dovier SAT and its impact

  6. The SAT problem P versus NP SAT SOLVING SAT Example (X 1 ∨ ¬X 2 ) (¬X 1 ∨ X 2 ∨ ¬X 3 ) (¬X 1 ∨ ¬X 2 ∨ X 3 ) (¬X 1 ∨ ¬X 2 ∨ ¬X 3 ) X 1 =1 X 2 =1 1. Given a guess, verifying it is easy. 2. The number of guesses is “huge” (2 |X| ). Agostino Dovier SAT and its impact

  7. The SAT problem P versus NP SAT SOLVING SAT Example (X 1 ∨ ¬X 2 ) (¬X 1 ∨ X 2 ∨ ¬X 3 ) (¬X 1 ∨ ¬X 2 ∨ X 3 ) (¬X 1 ∨ ¬X 2 ∨ ¬X 3 ) X 1 =1 X 2 =1 X 3 =1 1. Given a guess, verifying it is easy. 2. The number of guesses is “huge” (2 |X| ). Agostino Dovier SAT and its impact

  8. The SAT problem P versus NP SAT SOLVING SAT Example (X 1 ∨ ¬X 2 ) (¬X 1 ∨ X 2 ∨ ¬X 3 ) (¬X 1 ∨ ¬X 2 ∨ X 3 ) (¬X 1 ∨ ¬X 2 ∨ ¬X 3 ) X 1 =1 X 2 =1 X 3 =0 1. Given a guess, verifying it is easy. 2. The number of guesses is “huge” (2 |X| ). Agostino Dovier SAT and its impact

  9. The SAT problem P versus NP SAT SOLVING SAT Example (X 1 ∨ ¬X 2 ) (¬X 1 ∨ X 2 ∨ ¬X 3 ) (¬X 1 ∨ ¬X 2 ∨ X 3 ) (¬X 1 ∨ ¬X 2 ∨ ¬X 3 ) X 1 =1 X 3 =0 X 2 =0 1. Given a guess, verifying it is easy. 2. The number of guesses is “huge” (2 |X| ). Agostino Dovier SAT and its impact

  10. The SAT problem P versus NP SAT SOLVING SAT Is CNF important? ((( X 1 ∧ X 2 ) ∨ ( X 3 ∧ ¬ X 4 )) ∧ ( X 6 ∨ ( X 7 ∧ ¬ X 8 ))) ∨ X 9 ( ∗ ) (( A ∨ B ) ∧ ( X 6 ∨ C )) ∨ X 9 ( ∗ ) A ↔ ( X 1 ∧ X 2 ) B ↔ ( X 3 ∧ ¬ X 4 ) C ↔ ( X 7 ∧ ¬ X 8 ) ( D ∧ E ) ∨ X 9 ( ∗ ) D ↔ ( A ∨ B ) E ↔ ( X 6 ∨ C ) F ∨ X 9 F ↔ ( D ∧ E ) Agostino Dovier SAT and its impact

  11. The SAT problem P versus NP SAT SOLVING SAT Is CNF important? ((( X 1 ∧ X 2 ) ∨ ( X 3 ∧ ¬ X 4 )) ∧ ( X 6 ∨ ( X 7 ∧ ¬ X 8 ))) ∨ X 9 ( ∗ ) (( A ∨ B ) ∧ ( X 6 ∨ C )) ∨ X 9 ( ∗ ) A ↔ ( X 1 ∧ X 2 ) B ↔ ( X 3 ∧ ¬ X 4 ) C ↔ ( X 7 ∧ ¬ X 8 ) ( D ∧ E ) ∨ X 9 ( ∗ ) D ↔ ( A ∨ B ) E ↔ ( X 6 ∨ C ) F ∨ X 9 F ↔ ( D ∧ E ) Agostino Dovier SAT and its impact

  12. The SAT problem P versus NP SAT SOLVING SAT Is CNF important? ((( X 1 ∧ X 2 ) ∨ ( X 3 ∧ ¬ X 4 )) ∧ ( X 6 ∨ ( X 7 ∧ ¬ X 8 ))) ∨ X 9 ( ∗ ) (( A ∨ B ) ∧ ( X 6 ∨ C )) ∨ X 9 ( ∗ ) A ↔ ( X 1 ∧ X 2 ) B ↔ ( X 3 ∧ ¬ X 4 ) C ↔ ( X 7 ∧ ¬ X 8 ) ( D ∧ E ) ∨ X 9 ( ∗ ) D ↔ ( A ∨ B ) E ↔ ( X 6 ∨ C ) F ∨ X 9 F ↔ ( D ∧ E ) Agostino Dovier SAT and its impact

  13. The SAT problem P versus NP SAT SOLVING SAT Is CNF important? ((( X 1 ∧ X 2 ) ∨ ( X 3 ∧ ¬ X 4 )) ∧ ( X 6 ∨ ( X 7 ∧ ¬ X 8 ))) ∨ X 9 ( ∗ ) (( A ∨ B ) ∧ ( X 6 ∨ C )) ∨ X 9 ( ∗ ) A ↔ ( X 1 ∧ X 2 ) B ↔ ( X 3 ∧ ¬ X 4 ) C ↔ ( X 7 ∧ ¬ X 8 ) ( D ∧ E ) ∨ X 9 ( ∗ ) D ↔ ( A ∨ B ) E ↔ ( X 6 ∨ C ) F ∨ X 9 F ↔ ( D ∧ E ) Agostino Dovier SAT and its impact

  14. The SAT problem P versus NP SAT SOLVING SAT Is CNF important? Where U ↔ ( V ∧ Z ) = U → ( V ∧ Z ) ∧ ( V ∧ Z ) → U = ( ¬ U ∨ V ) ∧ ( ¬ U ∨ Z ) ∧ ( ¬ V ∨ ¬ Z ∨ U ) and U ↔ ( V ∨ Z ) = U → ( V ∨ Z ) ∧ ( V ∨ Z ) → U = ( ¬ U ∨ V ∨ Z ) ∧ ( ¬ V ∨ U ) ∧ ( ¬ Z ∨ U ) No, CNF is not important. Agostino Dovier SAT and its impact

  15. The SAT problem P versus NP SAT SOLVING SAT Is CNF important? Where U ↔ ( V ∧ Z ) = U → ( V ∧ Z ) ∧ ( V ∧ Z ) → U = ( ¬ U ∨ V ) ∧ ( ¬ U ∨ Z ) ∧ ( ¬ V ∨ ¬ Z ∨ U ) and U ↔ ( V ∨ Z ) = U → ( V ∨ Z ) ∧ ( V ∨ Z ) → U = ( ¬ U ∨ V ∨ Z ) ∧ ( ¬ V ∨ U ) ∧ ( ¬ Z ∨ U ) No, CNF is not important. Agostino Dovier SAT and its impact

  16. The SAT problem P versus NP SAT SOLVING SAT What about DNF? ( X 1 ∧ ¬ X 2 ∧ X 3) ∨ ( ¬ X 1 ∧ X 2 ) ∨ · · · SAT on DNF is trivial. DNF is simply a description of the solutions. Agostino Dovier SAT and its impact

  17. The SAT problem P versus NP SAT SOLVING The G¨ odel letter (to von Neumann) https://rjlipton.wordpress.com/the-gdel-letter/ (1906–1978) (1903–1957) Agostino Dovier SAT and its impact

  18. The SAT problem P versus NP SAT SOLVING The G¨ odel letter (to von Neumann) https://rjlipton.wordpress.com/the-gdel-letter/ Princeton, 20 March 1956 Lieber Herr v. Neumann: With the greatest sorrow I have learned of your illness. [...] I would like to allow myself to write you about a mathematical problem, of which your opinion would very much interest me: One can obviously easily construct a Turing machine, which for every formula F in first order predicate logic and every natural number n , allows one to decide if there is a proof of F of length n (length = number of symbols). Let ψ ( F , n ) be the number of steps the machine requires for this and let ϕ ( n ) = max F ψ ( F , n ). The question is how fast ϕ ( n ) grows for an optimal machine. [...] If there really were a machine with ϕ ( n ) ∼ kn (or even ∼ kn 2 ), this would have consequences of the greatest importance. Namely, it would obviously mean that in spite of the undecidability of the Entscheidungsproblem, the mental work of a mathematician concerning Yes-or-No questions could be completely replaced by a machine. [...] Now it seems to me, however, to be completely within the realm of possibility that ϕ ( n ) grows that slowly. [...] Agostino Dovier SAT and its impact Sincerely yours,

  19. The SAT problem P versus NP SAT SOLVING SAT and G¨ odel The formula Φ = ( X 1 ∨ ¬ X 2 ∨ X 3 ) ∧ ( ¬ X 1 ∨ X 2 ) can be viewed “al la G¨ odel” as � � F = ∃ X 1 ∃ X 2 ∃ X 3 ( p ( X 1 ) ∨ ¬ p ( X 2 ) ∨ p ( X 3 )) ∧ ( ¬ p ( X 1 ) ∨ p ( X 2 )) G¨ odel was optimistic on the existence of a polynomial algorithms (even linear or quadratic) for SAT solving. We don’t know what von Neumann had thought 60 years later we don’t know whether G¨ odel guess is true or false. Agostino Dovier SAT and its impact

  20. The SAT problem P versus NP SAT SOLVING The class P A problem/language L ⊆ Σ ∗ belongs to the class P if there are an algorithm A and a polynomial p such that for each x ∈ Σ ∗ : x ∈ L ↔ A ( x ) = yes and every computation of A halts in at most p ( | x | ) steps. A , briefly, is said polynomial algorithm. E.g., A runs in time O ( n ) , O ( n log n ) , O ( n 2 ) , O ( n 3 ), etc. Example PAL = { x ∈ Σ ∗ : x is palindrome } . Agostino Dovier SAT and its impact

  21. The SAT problem P versus NP SAT SOLVING The class NP A problem/language L ⊆ Σ ∗ belongs to the class NP if there are a polynomial algorithm A and a polinomial q such that for each x ∈ Σ ∗ : x ∈ L ↔ ∃ c ∈ Σ q ( | x | ) � � A ( x , c ) = yes c is said guess for x , of size bounded by q ( | x | ) that allows us to verify if x ∈ L in polynomial time. Example: SAT. In this case the guess is a variable assignment X 1 / 0 , X 2 / 1 , . . . , X n / 1. Let us observe that the search space for the guess can be of exponenzial size w.r.t. | x | . Thus, a simple enumeration might lead to exponential time decision algorithms for problems in NP. Agostino Dovier SAT and its impact

  22. The SAT problem P versus NP SAT SOLVING The class NP A problem/language L ⊆ Σ ∗ belongs to the class NP if there are a polynomial algorithm A and a polinomial q such that for each x ∈ Σ ∗ : x ∈ L ↔ ∃ c ∈ Σ q ( | x | ) � � A ( x , c ) = yes c is said guess for x , of size bounded by q ( | x | ) that allows us to verify if x ∈ L in polynomial time. Example: SAT. In this case the guess is a variable assignment X 1 / 0 , X 2 / 1 , . . . , X n / 1. Let us observe that the search space for the guess can be of exponenzial size w.r.t. | x | . Thus, a simple enumeration might lead to exponential time decision algorithms for problems in NP. Agostino Dovier SAT and its impact

  23. The SAT problem P versus NP SAT SOLVING P vs EXPTIME Agostino Dovier SAT and its impact

Recommend


More recommend