Turing poder completo e computacional

15

Em uma palestra, um professor mencionou que os computadores modernos não têm tanto poder computacional quanto uma máquina de Turing porque não têm memória infinita e, como nenhum computador pode ter memória infinita, a máquina de Turing é, portanto, inatingível e simplesmente representa o limite superior. de computação. Existe uma medida ou definição de quais problemas (ou classe de problemas) estão além do alcance de nosso poder de computação por causa disso?

JustAnotherSoul
fonte
sim, de fato, isso é chamado de "teoria da complexidade" =) .. seriamente útil pensar na máquina de Turing como uma abstração que é realizada na prática quando o computador tem memória grande, o que é bastante real devido a uma variação na lei de Moore na qual a memória os preços caíram e a densidade / desempenho subiu. portanto, dependendo do contexto e do humor do cientista da computação, diz-se que os computadores refletem exatamente as máquinas de Turing, ou não! uma verdadeira pergunta zen às vezes. "um computador real é realmente uma máquina de Turing?" "Qual é o som de uma mão batendo palmas"? E como um modelo vs casa
vzn

Respostas:

12

Se pensarmos no universo como finito, qualquer coisa que precise de mais memória do que essa quantidade finita está além da nossa capacidade computacional.

No entanto, esse não é um bom modelo para estudar a computabilidade, o modelo da máquina de Turing funciona muito melhor na realidade e é por isso que o usamos para estudar a computação em computadores reais. Uma máquina de Turing realmente não precisa de uma quantidade infinita de memória, ela precisa apenas de uma quantidade ilimitada de memória. Por exemplo, podemos fornecer memória adicional a um computador ao longo do tempo (como o computador precisa de mais e mais memória) e, em seguida, temos algo semelhante a uma máquina de Turing. Se assumirmos que temos tempo e memória ilimitados para concluir nosso cálculo, a máquina de Turing captura esse conceito de computabilidade em princípio bastante bem.

Verifique o artigo da Wikipedia sobre máquinas de Turing, há uma seção que discute a relevância do modelo.

PPBPPBQP

Kaveh
fonte
2
Sua resposta é muito boa, e a teoria da complexidade parece estar na linha do que eu estava interessado em investigar. Obrigado. Apenas uma observação: a sensação que tive do meu professor foi que uma máquina de Turing não é equivalente a um computador e representa um limite superior, não que fosse irrelevante. Qualquer implicação de irrelevância era totalmente minha, e um erro na minha tentativa de tentar deixar claro de onde eu estava vindo.
JustAnotherSoul
5

Você pode considerar o autômato vinculado linear e os idiomas correspondentes são os idiomas sensíveis ao contexto . Veja a Hierarquia de Chomsky para saber quais idiomas estão além do alcance de tais autômatos.

btw, em certo sentido, alguns problemas "inacessíveis" agora estão ao nosso alcance, devido ao poder de computação restrito!

Por exemplo, o problema de parada para máquinas de Turing é indecidível, mas é decidível para autômatos com limites lineares.

Aryabhata
fonte
Eu não tinha considerado o fato de que podemos resolver problemas por causa das restrições. Interessante.
JustAnotherSoul
4

A teoria da computação é uma abstração do mundo real. De muitas maneiras, a abstração não é uma boa opção para o mundo real. Por um lado, não podemos fabricar computadores com memória ilimitada; portanto, não podemos nem fazer máquinas para reconhecer linguagens regulares arbitrárias - ou mesmo linguagens finitas arbitrárias!

Porém, isso não é um problema muito grande; no mundo real, não podemos sequer construir entradas de qualquer tamanho arbitrário e, mesmo que pudéssemos, não estaríamos por aqui o tempo suficiente para ver a resposta.

Num sentido estrito, então, não: a classe de computadores fisicamente realizáveis ​​é estritamente menos poderosa do que a classe das máquinas de Turing. É estritamente menos poderoso que a classe de autômatos finitos também.

Patrick87
fonte