Máquinas em P indecidíveis?

7

Dada uma máquina de Turing , dizemos que se a linguagem decidida pela máquina puder ser decidida por alguma máquina em tempo polinomial. Dizemos que se a máquina funcionar em tempo polinomial. Note-se que pode haver máquinas que rodam desnecessariamente longo, mas ainda decidir um idioma em P . Pelo teorema de Rice, sabemos queML(M)PMPP

{MM is a Turing machine such that L(M)P } é indecidível. Sabe-se se:

{MM is a Turing machine such that MP } também é indecidível?

Nic
fonte
11
Pelo teorema de Rice, você também tem que essa linguagem é indecidível (propriedade não trivial).
Tpecatte 8/09/13
2
Timot: Não, o teorema de Rice não se aplica à segunda língua, porque se MP não é uma propriedade de L(M) . OP: Você pode usar a resposta dada em cstheory.stackexchange.com/questions/5004
sdcvvc 8/13
Por que você não pode usar a mesma prova de diagonalização do teorema de Rice?
Tpecatte 8/09/13
Timot: Acho que a prova não pode ser reutilizada, pois uma máquina que não seja P pode decidir uma linguagem P. A ideia subjacente é semelhante, mas a OMI não é a mesma.
Sdcvvc

Respostas:

6

Aqui está uma paráfrase da prova na resposta da história. Reduzimos do problema da parada. Suponha que recebamos uma máquina e devemos decidir se pára na entrada vazia. Construímos uma nova máquina aceita uma única entrada , que opera da seguinte maneira:MMMx

  1. Seja.n=|x|
  2. M executa por etapas.Mn
  3. Se parou em etapas, então executa um loop fictício levando tempo exponencial . Caso contrário, apenas pára.MnMΩ(2n)M

Como as máquinas de Turing podem ser simuladas apenas com sobrecarga polinomial, se não parar, então executado em tempo polinomial. Se parar, então leva um tempo exponencial. Portanto, pára se não é um tempo polinomial.MMMMMM


De maneira mais geral, isso mostra que, mesmo que saibamos que roda no tempo no máximo por algum tempo superpolinomial construtível , não podemos decidir se roda no tempo polinomial.Mf(n)fM

Yuval Filmus
fonte
Tenho uma dúvida. Se M roda em paradas em então roda em tempo polinomial, embora pare. Estou esquecendo de algo ? O(2n)MM
Sashas
@ Sasha Eu não sigo sua pergunta.
Yuval Filmus
Estou tendo problemas para ver se a redução acima também funciona para . L={<M>|M runs in P(n) steps where P(n) is some fixed polynomial}
Sashas
@ Sasha Não vejo nenhum problema em particular.
Yuval Filmus 22/02
Se parar na entrada vazia em , executado em tempo polinomial. Estou esquecendo de algo ? M2nM
Sashas
2

A maneira como sua segunda língua é escrita não é exatamente bem formada em relação aos padrões normais. é um conjunto de idiomas e não um conjunto de máquinas. Baseado no que você disse no resto da sua pergunta, eu suponho que você está tentando fazer a distinção entre máquinas que rodam no máximo em tempo polinomial e aqueles que acontecer resolver um problema em . Talvez essa seja a melhor maneira de escrevê-lo como:PP

A={M|(kx)M(x) halts in O(|x|k) time}

O pode ser substituído por se você quiser excluir máquinas mais fracas, como TMs de tempo de log.Θ

Observe que:A{M|L(M)P}

Como observado por sdcvvc , o teorema de Rice não se aplica imediatamente e é suficiente aqui, pois a propriedade "não trivial" usada deve ser uma propriedade de . Um tempo limite em uma máquina não é uma propriedade da linguagem, mas sim uma propriedade dessa máquina.L(M)

Uma resposta para um predeterminado foi discutida na questão da questão histórica, mencionada nos comentários. A escolha dessa constante foi a chave para provar a indecidibilidade. Em nosso idioma, incluímos qualquer e, portanto, não temos um máximo para trabalhar.kkNk

Não tive tempo de gastar para investigar suficientemente, mas imagino que não seria razoável estender seus resultados a qualquer por meio de indução direta.k>2

Um artigo recente escrito por David Gajser, que foi motivado pelo post de história, responde a uma versão mais generalizada dessa pergunta:

DeixeHALTT(n)={M|xM(x) halts in at most T(n=|x|) time}

Para máquinas de Turing de fita única: é indecidível seHALTT(n)T(n)=Ω(nlog(n))

Para várias máquinas de Turing com fita: é decidível se para algunsHALTT(n)T(n)k+1kN

Ele estende esses resultados de indecidibilidade para classes com constantes arbitrariamente grandes (como ). Segundo ele, a resposta para sua pergunta é que o idioma ( ) é indecidível.PA

mdxn
fonte
11
Seus quantificadores aparecem na ordem errada: ele deve ser . k,CxM(x) halts after at most C|x|k steps
Yuval Filmus 08/09
@YuvalFilmus: Você está correto. Atualizei a resposta para refletir isso. Obrigado por apontar isso.
MDXN