É fácil detectar instâncias fáceis de problemas difíceis de NP?


8

Minha pergunta é a seguinte. Assuma issoΠé um problema difícil de NP. Dada uma instância arbitráriaI do Π e suponha que um adversário sabe que essa instância é fácil de resolver, é possível encontrar um algoritmo determinístico de tempo polinomial para resolver essa instância específica I?

Por exemplo: suponha que Πé GRAPH COLORING. O adversário mostra um gráficoG com n vértices.

  1. O adversário sabe que Gestá completo, mas você não. Você pode encontrar um algoritmo de tempo polinomial que diga "Este gráfico é colorido comΔ+1 cores "?
  2. O adversário sabe que G tem alguma propriedade Pmas você não Você pode encontrar um algoritmo de tempo polinomial que diga "Este gráfico é colorido comb cores "?
  3. ...

5
Como mencionado na resposta da DW, o problema é que não há restrições impostas à P. Por exemplo, "G é um dos 42 gráficos que já calculei a solução ideal para "é uma propriedade válida P. Para chegar a qualquer lugar nessa direção, acho que você precisaria restringir o conjunto de propriedades possíveisP- digamos, para propriedades expressáveis ​​em alguma forma restrita de lógica.
Jrandom_hacker

Respostas:


17

O problema não está realmente bem colocado. Para qualquer instância em particular, há uma solução única, digamosS. Conseqüentemente, podemos imaginar um algoritmo que tenha a respostaS codificado: não importa que entrada você dê, tudo o que faz é apenas imprimir S. Essa resposta conta como um algoritmo determinístico de tempo polinomial que resolve essa instância específicaI.

Portanto, a resposta para sua pergunta é "Sim", mas por razões desinteressantes. É possível que você precise pensar mais sobre como formular sua pergunta para corresponder ao que realmente deseja saber.


A parte final da sua pergunta é realmente um pouco diferente. Não pergunta sobre uma única instânciaI. Em vez disso, ele pergunta sobre um caso especial do problema, ou seja, uma família infinita de instâncias que é um subconjunto adequado de todas as instâncias possíveis paraΠ. Nesse caso, a resposta é "depende"; alguns casos especiais podem permanecer difíceis como NP e outros podem estar em P.

Finalmente, não sei o que significa dizer "O adversário conhece o X, mas você não". Estou livre para escrever um algoritmo que pressupõe que X é verdadeiro e só funciona quando X é verdadeiro. "Conhecimento" é uma coisa engraçada e não é bem modelada pelos tipos de ferramentas que você parece estar falando; teoria da complexidade é mais sobre "existência" do que "conhecimento".


7

Em certo sentido, a resposta à sua pergunta é afirmativa, devido ao algoritmo de busca universal de Levin. Considere a coloração do gráfico de concretude e uma classe específica de instâncias fáceis. Como testemunha de que essa classe é fácil, você tem um algoritmo que, dado um gráfico nessa classe, produz (em tempo polinomial) uma coloração legal junto com uma prova de tamanho polinomial de que a cor é ideal.

O algoritmo de busca universal de Levin executa todos os algoritmos de tempo polinomial em sua instância (isso é conseguido ao tentar todos os limites de tempo polinomiais possíveis para cada algoritmo), verificando se eles fornecem uma coloração legal juntamente com uma prova de otimização. Em qualquer classe de instâncias fáceis, esse algoritmo é executado em tempo polinomial. Infelizmente, as constantes serão enormes, portanto, esse algoritmo não é prático.


Observe que a pergunta diz apenas que Πé NP- hard, portanto, não é garantido que as soluções possam ser verificadas em tempo polinomial.
David Richerby
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.