Os atributos indecidíveis de P representam um obstáculo para decidir P versus NP? (resposta: talvez)


20

São feitas cinco perguntas vinculadas e uma única resposta integrada é esperada:

  • Q1: Existem idiomas L que são reconhecidos apenas pelas máquinas de Turing em  P cujas expoentes em tempo de execução são indecidíveis ?
  • Q2: exemplos dessas máquinas de Turing podem ser construídos de forma finita?
  • Q3: Essas máquinas de Turing podem ser instanciadas concretamente? ( por exemplo , por oráculos que "os adivinham", em vez de construí-los finitamente).
  • Q4: Quais outros atributos de P (além dos expoentes em tempo de execução) atualmente são indecidíveis? Para quais atributos de P esta questão está aberta?
  • Q5: Os atributos indecidíveis de P representam um obstáculo à decidibilidade de PNP ?

Observe com atenção a palavra "exclusivamente" no primeiro trimestre (que exclui a resposta sugerida por Lance Fortnow).


Conclusões e conversão para o Wiki da comunidade

  • A pergunta, "Os atributos indecidíveis de P representam um obstáculo para decidir P versus NP?", É aberta e acredita-se que seja difícil, assim como inúmeras perguntas específicas (como Q1-4 acima) que estão naturalmente associadas a ela.

  • Monografia de Juris Hartmanis, 1978, Cálculos viáveis ​​e propriedades de complexidade comprovável prováveis, fornece uma boa entrada na literatura e (aparentemente) não houve nenhuma revisão publicada desde a Hartmanis.

  • Essa classe de perguntas é suficientemente inexplorada para que o desafio de encontrar provas rigorosas seja intimamente misturado ao desafio de escolher boas definições iniciais.

  • As observações ponderadas e os esboços de prova perspicazes fornecidos por Travis Service e Alex ten Brink são reconhecidos e apreciados.

Como a pergunta está aberta e porque está sendo discutida em vários encadeamentos matemáticos de blogs ( 1 , 2 , 3 , 4 , 5 , 6 ), essa pergunta foi sinalizada para conversão no Wiki da Comunidade.


Atualização II e Resumo

Percebi que a monografia de Juris Harmanis, 1978, Cálculos viáveis ​​e propriedades de complexidade prováveis pode ser lida como uma resposta profunda ao Q1–5 . Além disso, os (excelentes) esboços de prova Q1 e Q4 fornecidos abaixo pelo Travis Service e por Alex ten Brink fornecem uma afirmação e extensão modernas das conclusões gerais de Hartmanis que:

Os resultados sobre a complexidade dos cálculos mudam radicalmente se considerarmos apenas as propriedades dos cálculos que podem ser provadas formalmente (ênfase por Hartmanis) ...

Portanto, devemos esperar que os resultados sobre a otimização de todos os programas que executam a mesma função que um determinado programa sejam diferentes dos resultados de otimização de todos os programas que podem ser formalmente comprovados equivalentes ao programa em questão. ...

Devemos considerar a possibilidade de esse famoso problema [ ] pode não ser solucionável em uma teoria matemática formalizada, como a teoria dos conjuntos.P=?NP

Eventualmente, espero postar, como uma "resposta" formal do TCS StackExchange , mais citações da monografia de Hartmanis (notavelmente previsível).

É evidente, tanto na monografia de Hartmanis quanto nas respostas fornecidas por Travis e Alex, que o período Q1-5 está consideravelmente além do atual estado da arte da teoria da complexidade. Além disso, essas perguntas / respostas são evidentemente sutis o suficiente para exigir cuidadosos ajustes de definição e justificar exposições com monografias ... o que, espero, não desencoraje as pessoas a postar respostas adicionais. :)

Para uma discussão técnica mais aprofundada, consulte a resposta de Joel David Hamkins no MathOverflow para a pergunta Pode um problema ser simultaneamente tempo polinomial e indecidível? (recomendado por Alex ten Brink).

