267
Рисунок 100. Диаграмма конечного автомата
Рисунок 101. а) Конечный автомат Мура; б) Конечный автомат Мили
Автоматная теория, являясь частью теории алгоритмов, позволяет
трактовать конечные автоматы как алгоритмы с конечной памятью, многие
свойства которых можно исследовать безотносительно от
способа реализации
автоматов (которые могут быть, например, как аппаратными, так и
программными). Таким образом, допустимо констатировать о классе задач,
решаемых автоматами, так: если и только если задача алгоритмически
разрешима, возможно построить конечный автомат, решающий эту задачу.
Перефразируя, можно сказать, что с помощью конечного автомата
потенциально возможно решить любую алгоритмически разрешимую задачу.
Исходя из трактовки автоматов, как алгоритмов с конечной памятью,
центральной
проблемой становится изучение возможностей автоматов в
терминах множеств слов, с которыми они работают. Допустимо выделить два
основных аспекта работы автоматов:
268
• Автоматы распознают входные слова, то есть отвечают на вопрос,
принадлежит ли поданное на вход слово данному множеству (автоматы-
распознаватели).
• Автоматы преобразуют входные слова в выходные, то есть реализуют
автоматные отображения (автоматы-преобразователи).
Автоматы-распознаватели принципиально ничем не отличаются от
автоматов-преобразователей, то есть допустимо один аспект свести к другому.
Но при сведении,
понятия и проблемы, важные при первом аспекте,
оказываются либо несущественными, либо сильно видоизмененными во
втором.
Конечные автоматы широко используются на практике, например в
синтаксических анализаторах, а также в других случаях, когда количество
состояний объекта и переходов между ними сравнительно невелико.
Достарыңызбен бөлісу: