\documentclass{bschlangaul-aufgabe} \bLadePakete{mathe,komplexitaetstheorie} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 4}, Thematik = {SAT DOPPELSAT}, Referenz = 66115-2019-H.T1-A4, RelativerPfad = Examen/66115/2019/09/Thema-1/Aufgabe-4.tex, ZitatSchluessel = examen:66115:2019:09, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Polynomialzeitreduktion}, EinzelpruefungsNr = 66115, Jahr = 2019, Monat = 09, ThemaNr = 1, AufgabeNr = 4, } Betrachten Sie die folgenden Probleme: \index{Polynomialzeitreduktion} \footcite{examen:66115:2019:09} \bProblemBeschreibung {SAT} {Aussagenlogische Formel F in KNF} {Gibt es mindestens eine erfüllende Belegung für F?} \bProblemBeschreibung {DOPPELSAT} {Aussagenlogische Formel F' in KNF} {Gibt es mindestens eine erfüllende Belegung für F, in der mindestens zwei Literale pro Klausel wahr sind?} \begin{enumerate} %% % (a) %% \item Führen Sie eine polynomielle Reduktion von SAT auf DOPPELSAT durch. \begin{bAntwort} https://courses.cs.washington.edu/courses/csep531/09wi/handouts/sol4.pdf DOUBLE-SAT is in NP. The polynomial size certificate consists of two assignments f1 and f2. First, the verifier verifies if f1 6= f2. Then, it verifies if both assignments satisfy φ by subtituting the values for the variables and evaluate the clauses of φ. Both checks can be done in linear time. DOUBLE-SAT is NP-hard. We give a reduction from SAT. Given an instance φ of SAT which is a CNF formula of n variables x1,x2,...xn, we construct a new variable xn+1 and let ψ = φ ∧(xn+1 ∨¬xn+1) be the corresponding instance of DOUBLE-SAT. We claim that φ has a satisfying assignment iff ψ has at least two satisfying assignments. On one hand, if φ has a satisfying assignment f, we can obtain two distinct satisfying assignments of ψ by extending f with xn+1 = T and xn+1 = F respectively. On the other hand, if ψ has at least two sastisyfing assignments then the restriction of any of them to the set {x1,x2,...xn} is a satisfying assignment for φ. Thus, DOUBLE-SAT is NP-complete. https://cs.stackexchange.com/questions/6371/proving-double-sat-is-np-complete Here is one solution: Clearly Double-SAT belongs to ${\sf NP}$, since a NTM can decide Double-SAT as follows: On a Boolean input formula $\phi(x_1,\ldots,x_n)$, nondeterministically guess 2 assignments and verify whether both satisfy $\phi$. To show that Double-SAT is ${\sf NP}$-Complete, we give a reduction from SAT to Double-SAT, as follows: On input $\phi(x_1,\ldots,x_n)$: 1. Introduce a new variable $y$. 2. Output formula $\phi'(x_1,\ldots,x_n, y) = \phi(x_1,\ldots,x_n) \wedge (y \vee \bar y)$. If $\phi (x_1,\ldots,x_n)$ belongs to SAT, then $\phi$ has at least 1 satisfying assignment, and therefore $\phi'(x_1,\ldots,x_n, y)$ has at least 2 satisfying assignments as we can satisfy the new clause ($y \vee \bar y$) by assigning either $y = 1$ or $y = 0$ to the new variable $y$, so $\phi'$($x_1$, ... ,$x_n$, $y$) $\in$ Double-SAT. On the other hand, if $\phi(x_1,\ldots,x_n)\notin \text{SAT}$, then clearly $\phi' (x_1,\ldots,x_n, y) = \phi (x_1,\ldots,x_n) \wedge (y \vee \bar y)$ has no satisfying assignment either, so $\phi'(x_1,\ldots,x_n,y) \notin \text{Double-SAT}$. Therefore, $\text{SAT} \leq_p \text{Double-SAT}$, and hence Double-SAT is ${\sf NP}$-Complete. \end{bAntwort} %% % (b) %% \item Zeigen Sie, dass DOPPELSAT NP-vollständig ist. \end{enumerate} \end{document}