Se na monografia de Hartmanis se substitui por “computação de funções” a frase “simulação de dinâmica”, o resultado pode ser lido como um tratado sobre os limites teóricos da complexidade para a engenharia de sistemas ... essa é a razão prática pela qual os engenheiros se preocupam com isso. problemas.

Uma opinião contrastante com a de Hartmanis foi recentemente expressa por Oded Goldreich em uma carta ao editor do CACM intitulada "On Computational Complexity" :

Infelizmente, atualmente não temos boas respostas teóricas para as questões mais naturais relacionadas à computação eficiente. Este é o caso, não porque fazemos perguntas erradas, mas porque essas perguntas são muito difíceis.

É (é claro) perfeitamente concebível que as opiniões de Hartmanis e Goldreich se mostrem corretas, por exemplo, uma prova formal da indecidibilidade da separabilidade do PvsNP poderia razoavelmente ser considerada como validadora de ambos os pontos de vista.


Atualização I

Os comentários ponderados (abaixo) de Travis Service e Alex ten Brink sugerem (com efeito) que no Q1 a frase "indecidível" não é sinônimo de "não decidível de forma verificável" e que as respostas do período 2-5 podem depender dessa distinção. Não está absolutamente claro (para mim) qual escolha de definição levaria aos teoremas mais fortes e, também, melhor capturaria nossa intuição da classe P. Respostas e comentários que abordem essa questão são bem-vindos.

Uma observação de Felix Klein em sua Matemática Elementar de um ponto de vista avançado: Geometria (1939) vem à mente:

Outro exemplo de um conceito que ocorre com mais ou menos precisão na percepção ingênua do espaço, que devemos acrescentar como complemento ao nosso sistema de geometria, é a noção de uma curva (arbitrária) . Toda pessoa acredita que sabe o que é uma curva até aprender tanta matemática que as inúmeras anormalidades possíveis as confundem.

Assim como nas curvas, o mesmo acontece com as linguagens aceitas pelas máquinas de Turing em  ... o que antes parecia (para mim) a classe mais simples e mais natural de todas as complexidades agora me confunde com os (incontáveis?) Atributos inverificáveis ​​e / ou indecidíveis de seus membros . A grande motivação para perguntar ao Q1–5 foi encontrar um caminho através desse emaranhado confuso, mas as respostas dadas até agora (por Travis Service e Alex ten Brink) forneceram mais motivos para confusão!P

A geração de matemáticos de Klein trabalhou arduamente para encontrar boas definições para curvas e outros elementos fundamentais da teoria dos conjuntos, geometria e análise. Uma visão geral de nível elementar pode ser encontrada na discussão da Wikipedia sobre a esfera de Alexander Horned

      Imagem da esfera chifre de Alexandre
      Uma incorporação de uma esfera no R3

Durante o século 20, a análise de "variedades selvagens", como a esfera de Alexander, ajudou a esclarecer as distinções entre variedades topológicas, variedades por partes contínuas e variedades diferenciais. Da mesma forma, no século XXI, talvez o refinamento das definições associadas a ajude a domar os idiomas selvagens de P e as máquinas selvagens de Turing ... embora especificar refinamentos adequados não seja tarefa fácil.PP


fundo

Essas perguntas vinculadas surgem das perguntas do wiki da comunidade MathOverflow: " Quais são os problemas indecidíveis de Turing mais atraentes em matemática? " E " Quais noções são usadas, mas não claramente definidas na matemática moderna? " Em particular, Colin Tan solicitou que a pergunta acima fosse publicado como uma pergunta separada.

Para informações técnicas, consulte a pergunta TCS StackExchange " Os limites de tempo de execução em P são decidíveis? ", Em particular a prova concisa de Emanuele Viola de que a resposta é "não". Observe também que resultados semelhantes são comprovados por Juris Hartmanis em sua monografia, Computação factível e propriedades de complexidade comprovável (1978).

O weblog Lance Fortnow / Bill GASARCH desta semana, Complexidade Computacional, está hospedando sua pesquisa decadal " Será que ou Não?P=NP " - a quinta e última pergunta feita convida a comentar a questão Fortnow / GASARCH.


