Minha pergunta é a seguinte. Assuma issoé um problema difícil de NP. Dada uma instância arbitrária 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 ?
Por exemplo: suponha que é GRAPH COLORING. O adversário mostra um gráfico com vértices.
- O adversário sabe que está completo, mas você não. Você pode encontrar um algoritmo de tempo polinomial que diga "Este gráfico é colorido com cores "?
- O adversário sabe que tem alguma propriedade mas você não Você pode encontrar um algoritmo de tempo polinomial que diga "Este gráfico é colorido com cores "?
- ...
Respostas:
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".
fonte
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.
fonte