- •Глава 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. Метод уменьшения числа состояний автоматов с ограничениями на входе
Глава 3 эквивалентность и минимизация автоматов
3.1. Введение
В предыдущих главах было подчеркнуто, что в конечных автоматах не нужно ни наблюдать, ни интересоваться физической природой состояний. Единственная функция состояний заключается в том, чтобы участвовать в определении зависимостей между входами и выходами автомата. Следовательно, любое множество состояний, выполняющих эту функцию, является приемлемым независимо от того, выражают эти состояния какой-либо интуитивный смысл или нет. Эта свобода выбора множества состояний весьма выгодна, поскольку она позволяет заменять одно множество другим, что может оказаться удобным для многих целей. В частности, она позволяет найти оптимальное или минимальное, в том или другом смысле, множество состояний. При всех таких рассмотрениях понятие «эквивалентности» играет главную роль. Как станет видно из дальнейшего, это понятие не только является фундаментальным для более точного и краткого определения конечных автоматов, но проливает новый свет на всю проблему анализа конечных автоматов (так же как и синтеза)17.
3.2. Эквивалентность состояний
В дальнейшем будем применять обозначение М|σ краткой записи высказывания: «автомат М в состоянии σ».
Определение 3.1. Говорят, что состояние σi автомата М1 и состояние σj автомата М2 эквивалентны, если М1| σi и М2| σj - под воздействием любой входной последовательности выдают одинаковые выходные последовательности. Если σi и σj не эквивалентны, то говорят, что они различимы. Обозначения М1 и М2 могут относиться к одному и тому же автомату.
Таким образом, σi и σj эквивалентны тогда и только тогда, когда, наблюдая внешние выходы, нельзя отличить автомат M1 находящийся в начальном состоянии σi, от автомата М2, находящегося в начальной состоянии σj18. Состояния σi и σj различимы тогда и только тогда, когда имеется хотя бы одна входная последовательность, подача которой как на М1| σi так и на М2| σj дает на выходах различные последовательности.
Эквивалентность σi и σj обозначается равенством σi = σj, а различимость σi и σj — неравенством σi ≠σj. Пользуясь определением 3.1, можно легко показать, что эквивалентные состояния обладают свойством рефлексивности (σi = σj), свойством симметричности (если σi = σj; то σj = σi) и свойством транзитивности (если σi = σj и σj = σk, то σi = σk). Следовательно, эквивалентность состояний может рассматриваться как обычное соотношение эквивалентности, которое применимо к множествам состояний любой мощности. Различимость состояний не обладает свойствами рефлексивности и транзитивности и, следовательно, может относиться только к парам состояний.
В некоторых случаях эквивалентность или различимость двух состояний одного и того же автомата могут быть установлены исследованием таблицы переходов данного автомата, Некоторые из этих случаев описываются с помощью следующих трех лемм.
Лемма 3.1. Пусть σi и σj —состояния автомата М. Если строки σi и σj в подтаблице zv автомата М различаются, то σi ≠σj.
Доказательство. Очевидно, существует по крайней мере один входной символ, при приложении которого к М|σi и к M|σj, на выходе М получаются различные выходные символы. Следовательно, по определению 3.1 σi ≠ σj.
Лемма 3.2. Пусть σi и σj — состояния автомата М. Если строки σi и σj в полной таблице переходов автомата М одинаковы, то σi = σj.
Доказательство. При приложении к М|σi и к M|σj любого входного символа выходные символы и следующие состояния в обоих случаях будут одинаковы. Поскольку М|σi и M|σj переходят в одно и то же состояние, их реакции на все подпоследовательности входных сигналов должны совпадать. Следовательно, по определению 3.1 σi = σj.
Лемма 3.3. Пусть σi и σj —состояния автомата М. Если строки σi и σj полной таблицы переходов автомата М становятся одинаковыми при замене каждого обозначения σi и σj (или наоборот), то σi = σj.
Доказательство. При приложении любого входного символа к М|σi и к M|σj выходные символы одинаковы в двух случаях: либо М|σi и M|σj переходят в одно и то же состояние, либо в состояния σi и σj (не обязательно соответственно). Если следующее состояние одно и то же, то реакции автомата на входные подпоследовательности будут совпадать. Если следующими состояниями являются σi и σj, то восстановится исходная ситуация, и приведенные выше соображения можно будет повторить, чтобы показать, что следующие выходные символы одинаковы в обоих случаях. Затем, по индукции, получим, что реакции при σi и σj на любую входную последовательность будут одинаковыми, откуда следует, что σi = σj
Пары строк, обладающие свойством, приведенным в лемме 3.1, называются явно различимыми, а состояния, стоящие в основном столбце в этих строках, — явно различимыми состояниями. Пары строк, обладающие свойствами,
указанными в леммах 3.2 и 3.3, называются явно эквивалентными, а состояния, стоящие в основном столбце в этих строках,—явно эквивалентными состояниями.
Таким образом, имеем:
Теорема 3.1. Если состояния σi и σj явно различимы, то σi ≠σj, а если состояния σi и σj, явно эквивалентны, то σi и σj.
Следует отметить, что утверждение, обратное теореме 3.1, несправедливо, т. е. не каждая пара различимых состояний является явно различимой и не каждая пара эквивалентных состояний явно эквивалентной. Используя определения, введенные в § 2.3, можно заключить, что в явно минимальном
автомате все пары состояний различимы, а в явно сократимом автомате имеется по крайней мере одна пара эквивалентных состояний.
Для иллюстрации лемм 3.1—3.3 рассмотрим автомат A6, представленный графом переходов, изображенным на рис. 3.1, и таблицей переходов 3.1. Из таблицы переходов видно, что строки 1 и 5 одинаковы, а строки 2 и 6 становятся одинаковыми, если каждую цифру 2 заменить на цифру 6 (или каждую цифру 6 заменить на цифру 2). Следовательно, состояния в парах {1,5} и {2, 6} являются эквивалентными. Рассмотрение подтаб-
лицы zv показывает также, что ни одно состояние из множества {1, 4, 5, 8} не может быть эквивалентным какому-либо состоянию из множества {2, 3, 6, 7}.
3.3. k-эквивалентность
Для дальнейших обсуждений полезно ввести понятие «k-эквивалентности».
Определение 3.2. Состояние σi автомата М1 и состояние σj, автомата М2 называются k-эквивалентными, если при приложении к М|σi и к M|σj входной последовательности длины k они вырабатывают одинаковые выходные последовательности. Если σi и σj не являются k-эквивалентными, то они называются k-различимыми. Обозначения М1 и М2 могут относиться к одному и тому же автомату.
Таким образом, σi и σj являются k-эквивалентными тогда и только тогда, когда, прикладывая входные последовательности длины k и наблюдая сигналы на внешних выходах, невозможно отличить автомат М1 в состоянии σi от автомата М2 в состоянии σj. Состояния σi и σj являются k-различимыми тогда и только тогда, когда имеется хотя бы одна входная последовательность длины k, которая при приложении к М1| σi и М2| σj, вырабатывает разные выходные последовательности. Два k-различимых состояния, согласно определению, данному в § 3.2, являются явно различимыми. На основании определения 3.2 легко показать, что k-эквивалентные состояния обладают свойствами рефлексивности, симметричности и транзитивности. Следовательно, k-эквивалентность можно трактовать как обычное отношение эквивалентности, которое непосредственно применимо к множествам состояний любой мощности. С другой стороны, k-различимость не обладает свойствами рефлексивности и транзитивности, и, следовательно, это понятие применимо только к парам состояний.
Лемма 3.4. (а) Если два состояния являются k-эквивалентными, то они являются и i-эквивалентными для каждого i≤k. (б) Если два состояния являются k-различимыми, то они являются и l-различимыми для каждого l≥k.
Доказательство, (а) Пусть σi и σj являются k-эквивалентными, но различимыми при некоторой входной последовательности, скажем εi, длины l≤k. Тогда σi и σj должны быть различимы при входной последовательности εiεk-i, где εk-i представляет собой любую входную последовательность длины k - l. Следовательно, σi и σj являются k-различимыми, что противоречит условию, (б) Пусть σi и σj выявляются k-различимыми, но l - эквивалентными для некоторого l - k. Однако, согласно (а), если σi и σj являются l - эквивалентными, они должны быть k-эквивалентными для каждого k≤l. Полученное противоречие доказывает справедливость утверждения (б).
Состояние, в которое переходит состояние σi, при подаче входной последовательности длины k называется k-м преемником σi, по отношению к этой последовательности. Нулевым преемником состояния является само состояние.
Теорема 3.2. Если состояния σi и σj являются k-эквивалентными и если их k-e преемники по отношению к любой входной последовательности длины k являются эквивалентными, то σi = σj.
Доказательство. Если σi и σj являются k-эквивалентными, то, согласно лемме 3.4, они вырабатывают одинаковые реакции при всех входных последовательностях длины k или менее. Если их k-e преемники по отношению к любой входной последовательности длины k являются эквивалентными, то они вырабатывают одинаковые реакции при всех входных последовательностях, которые следуют за первыми k символами. Следовательно, σi и σj вырабатывают одинаковые выходы при входных последовательностях любой длины, откуда следует, что σi = σj.
Теорема 3.3. Если состояния σi и σj являются эквивалентными, то их k-e преемники по отношению к любой входной последовательности длины k и для любого k являются эквивалентными.
Доказательство. Пусть σ´i и σ´j, являются k-ми преемниками состояний σi и σj соответственно по отношению к произвольной входной последовательности εk. Если σ´i ≠σ´j, то имеется последовательность, скажем εi для которой σ´i и σ´j, вырабатывают различные реакции. Следовательно, реакции для σi и σj на εkεi должны быть разными; это противоречит допущению, что σi = σj.
Входную последовательность, подаваемую на М1| σi и М2| σj, можно сравнить с двумя путями, начинающимися состояниями σi и σj на графе переходов для автоматов М1 и М2 соответственно. Теорема 3.3 означает, что если два
начальных состояния на этих путях эквивалентны, то каждые два соответствующих состояния на этих путях (т. е. состояния, в которые переходят автоматы из начальных состояний после прохождения одного и того же числа дуг) являются также эквивалентными. Это положение иллюстрируется рис. 3.2, где показанные пути являются путями, которые проходят M1 и М2, при приложении некоторой входной последовательности к М1| σi и к М2| σj. Если σi и σj являются эквивалентными, то k-e преемники σik и σjk должны быть эквивалентны для всех k.
Изложенные результаты могут быть использованы во многих случаях для установления эквивалентности состояний, когда эквивалентность других состояний уже установлена. Пусть, например, известно, что пары состояний {1, 5} и {3, 7} автомата Л6, изображенного на рис. 3.1, являются эквивалентными. Тогда пара {4, 8} должна быть также парой эквивалентных состояний вследствие того, что 4 и 8 являются 1-эквивалентными, а их первыми преемниками являются пары {1,5} и {3, 7}. Если известно, что состояния в паре {4, 8} эквивалентны, то состояния в парах {1,5}, {2, 6} и {3, 7} должны быть также эквивалентными, поскольку они образуют пары соответствующих состояний на путях, начинающихся состояниями 4 и 8.
3.4. k-эквивалентные разбиения
Для целей, которые станут ясными из следующих параграфов, представляет интерес деление или «разбиение» состояний автомата на классы по следующим правилам: (1) все состояния, принадлежащие к одному классу, должны быть k-эквивалентными; (2) все состояния, принадлежащие к разным классам, должны быть k-различимыми. Такое разбиение называется k-эквивалентным разбиением автомата и обозначается Pk. Классы Pk называются классами k-эквивалентности и обозначаются Σk1, Σk2, Σk3 и т. д. Состояния, принадлежащие к одному и тому же классу, называются смежными состояниями; состояния, принадлежащие к разным классам, называются разобщенными состояниями.
Рис. 3.3 и таблица 3.2 представляют автомат А7, Для этого автомата 2-эквивалентное разбиение имеет вид
Легко проверить по графу переходов автомата А7, что смежные состояния в P2 заданные выражениями (3.1), являются 2-эквивалентными, а разобщенные состояния являются 2-различимыми. Ни одно состояние автомата A7 не является 2-эквивалентным состоянию 9 (за исключением самого состояния 9), и, следовательно, состояние 9 образует класс, состоящий из одного состояния, — одноэлементный класс.
Ясно, что ни одно состояние не может принадлежать одновременно двум различным k-эквивалентным классам, поскольку это означало бы, что это состояние является k-различимым по отношению к самому себе. Следовательно, общее число состояний в Рк равно общему числу состояний в автомате.
Лемма 3.5. k-эквивалентное разбиение автомата единственно.
Доказательство. Предположим, что разбиение Рк, состоящее из Σk1, Σk2, ..., Σku, не является единственным. Тогда для этого же автомата должно быть другое k-эквивалентное разбиение, скажем Р´k, состоящее из Σ´k1, Σ´k2, Σ´k3. Пусть Σkr ={σr1, σr2, ..., σrd }. Поскольку состояния из Σkr являются k-эквивалентными и поскольку не
имеется ни одного состояния вне Σkr, являющегося эквивалентным какому-либо состоянию из Σkr, то в Рk, должен быть класс состояний, скажем Σ´kr, состоящий из состояний σr1, σr2, ..., σrd и не содержащий никаких других состояний. Предположив, что г принимает значения 1,2, . . ., u, получим, что каждому классу в Pk соответствует идентичный класс в Р´k Поскольку общее число состояний в Pk должно быть таким же, как в Рk, то Pk и Р´k должны быть одинаковыми и, следовательно, Pk является единственным.
Лемма 3.6. Состояния, являющиеся разобщенными в Рk, должны быть разобщенными в Рk+1.
Доказательство. Согласно лемме 3.4 два состояния, являющиеся k-различимыми, являются и (k+1)-различимыми. Тогда - справедливость доказываемой леммы непосредственно вытекает из определения Pk и Pk+1.
Например, Р3 автомата A7 не может содержать такие классы, как {1, 3, 6} и {2, 5, 9}, поскольку эти классы, как следует из (3.1), содержат состояния, которые в Р2 являются разобщенными.
Лемма 3.7. Если автомат М имеет два различимых, но k-эквивалентных состояния, то он также должен иметь два состояния, которые являются k-эквивалентными, но (k+1)-различимыми.
Доказательство. Пусть σi и σj будут различимыми k-эквивалентными состояниями автомата М и пусть входная Последовательность ξh1, ξh2 ; ..., ξhi будет наикратчайшей входной последовательностью, различающей состояния σi и σj. Это значит, что σi и σj вырабатывают различные выходные символы не раньше, чем будет приложен входной символ ξhi.Поскольку σi = σj являются k-эквивалентными, то должно быть i > k. Пусть (i — k — 1)-ми преемниками σi = σj по отношению к входной последовательности ξh1, ξh2 ; ..., ξh(i-k-1) будут σ´i и σ´j, соответственно; так как i > k, то i - k – 1≥0, и эти преемники всегда существуют. Тогда σ´i и σ´j могут быть различимы при входной последовательности ξhi-k, ξhi-k+1 ; ..., ξhi , длина которой равна i — (i — k — 1)=k + 1. Эти два состояния не могут быть различимы с помощью никакой другой более короткой последовательности, так как это противоречило бы условию, что σi и σj являются k-эквивалентными. Следовательно, σ´i и σ´j, являются k-эквивалентными, но (k + 1)-различимыми. Лемма доказана. Рассмотренная ситуация иллюстрируется на рис. 3.4.
Предположим теперь, что смежные состояния в каждом классе эквивалентности разбиения Pk являются эквивалентными. Тогда ясно, что Рк+u совпадает с Рк для всех неотрицательных целых и. Если два смежных состояния в Pk являются различимыми, то они представляют собой два различимых состояния, которые являются k-эквивалентными. В этом случае, согласно лемме 3.7, автомат должен иметь два состояния, которые являются k-эквивалентными, но (k + 1)-различимыми. Следовательно, Рк должно содержать два смежных состояния, которые становятся разобщенными в Pk + i. Таким образом, если смежные состояния в каком-нибудь классе из Рk являются различимыми, то разбиение Pk + i должно отличаться от разбиения Рk. Если Рk отличается от Рk, то, согласно лемме 3.6, должно существовать «собственное разделение» Рk, которое должно получаться расщеплением одного или нескольких классов Рк на два или более подклассов. В заключение можно утверждать следующее.
Теорема 3.4. Pk+1 должно быть собственным разделением Рk, если не во всех классах Рk смежные состояния являются эквивалентными. В противном случае Рk и Pk+1 совпадают.
