Чому кінцевої моделі автоматів недостатньо?
Хоча в інших відповідях вже згадується багато релевантних аспектів, я вважаю, що перевагою машин Тьюрінга над обмеженими автоматами є розділення даних та програми . Це дозволяє проаналізувати досить обмежену програму і зробити заяви про те, як ця програма оброблятиме різні входи, не обмежуючи розмір вводу.
Хоча теоретично можливо описати як власне комп'ютер, так і щось на зразок машини Тюрінга з кінцевою стрічкою як машину стану, це не дуже реально: кількість станів є експоненціальним у обсязі пам’яті, яку має ваша машина, і загальній обмеженості Формалізм автоматичного стану вимагає від вас чітко перелічити переходи між цими станами. Тож для загального автоматичного кінцевого стану такого розміру цілком неможливо робити будь-які відрахування на основі повного перерахування всіх переходів стану.
Звичайно, у реальному комп'ютері переходи станів не можуть відбуватися довільно. Немає команди замінювати третину бітів у пам'яті за один крок обчислення. Таким чином, ви можете спробувати придумати більш компактну специфікацію для переходів держави. Щось на зразок специфікації набору інструкцій для вашої архітектури. Звичайно, справжня комп’ютерна архітектура є складною заради продуктивності, тому ви можете далі спростити це до дуже простого набору інструкцій, який просто виконує дуже невеликі кроки, використовуючи дуже обмежений вхід і вихід. Зрештою, ви можете виявити, що ваша архітектура нагадує щось на зразок машинного інтерпретатора Тьюрінга: використовуючи деякі біти програмного коду та один біт введення, генеруйте трохи виводу та рухайтесь у своєму програмному коді.
Однією з альтернатив було б використання станів автомата з кінцевим станом просто для представлення даних, що обробляються програмою, при цьому кодування самої програми в переходи стану. Це спричинило б ту саму проблему, як перерахувати всі стани, і компактне представлення може знову бути близьким до того, що робить машина Тьюрінга.
Який сенс вивчати ці набагато сильніші моделі стосовно реальних комп'ютерів?
В цілому я б сказав, що кінцева стрічка машина Тьюрінга, ймовірно, буде кращою моделлю для фактичних комп'ютерів. Але для багатьох наукових питань різниця між кінцевою, але великою та нескінченною стрічкою не має значення, тому просто стверджувати, що нескінченна стрічка полегшує справи. Що стосується інших питань, в основі питання лежить обсяг використаної стрічки, але модель легко дозволяє говорити про кількість використання стрічки без зайвих труднощів із зазначенням того, що станеться, якщо в обчисленні закінчується стрічка.