Основы информационных технологий Д.В. Сперанский ЛЕКЦИИ ПО ТЕОРИИ ЭКСПЕРИМЕНТОВ С КОНЕЧНЫМИ АВТОМАТАМИ Учебное пособие Интернет-Университет Информационных Технологий www.intuit.ru БИНОМ. Лаборатория знаний www.lbz.ru Москва 2010 Лекции ЧАСТЬ I. ЭКСПЕРИМЕНТЫ С АВТОМАТАМИ МИЛИ . . . . . . . . . . . 17 Лекция 1. Эксперименты с автоматами, имеющими взвешенный входной алфавит . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Лекция 2. Синтез экспериментов методами динамического программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Лекция 3. Обобщенные автоматы без потери информации . . . . . . . . . . . 41 Лекция 4. Обобщенные автоматы без потери информации конечного порядка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Лекция 5. Преобразование автоматов в автоматы без потери информации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Лекция 6. Эксперименты по контролю функции выходов инициального автомата . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Лекция 7. Контроль функции выходов неинициального автомата с использованием простого безусловного эксперимента . . . . 90 Лекция 8. Контроль функции выходов инициального автомата с использованием кратного безусловного эксперимента . . . . 97 Лекция 9. Преобразование автоматов для упрощения функционального контроля. . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 ЧАСТЬ II. ЭКСПЕРИМЕНТЫ С ЛИНЕЙНЫМИ И БИЛИНЕЙНЫМИ АВТОМАТАМИ. . . . . . . . . . . . . . . . . 115 Лекция 10. Эксперименты с линейными автоматами . . . . . . . . . . . . . . . 115 Лекция 11. Установочные и диагностические эксперименты со стационарными и нестационарными автоматами . . . . . 127 Лекция 12. Эксперименты в пространстве обобщенных состояний и с автоматами с запаздыванием. . . . . . . . . . . . . . . . . . . . . . . 142 Лекция 13. Синхронизация и устойчивость дискретных линейных систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Лекция 14. Эксперименты по распознаванию неисправностей линейных автоматов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7 Лекция 15. Линейные автоматы существенно без потери информации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Лекция 16. Обобщенные линейные автоматы без потери информации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Лекция 17. Минимизация времени восстановления неизвестных входных сигналов в сети из автоматов . . . . . . . . . . . . . . . . . 204 Лекция 18. Оптимальные эксперименты с линейными автоматами . . 215 Лекция 19. Интервальная арифметика над конечным полем и ее приложения к теории экспериментов с автоматами . . 229 Лекция 20. Диагностическая задача в интервальной постановке . . . . . 241 Лекция 21. Эксперименты с билинейными автоматами по распознаванию состояний . . . . . . . . . . . . . . . . . . . . . . . . . 258 Лекция 22. Разновидности экспериментов с билинейными автоматами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 8 Оглавление Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Список использованных аббревиатур . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 ЧАСТЬ I. ЭКСПЕРИМЕНТЫ С АВТОМАТАМИ МИЛИ . . . . . . . . . . . 17 Лекция 1. Эксперименты с автоматами, имеющими взвешенный входной алфавит . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Основные определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Синтез синхронизирующих последовательностей, минимальных по весу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Синтез установочных последовательностей, минимальных по весу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Синтез диагностических последовательностей, минимальных по весу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Лекция 2. Синтез экспериментов методами динамического программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Синтез синхронизирующей последовательности . . . . . . . . . . . . . . . 30 Синтез установочной последовательности . . . . . . . . . . . . . . . . . . . . 35 Синтез диагностической последовательности . . . . . . . . . . . . . . . . . 38 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Лекция 3. Обобщенные автоматы без потери информации . . . . . . . . . . . 41 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Лекция 4. Обобщенные автоматы без потери информации конечного порядка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Лекция 5. Преобразование автоматов в автоматы без потери информации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Лекция 6. Эксперименты по контролю функции выходов инициального автомата . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Контроль функции выходов инициального автомата с использованием простого безусловного эксперимента . . . . . . 76 Оценка длины кратчайших обходов и характеристических слов . . 82 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 9 Лекция 7. Контроль функции выходов неинициального автомата с использованием простого безусловного эксперимента . . . . . . . . 90 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Лекция 8. Контроль функции выходов инициального автомата с использованием кратного безусловного эксперимента . . . . . . . . 97 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Лекция 9. Преобразование автоматов для упрощения функционального контроля . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 ЧАСТЬ II. ЭКСПЕРИМЕНТЫ С ЛИНЕЙНЫМИ И БИЛИНЕЙНЫМИ АВТОМАТАМИ. . . . . . . . . . . . . . . . . 115 Лекция 10. Синхронизирующие эксперименты с линейными автоматами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Основные определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Условия существования синхронизирующей последовательности .120 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Лекция 11. Установочные и диагностические эксперименты со стационарными и нестационарными автоматами . . . . . . . . . . . 127 Условия существования установочной последовательности . . . . 127 Условия существования диагностической последовательности . 131 Синхронизирующие, установочные и диагностические эксперименты с нестационарными линейными автоматами . . . . 134 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Лекция 12. Эксперименты в пространстве обобщенных состояний и с линейными автоматами с запаздыванием . . . . . . . . . . . . . . . . . 142 Эксперименты с линейными автоматами в пространстве обобщенных состояний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Эксперименты с линейными автоматами с запаздыванием . . . . . 148 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Лекция 13. Синхронизация и устойчивость дискретных линейных систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Лекция 14. Эксперименты по распознаванию неисправностей линейных автоматов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Синтез тестов для стационарных линейных автоматов . . . . . . . . . 171 Синтез тестов для нестационарных линейных автоматов . . . . . . . 177 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10 Лекция 15. Линейные автоматы существенно без потери информации . . 183 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Лекция 16. Обобщенные линейные автоматы без потери информации . . 192 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Лекция 17. Минимизация времени восстановления неизвестных входных сигналов в сети из автоматов без потери информации . . 204 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Лекция 18. Оптимальные эксперименты с линейными автоматами . . . 215 Оптимальные синхронизирующие эксперименты . . . . . . . . . . . . . 216 Синтез обобщенной синхронизирующей последовательности с минимальным числом перепадов . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Лекция 19. Интервальная арифметика над конечным полем и ее приложения к теории экспериментов с автоматами . . . . . . . . 229 Об интервальном анализе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Интервальная арифметика над полем GF(p). . . . . . . . . . . . . . . . . . 232 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Лекция 20. Диагностическая задача в интервальной постановке . . . . . 241 Постановка задачи и алгебраический метод решения . . . . . . . . . . 241 Генетический алгоритм для решения интервальной диагностической задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Лекция 21. Эксперименты с билинейными автоматами по распознаванию состояний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Синхронизирующие последовательности . . . . . . . . . . . . . . . . . . . . 259 Установочные последовательности . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Диагностические последовательности . . . . . . . . . . . . . . . . . . . . . . . 268 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Лекция 22. Разновидности экспериментов с билинейными автоматами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Эксперименты по распознаванию неизвестного входного слова . . .272 Эксперименты с билинейными автоматами с запаздыванием . . . 274 Вопросы и упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 11 Предисловие Теория автоматов имеет уже более чем полувековую историю, и поэтому вполне естественно обилие публикаций, посвященных различным ее разделам. Поскольку автоматы являются очень удобными и адекватными моделями в различных предметных областях, спектр рассматриваемых в теории автоматов проблем очень широк. Так, большое количество работ в этой теории посвящено вопросам анализа и синтеза автоматов, минимизации числа их состояний и методам кодирования и т. п., что объясняется удобством автоматных моделей для описания структур и законов функционирования цифровых устройств и систем. Еще один активно исследуемый раздел теории автоматов связан с разработкой программных систем и трансляторов с различных алгоритмических языков, а также с разработкой методов так называемого автоматного программирования, поскольку и в этой области методы теории автоматов оказались весьма эффективными. Перечень областей, где методы теории автоматов стали очень полезными, можно было бы продолжить, и это расширение продолжается до последнего времени. Вместе с тем мы акцентируем особое внимание еще на одной предметной области, где эффективность приложений методов теории автоматов трудно переоценить, – это техническая диагностика цифровых устройств и систем. Основой для приложений в этой области является один из старейших разделов теории автоматов, который принято называть теорией экспериментов с автоматами. Активные разработки в области технической диагностики диктовались необходимостью удовлетворения постоянно возрастающих требований к надежности современных цифровых устройств и систем из-за важности возлагаемых на них функций. Любые меры по обеспечению высокой надежности систем в качестве одного важного и обязательного компонента должны включать средства для обнаружения неисправностей, желательно в момент их первого проявления, и достаточно точной их локализации. Широко распространенные на практике методы обеспечения функционирования и контроля предполагают использование так называемых тестов. Реакция цифровой системы на эти тесты дает возможность вынести заключение о ее техническом состоянии (исправна она или нет) и в случае появления неисправности локализовать место ее расположения. С точки зрения теории подача теста на цифровую систему представляет собой эксперимент с ней, заключающийся в фиксации реакций системы на тест с последующим их анализом с целью вывода заключения о состоянии системы. 4 Предлагаемый читателю курс лекций поможет ему познакомиться с необходимыми сведениями из теории экспериментов с автоматами и использовать их для практических приложений. Для освоения материала предлагаемого курса от читателя требуется знакомство с основами математической логики, методами решения систем линейных алгебраических уравнений, сведения из теории матриц — все это в объеме первых двух курсов любого технического вуза. Прочие сведения, которые могут потребоваться при освоении курса, излагаются нами в представленных лекциях. 5 Курс Лекции по теории экспериментов с конечными автоматами Введение Предметом предлагаемого читателю курса лекций является один из старейших разделов поведенческой теории дискретных преобразователей информации. Названная теория изучает математические модели преобразователей информации, которые получили наименование конечных автоматов. Отличительной особенностью поведенческой теории автоматов является абстрагирование от внутренней их структуры (конструкции) и изучение функционирования автоматов только в терминах осуществляемых ими преобразований входных сигналов в выходные. К числу классических задач теории автоматов относятся задачи изучения их свойств, задачи анализа и синтеза, задачи минимизации и т. п. Особый класс в теории автоматов составляют задачи распознавания, расшифровки, идентификации, установки, контроля и диагностики, требующие для своего решения проведения с автоматами так называемых экспериментов. Результаты исследования этих задач сконцентрированы в специальный раздел теории дискретных преобразователей информации, получивший наименование теории экспериментов с автоматами. Экспериментом с автоматами принято называть процесс подачи на автомат последовательности входных сигналов, наблюдения реакции на эту последовательность и вывода заключений либо о свойствах автомата, либо о его состояниях (начальном, промежуточном, конечном), либо каких-либо его параметрах и т. п. Как правило, получаемые заключения базируются не только на наблюдаемых реакциях, но и на некоторой априорной информации об автомате. Основы теории экспериментов с автоматами были заложены Э. Муром [36]. Отметим, что эта теория является старейшим по времени появления разделом теории автоматов. За уже полувековую историю развития в ней получен целый ряд значимых результатов, оказавших влияние не только на многие математические, но и технические дисциплины. Приведем лишь несколько примеров применения результатов и методов теории экспериментов в различных предметных областях. Так, в [79] описаны ее применения в теории кодирования, распознавания неизвестной входной последовательности, подаваемой на автомат. В современных распределенных системах теория экспериментов нашла приложение при верификации протоколов [39], а также при тестировании программ [1]. Особо следует отметить чрезвычайно широкое применение результатов и методов теории экспериментов в области технической диагностики дискретных устройств [6, 8–10, 37], где они по существу составляют теоретиче12 Введение скую основу для развития некоторых современных ее разделов. Этот краткий перечень имеющихся в настоящее время приложений может быть значительно расширен и, по-видимому, будет пополняться в ближайшем будущем. Представление о современном состоянии теории экспериментов можно получить из работ [22, 65, 71, 73, 74, 82]. Говоря о влиянии теории экспериментов на развитие других теорий и предметных областей, необходимо констатировать, что этот процесс является взаимным. В частности, благодаря именно этому обстоятельству в теории экспериментов появляются новые задачи и возникает необходимость во введении и исследовании новых классов автоматов и новых типов экспериментов, что способствует интенсивному развитию самой теории. Предлагаемый вниманию читателей курс лекций содержит результаты, которые получены лично автором этого учебного пособия, в том числе и совместно с учениками. В разработке затронутых в ней вопросов, безусловно, сказались индивидуальные интересы и предпочтения автора, сложившиеся в течение многих лет работы в области теории экспериментов совместно со своими коллегами в Институте прикладной математики и механики АН Украины и Саратовском государственном университете им. Н.Г. Чернышевского. Курс лекций состоит из двух частей. В первой части для исследования рассматриваемых в ней задач используется математическая модель, именуемая автоматом Мили. Эта общая модель, с помощью которой можно описать функционирование любого преобразователя информации. Одной из важных проблем классической теории экспериментов с автоматами является разработка методов построения различных типов входных последовательностей, с помощью которых и осуществляется эксперимент. При этом, как правило, требуется построить входную последовательность, доставляющую экстремум некоторому оптимизационному критерию. В классической теории экспериментов в качестве такого критерия берется длина входной последовательности. Из двух различных последовательностей предпочтительнее является та, которая имеет меньшую длину. Отчасти использование такого критерия оправдано тем, что автомат в большинстве случаев применяется в качестве математической модели электронных цифровых устройств. При этом входная последовательность есть последовательность электрических сигналов. Предполагается, что затраты (энергетические и временные) на подачу любого сигнала являются одинаковыми. Таким образом, в этом случае сравнение двух различных последовательностей по их длине вполне соответствует здравому смыслу. Условно можно считать, что в классической теории экспериментов каждый входной сигнал имеет вес, равный единице, а вес входной последовательности равен числу ее входных сигналов. Отсюда следует, что 13 Курс Лекции по теории экспериментов с конечными автоматами оптимальными входными последовательностями, применяемыми в эксперименте, являются те, которые имеют минимальную длину. Вместе с тем заметим, что автомат может быть использован в качестве модели для описания функционирования систем и процессов, физическая природа которых отлична от природы электронных цифровых устройств. В таких системах и процессах подача входных сигналов (внешних воздействий) может требовать, к примеру, разных энергетических, силовых или каких-либо иных затрат. В этой ситуации затраты на реализацию внешних воздействий, имитирующих подачу различных входных сигналов, могут существенно отличаться. Условимся считать, что для оценки затрат на подачу входных сигналов выбрана некоторая калибровочная (масштабная) единица и, используя эту единицу измерения, можно оценить «вес» каждого входного сигнала. Тогда в качестве веса входной последовательности естественно считать сумму весов входящих в нее входных сигналов. Вполне очевидно, что теперь из двух входных последовательностей предпочтительнее является та, которая имеет меньший вес. Понятно, что при такой интерпретации веса входной последовательности понятие оптимальности становится иным по сравнению с ранее приведенным аналогичным понятием для классической теории экспериментов. Последнее означает, что входная последовательность, оптимальная по старому критерию (по длине), не обязательно является таковой по новому критерию (по весу), и наоборот. Отсюда вытекает, что ранее известные методы построения оптимальных по длине экспериментов в случае использования нового (весового) критерия оказываются непригодными. Поэтому возникает необходимость в разработке новых методов построения оптимальных экспериментов. Этим вопросам посвящены некоторые лекции первой части курса. Недостаток универсализма модели автомата Мили заключается в том, что методы решения многих классических задач теории экспериментов являются достаточно трудоемкими, т. е. требуют для своей реализации больших вычислительных затрат. Широко применяемый подход если не для полного устранения, то, по крайней мере, для существенного сокращения трудоемкости реализации методов связан с рассмотрением частных классов преобразователей информации. Естественно ожидать, что если рассматриваемый частный класс преобразователей обладает некоторыми специфическими особенностями или свойствами, то бывшие трудоемкими применительно к общей модели (автомату Мили) методы в этом случае могут оказаться достаточно эффективными. Вместе с тем понятно, что сужение класса рассматриваемых преобразователей, преследующее цель получения эффективных с точки зрения вычислительных затрат методов, не может быть безграничным. В самом деле, каков смысл в исследовании таких классов преобразователей, для которых можно предложить очень эффективные методы решения некото14 Введение рых задач, но сами эти классы из-за их «узости» не содержат сколь-нибудь значимых в плане практического применения устройств? Во второй части курса лекций представлен фрагмент теории экспериментов для так называемых линейных и билинейных автоматов. Как будет показано далее, их специфика действительно существенно упрощает методы построения экспериментов и значительно уменьшает их длину. Вместе с тем подчеркнем, что упомянутые автоматы хотя и образуют довольно частный класс преобразователей информации, однако они представляют собой адекватные математические модели широко распространенных на практике реальных цифровых устройств и реальных процессов. Так, модели линейных автоматов описывают устройства кодирования и декодирования информации, устройства сжатия информации, устройства, применяемые для диагностики цифровой аппаратуры методами сигнатурного анализа, устройства для умножения и деления многочленов над конечными полями, применяемые при реализации криптографических процедур, и т. п. Что касается билинейных автоматов, то с их помощью описываются процессы вычисления сложных процентов в банковских операциях, процессы роста биогеоценозов в биологии и т. д. Иными словами, несмотря на кажущуюся узость класса моделей линейных и билинейных автоматов, они широко используются на практике и потому, несомненно, заслуживают исследования. Каждая из двух частей курса лекций представляет собой автономный раздел, и ее можно читать в любом порядке. Поскольку в изложении материала отсутствуют взаимные ссылки в каждой из частей курса лекций, для них была принята одинаковая система нумерации лекций, подразделов лекций, теорем, лемм, формул, рисунков и таблиц. Чтобы не обременять читателя частыми ссылками на источники, где приводятся определения используемых нами понятий, мы, как правило, даем их в тексте. Изложенные в курсе лекций результаты были опубликованы в разных работах, в том числе в [11–13, 43–61]. Автор отдает себе отчет в том, что, несмотря на все усилия, избежать неточностей, опечаток и более существенных погрешностей в изложении материала практически невозможно. За все эти недостатки автор несет полную ответственность и будет благодарен за любые замечания, поправки и предложения. Заканчивая краткое введение, автор выражает признательность за помощь в подготовке рукописи к печати Татьяне Владимировне Семеновой. 15 Курс Лекции по теории экспериментов с конечными автоматами Список использованных аббревиатур – обобщенный ЛА с m-неопределенными координатами в векторе-состоянии e-СП – e-синхронизирующая последовательность БА – билинейный автомат БПИ – без потерь информации автомат БПИК – без потерь информации конечного порядка автомат ГА – генетический алгоритм ГДА – граф диагностики автомата ГСА – граф синхронизации автомата ГУА – граф установки автомата ДД – диагностическое дерево ДЛС – дискретная линейная система ДП – диагностическая последовательность ДС – дискретная система ДУ – дискретное устройство КУ – комбинационное устройство ЛА – линейный автомат ОБПИ – обобщенный БПИ-автомат ОБПИК – обобщенный автомат без потери информации конечного порядка ОДП – обобщенная ДП ОС – обобщенное состояние ОСП – обобщенная синхронизирующая последовательность ОУП – обобщенная установочная последовательность ПГА – простой генетический алгоритм СБПИ – существенно БПИ-автомат СБПИК – автомат существенно без потери информации конечного порядка СВК – схема встроенного контроля СВО – сильно взаимно однозначный автомат СД – синхронизирующее дерево СЛАУ – система линейных алгебраических уравнений СП – синхронизирующая последовательность СПИ-состояние – состояние с потерей информации ТПВ – таблица переходов-выходов УД – установочное дерево УП – установочная последовательность ЦУ – цифровое устройство m-ЛА 16 Лекция 1 Эксперименты с автоматами, имеющими взвешенный входной алфавит ЧАСТЬ I. ЭКСПЕРИМЕНТЫ С АВТОМАТАМИ МИЛИ Лекция 1. Эксперименты с автоматами, имеющими взвешенный входной алфавит В лекции приводятся определения основных понятий теории экспериментов: синхронизирующих, установочных и диагностических последовательностей, конструкции дерева преемников. Описывается конструкция синхронизирующего (установочного, диагностического) дерева, используемая для построения минимальной по весу синхронизирующей (установочной, диагностической) последовательности, а также процедура ее построения. Ключевые слова: автомат Мили, эксперимент, дерево преемников, взвешенный алфавит, синхронизирующее дерево, минимальная по весу СП, метод синтеза. Основные определения Введем некоторые основные понятия теории автоматов, которые используются в дальнейшем изложении (их можно найти, например, в работах [9, 18, 30]). Под автоматом Мили будем понимать пятерку A= (S, X, Y, d, l), где S, X, Y – конечные множества состояний, входной и выходной алфавиты соответственно, d и l – функции переходов и выходов, задающие отображения d:SґX ®S, l:SґX ®Y. Через S0 обозначим подмножество множества состояний S, которое назовем множеством допустимых начальных состояний автомата A. Предполагается, что множества X и Y автомата A конечны (такие автоматы называются конечными). Через X* обозначим множество всех последовательностей (слов) конечной длины в алфавите X. Через e обозначим пустое слово (нулевой длины) в любом алфавите. Полагаем, что eОX*. Распространим функции переходов и выходов автомата на множество X* следующим образом: где s ОS, x ОX, p ОX*. Последовательность выходов автомата l(s , p) l(d(s, p), x) получена с помощью операции конкатенации (приписывания) двух слов: l(s, p) и l(d(s, p), x). 17 Курс Лекции по теории экспериментов с конечными автоматами Автомат Мили A может быть задан в виде таблиц переходов и выходов (иногда они совмещаются в одну таблицу), с помощью матриц и, наконец, с помощью графа. Форма представления автомата в виде графа является наиболее наглядной. В дальнейшем изложении мы будем пользоваться в основном графовой и табличной формами представления автомата, которые подробно описаны в [18]. Напомним, что множеством вершин графа переходов автомата A являются состояния из S, а множество дуг есть совокупность четверок (s,x,y,t), где t=d(s, x), y = l(s,x ). Пара (x,y) называется отметкой дуги, s – ее началом, t – концом. Пусть TНS, тогда полагаем, что d(T, x)=Иd(s,x) и l(T, x)=Иl(s,x ), где объединение выполняется по всем sОT. Состояние t назовем достижимым из s, если tОd(s, x) для некоторого p ОX*. Автомат A назовем сильно связным, если его граф переходов сильно связен, т. е. из любого состояния автомата достижимы все его состояния. Состояние s называется преходящим в автомате A, если s не является концом ни одной дуги автомата, т. е. s не достижимо ни из одного состояния, отличного от s. Состояние s называется тупиковым в автомате A, если из s не достижимо ни одно состояние, отличное от s. Каждому входному символу xi из алфавита X автомата A поставим в соответствие некоторое положительное число w(xi) и назовем его весом символа xi. Далее такой алфавит будем называть взвешенным. Весом входной последовательности p= xi1, xi2 ,..., xin ОX* назовем число Следуя традиции классической теории экспериментов с автоматами, будем различать безусловные и условные эксперименты [18]. Безусловный эксперимент предполагает подачу на вход автомата такой последовательности, которая определена заранее, т. е. до начала эксперимента. При проведении условного эксперимента на вход автомата подается две или более подпоследовательности, причем каждая последующая подпоследовательность, кроме первой, формируется на основании реакций, вызываемых предыдущими подпоследовательностями. Преимущества условных экспериментов состоят в том, что они, во-первых, иногда могут оказаться короче безусловных и, во-вторых, в некоторых случаях их строить легче, чем безусловные. Один автомат будем называть копией другого, если они имеет одинаковые графы переходов и перед началом эксперимента оба они находятся в одном и том же состоянии. По числу требуемых для эксперимента копий автомата различают простые, когда требуется лишь один 18 Лекция 1 Эксперименты с автоматами, имеющими взвешенный входной алфавит экземпляр автомата, и кратные эксперименты, когда требуется более чем один экземпляр автомата. В дальнейшем изложении мы в основном будем иметь дело с простыми безусловными экспериментами. В классической теории экспериментов с автоматами были исследованы две задачи, получившие наименование диагностической и установочной. В обеих задачах предполагается известным автомат, т. е., например, его граф переходов, и множество S0 его допустимых начальных состояний, т. е. истинное начальное (стартовое) состояние. Это состояние есть одно из состояний множества S0. Диагностическая задача состоит в отыскании начального (стартового) состояния заданного автомата, а установочная – в установке автомата в известное состояние. Эксперименты, решающие перечисленные задачи, принято называть диагностическими и установочными соответственно. Интерес к этим задачам объясняется возможностью приложений результатов их решения к контролю и диагностике реальных цифровых устройств. Проведение установочных и диагностических экспериментов с автоматами требует наличия специальных входных последовательностей, которые мы также будем именовать установочными (УП) и диагностическими (ДП) последовательностями соответственно. Дадим теперь формальные определения этих последовательностей. Входная последовательность p= xi1, xi2 ,..., xin называется установочной последовательностью для автомата A и множества S0 его допустимых начальных состояний, если (1.1) Содержательно это определение означает, что по наблюдаемой реакции на УП автомата A, находящегося в неизвестном для наблюдателя начальном состоянии, всегда однозначно можно определить его конечное состояние. Входная последовательность p= xi1, xi2 ,..., xin называется диагностической последовательностью для автомата A и множества его допустимых начальных состояний, если (1.2) Содержательно это определение означает, что по наблюдаемой реакции на ДП автомата A, находящегося в неизвестном для наблюдателя начальном состоянии, всегда однозначно можно определить это начальное (стартовое) состояние. Определим еще один тип последовательности, которую назовем синхронизирующей (СП). Входная последовательность p= xi1, xi2 ,..., xin называ19 Курс Лекции по теории экспериментов с конечными автоматами ется синхронизирующей последовательностью для автомата A и множества S0 его допустимых начальных состояний, если (1.3) Содержательно это определение означает, что после подачи на автомат A СП этот автомат оказывается в одном и том же известном наблюдателю конечном состоянии независимо от того, из какого начального состояния он стартовал. Очевидно, что СП по существу является УП, поскольку после ее подачи автомат оказывается в известном состоянии, хотя никакого наблюдения реакций производить не нужно. Другими словами, подачу на вход автомата СП можно трактовать как синхронизирующий эксперимент, но эксперимент «вырожденный», поскольку он не требует наблюдения реакции автомата. Ниже мы займемся разработкой методов построения СП, УП и ДП в предположении, что автомат A имеет взвешенный входной алфавит X. При этом нас будут интересовать все три типа последовательностей с минимальным весом. Как уже было упомянуто выше, известные ранее методы построения минимальных по длине последовательностей, описанные в [18], в рассматриваемой ситуации оказываются непригодными. Вместе с тем базисная конструкция дерева преемников, использованная в [18] для синтеза УП и ДП, минимальных по длине, оказывается вполне работоспособной и в нашем случае, однако она, что вполне естественно, требует соответствующих изменений. Понятно, что, располагая методами построения минимальных по весу СП, УП и ДП для автоматов со взвешенным входным алфавитом, всегда можно построить соответствующие последовательности, минимальные по длине, положив вес каждого символа алфавита X равным единице. Таким образом, описываемые ниже методы построения упомянутых последовательностей являются более общими, чем известные ранее. Заметим, что в этой лекции мы не касаемся вопросов существования упомянутых выше трех типов последовательностей, поскольку для автоматов Мили они подробно отражены в [18]. Легко сообразить, что «взвешенность» алфавита никак не влияет на условия существования соответствующих последовательностей. 20 [...]