Ich versuche, dieses Problem zu lösen, und ich kämpfe wirklich.
Eine monotone Boolesche Formel ist eine Formel in der Aussagenlogik, in der alle Literale positiv sind. Beispielsweise,
ist eine monotone Boolesche Funktion. Auf der anderen Seite so etwas wie
ist keine monotone Boolesche Funktion.
Wie kann ich die NP-Vollständigkeit für dieses Problem nachweisen:
Bestimmen Sie, ob eine monotone Boolesche Funktion erfüllt werden kann, wenn Variablen oder weniger auf .
Es ist klar, dass alle Variablen nur positiv gesetzt werden können, und das ist trivial. Deshalb gibt es die Einschränkung, dass Variablen positiv gesetzt werden.
Ich habe eine Reduktion von SAT auf monotone Boolesche Formel versucht. Ich habe versucht, jedes negative Literal durch eine Dummy-Variable zu ersetzen. Ich habe zum Beispiel versucht, durch ersetzen , und dann versucht, und als unterschiedliche Werte zu erzwingen . Ich habe es nicht ganz geschafft, das zum Laufen zu bringen.
Antworten:
Das "übergeordnete Element" des Problems, das Sie betrachten, wird manchmal als gewichtete Zufriedenheit (WSAT, insbesondere bei parametrisierter Komplexität) oder Min-Ones (obwohl dies normalerweise eine Optimierungsversion ist, aber nahe genug) bezeichnet. Diese Probleme haben die Einschränkung "höchstens Variablen auf true gesetzt" als ihr definierendes Merkmal.k
Die Beschränkung auf monotone Formeln ist tatsächlich überraschend leicht zu beweisen, man muss nur für einen Moment außerhalb der Erfüllbarkeitsprobleme stehen. Anstatt zu versuchen, eine SAT-Instanz zu ändern, beginnen wir stattdessen mit Dominating Set (DS).
Sehen Sie, ob Sie es von dort bekommen können. Mehr steckt in den Spoilern, in Stücke zerbrochen, aber meide sie, wenn du kannst. Ich zeige keine Mitgliedschaft in NP, damit solltest du kein Problem haben.
Die Grundkonstruktion:
Eine Skizze des Beweises:
quelle
Es gibt eine einfache Reduzierung von SAT. Einführung einer neuen Variablen darstellen ¬ x i . Bei gegebener Formel ϕ erstellen wir eine neue Formel ϕ ′, indem wir jedes Vorkommen von ¬ x i durch z i ersetzen und die Klausel x i ∨ z i für jede Variable hinzufügen . Wir setzen k als Anzahl der ursprünglichen Variablen. Die neue Formel ϕ ′ ist monoton und kann mit höchstens k Variablen erfüllt werden, die genau dann auf wahr gesetzt sind, wenn ϕ erfüllt werden kann. (Dies liegt daran, dass die kzi ¬xi ϕ ϕ′ ¬xi zi xi∨zi k ϕ′ ϕ k Disjunktionsklauseln bewirken, dass ϕ ′ mindestens k Variablen für True hat; aber dann ist die einzige Möglichkeit, höchstens k zu haben, genau eines von ihnen für jedes Paar auf wahr zu setzen {x_i, z_i}.)xi∨zi ϕ′ k k
quelle