São feitas cinco perguntas vinculadas e uma única resposta integrada é esperada:
- Q1: Existem idiomas que são reconhecidos apenas pelas máquinas de Turing em 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 esta questão está aberta?
- Q5: Os atributos indecidíveis de representam um obstáculo à decidibilidade de ?
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) ...Eventualmente, espero postar, como uma "resposta" formal do TCS StackExchange , mais citações da monografia de Hartmanis (notavelmente previsível).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.
É 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!
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
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.
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? " - a quinta e última pergunta feita convida a comentar a questão Fortnow / GASARCH.
fonte
Respostas:
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 kL P M L k∈N Mk x n nk passos, em seguida, é executado em x para n k + k passos e aceita se M aceita x (dentro aqueles n k + kM x nk+k M x nk+k etapas) 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.M k′∈N M O(nk′) k′ k Mk L
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:L∈P N L
1) Não existe uma prova de que aceite L , ouN L
2) Não existe uma prova de que pare nas etapas f ( n ) (para qualquer função f ( n ) ).N f(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).M M M
Let .L={n:∃n′≥n 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).M L M
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 NN N L N f(n) N 1 M N 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.M N N L N
fonte
Sim, você pode construir uma máquina que leva DTIME tempo ( ) -DTIME ( n i ), ondeni+1 ni é 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 ≠
fonte
Depois de pensar mais sobre o assunto, acho que encontrei uma (possível) resposta para o seu quarto trimestre .
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).
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.S S S S⊆R S
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.P S⊆P
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) E P E S E (A,i) A i A A i
Now assumeA 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 s∈S , so P(H) will return true. This proves that P(H) can solve the Halting Problem, which in turn proves the theorem.
fonte
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 MachineM 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 MachineT 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 languageL 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 languageL 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 languageL 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 .
SinceL 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.
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.
fonte