13.04.2013 Views

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

14. Fora do NP<br />

A classe co-NP<br />

TAUT<br />

• A <strong>de</strong>finição da classe NP é unilateral. Por exemplo, consi<strong>de</strong>re<br />

Instância Fórmula proposicional em forma normal disjuntiva ϕ.<br />

Decisão ϕ é uma tautologia (Todas as atribuições satisfazem ϕ)?<br />

• Uma prova sucinta para esse problema não é conhecido, então suponhamos<br />

que TAUT ∈ NP.<br />

• Em outras palavras, NP parece <strong>de</strong> não ser fechado sobre a complementação:<br />

co-NP = NP ?<br />

Proposição 14.2<br />

Se L ∈ NPC então L ∈ co-NP ⇐⇒ NP = co-NP.<br />

Proposição 14.3<br />

TAUT é co-NP-completo.<br />

Prova. (Proposição 14.2.) Seja L ∈ NPC. (→): Seja L ∈ co-NP. Se L ′ ∈ NP,<br />

temos L ′ ≤P L ∈ co-NP, logo NP ⊆ co-NP. Se L ′ ∈ co-NP, então L ′ ∈ NP e<br />

L ′ ≤P L ∈ co-NP, logo L ′ ∈ co-NP e L ′ ∈ NP. (←): Como L ∈ NPC ⊆ NP, e<br />

NP = co-NP, também L ∈ co-NP. <br />

Prova. (Proposição 14.3, rascunho.) TAUT ∈ co-NP, porque uma MT com<br />

um estado universal po<strong>de</strong> testar todas atribuições das variáveis proposicionais<br />

e aceita se todas são verda<strong>de</strong>iras.<br />

Para provar a completu<strong>de</strong>, temos que provar, que toda linguagem L ∈ co-NP ≤P<br />

TAUT. A prova é uma modificação da prova do teorema <strong>de</strong> Cook: Com entrada<br />

w ∈ L produzimos uma fórmula ϕw usando o método <strong>de</strong> Cook. Temos<br />

274<br />

w ∈ L ⇐⇒ ϕw satisfatível pela <strong>de</strong>f. <strong>de</strong> ϕw<br />

w ∈ L ⇐⇒ ϕw insatisfatível negação da afirmação<br />

⇐⇒ ¬ϕw é tautologia

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!