Existem problemas conhecidos de NP-completos, nem NP-hard no sentido forte nem com algoritmo pseudopolinomial?

19

Em seu artigo (p. 503), Garey e Johnson comentam:

... pode haver um problema de NP-completo que não é nem NP-completo no sentido forte nem solucionável por um algoritmo de tempo pseudo-polinomial ...

Alguém conhece alguns problemas de candidatos com as propriedades mencionadas acima?

Penso que a possível resposta a essa pergunta pode ser uma lista de problemas NP-completos no sentido comum, de modo que nenhum algoritmo pseudopolinomial seja conhecido por eles.

Oleksandr Bondarenko
fonte
5
Não é possível criar um exemplo artificial combinando um problema NP completo com um algoritmo de tempo pseudo-polinomial e uma linguagem intermediária NP do teorema de Ladner?
Tsuyoshi Ito 14/07
2
Minha resposta postada anteriormente estava incorreta; me desculpe. É o que acontece quando eu aceno com a mão e posto!
Daniel Apon

Respostas:

17

Não sei se você está interessado em ouvir mais detalhes do meu comentário sobre sua pergunta, mas aqui estão mais detalhes de qualquer maneira.

Se P = NP, todo problema em NP pode ser resolvido no tempo polinomial e, portanto, no tempo pseudo-polinomial, o que significa que nenhum problema satisfaz sua exigência, como Magnus observou em sua resposta. Portanto, assuma P ≠ NP no restante desta resposta.

Como P ≠ NP, existe uma linguagem L ∈NP ∖ P que não é NP completa (teorema de Ladner). Considere o seguinte problema:

Produto direto da Partição e da
Instância L : m inteiros positivos a 1 ,…, a m e k inteiros b 1 ,…, b k ∈ {0,1}.
Pergunta : Os dois itens a seguir são retidos?
(1) Os m inteiros um 1 , ..., um m formar um sim-exemplo do problema de partição.
(2) O k cadeia bit b 1 ... b k pertencente a L .

Seguindo o artigo de Garey e Johnson, defina a função Comprimento como m + ⌈log max i a i ⌉ + k e a função Max como max i a i .

É uma rotina verificar (i) que é NP-completo no sentido fraco, (ii) que não possui um algoritmo de tempo pseudo-polinomial e (iii) que não é NP-completo no ponto forte sentido.

(Dicas: (i) A associação ao NP decorre do fato de que tanto o problema da Partição quanto o L estão no NP. Para dureza do NP, reduza a Partição para esse problema. (Ii) Construa uma transformação pseudo-polinomial de L para esse problema. (iii) Construa uma transformação pseudo-polinomial desse problema em L usando o fato de que a Partição possui um algoritmo de tempo pseudo-polinomial.)

Não há nada de especial no problema da Partição nesta construção: você pode usar o seu problema favorito de NP completo com um algoritmo de tempo pseudo-polinomial.

Tsuyoshi Ito
fonte
Obrigado pela resposta. Eu estava mais interessado em problemas não artificiais, contrários ao descrito por você. Embora eu esteja em dúvida sobre a definição de um problema não artificial.
Oleksandr Bondarenko
@Oleksandr: Quanto à escolha de L, você pode usar qualquer linguagem intermediária NP. No entanto, você está certo de que, independentemente do idioma L escolhido, essa construção apresenta um problema artificial por causa do uso direto do produto com o Partition. Não conheço nenhum problema natural que atenda às suas necessidades.
Tsuyoshi Ito
De qualquer forma, sua resposta é interessante para mim e merece votação.
Oleksandr Bondarenko
(Edit: Nevermind. :))
Daniel Apon
1

Eu diria que a resposta é claramente não (isto é, ninguém sabe), porque ninguém sabe se os problemas completos de NP podem ser resolvidos no tempo polinomial , quanto mais no tempo pseudo- polinomial. (Todo algoritmo polinomial é, é claro, pseudopolinomial.) Se você encontrar um problema no NPC que não possa ser resolvido no tempo pseudopolinomial, você acabou de provar que P ≠ NP, então acho que é seguro dizer que nenhum exemplo será produzido tão cedo.

Magnus Lie Hetland
fonte
11
Editei minha pergunta para "Alguém conhece algum problema de candidato ...?"
Oleksandr Bondarenko