1
como @Alex ten Brink aponta, as máquinas de Turing sobre as quais você fala no primeiro trimestre não estão bem definidas. Eu acho que você precisa pensar sobre o 's e ' s na sua pergunta, em oposição a prova da Viola.
precisa saber é o seguinte

@Shasho, obrigado ... um comentário e resumo dos pontos de Alex (e também dos pontos de Travis Service) foram adicionados à pergunta.
precisa saber é o seguinte

1
Observe que a prova de Emanuele Viola se aplica a uma gama muito ampla de problemas: uma versão generalizada prova todas as funções construtíveis no tempo com f ( n ) =f,g e g ( n ) = ω ( f ( n ) ) que é impossível para uma TM para a qual é prometido parar no tempo t ( n ) e também que t ( n ) = O (f(n)=ω(nlogn)g(n)=ω(f(n))t(n) , para decidir se t ( n ) = ω ( f ( n ) ) e t ( n ) = O ( g ( n ) ) . Eu realmente não vejo o link para P vs N P aqui. t(n)=O(f(n))t(n)=ω(f(n))t(n)=O(g(n))PNP
Alex ten Brink

2
Para mim, o link para P vs NP surge por analogia com a geometria. As definições que formalizam a noção de um continuum são amplamente estratificadas de coletores de Kahler para coletores de Riemann para coletores suaves de coletores topológicos para conjuntos de pontos (com muitas distinções adicionais), e formalizar essas distinções era essencial para o progresso na matemática. Da mesma forma, o conjunto de máquinas de Turing em P e o conjunto de linguagens que essas máquinas aceitam aparentemente incluem algoritmos "selvagens", cujo papel na teoria da complexidade é (talvez?) Amplamente análogo aos conjuntos de pontos "exóticos" em geometria e topologia.
John Junles

1
@ John, eu já vi dicas desses pensamentos nos comentários do seu blog (vários mais cedo ... talvez muito mais cedo), e estou muito satisfeito em ver até que ponto você progrediu na linha com ele. Legal!
Daniel Apon

Respostas:


15

Para a pergunta 1, a resposta é não. Seja uma linguagem em P e M seja qualquer tempo polinomial que a máquina de Turing reconheça L (cujo tempo de execução é considerado indecidível). Para cada k N deixe M k ser a máquina de Turing que na entrada X de comprimento n primeiros lacetes para n kLPMLkNMkxnnk passos, em seguida, é executado em x para n k + k passos e aceita se M aceita x (dentro aqueles n k + kMxnk+kMxnk+ketapas) e rejeita o contrário. O tempo de execução de é Θ ( n k ) para cada k .MkΘ(nk)k

Desde é executado em tempo polinomial existe algum k 'N tal que M é executado em O ( n k ' ) (mesmo se não sabemos o que k ' é) e, portanto, para todos k suficientemente grande M k reconhece L e tem um tempo de execução decidível.MkNMO(nk)kkMkL

EDITAR

Acho que a resposta a seguir está mais no espírito do que o pôster original pretendia com a pergunta 1.

Teorema: Existe uma linguagem tal que, se N for qualquer Máquina de Turing que decida L , pelo menos um dos seguintes itens é verdadeiro:LPNL

1) Não existe uma prova de que aceite L , ouNL

2) Não existe uma prova de que pare nas etapas f ( n ) (para qualquer função f ( n ) ).Nf(n)f(n)

Esboço de prova: Seja uma máquina de Turing que não pare na fita em branco e para a qual não exista uma prova de que M não pare na fita em branco (a independência resulta em Ciência da computação por Hartmanis e Hopcroft mostra que esse M pode ser efetivamente encontrado).MMM

Let .L={n:nn s.t. M halts in n steps when run blank tape}

Como não para, L é de fato a linguagem vazia, mas não há provas disso (pois isso provaria que M não para).MLM

Seja qualquer máquina de Turing. Se houver uma prova de que N decide L e uma prova de que N é executado nas etapas f ( n ) , a execução de N quando executada na entrada 1 fornece uma prova de que M pára (ou seja, se NNNLNf(n)N1MN aceita) ou que faz não parar (isto é, se N rejeitar). Assim, se N provavelmente decide L , o tempo de execução de N não é decidível e vice-versa.MNNLN


