Почему конечной модели автоматов недостаточно?
Хотя в других ответах уже упоминалось много важных аспектов, я считаю, что преимущество машин Тьюринга над конечными автоматами заключается в разделении данных и программ . Это позволяет анализировать довольно ограниченную программу и делать заявления о том, как эта программа будет обрабатывать различные входные данные, не ограничивая размер входных данных.
Хотя теоретически возможно описать как реальный компьютер, так и нечто подобное машине Тьюринга с конечной лентой в качестве конечного автомата, это на самом деле неосуществимо: число состояний является экспоненциальным по объему памяти, которое имеет ваша машина, и общим конечным числом формализм автоматов состояний требует от вас явного перечисления переходов между этими состояниями. Таким образом, для общего конечного автомата такого размера совершенно невозможно сделать какие-либо выводы на основе полного перечисления всех переходов состояний.
Конечно, в реальном компьютере переходы между состояниями не могут произойти произвольно. Нет команды, чтобы поменять треть битов в памяти за один шаг вычисления. Таким образом, вы можете попытаться придумать более компактную спецификацию для переходов между состояниями. Что-то вроде спецификации набора команд вашей архитектуры. Конечно, реальные компьютерные архитектуры сложны с точки зрения производительности, так что вы можете упростить это до некоторого очень простого набора команд, который просто выполняет очень маленькие шаги, используя очень ограниченный ввод и вывод. В конце концов вы можете обнаружить, что ваша архитектура напоминает что-то вроде машинного интерпретатора Тьюринга: используя несколько битов программного кода и один бит ввода, генерируйте бит вывода и перемещайтесь в программном коде.
Одной из альтернатив будет использование состояний автомата конечных состояний только для представления данных, обрабатываемых программой, при кодировании самой программы в переходы состояний. Это повлечет за собой ту же проблему перечисления всех состояний, и компактное представление снова может быть близко к тому, что делает машина Тьюринга.
Какой смысл изучать эти гораздо более сильные модели по отношению к реальным компьютерам?
В целом, я бы сказал, что машина Тьюринга с конечной лентой, вероятно, будет лучшей моделью для реальных компьютеров. Но для многих научных вопросов различие между конечной, но большой и бесконечной лентой не имеет значения, поэтому простое требование бесконечной ленты облегчает задачу. Что касается других вопросов, то в основе вопроса лежит объем используемой ленты, но модель легко позволяет говорить об объеме использования ленты без необходимости указывать, что произойдет, если вычисление закончится без ленты.