Complexidade computacional
P, NP, reduções, certificados, autorredução e casos especiais tratáveis.
Classes e certificados
- P: conjunto de problemas de decisão resolvidos em tempo polinomial no tamanho da representação.
- NP: problemas de decisão com certificado de tamanho polinomial que se verifica em tempo polinomial. Vale e a igualdade está por provar. NP significa não determinístico polinomial, não “não polinomial”.
- NP-difícil: todo o problema de NP se reduz a ele em tempo polinomial. NP-completo: é NP-difícil e pertence a NP. A versão de otimização associada a um problema NP-completo diz-se NP-difícil; nem toda a otimização é difícil, pois MST e caminhos mínimos nesta cadeira são polinomiais.
- Indecidível é sem algoritmo para todas as entradas, não apenas lento.
Reduzir na direção certa
Solver de resolve . Para provar difícil, reduz difícil conhecido para , com construção, custo e duas implicações. Mostrar não prova dificuldade.
| Redução | Ideia |
|---|---|
| CIRCUIT-SAT a CNF-SAT | Variável por fio; cláusulas por porta |
| CNF-SAT a 3-CNF-SAT | Divide longas com auxiliares |
| SAT a CLIQUE | Vértice por ocorrência; clique com tamanho de cláusulas |
| CLIQUE a VERTEX-COVER | Complemento; clique equivale a cobertura |
| 3-SAT a 3 cores | Triângulo ; pares ; dispositivo por cláusula |
Para : .
Na construção de 3-SAT para 3 cores, cada cláusula tem um dispositivo ligado às suas três literais. Se as três literais forem falsas, o dispositivo é forçado a usar a cor e bloqueia a coloração do seu triângulo interno. Se pelo menos uma literal for verdadeira, existe uma extensão válida. O guloso usa no máximo cores; um clique de tamanho exige cores distintas.
2-SAT em P: dá , . Insatisfazível se partilha SCC com . .
Autorredução e casos tratáveis
- Mochila: fixa dentro ou fora com decisor e limites ajustados; até chamadas.
- HAM-CYCLE: remove aresta se decisor continua sim; até chamadas.
- Cobertura em árvore: , ; folhas 0 e 1; .
- exceções com resto uniforme: seleções mais prefixos; polinomial para fixo.