¿Por qué el modelo de autómatas finitos no es suficiente?
Si bien otras respuestas ya han mencionado muchos aspectos relevantes, creo que la mayor ventaja de las máquinas Turing sobre los autómatas finitos es la separación de datos y programas . Esto le permite analizar un programa bastante finito y hacer declaraciones sobre cómo ese programa manejaría diferentes entradas, sin restringir el tamaño de la entrada.
Si bien es teóricamente posible describir una computadora real y algo así como una máquina de Turing con cinta finita como una máquina de estado, eso no es realmente factible: el número de estados es exponencial en la cantidad de memoria que tiene su máquina y el finito general el formalismo de autómatas de estado requiere que haga una lista explícita de las transiciones entre estos estados. Entonces, para un autómata de estado finito general de ese tamaño, es bastante inviable hacer deducciones basadas en una enumeración completa de todas las transiciones de estado.
Por supuesto, en una computadora real, las transiciones de estados no pueden ocurrir arbitrariamente. No hay un comando para intercambiar un tercio de los bits en la memoria en un solo paso del cálculo. Por lo tanto, podría intentar obtener una especificación más compacta para las transiciones de estado. Algo así como la especificación del conjunto de instrucciones de su arquitectura. Por supuesto, las arquitecturas informáticas reales son complicadas en aras del rendimiento, por lo que podría simplificar esto aún más, a un conjunto de instrucciones muy simple, que solo realiza pasos muy pequeños con entradas y salidas muy limitadas. Al final, es posible que su arquitectura se parezca a algo así como un intérprete de máquina de Turing: usando algunos bits de código de programa y un bit de entrada, genere un bit de salida y se mueva en su código de programa.
Una alternativa sería utilizar los estados de un autómata de estado finito solo para representar los datos que procesa el programa, mientras codifica el programa en las transiciones de estado. Eso implicaría el mismo problema de cómo enumerar todos los estados, y una representación compacta podría estar nuevamente cerca de lo que hace una máquina de Turing.
¿Cuál es el punto de estudiar estos modelos mucho más fuertes con respecto a las computadoras reales?
En general, diría que una máquina Turing de cinta finita probablemente sería un mejor modelo para las computadoras reales. Pero para muchas preguntas científicas, la distinción entre una cinta finita pero grande e infinita es irrelevante, por lo que solo reclamar una cinta infinita facilita las cosas. Para otras preguntas, la cantidad de cinta utilizada está en el centro de la pregunta, pero el modelo le permite hablar fácilmente sobre la cantidad de uso de la cinta sin la molestia de especificar qué sucede si el cálculo se queda sin cinta.