5
Travis responde à pergunta reformulada, mas essa é uma situação estranha em que existe um expoente comprovável, mas apenas para máquinas que você não pode provar resolve o problema.
precisa

Esta é uma boa resposta para o primeiro trimestre ... e concordo plenamente com Lance que esse algoritmo é um membro muito estranho da classe P. Parte da motivação da pergunta era capturar a intuição (por meio de definições que são boas para a prova de teoremas) ) que os algoritmos em P com os quais "nos preocupamos" (em algum sentido) são os algoritmos cujo desempenho podemos "verificar" (em algum sentido) ... este exemplo derrota completamente esse objetivo! Boa resposta! :)
John Sidles

Esse belo comentário (no qual ainda estou pensando) lembrou a observação de Felix Klein "Um conceito que ocorre com mais ou menos precisão na ingênua percepção do espaço, que devemos acrescentar como complemento ao nosso sistema de geometria, é a noção" de uma curva (arbitrária) . Toda pessoa acredita que sabe o que é uma curva até aprender tanta matemática que as inúmeras anormalidades possíveis as confundem ". O ponto é que, para progredir em P versus NP, talvez um passo importante seja refinar a definição de P para excluir "inúmeras anormalidades possíveis".
John sidles

2
Sua resposta é muito interessante. No entanto, o predicado 1 pode ser descrito com mais precisão como 'Não existe uma prova de que aceite L a partir da definição abaixo.', Pois eu posso facilmente construir um TM que decide L (que é o idioma vazio) e provar que ele sempre interrompe e decide o idioma vazio. Aprendi algo legal de novo, e vou checar a referência que você mencionou: DNLL
Alex ten Brink

A edição de Travis de sua já boa resposta fornece ainda mais para pensar. Como esse processo levará algum tempo (para mim), gostaria de expressar minha gratidão e agradecimento agora (e observações técnicas depois) a Travis (Serviço) e Alex (dez Brink). Embora sejam estudantes, seus comentários (IMHO) foram maduros e interessantes. É sabido que Alan Turing concebeu seu "Sobre números computáveis, com uma aplicação ao problema do Entscheidung " entre seus 21 e 23 anos; assim, os alunos atacaram problemas semelhantes com sucesso ... podemos esperar o mesmo para Alex & Travis.
John sidles

13

Sim, você pode construir uma máquina que leva DTIME tempo ( ) -DTIME ( n i ), ondeni+1ni é o número de passos dados por uma máquina específica Turing a parada na fita em branco. Fácil de construir e construções similares são válidas para praticamente qualquer aspecto não trivial de P. Diz-nos pouco sobre se P v NP é indecidível: não há problema em provar P EXP, apesar dos mesmos problemas.i


Sim ... esse truque é a essência das provas de Emanuele Viola e Juris Harmanis da indecidibilidade do tempo de execução de P (por exemplo). Por outro lado, é trivial que as máquinas de Turing construídas por esse truque reconheçam as línguas L que também são reconhecidas pelas máquinas de Turing em P cujos tempos de execução são decidíveis. É por isso que Q1 é formulado (com cuidado!) Como uma pergunta sobre idiomas, e não sobre máquinas de Turing ... precisamente para excluir a construção Hartmanis / Viola ... sem obstruir (por seu comentário) as provas existentes de que P \ ne EXP.
John sidles

... e apenas para mencionar, a linguagem L que é reconhecida apenas pelas máquinas de Turing cujos expoentes em tempo de execução eram indecidíveis, são linguagens interessantes de um ponto de vista teórico da complexidade (e criptográfico) ... elas aparentemente existem em um Godel -esque "região cinzenta" entre compressível algoritmicamente (mas por definição não é verificável) e incompressível (e ainda por definição também não nessa classe).
John sidles

8

