Pode haver algum problema finito no NP-Complete?

13

Meu palestrante fez a declaração

Qualquer problema finito não pode ser NP-Complete

Ele estava falando sobre o Sudoku na época dizendo algo do tipo: para um Sudoku 8x8, existe um conjunto finito de soluções, mas não me lembro exatamente o que ele disse. Anotei a nota que citei, mas que ainda não entendo.

Os Sudoku são NP completos se não me engano. O problema de clique também é NP-Complete e, se eu tiver um problema com 4-Clique, esse não é um problema finito que é NP-Complete?

TheRapture87
fonte
O que é 'problema finito'? Google e Wikipedia não estão ajudando.
Anton Trunov
3
@AntonTrunov Um problema no qual a entrada tem um comprimento limitado.
Yuval Filmus
@YuvalFilmus, isso não é verdade para todos os pares válidos de máquina * de Turing? IIRC Um dos símbolos é designado como símbolo em branco e a entrada possui inicialmente uma região delimitada fora da qual outros símbolos que não sejam o símbolo em branco não podem aparecer. O termo "NP completo" geralmente não é usado no contexto de operações em fluxos que não podem ser modelados sem relaxar essa suposição.
31816 Mike
@MikeSamuel Quando digo comprimento limitado, eu input média de tamanho no máximo 100. (Ou qualquer número diferente de 100.)
Yuval Filmus
@YuvalFilmus, ok. Estou dizendo que o termo "NP completo" é usado apenas quando não há símbolos em branco na entrada ou existe um número inteiro que é o número de símbolos entre o símbolo não em branco mais à esquerda e o símbolo não em branco mais à direita . 100 seria um exemplo.
Mike Samuel

Respostas:

15

Se um problema finito é NP-completo, então P = NP, já que todo problema finito possui um algoritmo de tempo polinomial (até mesmo um algoritmo de tempo constante).

Quando dizemos que o Sudoku é NP-completo, queremos dizer que uma versão generalizada do Sudoku reproduzida em um tabuleiro é NP-completo.n2×n2

Finalmente, o problema de 4 cliques, embora não seja um problema finito (o gráfico de entrada tem tamanho ilimitado), é um problema fácil que possui um algoritmo de tempo polinomial.

Yuval Filmus
fonte
Então, o problema 4-clique P é uma vez que possui um algoritmo de tempo polinomial?
precisa saber é o seguinte
1
@ Aceboy1993 Certo, essa é a definição de P.
Yuval Filmus
Mas então por que o K-clique é considerado no NP-Complete? K não representa apenas um número como 4?
precisa saber é o seguinte
kk
Além disso, podemos provar que o Clique é NP-completo.
Yuval Filmus
5

A afirmação do seu professor está incorreta ou provavelmente você não o ouviu corretamente. A afirmação correta é

L|L|1P=NP

PNP|L|>1P=NPPNP

Sudoku ou xadrez não é NP-completo (como Yuval apontou), porque sua entrada é de tamanho 9x9 ou 8x8 finito (estou falando das versões de decisão, se o sudoku tem uma solução ou se o xadrez tem uma estratégia vencedora). No xadrez, suponho que se você repetir uma posição, ela é considerada um empate.

Shreesh
fonte
0

Lembre-se: Um problema X é NP-completo se satisfizer dois critérios:

a) Está em NP - Ou seja, qualquer solução calculada de X pode ser verificada em tempo polinomial.

b) Está completo para NP - Ou seja, todo problema Y em NP tem uma redução de tempo polinomial que traduz uma instância de Y em uma instância de X (de modo que qualquer programa em tempo polinomial que resolva X também resolva Y em tempo polinomial )

Podemos concordar que um Sudoku 9x9 é satisfatório (a). É (b) onde as coisas caem. De um modo mais geral - os problemas (no NP ou não) geralmente têm instâncias do tamanho N para valores arbitrariamente grandes de N ; certamente isso é verdade para os problemas conhecidos no NP. Uma redução de um problema para um que tenha o tamanho máximo possível do problema não poderia ser uma redução válida de instância para instância, porque a primeira sempre tem (infinitamente) mais instâncias que a segunda. É por isso que o Sudoku deve ser generalizado para matrizes NxN antes que se possa considerar a completude do NP.

PMar
fonte
1
Isso não está correto. É perfeitamente possível ter uma redução válida de um problema com infinitas instâncias para um problema com infinitas instâncias. Por exemplo, aqui está uma redução do SAT para o problema de determinar se uma sequência de comprimento 1 é igual a "a": se a instância do SAT for satisfatória, mapeie-a para a sequência "a"; caso contrário, mapeie-o para a cadeia "b". Agora, essa redução (provavelmente) não é computável em tempo polinomial, mas é uma redução perfeitamente válida.
David Richerby