Nosso PC funciona como uma máquina de Turing? O modelo de uma máquina de Turing consiste em fita de memória infinita, o que significa estados infinitos. Mas suponha que se nosso PC tiver 128 MB de memória e disco de 30 GB, ele terá 256 ^ 30128000000 estados e, portanto, estados finitos.
Eu sei que podemos escrever um tipo de programa que, se durante a execução ficar sem memória, solicitará a troca do disco pela memória vazia e retomará a execução.
Mas e se não trocarmos o disco de memória, neste caso, é correto considerar o PC como FA ?
Respostas:
Você está certo de que os computadores físicos têm memória finita e, portanto, não são completos para Turing. Existem outras maneiras pelas quais a teoria da computabilidade não é um bom modelo para a computação - ela não leva em consideração as restrições de tempo e memória. A teoria da complexidade foi inventada (talvez) como uma representação mais realista da computação, mas o IMHO sofre de problemas semelhantes (mas mais sutis).
Por outro lado, para estudar matematicamente os recursos e limites da computação, precisamos usar alguma abstração sem restrições. Isso torna a análise possível. Da mesma forma, na mecânica estatística, assumimos que o número de elementos (átomos ou moléculas) é tão grande que o comportamento está próximo do limite (ou seja, deixamos o número de elementos tender ao infinito). Estudar computação de uma perspectiva assintótica tem vantagens semelhantes, mas às vezes é enganoso. Aqui estão alguns exemplos deste último:
Uma questão separada é que computadores reais não funcionam como as máquinas de Turing. Eles funcionam como máquinas de RAM, que são uma abstração melhor para a computação real.
fonte
Eu acho que você já deu a resposta. Se o principal aspecto com o qual você está preocupado é a (in) finidade dos estados, uma Máquina de Turing, como tal, existe apenas como "um dispositivo hipotético".
Não importa quanta memória você fornecerá ao seu PC, ele sempre será limitado; portanto, você pode encontrar um programa que será executado em uma Máquina de Turing "real", mas não neste PC devido à fita delimitada.
http://en.wikipedia.org/wiki/Turing_machine#Comparison_with_real_machines
fonte
Na época em que as máquinas de Turing foram inventadas, os computadores eram mulheres que executavam cálculos em pedaços de papel. Essa é a noção de computação que as máquinas de Turing expressam. A fita não faz parte deles, assim como o pedaço de papel faz parte de uma pessoa que faz cálculos.
Esse ainda é um bom modelo para o cálculo baseado em computador, porque os limites de recursos em computadores são geralmente bastante grandes. Modelos de computação inerentemente finitos somente se tornam úteis quando o número de estados possíveis é muito pequeno.
fonte
Um computador moderno é Turing completo, geralmente esse termo é usado com exceção do dispositivo de armazenamento infinito. Na prática, a memória pode ser bastante longa. Por exemplo, além de serem aproximadores de funções universais, as redes neurais recorrentes com memória (e funcionando repetidamente) são consideradas Turing completas. De fato, as Máquinas Neurais de Turing levam essa idéia a um estágio que infere ainda mais algoritmos simples.
fonte