Depois de pensar mais sobre o assunto, acho que encontrei uma (possível) resposta para o seu quarto trimestre .

  • Q4: Quais outros atributos de (além dos expoentes em tempo de execução) atualmente são indecidíveis? Para quais atributos de P esta questão está aberta?PP

Eu provei uma variação no teorema de Rice que responde à sua pergunta para a maioria das propriedades. Desta vez, tentarei me explicar com mais clareza (a resposta do Serviço Travis foi muito mais clara e mais geral que a minha resposta anterior).

Teorema: Para qualquer propriedade que possua um conjunto não vazio de idiomas infinitos decidíveis (mas não em idiomas finitos), é indecidível se uma determinada Máquina de Turing decide um idioma com essa propriedade, quando prometido que E sempre pára em O ( f ( n ) ) o tempo, em que f ( n ) = Ω ( N log N ) e f ( n ) = Ω ( g ( n ) ) , em que g ( nEEO(f(n))f(n)=Ω(nlogn)f(n)=Ω(g(n))g(n) é o tempo de execução para uma máquina de Turing decidir algum idioma com essa propriedade.

Lembre-se de que uma Máquina de Turing (TM de agora em diante) decide um idioma se aceita todas as strings no idioma e rejeita todas as strings fora do idioma. Note que podemos tomar a ser algo diferente de um polinômio, então o teorema é mais geral do que apenas P .f(n)P

Formalizamos a noção de uma 'propriedade' como um conjunto livremente selecionável de idiomas 'com essa propriedade'. Decidir se uma língua tem a propriedade é, então, equivalente a decidir se a língua é um membro da S . Assim como no teorema de Rice, investigamos se podemos decidir se o idioma decidido pela TM de entrada tem a propriedade especificada, e assim é em S . Observe que exigimos S R , ou seja, S contém apenas idiomas decidíveis.SSSSRS

Observe que estamos falando de propriedades de idiomas , não de TMs. Sua pergunta sobre expoentes de tempo de execução não é um caso especial desse teorema. As propriedades de, digamos, , estudáveis ​​usando S P , podem lhe interessar mais do que propriedades de TMs executadas em tempo polinomial. Você pode fazer todo tipo de coisa cruel com uma TM, mantendo a correção e o tempo de execução, mas não pode fazer o mesmo com os idiomas.PSP

O requisito de que todos os idiomas em sejam infinitos é um tecnicismo necessário para a prova, mas como todos os idiomas finitos são decidíveis em tempo constante e, portanto, geralmente desinteressantes, não acho que seja importante. Espero que a versão generalizada que também permite que linguagens finitas também sejam verdadeiras.S

Prova do teorema . Suponha que nos seja dado algum TM com um TM E como parâmetro, de modo que P sempre pare e aceite se E decidir algum idioma em S , e onde E prometa que sempre pare com os tempos de execução acima. Seja ( A , i ) uma instância do Problema da Parada, ou seja, A é uma TM e i é uma entrada para A , e agora queremos decidir se A pára em i .P(E)EPESE(A,i)AiAAi

SsSSCsCg(n)

function H(x)
h := simulate A on i for |X| steps and return whether it halted
if h == 'halted' then
    reject
else
    if C(x) accepts then
        accept
    else
        reject
    fi
fi

O(nlogn)

P(H)AiAitHX with |X|t. We therefore decide at most a finite language, and hence H decides no language in S and P(H) will therefore return no.

Now assume A does not halt on i. Then the variable halt will never get the value 'halted', so we decide the same language as C, which is exactly sS, so P(H) will return true. This proves that P(H) can solve the Halting Problem, which in turn proves the theorem.


This is a very powerful and flexible argument, and it will take awhile for me to grasp it ... there's a saying among farmers in the central USA "I feel like a pig being shown a wristwatch!" It appears (by your argument) that P is richly endowed with undecidable attributes; what I am having trouble grasping is whether the languages L recognized by P similarly are richly endowed with undecidable attributes ... the exercise of constructing concrete example languages having natural undecidable attributes is particularly frustrating (for me). Thank you for an excellent, thought-provoking answer.
John Sidles

1
I think you believe P to be the set of TMs running in polynomial time. This is not the definition: P is the set of languages decidable by some TM running in polynomial time.
Alex ten Brink

Alex, I definitely confess to being confused ... but not about that! What I would like to construct, or (less desirably) prove the existence/nonexistence of, would be (for example) a language L in P having the property that every Turing machine that accepts L either is not verifiably in P or does not verifiably accept L. These languages L would belong to P "oracularly" ... the possibility that P includes purely oracular languages is confusing to me ... especially since it is at all not obvious (to me) how such purely oracular languages could ever be concretely sampled and exhibited.
John Sidles

Oh yeah ... and to ask the converse (also confusing) question ... for a given language L in NP that possibly is accepted solely by oracular Turing machines ... by what proof method could we possibly establish that L is not recognized by any of P's oracular Turing machines ... and thus separate P from NP? Or suppose that we did prove the existence of a language L in NP not recognized by any Turing machine in P ... with the restriction that L was purely oracular ... and we could not exhibit that language ... should we be satisfied that P != NP? These questions are confusing!
John Sidles

4

I can answer your Q1 in the negative, thereby also answering Q2 and Q3 in the negative. I'm not sure about Q4 or Q5 though.

It seems you misunderstood exactly what Emanuele Viola proved in his brilliant proof you linked. He showed that there is no single Turing Machine M capable of computing the runtime exponent for any Turing Machine T presented to M, even under the promise that T runs in polynomial time.

However, for any given Turing Machine T running in polynomial time, there exists some k such that T has a running time of O(nk), and hence the Turing Machine M returning k (and nothing more) is able to 'tell' the running time exponent of T, even without having to look at T! Hence, M decides (in constant time even) what k is for this given Turing Machine T. We may not know which Turing Machine decides it, but we know one exists.

Coming back to your question, if we are given a language L in P, then there is some Turing Machine T running in O(nk) for some k that decides L, and hence there is the Turing Machine M returning k that decides the runtime exponent for T. This answers your question in the negative.

You might instead wonder about a different problem for a given language L in P: given Turing Machine T promised to run in polynomial time and promised to decide L, is it decidable to find the runtime exponent of T?

Unfortunately, this is also undecidable. Suppose we are given a language L in P and a TM (Turing Machine) M capable of deciding for a given TM T promised to run in polynomial time and promised to decide L, what the runtime exponent of T is. We can prove this to be undecidable in a very similar way to what Emanuele Viola did: we use the exact TM he defined, and change it slightly: we now want this TM to decide L.

Since L is in P, there is some TM deciding L in O(nk) time. Our new TM M first starts exactly as in Emanuele Viola's proof, running the (Halting Problem) TM for n steps. It then loops either for nk+1 steps or nk+2 steps similarly to Emanuele Viola's TM. Finally, it solves L on the given input and returns the answer.

M is in P, decides L, and if we know the runtime exponent, we can decide the Halting Problem, so the above problem is also undecidable (for any language L). Note that we do not need to know k, we don't actually have to construct M, all we have to do is know it exists!

This kind of thinking about undecidability is quite common apparently, I remember a (blog?) post about a very similar issue: the question was "is it decidable whether Pi has a 'last zero'", so whether Pi stops having zeroes in its decimal representation if you go down far enough that representation. We currently don't know whether this is the case. We might not even be able to prove it, ever, or it might even be independent from our axiom systems (and thereby unprovable). But, since the answer is either true or false, a TM returning true and a TM returning false decide the issue either case and therefore the problem is decidable.

I'll see if I can find that post on the internet somewhere.

Edit:

I found it on Mathoverflow.


your comment and Travis Service' account both are excellent. It appears that in Q1 the phrase "undecidable" is not synonymous with "not verifiably decidable" ... and it is not at all clear (to me) which definition (a) leads to the best theorems and (b) best captures our intuition of the class P. Remarks on this question are welcome.
John Sidles

Thank you Alex for the link (to the MOF question "Can a problem be simultaneously polynomial time and undecidable?") ... I have edited the main post to include that link.
John Sidles
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.