- •Глава 1. Основная модель 8
- •Глава 2 21
- •2.1. Введение 21
- •Глава 3 47
- •3.1. Введение 47
- •Глава 4 77
- •4.1. Введение 77
- •Глава 7 157
- •7.1. Введение 157
- •От редактора перевода
- •Предисловие
- •Глава 1. Основная модель
- •1.1. Введение
- •1.2. Многополюсный черный ящик
- •1.3. Дискретность времени
- •1.4. Конечность алфавита
- •1.5. Состояния
- •1.6. Определение основной модели
- •1.7. Примеры конечных автоматов
- •1.8. Определение множества состояний по внутренней структуре
- •1.9. Другая модель
- •1.10. Предсказание поведения автомата
- •Глава 2
- •2.1. Введение
- •2.2. Таблица переходов
- •2.4. Изоморфные автоматы
- •2.5. Граф переходов
- •2.6. Классификация состояний и подавтоматов
- •2.7. Разложение автоматов и расщепляемый автомат
- •2.8. Матрица переходов13
- •2.9. Матрицы переходов высшего порядка
- •2.10. Элементарные пути
- •2.11. Определение минимальных путей и полных контуров
- •2.12. Скелетная матрица
- •2.13. Частичное построение матриц
- •Глава 3 эквивалентность и минимизация автоматов
- •3.1. Введение
- •3.2. Эквивалентность состояний
- •3.5. Эквивалентные разбиения
- •8.6. Разбиение при помощи таблиц Рk
- •3.7. Разбиение при помощи таблицы пар
- •8.8. Матричный метод разбиения
- •3.9. Эквивалентность автоматов
- •8.10. Эквивалентное разбиение множеств автоматов
- •3.11. Минимальная форма
- •3.12. Свойства минимальной формы
- •3.13. Уменьшение числа состояний автомата последовательным объединением
- •3.14. Класс минимальных автоматов
- •Глава 4 эксперименты по распознаванию состояний
- •4.1. Введение
- •4.2. Классификация экспериментов
- •4.3. Диагностические и установочные эксперименты
- •4.4. Диагностические эксперименты для двух состояний
- •4.5. Разновидности диагностической задачи с двумя состояниями
- •4.6. Дерево преемников
- •4.7. Диагностическое дерево
- •4.8. Простые безусловные диагностические эксперименты
- •4.9. Простые условные диагностические эксперименты
- •4.10. Кратные безусловные диагностические эксперименты
- •4.11. Кратные условные диагностические эксперименты
- •4.12. Установочное дерево
- •4.13. Простые безусловные установочные эксперименты
- •4.14. Простые условные установочные эксперименты
- •4.15. Регулярные безусловные установочные эксперименты
- •4.16. Регулярные условные установочные эксперименты
- •4.17. Следствия, связанные с экспериментами по распознаванию состояний
- •Глава 5 эксперименты по распознаванию автоматов
- •5.1. Введение
- •5.2. Общая задача распознавания автомата
- •5.3. Распознавание автоматов известного класса
- •5.4. Задача распознавания повреждений
- •5.5, Сильносвязные автоматы
- •5.6. Некоторые свойства сильносвязных автоматов
- •5.7. Распознавание сильносвязных (n, р, q)-автоматов
- •5.8. Автоматы без потери информации31
- •Глава 6 автоматы с конечной памятью
- •6.1. Введение
- •6.2. Представление систем с конечной памятью
- •6.3. Свойства автоматов с конечной памятью
- •6.4. Определение памяти автомата
- •6.5. Минимальная X-z-функция
- •6.6. Линейные двоичные автоматы37
- •6.7. Временная характеристика линейного двоичного автомата
- •6.8. Распознавание линейного двоичного автомата
- •6.9. Не зависящие от выхода автоматы
- •Глава 7 автоматы с ограничениями на входе
- •7.1. Введение
- •7.2. Совместимость состояний
- •7.3. Квазиэквивалентные автоматы
- •7.4. Определение минимальных форм
- •7.5. Метод уменьшения числа состояний автоматов с ограничениями на входе
2.7. Разложение автоматов и расщепляемый автомат
Пусть Hk (Si) обозначает множество всех состояний автомата М, соединенных с состояниями Si = { σi1, σi2, ..., σir} посредством k или меньшего числа дуг, причем направление дуг несущественно. В частности, H0(Si) = Si. Множество H1S(i) есть объединение Si - состояний, расположенных в строках σi1, σi2, ..., σir sv+1-подтаблицы таблицы переходов автомата М, и состояний основного столбца таблицы переходов, соответствующих строкам sv+1-подтаблицы, в которых есть какое-либо состояние из множества Si. С другой стороны, Н1 (Si) можно составить путем просмотра графа переходов автомата М. Если задано Hk-l(Si), k≥1, то Hk(Si) может быть определено из соотношения
Hk(Si) = H1(Hk-l(Si)). (2.10)
Если Hk(Si) = Hk-1(Si). то Hk+u(Si) = Hk-l(Si) для всех неотрицательных целых u и, следовательно, Hk-l(Si) составляет множество всех состояний, связанных с Si цепью ребер12 любой длины. Определение этого множества, обозначаемого просто H(Si), может быть теперь описано при помощи следующего алгоритма.
Алгоритм 2.2. Дано Si, требуется найти H(Si). (1) Пусть H0(Si) = Si. Полагаем k=1. (2) Определяем Hk(Si) = H1(Hk-l(Si)). (3) (а) Если Hk(Si) ≠ Hk-1(Si), то увеличиваем k на единицу и возвращаемся к (2). (б) Если Hk(Si) = Hk-l(Si). то Hk(Si) = H(Si).
При помощи аргументов, аналогичных тем, которые были использованы для алгоритма 2.1, можно показать, что алгоритм 2.2 требует не более n - r итераций пункта 2, где n - мощность множества состояний S автомата М, а r - мощность множества Si. Таблица 2.6 иллюстрирует применение этого алгоритма для автомата ЛЗ, изображенного на рис. 2.5 для Si = {1, 4}, H(1, 4) = {1, 2, 4, 5, 7, 8}.
Автомат или подавтомат, который содержит два или большее число изолированных подавтоматов, будем называть разложимым. Ранее упоминалось, что если Si содержит единственное состояние σi, то H(σi) составляет множество всех состояний, соединенных с σi посредством цепей ребер любой длины. Следовательно, если H(σi) ≠ S, то H(σi) составляет неразложимый изолированный подавтомат автомата М. Если H(σi) = S, то можно заключить, что автомат М неразложим. Теперь можно описать метод получения максимального разложения автомата, т. е. метод разложения автомата на максимально возможное число изолированных
подавтоматов.
Алгоритм 2.3. Определение максимального разложения заданного автомата М с множеством состояний S.
(1) Пусть S1=S.
Пологаем k=1. (2) Выбираем
любое состояние из Sk
, например σik
, и определяем H(σik).
Множество H(σik)
– множество состояний k-го
изолированного подавтомата автомата
M. (3) (а) Если H(σi1)
H(σi2)
...
H(σik)
≠ S, то полагаем, что Sk+1
содержит состояния множества S, не
содержащиеся H(σi1)
H(σi2)
...
H(σik).
Увеличиваем k на единицу и возвращаемся
к (2). (б) Если H(σi1)
H(σi2)
...
H(σik)
= S, то подавтоматы,
определяемые множествами H(σi1),
H(σi2),
H(σik)
представляют максимальное разложение
автомата M. В частности,
если H(σi1)
= S, то автомат M
неразложим.
Алгоритм 2.3, конечно, не обязателен, если автомат задан в виде графа. Однако он нужен, когда максимальное разложение надо провести без использования графа, например при помощи цифровой вычислительной машины.
Два или большее число автоматов называются сравнимыми, если они имеют одинаковые входные алфавиты. Пусть М1, M2, ..., MN — сравнимые автоматы, представляющие N различных систем, и пусть M — автомат, который состоит из изолированных подавтоматов М1, M2, ..., MN. М называется расщепляемым автоматом автоматов М1, M2, ..., MN и обозначается так: ∆( М1, M2, ..., MN). При заданных таблицах переходов М1, M2, ..., MN таблица переходов ∆( М1, M2, ..., MN) может быть построена следующим образом. (1) Переобозначим состояния автомата Mi, если необходимо, так, чтобы не было в одном и том же автомате или в двух различных автоматах двух состояний, обозначенных одинаково. (2) Запишем строки всех N таблиц последовательно в одну общую таблицу; эта таблица является таблицей переходов автомата ∆( М1, M2, ..., MN). Если Mi определены графами, то граф переходов ∆( М1, M2, ..., MN) является просто объединением всех отдельных графов, состояния которых могут быть перенумерованы в случае необходимости в соответствии с указанным выше правилом.
Понятно, что расщепляемый автомат ∆( М1, M2, ..., MN) и, следовательно, каждый автомат, содержащий ряд подавтоматов, определенных так же, как М1, M2, ..., MN, может рассматриваться как «система», которая есть автомат M1 или
автомат М2 или автомат MN. Эта интерпретация основывается на том факте, что если ∆( М1, M2, ..., MN) находится в состоянии σu, принадлежащем подавтомату Mi, то ∆( М1, M2, ..., MN) никогда не может перейти в какое - либо состояние подавтомата Mj, где j ≠ i, так как Mi и Mj — два изолированных подавтомата. Поведение автомата ∆( М1, M2, ..., MN), находящегося в состоянии σu, совпадает поэтому с поведением автомата Mi, находящегося в состоянии σu. Следовательно, автомат ∆( М1, M2, ..., MN) может быть представлен автоматом М1, или автоматом M2 или автоматом MN, в зависимости от начального состояния.
В качестве примера рис. 2.6 и таблица 2.7 представляют автомат A4, а рис. 2.7 и таблица 2.8—автомат A5. Расщепляемый автомат, составленный из автоматов A4 и A5, ∆ (A4, A5), представлен на рис. 2.8 и в таблице 2.9.
