informatics 1
play

Informatics 1 SATisfaction revision Michael Fourman 1 0 1 1 - PowerPoint PPT Presentation

Informatics 1 SATisfaction revision Michael Fourman 1 0 1 1 B for booleans A B = 0 A iff A B S If we have a chain of n-1 implications R between n variables we can draw the line in n+1 places making


  1. Informatics 1 SATisfaction revision Michael Fourman 1

  2. 0 ≤ 1 ⊥ ≤ ⊤ 1 B for booleans A → B = ⊤ 0 A iff A ≤ B

  3. ⊤ S If we have a chain of n-1 implications R between n variables we can draw the line in n+1 places making any number, from 0 to n, of these variables true. Q P ⊥

  4. ⊤ S If some of the variables are negated we can do ¬R the same (but making the negated variables false when they fall above the line and true Q when they fall below) ¬P ⊥

  5. ⊤ If a variable appears together with its S negation, we have to draw the line between P them. Here, P must be true. Q (¬P → P) → P ¬P is a tautology ⊥

  6. ⊤ If a variable appears together with its S negation, we have to draw the line between ¬R them. Here, R must be false. Q (R → ¬R) → ¬R R is a tautology ⊥

  7. ⊤ The same trick works if our implications form a partial order. But we have more S options since we can draw a wavy line. ¬W ¬R The arrow rule says that, V whenever our line cuts an Q arrow, then the head must ¬P be on the side of true and the tail on the side of false. ⊥

  8. ⊤ The same trick works if our implications form a partial order. But we have more S options since we can draw a wavy line. ¬W ¬R Not all of the valid truth assignments are V Q represented in this diagram. ¬P How many are missing? ⊥

  9. Clausal Form Clausal form is a set of sets of literals { {¬A,C}, {¬B,D}, {¬E,B}, {¬E,A}, {A,E}, {E,B},{¬B, ¬C, ¬D} } A (partial) truth assignment makes a clause true iff it makes at least one of its literals true (so it can never make the empty clause {} true) A (partial) truth assignment makes a clausal form true iff it makes all of its clauses true ( so the empty clausal form { } is always true ). 9

  10. 2-SAT A clausal form with at most two literals per clause. Corresponds to a conjunction of implications. We can draw the directed graph and count the satisfying valuations. When 3 or more are involved, satisfaction gets complicated. In general, we must search for satisfaction.

  11. 11 A ̅ Naive search A A B ̅ AB AB C ̅ ABC ¬A ⋁ C ABC D ̅ ABCD ¬A ⋁ C ¬B ⋁ D ¬E ⋁ B ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D ¬E ⋁ A A ⋁ E E ⋁ B ¬B ⋁ ¬C ⋁ ¬D

  12. Naive search function Naive(V, Φ ) if V ⊨ ¬ Φ then return false; if V ⊨ Φ ¬then return true; otherwise, choose an A mentioned in Φ but not mentioned in V return Naive(V^A, Φ ) || Naive(V^¬A, Φ ) (call Naive( ∅ , Φ ))

  13. 13 A ̅ Naive search A A B ̅ AB A B ̅ C A B ̅ C ̅ AB C ̅ ABC ¬A ⋁ C ABC D ̅ ABCD ¬A ⋁ C A B ̅ C D ̅ A B ̅ CD ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D A B ̅ C D ̅ E ̅ A B ̅ CDE A B ̅ C D ̅ E A B ̅ CD E ̅ E ⋁ B ¬E ⋁ B E ⋁ B ¬E ⋁ B

  14. 14 A ̅ A A B ̅ AB A ̅ XXX A B ̅ C A B ̅ C ̅ AB C ̅ ABC A ̅ XXX E ̅ ¬A ⋁ C ABC D ̅ A ̅ XXXE ABCD ¬A ⋁ C A B ̅ C D ̅ A B ̅ CD A ⋁ ¬E A ⋁ E ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D A B ̅ C D ̅ E ̅ A B ̅ CDE A B ̅ C D ̅ E A B ̅ CD E ̅ E ⋁ B ¬E ⋁ B ¬E ⋁ B E ⋁ B

  15. Davis Putnam Logemann Loveland (DPLL) function Naive(V, Φ ) if V ⊨ ¬ Φ then return false; if V ⊨ Φ ¬then return true; if V, C ⊨ X, where X is literal and clause C ∈ Φ return Naive(V^X, Φ ) otherwise, choose an A mentioned in Φ but not mentioned in V return Naive(V^A, Φ ) || Naive(V^¬A, Φ ) (call Naive( ∅ , Φ ))

  16. 16 Idea! Use the problem to simplify the search ¬A ⋁ C ¬B ⋁ D ¬A C A ¬E ⋁ B ¬B ⋁ D ¬E ⋁ A ¬A ¬E ⋁ B A ⋁ E ¬B D B ¬E ⋁ A C E ⋁ B ¬E ⋁ B A ⋁ E ¬B ⋁ ¬C ⋁ ¬D ¬E ⋁ A E ⋁ B D A ⋁ E ¬B ⋁ ⋁ ¬D ¬B E ⋁ B ¬B ¬B Unit Propagation

  17. Davis Putnam Logemann Loveland (DPLL) implementation - add V to Φ unit propagation function DPLL( Φ ) if Φ is a consistent set of literals then return true; if Φ contains an empty clause then return false; for every unit clause l in Φ Φ ← unit-propagate(l, Φ ); l ← choose-literal( Φ ); return DPLL( Φ ∪ {l}) or DPLL( Φ ∪ {not(l)});

  18. Clausal form is a set of sets of literals X = { X 0 , X 1 , … , X n-1 } Resolution rule for clauses X Y where ¬A ∈ X , A ∈ Y ( X ⋃ Y ) \ { ¬A, A } If either X or Y is a singleton then this is just unit propagation. So, resolution is a generalisation of unit propagation. Search is no longer needed 18

  19. AB 19 Premises AB C ̅ ABC ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D ABC D ̅ ABCD ¬A ⋁ C ¬B ⋁ ¬C ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D Conclusion Any assignment of truth values that A valid makes all the premises true inference will make the conclusion true. The conclusion follows from the premises

  20. AB 20 Premises AB C ̅ ABC ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D ABC D ̅ ABCD ¬A ⋁ C ¬B ⋁ ¬C ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D Conclusion Any assignment of truth values that For any valid makes the conclusion false will make inference at least one of the premises false.

  21. AB 21 Premises AB C ̅ ABC ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D ¬B ⋁ ¬C ABC D ̅ ABCD ¬A ⋁ C ¬B ⋁ ¬C Conclusion ¬B ⋁ ¬C ⋁ ¬D ¬B ⋁ D A special property If some assignment of this inference XYZ of values for ABC makes the conclusion false then the assignments XYZ D and XYZ D ̅ each make one or other of the two premises false.

  22. A B C D E B C D ¬A ⋁ B ¬A ⋁ C ¬A ⋁ D ¬A ⋁ E ¬B ⋁ E ¬B ⋁ C ¬B ⋁ D ¬C ⋁ E ¬C ⋁ D ¬D ⋁ E We keep adding clauses obtained by resolution. Davis Putnam - choose a variable then add all instances. Different orders for resolution will give the same results.

  23. � Davis Putnam Take a collection � of clauses. For each propositional letter, A For each pair ���������� ∊ �� ⋀ �� ∊ �� ⋀ � A ∊ �� ⋀ �� A ∊ � if �������� A ������� return UNSAT if �������� A �� is consistent ��������������������� return SAT Where �������� A �������������� A, � A � Heuristic: start with variables that occur seldom.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend