Por que o modelo de autômatos finitos não é suficiente?
Enquanto outras respostas já mencionam muitos aspectos relevantes, acredito que a grande vantagem das máquinas de Turing sobre os autômatos finitos é a separação de dados e programa . Isso permite que você analise um programa bastante finito e faça declarações sobre como esse programa lidaria com entradas diferentes, sem restringir o tamanho da entrada.
Embora seja teoricamente possível descrever um computador real e algo como uma máquina de Turing com fita finita como uma máquina de estados, isso não é realmente viável: o número de estados é exponencial na quantidade de memória que sua máquina possui e o valor finito geral o formalismo do autômato de estado exige que você liste explicitamente as transições entre esses estados. Portanto, para um autômato de estado finito geral desse tamanho, é inviável fazer deduções com base em uma enumeração completa de todas as transições de estado.
Obviamente, em um computador real, as transições de estados não podem acontecer arbitrariamente. Não há comando para trocar um terço dos bits na memória em uma única etapa da computação. Assim, você pode tentar criar uma especificação mais compacta para as transições de estado. Algo como a especificação do conjunto de instruções da sua arquitetura. Obviamente, arquiteturas de computador reais são complicadas por causa do desempenho, então você pode simplificar ainda mais isso, para um conjunto de instruções muito simples, que apenas executa etapas muito pequenas usando entradas e saídas muito limitadas. No final, você pode achar que sua arquitetura se assemelha a algo como um intérprete de máquina de Turing: usando alguns bits de código de programa e um pouco de entrada, gere um pouco de saída e mova-se no código do programa.
Uma alternativa seria usar os estados de um autômato de estado finito apenas para representar os dados que estão sendo processados pelo programa, enquanto codifica o próprio programa nas transições de estado. Isso implicaria o mesmo problema de como enumerar todos os estados, e uma representação compacta pode estar novamente próxima do que uma máquina de Turing faz.
Qual é o sentido de estudar esses modelos muito mais fortes em relação aos computadores reais?
No geral, eu diria que uma máquina de Turing com fita finita provavelmente seria um modelo melhor para computadores reais. Mas, para muitas questões científicas, a distinção entre uma fita finita, porém grande e uma fita infinita é irrelevante; portanto, apenas reivindicar uma fita infinita facilita as coisas. Para outras perguntas, a quantidade de fita usada é o cerne da questão, mas o modelo permite que você fale facilmente sobre a quantidade de uso de fita sem o incômodo de especificar o que acontece se a computação ficar sem fita.