Я пересматривал Теорию вычислений для забавы, и этот вопрос меня мучил некоторое время (забавно, никогда не думал об этом, когда я изучал Теорию автоматов в моем старшекурснике). Итак, «почему» мы точно изучаем детерминированные и недетерминированные конечные автоматы (DFA / NFAs)? Итак, вот некоторые ответы, которые я придумал после ответа, но все еще не вижу их общего вклада в момент «ага»:
- Изучить то, что они есть и не способны, т.е. ограничения
- Почему?
- Так как они являются базовыми моделями теоретических вычислений и заложат основу других более способных моделей вычислений.
- Что делает их «основными»? Это то, что у них есть только один бит памяти и переходы между состояниями?
- Хорошо, и что? Как все это способствует ответу на вопрос вычислимости? Кажется, машины Тьюринга помогают понять это очень хорошо, и есть «меньшие» модели вычислений, такие как PDA, DFA / NFAs / Regexes и т. Д. Но если кто-то не знает FA, на чем они упускают?
Так что, хотя я в некоторой степени «понимаю», я не могу ответить на этот вопрос для себя? Как лучше всего объяснить «зачем изучать D / N-FA»? На какой вопрос они хотят ответить? Как это помогает и почему это первое, чему учат в теории автоматов?
PS: я знаю о различных лексикографических приложениях и шаблонах, которые могут быть реализованы как таковые. Тем не менее, я не хочу знать, для чего он может быть использован практически, но какова была его причина для использования / изобретения / дизайна во время кульминации изучения теории вычислений. Исторически говоря, что побудило человека начать с этого и к какому «ага» пониманию оно должно привести? Если бы вам пришлось объяснить их важность студентам CS, только начинающим изучать теорию автоматов, как бы вы это сделали?