Transcript huiswerk5

Vijfde huiswerkopgave Complexiteit 2014 Geef een korte, duidelijke toelichting bij al je antwoorden!

Uiterste inleverdatum: woensdag 14 mei 2014

We bekijken de volgende twee beslissingsproblemen: SAT: Gegeven een logische formule φ in CNF. (Dus φ is een AND van clausules waarbij elke clausule de OR van een willekeurig aantal literals is; een literal is een een ¬ x i .) Is er een waardering (waarheidstoekenning) van de in φ x i of voorkomende variabelen x i , zodanig dat φ minstens ´ en literal waar is?

wordt waargemaakt, dat wil zeggen dat per clausule DoubleSAT: Gegeven een logische formule schillende waarderingen van de in φ φ in CNF. Bestaan er voorkomende variabelen ten minste twee ver x i die φ waarmaken?

Voorbeeld : φ = ( x 1 Deze φ ∨ ¬ x 2 ) ∧ ( ¬ x 1 ∨ x 2 ∨ x 3 ) gebruikt drie logische variabelen, namelijk x 1 , x 2 en x 3 is een ja-instantie voor DoubleSAT, want de twee waarderingen ( T T T, F F F ) zijn .

verschillend en beide maken ze φ waar.

a.

(10 punten) Toon aan dat DoubleSAT ∈ N P door een niet-deterministisch polynomiaal algoritme voor DoubleSAT te geven. Het algoritme heeft dus als invoer een logische formule φ en moet “ja” opleveren d.e.s.d.a.

φ een ja-instantie is (*). Leg onder andere uit wat in elke fase van het algoritme gebeurt en in het bijzonder wat in fase 2 wordt gecontroleerd (vergeet niet dat het aantal in φ gebruikte logische variabelen nog bepaald moet worden) en hoe, en hoeveel stappen dat kost. Leg ook uit waarom je algoritme aan (*) voldoet en waarom het polynomiaal is.

We bekijken de volgende eenvoudige transformatie T van instanties van SAT naar instan ties van DoubleSAT.

Gegeven is φ , een logische expressie in conjunctieve normaalvorm. Noem de in φ voorko mende logische variabelen x 1 , x 2 , . . . , x n . (We veronderstellen nu even dat het aantal in φ gebruikte logische variabelen al bekend is; aangezien dat toch in een polynomiaal aantal stappen kan worden bepaald mogen we dat hier wel aannemen.) We construeren hierbij een logische formule T ( φ ) = ψ (eveneens in conjunctieve normaalvorm), waarin behalve de ook een nieuwe logische variabele y voorkomt. Deze ψ ziet er als volgt uit: ψ = x i φ ∧ ( y ∨¬ y ).

Voorbeeld : φ = ( x 1 T ( φ ) = ∨ ¬ ψ x 2 ) = ( x 1 ∧ ( ¬ x 1 ∨ ¬ x 2 ) ∨ ∧ x 2 ( ¬ ∨ x 1 x 3 ) wordt afgebeeld op ∨ x 2 ∨ x 3 ) ∧ ( y ∨ ¬ y )

b.

(5 punten) Laat zien dat de constructie van ψ uit φ in O( | φ | k ) stappen kan ( voor zekere k ≥ 0 ).

1

c.

(10 punten) Toon aan dat geldt: φ is een ja-instantie van SAT ⇐⇒ Ofwel: er is een waardering van de T ( φ ) is een ja-instantie van DoubleSAT.

x 1 , . . . , x n die φ waarmaakt ⇐⇒ er zijn ten minste twee verschillende waarderingen van de Samen met

b.

x 1 , . . . , x n , y volgt hier dan uit dat SAT ≤ P die ψ waarmaken.

DoubleSAT (&).

d.

(9 punten) Geef van de volgende beweringen aan of ze waar zijn of niet en leg uit waarom/waarom niet. Formuleer duidelijk eventuele gebruikte stellingen.

(i) Stel dat DoubleSAT NP-volledig is, en dat SAT Dan volgt uit (&) dat SAT ook NP-volledig is.

(ii) Stel dat SAT NP-volledig is.

∈ N P .

Dan volgt uit

a.

en (&) dat DoubleSAT ook NP-volledig is.

(iii) Stel dat SAT NP-volledig is en XYZ is een of ander beslissingsprobleem uit Dan volgt uit (&) dat XYZ ≤ P DoubleSAT.

N P .

e.

(5 punten) Gegeven het volgende beslissingsprobleem: 3Kliek: Gegeven een ongerichte graaf uit 3 knopen?

G = ( V, E ). Heeft deze graaf een kliek 1 bestaande Toon aan dat 3Kliek ∈ P .

f.

(6 punten) Stel dat we weten dat DoubleSAT NP-volledig is. Beantwoord nu de volgende twee vragen (en geef uitleg): (i) Bestaat er een polynomiale reductie van DoubleSAT naar 3Kliek?

(ii) Bestaat er een polynomiale reductie van 3Kliek naar DoubleSAT?

Er wordt alleen naar het bestaan gevraagd. Je hoeft dus geen reductie te geven.

1 een deelverzameling V 0 van de knopen heet een kliek als tussen elk tweetal knopen uit V 0 een tak zit 2