Quais são as consequências de ter problemas completos no ?
Quais são as consequências de ter problemas completos no ?
Respostas:
Este é um problema aberto (amplo); como, sabemos quase nada. Especificamente, devido à dificuldade em provar , precisamos de técnicas de prova muito diferentes das existentes atualmente. Como tal, uma discussão das consequências deve incluir razoavelmente uma tangente a "O que significaria ter novas e poderosas técnicas de prova?"
Para uma discussão relativamente recente sobre o tópico, há a 26a coluna NP-Completeness de David Johnson nas transações do ACM sobre algoritmos de 2007 ( PDF ). Permita-me parafrasear parte do que David diz sobre a questão de provar a existência de problemas -complete problemas e acrescentar meus pensamentos:
Atualmente, só temos candidatos naturais "fracos" para na no sentido de que a evidência mais forte para a associação é que ainda não conseguimos encontrar um algoritmo de tempo polinomial para eles. Ele lista alguns candidatos: FATOR PEQUENO, JOGO ESTOCÁSTICO SIMPLES e JOGO DE PAYOFF MÉDIO. Algumas das "estranhezas" extras desses problemas vêm dos melhores tempos de execução heurísticos para resolvê-los, por exemplo, SMALL FACTOR, também conhecido como INTEGER FACTOR , possui uma complexidade de tempo aleatória de . (Se existirem problemas completos em , isso será (nem puramente exponencial nem polinomial)≤ k p o l y ( n ) 2 √tempo de execução endêmico da classe? )
Tão especificamente, gostaríamos de provar algo como: o problema A está apenas em se , ou seja, um resultado completo como o teorema de Cook para 3SAT e . Para , essas provas envolvem universalmente reduções no tempo polinomial (e corrigem suas restrições adicionais favoritas, por exemplo, reduções de Cook, reduções de Karp). Como resultado, nas técnicas de redução de tempo polinomial, deve ser o caso de existir uma representação reconhecível em tempo polinomial da classe. Para , podemos usar máquinas de Turing não determinísticas que param dentro de um polinômio,, número de etapas. Como aponta David, temos representações semelhantes para outras classes (onde o estado é mais clara) como e # .P
A dificuldade, no entanto, em fornecer uma representação semelhante para é que o analógico "natural" nos permite incorporar o Problema de Parada na representação e, portanto, é indecidível . Ou seja, considere a seguinte tentativa de representar com duas máquinas de Turing não determinísticas que, supostamente, reconhecem linguagens complementares:N P ∩ C o N P
Pergunta: Uma máquina de Turing pára na entrada ?
Construir duas máquinas de Turing de tempo linear e como se segue. Na entrada , lê a entrada e sempre aceita. sempre rejeita, a menos quee aceita nas etapas.
Portanto, e aceitar linguagens complementares IFF não pára na entrada . Portanto, por contradição, decidir se duas máquinas de Turing em tempo polinomial aceitam linguagens complementares é indecidível.M ∗ x
Portanto, a representação "natural" dos de não é reconhecível no tempo polinomial. A questão permanece: como você representa os modo que sejam reconhecidos em tempo polinomial?
Não houve um trabalho significativo realizado sobre esse assunto, mas sua resolução bem-sucedida é necessária para provar a integridade do . Por isso, afirmo que a existência de uma técnica de prova que possa resolver a completude do será a história maior aqui - não os resultados "automáticos" dos do (por exemplo, classes de complexidade, talvez, colapso) dos quais já estamos cientes (ou melhor, estaremos cientes , hipoteticamente no futuro).