Контроль функции выходов инициального автомата с использованием кратного безусловного эксперимента
Определение 8.4. Приведенное покрытие графа, являющееся минимальным по кратности и по длине, назовем минимальным.
Покажем, что минимальное покрытие графа не всегда существует. С этой целью рассмотрим граф, изображенный на рис.8.2.
Покрытия и
, как легко видеть, являются приведенными покрытиями этого графа. Покрытие
является минимальным по кратности (кратность его равна 1), но не минимальным по длине (длина его равна 13). Покрытие
(длины 11 и кратности 2) является минимальным по длине, но не минимальным по кратности. Легко установить, что для данного графа минимального покрытия не существует.
Перейдем к отысканию условий, при которых минимальное покрытие существует. Покажем справедливость следующего вспомогательного утверждения.
Лемма 8.5. Если есть покрытие графа
минимальной длины, то любой путь из
, не оканчивающийся в начальной вершине графа, оканчивается в некоторой положительной его вершине.
Доказательство. Пусть - покрытие графа
минимальной длины
. Предположим, что существует путь
, оканчивающийся в некоторой не положительной вершине
, где
. Покрытию
соответствует регулярный сильно связный сверхграф
, способ построения которого описан при доказательстве леммы 8.3.
Преобразуем граф следующим образом: каждую дугу
заменим
дугами
с тем же началом и концом, где
- число путей из
, содержащих дугу
. Легко видеть, что полученный в результате граф
обладает эйлеровым контуром. Поскольку
не обладает положительной вершиной графа
и
, то в графе
эта вершина отрицательна, а в графе
, очевидно,
. Отсюда следует, что найдется такая дуга
, оканчивающаяся в вершине
, что в графе
существуют дуги
, где
. Выполним следующее преобразование графа
: исключим из него дугу
и одну замыкающую дугу, исходящую из
. Далее, из начальной вершины дуги
, если она отлична от
, проводим одну замыкающую дугу в
. Полученный в результате такого преобразования новый граф
, как это следует из его построения, обладает эйлеровым контуром.
Число дуг графа по крайней мере на единицу меньше числа дуг графа
. Любому эйлерову контуру графа
соответствует покрытие
графа
длины, не большей
. Отсюда следует, что
не является покрытием минимальной длины. Полученное противоречие доказывает лемму.
Сформулируем достаточное условие существования у графа минимального покрытия.
Теорема 8.4. Если у правильного графа множества и
совпадают, то у него существует мимнимальное покрытие.
Доказательство. Если у правильного графа множество
пусто, то он обладает эйлеровым контуром. Очевидно, что эйлеров контур является минимальным покрытием графа.
Предположим теперь, что множество не пусто, следовательно,
также не пусто. Поскольку
, а множество
состоит из вершин, из которых не достижима ни одна отрицательная вершина, то граф
заведомо не является сильно связным. В силу следствия 1 теоремы 8.3 минимальная кратность покрытия графа
в таком случае равна (8.2).
Пусть есть покрытие графа
минимальной длины
и каждый путь из
оканчивается в вершине, не равной
. Тогда по лемме 8.5 каждый путь из
оканчивается в вершине множества
. Предположим, что
не минимально по кратности, т. е. его кратность
больше (8.1). Пусть покрытию
соответствует сильно связный регулярный граф
(см. доказательство леммы 8.2). По графу
построим эйлеров граф
, заменяя каждую дугу
столькими дугами (с тем же началом и концом), скольким путям из
принадлежит дуга
. Поскольку
больше (8.1), то найдется вершина
, из которой в графе
выходит
замыкающих дуг, где
. Следовательно, в графе
найдется дуга
, входящая в вершину
и принадлежащая по крайней мере двум путям из
. Тогда в графе
удалим одну дугу
, соответствующую дуге
, и удалим одну замыкающую дугу, исходящую из
. Затем из начала дуги
в вершину
проведем одну дугу. Легко видеть, что полученный граф
является эйлеровым и его эйлерову контуру соответствует покрытие графа
длины
. Следовательно,
не является покрытием минимальной длины. Противоречие доказывает, что
- минимально еопкрытие.
Рассмотрим, наконец, минимальное по длине покрытие графа
, у которого некоторые пути оканчиваются в
. Пусть кратность покрытия
больше (8.1) и пути
оканчиваются в
. Легко видеть, что покрытие
также является покрытием минимальной длины и все пути из
оканчиваются только в положительных вершинах. Выше было показано, что кратность покрытия
минимальна. Теорема доказана.
Перейдем к описанию алгоритма построения покрытия правильного графа . Пути искомого покрытия обозначим через
. Каждой вершине
поставим в соответствие множество
всех дуг, выходящих из
. Дуги в
занумеруем числами
причем если
и
- петля, то
.
В алгоритме будут использованы функции и
, определяемые такими соотношениями:
- номер дуги
во множестве
- конечная вершина пути
, исходящего из вершины
.
В описанном алгоритме кроме построения покрытия производится вычисление параметра , необходимого для оценки длины полученного покрытия.
Для краткости при описании алгоритма используем операцию присваивания ":=", употребляемую в том же смысле, что и в алгоритмических языках.
-
; для всех
.
- Если
, то перейти к пункту 3, иначе к пункту 4.
-
, где
- дуга из множества
, имеющая наименьший номер;
; если
, то
; перейти к пункту 2.
- Если
то перейти к пункту 5, иначе работа алгоритма завершается.
- Если из вершины
достижима хотя бы одна вершина
, для которой
, то перейти к пункту 6, иначе к пункту 7.
- Построить кратчайший путь
, ведущий из вершины
в вершину из множества
, и перейти к пункту 3.
-
и перейти к пункту 3.
Заметим, что в случае сильно связного графа полученное по этому алгоритму покрытие имеет кратность 1.
Оценим сверху длину покрытия, построенного с помощью алгоритма . Пусть
- мощность множества
. Множество
упорядочим отношением "
" и обозначим через
, где
, если
.
Алгоритм можно считать пошаговым процессом, где
-м шагом будут являться построения, выполняемые алгоритмом при фиксированном значении параметра
. Путь
, описанный в пункте 6 алгоритма
, будем называть транслирующим. Очевидно, что длина покрытия, построенного по алгоритму, равна сумме числа дуг графа и длин всех транслирующих путей.
Оценим суммарную длину всех транслирующих путей покрытия, построенного по алгоритму .
Из описанного алгоритма следует, что длина транслирующего пути не превосходит числа таких вершин
из
, для которых на
-м шаге
. Поэтому для значений
от 0 до
включительно
, где
- "пустой" путь. Далее, для значений
от
до
включительно длина
не превосходит единицы. Из описания алгоритма следует, что на последнем шаге работы алгоритма значение
равно
. Отсюда, учитывая предыдущие рассуждения, легко показать, что суммарная длина транслирующих путей, построенных по алгоритму, не превосходит величины
![]() |
( 8.3) |
Следовательно, справедливо следующее утверждение.
Теорема 8.5. Для правильного графа всегда существует покрытие, длина которого не превышает величины
![]() |
( 8.4) |
где - число дуг графа.
Следствие 1. Для правильного -вершинного автоматного графа степени
всегда существует покрытие длины, не превышающей величины
![]() |
( 8.5) |
Следствие непосредственно вытекает из теоремы 8.5, так как для автоматного графа и
.
В [16] доказано, что для всех и
существует
-вершинный сильно связный автоматный граф степени
, у которого имеется контур, проходящий через все дуги графа, минимальной длины, равной (8.5). Из этого факта следует, что оценка (8.5) достижима при всех
и
. Следовательно, оценки (8.4) и (8.3) также достижимы.
Перейдем теперь к автоматной интерпретации полученных результатов. Если автомат Мили задан в виде конечного ориентированного автоматного графа, то каждому пути покрытия графа ставится в соответствие некоторое входное слово, а множество слов, соответствующих всем путям покрытия, составит кратный безусловный эксперимент. Таким образом, для распознавания функции выходов заданного инициального автомата или ему эквивалентного с состояниями и
входными сигналами может быть использован кратный эксперимент , длина которого не превышает величины (8.5), а кратность - величины (8.2). Необходимое и достаточное условие существования кратного эксперимента, а также алгоритм его построения получаются простой переформулировкой теоремы 8.1 и алгоритма А.
Вопросы и упражнения
- Приведите постановку задачи контроля функции выходов автомата с помощью кратного эксперимента.
- Приведите определение покрытия графа и его кратности.
- Каков критерий существований покрытия графа?
- Дайте определение приведенного покрытия графа.
- Приведите верхнюю и нижнюю оценки кратности для правильного не сильно связного графа.
- Дайте определение минимального покрытия графа.
- Каково условие существования минимального покрытия?
- Опишите процедуру построения покрытия правильного графа.