
- •Глава 4. Автоматы
- •§ 4.1. Автоматы: определение, примеры, способы задания
- •4.1.1 Определение и примеры автоматов
- •4.1.2. Диаграмма Мура и таблица автоматов
- •§ 4.2. Отличимость состояний автомата
- •4.2.1 Продолжение функций и
- •4.2.2. Приведённый автомат
- •4.2.3. Периодичность выходной последовательности конечного автомата
- •4.2.4. Теоремы Мура
- •4.3. Ограниченно детерминированные функции. Информационное дерево
- •Задачи для самостоятельного решения
- •§ 4.4. Синтез автоматов
- •Задачи для самостоятельного решения
- •§ 4.5. Алгебраический подход к теории автоматов
- •Упражнения для самостоятельного решения
§ 4.2. Отличимость состояний автомата
4.2.1 Продолжение функций и
Пусть
конечный алфавит. Обозначим через
множество всех слов
Число
называется длиной
слова
и обозначается
Например, если
то
Слово, в котором нет ни одной буквы,
будем называть пустым
словом и
обозначать символом
Очевидно,
Пусть
множество слов длины
а
множество непустых слов. Тогда
Произведением
слов
называется слово, полученное приписыванием
к слову
справа слова
Таким образом, если
то
Нетрудно проверить, что произведение
слов ассоциативно, т.е.
для любых
Вообще, произведение слов
не зависит от расстановки скобок (но
зависит от порядка сомножителей). В
частности,
Произведение
слов некоммутативно,
так как в общем случае
Множество,
на котором задана ассоциативная операция,
называется полугруппой.
Полугруппа
в которой есть единица,
т.е. такой элемент е,
что
для всех
называется моноидом.
Множества
и
являются полугруппами. Кроме того,
– моноид (так как
для всех
то пустое слово
является единицей). Полугруппа
моноидом не является; это можно доказать
так: ввиду того, что
для любых
то равенство
в
невозможно.
Функции
и
можно продолжить до функций
и
следующим образом. Положим
при
при
при
при
Функция
несёт информацию о том, в какое состояние
перейдёт автомат, если на его вход будут
поступать последовательно несколько
букв из алфавита
Действительно, если в какой-либо момент
автомат находится в состоянии
а на его вход поступают буквы
то будут осуществляться следующие
переходы в другие состояния:
т.е.
в конце концов автомат окажется в
состоянии
Аналогичным образом интерпретируется
функция
А именно,
где
буква, которая будет выдана автоматом
на
-м
шаге.
Упражнение 5. Автомат задан таблицей
|
a |
b |
c |
|
0 |
|
1 |
|
0 |
1 |
1 |
Определить:
Решение.
поэтому
поэтому
Упражнение
6. Автомат
задан диаграммой Мура, изображённой на
рисунке 4.10. Найти:
Решение.
Имеем:
поэтому
4.2.2. Приведённый автомат
Назовём
состояния
и
автомата
неотличимыми,
если
для всех
Состояния
и
отличимы,
если
при некотором
Положим
если
и
неотличичимы. Нетрудно видеть, что
отношение неотличимости ~ на множестве
состояний автомата
является отношением эквивалентности.
Это отношение вызывает разбиение
множества
на непересекающиеся классы эквивалентности:
При этом любые два состояния
лежащие в одном классе, неотличимы, а
любые два состояния из разных классов
отличимы.
Множество
классов отношения ~ (фактор-множество
обозначим через
Построим новый автомат
В качестве входного и выходного алфавитов
автомата
возьмём те же множества
и
которые были у автомата
а в качестве множества состояний возьмём
множество
Надо определить теперь функции
и
Пусть
Наиболее естественным является следующее
определение значения
взять какой-нибудь элемент
принадлежащий классу
найти
а затем класс, в котором лежит элемент
объявить значением
То есть считать, что
(1)
Можно
доказать корректность
этого определения, т.е. независимость
от выбора представителя в классе
эквивалентности. Другими словами, если
то
Функцию
определим на
по формуле
(2)
По
определению неотличимости состояний
мы имеем
поэтому определение (2), как и (1), корректно.
Автомат
называется приведённым
автоматом,
соответствующим автомату
У приведённого автомата любые два различных состояния отличимы друг от друга.
Автомат
и приведённый автомат
работают одинаково: для любой входной
последовательности
последовательность
на выходе автомата
и автомата
одна и та же:
и т.д. (здесь
– начальное состояние).
Упражнение 7. Построить приведённый автомат для автомата, заданного диаграммой Мура, изображённой на рисунке 4.11.
Решение.
Вычислим:
Следовательно, состояние
отличимо от всех остальных. Мы получаем
(пока) следующее разбиение множества
на классы, т.е. непересекающиеся
подмножества:
(далее это разбиение будет измельчаться).
Далее
вычисляем:
Отсюда следует, что
не может лежать в одном классе с
или
с
или
и т.д. Разбиение, полученное ранее,
измельчается до следующего:
Положим
Покажем, что это окончательное разбиение.
Имеем:
поэтому
Аналогично получаем
и т.д., т.е. функция
“не разбивает” классы. Следовательно,
классы
можно считать состояниями нового
автомата. Это и есть приведённый автомат,
его диаграмма Мура изображена на рисунке
4.12.
Упражнение 8. Построить приведённый автомат для автомата , заданного следующей таблицей:
|
|
|
|
|
|
0 |
|
1 |
0 |
1 |
1 |
1 |
1 |
|
1 |
|
0 |
Решение.
Верхняя строка таблицы 11011 определяет
разбиение
нижняя строка
разбиение
Их пересечение
это разбиение
Докажем, что состояния
неотличимы друг от друга. В столбцах
таблицы, соответствующих этим состояниям,
мы имеем:
значит, функция
на состояниях
принимает одинаковые значения. Кроме
того, другая часть столбцов:
такова, что
лежат в одном классе разбиения. Это
доказывает, что
неотличимы. Из таблицы автомата
теперь нетрудно получить таблицу
приведённого автомата
– для этого достаточно взять по одному
представителю в каждом классе разбиения
Таким образом, мы получаем:
|
|
|
|
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |