Построение конечного автомата - PullRequest
0 голосов
/ 09 июня 2018

Какие основные вопросы необходимо учитывать при построении конечного автомата, представляющего данный язык?Я знаю, что конечные автоматы принимают строки в качестве входных данных и что при чтении каждого элемента строки состояние машины изменяется до достижения EOF.Если после того, как строка полностью прочитана, машина находится в одном из последних состояний, строка принимается.Я не понимаю, какие соображения необходимо учитывать при создании FSA (кроме строки, которую он должен принимать, и определения каждой функции перехода.)

1 Ответ

0 голосов
/ 09 июня 2018

Одна вещь, которую вы хотите рассмотреть, это количество состояний.Существует много эквивалентных способов определения машины, но обычно предпочтительнее меньшее количество состояний, поскольку тот же результат достигается с меньшей сложностью и пространством.

Для представления вычислительного автомата требуется пространство, пропорциональное числу состояний, поэтому оптимизация пространственная сложность за счет сокращения состояний желательна или необходима.

...