- •7. Конечные автоматы
- •7.1. Начальные понятия
- •7.2. Определение и задание автоматов
- •Определение
- •7.2.1. Диаграммы переходов
- •7.2.2. Табличное задание автоматов
- •7.2.3. Канонические уравнения
- •Очевидно, что если в последовательные моменты времени
- •7.3. Функции конечных автоматов
- •Определение
- •Теорема 7. 1
- •7.4. Отличимость состояний автоматов
- •Определение
- •7.5. Минимальные автоматы определение
- •1. Построение минимального автомата
- •2. Доказательство минимальности автомата
- •7.6. Распознавание слов автоматами
- •Определение
- •7.7. Схемы конечных автоматов
- •7.7.1. Композиция автоматов
- •7.7.2. Операция обратной связи
- •Определение
- •Определение
- •7.8. Схемы из элементарных автоматов
Определение
Состояния qi и qj автомата называются k-неотличимыми, если qi и qj неотличимы на входных словах, длина которых не превосходит k.
То есть qi и qj k-неотличимы, если
(( k ) ( ( ) = ( ))).
Обозначим как k отношение k-неотличимости состояний заданного автомата, т.е. qi k qj тогда и только тогда, когда qi и qj являются k-неотличимыми.
Отношение неотличимости состояний будем обозначать как .
Последующие рассуждения проводятся в предположении, что задан произвольный, но фиксированный автомат, для которого определены отношения и k, k = 1, 2, . . .
Упражнение. Показать, что отношение и отношения k, k = 1, 2, . . . , являются отношениями эквивалентности на множестве состояний автомата .
Лемма 1
Для всякого значения k справедливы включения:
k k+1 и k .
Доказательство
Если qi k+1 qj, то qi и qj неотличимы на входных словах, длина которых не превосходит k+1. Поэтому qi и qj неотличимы и на dc[ словах длины k. Следовательно, k k+1.
Если qi qj, то состояния qi и qj неотличимые на всех словах, в том числе на словах, длина которых не превосходит k. Поэтому k .
Лемма доказана.
Лемма 2
Если для некоторого числа k справедливо равенство k = k+1, то k = .
Доказательство
Пусть k = k+1. Покажем, что k+1 = k+2. То есть если состояния qi и qj являются (k + 1)-неотличимыми, то они являются и (k + 2)-неотличимыми.
Пусть a это произвольное входное слово длины k + 2, начинающееся с символа a. Тогда после переработки первого символа этого слова из состояний qi и qj как начальных автомат переходит в новые состояния qi1 и qj1, которые являются k-неотличимыми.
Так как k = k+1 и qi1 k qj1, то по условию леммы qi1 k+1 qj1. Поэтому слово из состояний qi1 и qj1 будет перерабатываться в одно и то же выходное слово. Следовательно, произвольное входное слово a из состояний qi1 и qj1 перерабатывается в одно и то же выходное слово.
Следовательно, qi и qj являются k+2-неотличимыми.
Поэтому k+1 = k+2.
Повторяя проведенные рассуждения, можно показать, что k+1 = k+2 = k+3 = k+4 . . .
Следовательно, для любого входного слова значения ( ) и ( ) равны, т.е. qi и qj являются неотличимыми состояниями.
Поэтому, если состояния qi и qj неотличимы на словах длины k, то они неотличимы на словах любой конечной длины, т.е. qi и qj являются неотличимыми.
Следовательно, k = .
Лемма доказана.
Лемма 3
Разбиение множества состояний автомата, порождаемое отношением k+1, является подразбиением разбиения, порождаемого k.
Доказательство
Очевидно, что если два состояния являются (k+1)-неотличимыми, то они являются и k-неотличимыми.
Поэтому всякий класс (k+1)-неотличимых состояний является частью некоторого класса k-неотличимых состояний.
Лемма доказана.
ТЕОРЕМА 7.4
Если qi и qj отличимые состояния автомата , имеющего n состояний, и кратчайшее слово, на котором различаются эти состояния, то | | n 1.
Доказательство
Рассмотрим последовательность отношений k–неотличимости состояний автомата : 1, . . . , k, . . .
Поскольку имеет отличимые состояния, то 1 разбивает множество состояний не менее чем на два класса 1-неотличимых состояний. (В противном случае все состояния являются неотличимыми, поскольку 1 – неотличимость всех сотояний автомата означает, что значения функции выхода зависят только от входных символов.)
Согласно лемме 3, если i i+1, то число классов (i+1)-неотличимых состояний автомата хотя бы на 1 больше числа классов i-неотличимых состояний.
Поскольку автомат имеет n состояний, то найдется такое значение i < n, что справедлива цепочка включений:
1 ... i 1 i = i+1 . . .
Справедливость последнего свойства следует из того, что каждый элемент разбиения множества состояний на множества i-неотличимых состояний должен содержать хотя бы одно состояние.
Следовательно, i = .
Поэтому, если состояния qi и qj являются отличимыми, то они должны различаться хотя бы на одном слове, длина которого не превосходит n 1.
Доказательство окончено.