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⟩|(∃k∀x)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.kk∈Nk
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+1k∈N
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