- •Глава 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. Метод уменьшения числа состояний автоматов с ограничениями на входе
4.3. Диагностические и установочные эксперименты
Наша основная цель в этой главе состоит в разработке экспериментов для решения следующих двух задач.
1. Диагностическая задача. Известно, что данный автомат М, таблица переходов которого имеется в нашем распоряжении, находится в одном из состояний σi1, σi2, ..., σim. Найти это состояние.
2. Установочная задача. Известно, что данный автомат М, таблица переходов которого имеется в нашем распоряжении, находтися в одном из состояний σi1, σi2, ..., σim. Установить М в известное состояние.
Диагностическая задача, следовательно, есть задача определения начального состояния М, а установочная задача состоит в определении конечного состояния М. Эксперимент, который решает диагностическую задачу, называется диагностическим экспериментом; эксперимент, который решает установочную задачу, называется установочным экспериментом. Ясно, что каждый диагностический эксперимент есть также установочный эксперимент, так как знание начального состояния М и приложенной последовательности означает знание конечного состояния. Обратное, однако, не обязательно верно.
Если особо не оговаривается, то во всей этой главе будет предполагаться, что М—минимальный автомат. Если автомат М, первоначально заданный свози таблицей переходов, не минимален, то он всегда может быть минимизирован методами, изложенными в главе 3. Так как только внешнее поведение М представляет интерес, можно без риска заменить первоначальную таблицу ее минимальной формой и, следовательно, без потери общности предполагать, что М минимален.
Множество состояний { σi1, σi2, ..., σim }, одно из рых, как известно экспериментатору, есть начальное состояние М, называется множеством допустимых начальных состояний и обозначается А (М). Состояния А (М) называются допустимыми состояниями. Как диагностическая, так и установочная задачи становятся тривиальными, когда А(М) является одноэлементным множеством, т. е. когда m=1. Наше внимание, следовательно, будет сконцентрировано на случаях, когда m≥2.
Можно заметить, что безусловный диагностический или установочный эксперименты не зависят от истинного начального состояния М. С другой стороны, условный диагностический или установочный эксперименты зависят в общем случае от истинного начального состояния. Это следует из того факта, что начальное состояние определяет реакцию М на первую входную подпоследовательность; так как составление следующей входной подпоследовательности основывается на реакции на текущую прикладываемую подпоследовательность, то начальное состояние определяет все входные подпоследовательности, исключая первую.
4.4. Диагностические эксперименты для двух состояний
Задача определения начального состояния автомата М в случае, когда А (М) имеет произвольную мощность m, конечно, намного сложнее относительно частного случая, когда m = 2. Чтобы различить между собой общий и этот частный случаи, первый будем называть диагностической задачей для т состояний, а второй — диагностической задачей для двух состояний.
В этой главе мы рассмотрим диагностическую задачу для двух состояний, предполагая, что данный автомат М имеет n состояний, с A(M)=(σi0, σj0). Так как М минимален, то σi0 и σj0 должны быть различимы и, следовательно, (n—1)-различимы. Значит, существует входная последовательность длины n — 1 или менее, которая, будучи приложенной к M|σi0 и M|σj0, вызывает различные выходные последовательности. Такая входная последовательность называется диагностической последовательностью для {σi0, σj0}.Диагностический эксперимент для двух состояний для автомата М при А (М) = {σi0, σj0} состоит, следовательно, в приложении к М диагностической последовательности для {σi0, σj0} и в наблюдении реакции; на основании этой реакции может быть определено истинное начальное состояние. В оставшейся части этого параграфа мы покажем, как могут быть построены диагностические последовательности для заданных пар состояний.
Пусть σi0 и σj0 будут i-различимы и (l — 1)-эквивалентны, для некоторого l, 1 ≤ l ≤ n - 123. Тогда длина кратчайшей диагностической последовательности для { σi0, σj0} есть l. Любая диагностическая последовательность для { σi0, σj0}. Длина которой равна определенному выше значению l, будет называться минимальной диагностической последовательностью для { σi0, σj0}и обозначаться ε(σi0, σj0). Если σi0 и σj0 l -различимы и (l -1)-эквивалентны, то σi0 и σj0 должны быть разобщенными состояниями в Рl и объединенными в Рl-1. Поэтому i может быть определено путем построения k-эквивалентных разбиений для данного автомата М и нахождения наименьшей величины k такой, что Pk содержит σi0 и σj0 в двух различных классах; эта величина должна равняться l.
Когда ε(σi0, σj0) прикладывается к M|σi0 и M|σj0, выходные последовательности получаются одинаковыми, за исключением последнего l -го символа. Следовательно, k-е преемники σi0 и σj0 относительно ε(σi0, σj0) являются (l — k)- различимыми и (l -k-1) - эквивалентными для всех 0 ≤ k ≤ l — 1. Это положение изображено на рис. 4.2, где ε(σi0, σj0) представлена в виде последовательности ξu1ξu2... ξul. Последовательности состояний, которые проходят автоматы M|σi0 и M|σj0 есть соответственно σi1, σi2, ..., σii и σj1, σj2, ..., σjl. При этом выходные последовательности имеют вид ζv1, ζv2, ..., ζ(t)vl, для автомата M|σi0 и ζv1, ζv2, ..., ζ(j)vl для автомата M|σi0, где ζ(i)vl≠ ζ(j)vl. Используя обозначения рис. 4.2, можно установить, что если σi0и σj0 и l-различимы (l — 1)-эквивалентны и если ξu1ξu2... ξul и есть минимальная диагностическая последовательность для { σi0, σj0 }, то: (1) для
1 ≤ k ≤ l — 1 ξuk есть входной символ, который переводит σik-1 и σjk-1 в пару (l — k)-различимых и (l—k—1) -эквивалентных состояний σik и σjk; ξul есть входной символ, при приложении которого к автоматам M|σil-1 и M|σjl-1 последние выдают различные выходные символы.
Определение ξuk, σik и σjk из σik-1 и σjk-1 (1 ≤ k ≤ l—1). Определение ξuk , σik и σjk , когда σik-1 и σjk-1 известны, может быть наиболее удобно произведено с помощью таблиц Рk, построение которых для эквивалентных разбиений данного автомата описано в § 3.6. σik-1 и σjk-1 выявляются (l — k + 1)-различимыми и (l — k)-эквивалентными состояниями; следовательно, они составляют смежные строки в таблице Pl-k и разобщенные строки в таблице Рl-k+1. Поэтому строки σik-1 и σjk-1 в таблице Рl-k должны содержать две клетки, скажем σ´ik-1 и σ´jk-1 соответственно, которые имеют различные нижние индексы, по меньшей мере в одном, скажем ξ´uk-1-м столбце. При этом σ´ik-1 и σ´jk-1 должны быть (l — k—1)-эквивалентными, так как они являются первыми преемниками (l — k)-эквивалентных состояний σik-1 и σjk-1 относительно входного символа ξ´uk-1 ; они должны быть также (l—k)-различимыми, так как σ´ik-1 и σ´jk-1 имеют различные нижние индексы в таблице Pl-k. Следовательно, σ´ik-1 и σ´jk-1 являются искомыми состояниями σik и σjk соответственно, и входной символ ξ´uk-1 есть искомый входной символ ξuk. Таким образом, ξuk, σik и σjk могут быть определены путем просмотра таблицы Pl-k.
Определение ξul из σit-1 и σjl-1. σit-1 и σjl-1. являются 1-различимыми; поэтому должен существовать, по крайней мере, один входной символ, при приложении которого к автоматам M|σil-1 и M|σjl-1 последние выдают различные выходные символы. Этот символ, который является искомым символом ξul , может быть легко определен путем нахождения в zv-подтаблице столбца, в котором строки σit-1 и σjl-1 различны.
Приведенные методы могут быть объединены и представлены в виде следующего алгоритма.
Алгоритм 4.1. σi0 и σj0 суть два состояния автомата М. Чтобы определить минимальную диагностическую последовательность для { σi0,σj0}: (1) Построим таблицы Pk для М. Найдем l такое, что σi0 и σj0, являются смежными строками в таблице Pl-1 и разобщенными строками в таблице Рl. Предположим, что k=1. (2) (а) Если l — k > 0, то переходим к шагу 3. (б) Если l — k = 0, то ξuk соответствует любому столбцу в zv-подтаблице М, такому, что строки σik-1 и σjk-1 в этом столбце различны. ξu1ξu2... ξuk есть минимальная диагностическая последовательность для { σi0, σj0}. (3) ξuk соответствует любому столбцу в таблице Pl-k, такому, что строки σik-1 и σjk-1 этого столбца имеют клетки σik и σjk соответственно с различными нижними индексами. Увеличиваем k на единицу и возвращаемся к шагу (2).
Для иллюстрации рассмотрим автомат A17, представленный таблицей 4.1 и изображенный на рис. 4.3. Таблицы 4.2 — 4.5 являются таблицами P1, Р2, Р3 и Р4 автомата A17. Для примера найдем минимальную диагностическую последовательность для {1,2}, т. е. ε(1,2). Начнем с рассмотрения таблицы Р3, так как это «последняя» таблица, в которой строки 1 и 2 являются смежными. Строки 1 и 2 в таблице Р3 имеют различные нижние индексы в клетках «4c» и «5d», которые находятся в столбце β. Значит, β есть первый символ в ε(1,2). В таблице Р2 строки 4 и 5 имеют различные нижние индексы в клетках «Зb» и «2а», которые находятся в столбце а. Значит, а есть второй символ в ε(1,2). В таблице Р1 строки 3 и 2 имеют различные нижние индексы в клетках «5b» и «1а», которые находятся в столбце а. Значит, а есть третий символ в ε(1,2). Β также может быть выбран в качестве третьего символа, так как строки 3 и 2 имеют различные нижние индексы в клетках «1а» и «5b», которые находятся в столбце β. В zv-подтаблице строки 1 и 5 имеют различные клетки (0 и 1) в столбце а. Значит, а есть четвертый и последний символ в ε(1,2). Таким образом, ε(1,2) имеет
вид βaaa или βaβa. Когда βaaa прикладывается к A17 в состоянии 1 и в состоянии 2, последний выходной символ есть 1 и 0 соответственно, что легко может быть проверено по таблице 4.1 или по рис. 4.3. Следовательно, если {1,2} является множеством допустимых начальных состояний A17, то диагностический эксперимент может быть проведен путем приложения βaaa и наблюдения последнего выходного символа: если этот символ—1, то начальное состояние — 1, если этот символ—0, то начальное состояние — 2. В таблице 4.6 перечислены все минимальные диагностические последовательности для всех пар состояний { σi0, σj0} A17; последние два столбца в этой таблице указывают последние наблюдаемые выходные символы ζ(i)v1 и ζ(j)v1, когда минимальная диагностическая последовательность прикладывается к σi0 и σj0 соответственно. Хотя для данной пары состояний могут быть построены две или более минимальных диагностических последовательностей, в таблице приведена только одна такая последовательность.
