Pergunta sobre o NP-completude do problema do conjunto independente
-
22-09-2019 - |
Pergunta
Eu pensei que, ao provar que um problema P é prematuro de NP, deveríamos reduzir um problema conhecido do NPC para P. Mas, olhando para a solução para o problema do conjunto independente, parece não seguir esse caminho.
Para provar que o conjunto independente é NP-Coplete, você pega um gráfico G, encontra seu G 'inverso e, em seguida, calcule a clique (G'). Mas isso está fazendo o contrário: está levando um problema, o Pi não sabe se é o NPC e depois o reduz a um problema de conhecimento do NPC.
Aquié um exemplo da solução.
O que estou perdendo aqui? Isso não está errado, já que está fazendo o contrário?
Solução
Para provar que P é NP-Coplete, precisamos mostrar duas coisas:
- Esse P existe no NP.
- Que existe um algoritmo de redução de poli-tempo para reduzir algum problema de preenchimento de NP q a P.
Se soubermos que o CLIC está no NPC, podemos provar facilmente que está no NPC.
- Podemos verificar é trivialmente no poliTime. Os vértices itera, verifique se cada um tem uma borda não na solução candidata.
- Agora precisamos reduzir a camarilha para IS. Dado um gráfico
G
e um número inteiron
, para clique, queremos verificar se há uma camarilha de tamanhon
. DeixarH
ser o inverso deG
. Se você encontrar um está emH
de tamanhon
, você tem uma camareira de tamanhon
dentroG
com os mesmos vértices. Nós reduzimos a camarilha para IS.
Se você reduzia é para clique, você não provaria que qualquer um deles está no NPC, a menos que possa reduzir algum outro problema no NPC.
Outras dicas
Eu acho que esta página pode te ajudar http://mlnotes.com/2013/04/29/npc.html