1 / 11

Algorithmen für das Erfüllbarkeitsproblem SAT

Algorithmen für das Erfüllbarkeitsproblem SAT. aus einem Vortrag von Melanie Schmidt Uni Dortmund. Das Erfüllbarkeitsproblem K-KNF-SAT. Variablen x 1 ,x 2, x 3, x 4, x 5, x 6. n = Anzahl der Variablen = 6.  x 5. (. x 3. ¬ x 2. ). ( ¬ x 1 ). ( x 1  ¬ x 2  x 3  ¬ x 4  x 6 ).

natara
Télécharger la présentation

Algorithmen für das Erfüllbarkeitsproblem SAT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorithmen für das Erfüllbarkeitsproblem SAT aus einem Vortrag von Melanie Schmidt Uni Dortmund

  2. Das Erfüllbarkeitsproblem K-KNF-SAT Variablen x1,x2,x3,x4,x5,x6 n = Anzahl der Variablen = 6 x5 ( x3 ¬x2 ) ( ¬x1 ) ( x1¬x2 x3¬x4 x6 )  Klausel  Problem für 5-SAT

  3. Das Erfüllbarkeitsproblem K-KNF-SAT Also: • Gegeben ist eine Menge von Klauseln mit jeweils bis zu k Literalen • Eine Klausel hat die Form (u1 u2 …  ul), l  k, wobei ui {x1,…,xn}  {¬x1,…,¬xn} • Gesucht: Eine Belegung der Variablen x1,… ,xn mit Wahrheitswerten  {0, 1}, so dass die Auswertung der Formel 1 ergibt.

  4. 2-SAT Algorithmus in polynomieller Zeit

  5. 2-SAT Algorithmus • (¬x3¬x3) (x2  x3)  (¬x1 ¬x2)  (x3  x1 ) • (a) = (a  a) • (a  b) = (¬a  b)(a  b) = (¬b  a) • (¬x3)  (x2  x3)  (¬x1 ¬x2)  (x3  x1) • (a  b) = (¬a  b) X1 X2 X2 X3 X3 X3 ¬X1 ¬X1 ¬X2 ¬X3 ¬X3 ¬X3

  6. 2-SAT Algorithmus • Eine 2-KNF-Formel ist unerfüllbar im Graphen GF existiert ein Zyklus der Form xi … ¬xi … xi gdw.

  7. Zyklus mit xi und ¬xidann F unerfüllbar • Annahme: Es gibt eine erfüllende Belegung a. Dann muss für a gelten, dass xi=1 und xi =0. Das ist ein Widerspruch.

  8. X1 ¬X1 F unerfüllbardannexistiert Zyklus mit xi und ¬ xi • Beweis mit Induktion über n: • n=1. • F muss die Form (x1)  (¬x1) haben  GF hat einen Zyklus. • n-1n. • Wähle beliebiges xaus {x1,…,xn}. • Bilde Fx=0 und Fx=1GFx=0 und GFx=1 enthalten Zyklen mit xk und ¬xk • Zeige, dass daraus folgt: GF enthält einen Zyklus mit xi und ¬xi

  9. x y y ¬x ¬y ¬y GF enthält einen Zyklus mit xi und ¬xi • Trivial: Einer der Zyklen aus GFx=0 und GFx=1 ist auch in GF enthalten • Sonst: Zeige, dass es in GF die Verbindungen ¬x  … x und x  … ¬x gibt es existiert ein Zyklus mit x und ¬x

  10. x z z ¬x ¬z ¬z Pfade in GF • ¬x … x in GF • F enthält (x) • F enthält (x  z) • GF enthält ¬x  z und ¬z  x • Fx=0 enthält nur (z) • der Zyklus in GFx=0 enthält ¬z  z,GF enthält ¬z  z nicht daraus folgt in GF gibt es ¬x  z  …  ¬z  x • x … ¬x in GF • Analog mit (¬x) sowie Fx=1 undGFx=1

  11. Zyklen mit x und ¬x finden • als All-Pair-Shortest-Paths– Problem • mit unendlichen Kosten für nichtvorhandene Kanten • für alle x überprüfen: (x,¬x) und (¬x,x) < ? • Laufzeit O(n3) • mit Tiefensuche • in stark zusammenhängende Komponenten zerlegen • O(m), m=Anzahl der Klauseln

More Related