Опубликован: 17.02.2011 | Уровень: специалист | Доступ: платный
Лекция 8:

Контроль функции выходов инициального автомата с использованием кратного безусловного эксперимента

< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Аннотация: Исследуется задача контроля функции выходов автомата с помощью кратного безусловного эксперимента. Вводятся понятия покрытия, приведенного и минимального покрытия графа множеством путей и кратности покрытия. Показано, что исходная задача редуцируется к задаче нахождения покрытия графа автомата. Приводятся критерий разрешимости задачи и оценки длин покрытия. Описывается алгоритм построения покрытия.

Рассмотрим следующую задачу. Пусть в распоряжении экспериментатора есть несколько экземпляров автомата Мили A, у которого известны входной алфавит X=\{x_1, \dots, x_m\}, выходной алфавит Y=\{y_1, \dots, y_l\}, множество состояний S=\{s_0, \dots , s_{n-1}\}, где s_0 - выделенное состояние, называемое начальным, и функция переходов \delta.Требуется построить кратный безусловный эксперимент, позволяющий распознать функцию выходов \lambda автомата A или эквивалентного ему автомата.

Легко видеть, что содержательный смысл этой задачи, в частности, соответствует также и контролю функции выходов инициального автомата кратным экспериментом.

Как и в "Эксперименты по контролю функции выходов инициального автомата" , мы обратимся к решению более общей задачи в рамках теории графов, а интересующие нас результаты будут получены как частные случаи.

Определение 8.1. Множество P путей в графе G(S,U), исходящих из начальной вершины s_0 этого графа, назовем покрытием, если каждая дуга G(S,U) принадлежит некоторому пути из P.

Определение 8.2. Число путей покрытия назовем его кратностью, а сумму длин всех путей покрытия - его длиной.

Перейдем к рассмотрению задачи построения покрытия графа G(S,U) с начальной вершиной s_0.

Ниже будут получены необходимые и достаточные условия разрешимости этой задачи, установлены достижимые оценки кратности и длины покрытия, предложен метод его построения.

Условимся считать, что из каждой вершины s графа G исходит "пустой" путь нулевой длины, заканчивающийся в той же вершине. Будем говорить, что вершина s графа G достижима из вершины t, если в G существует путь из вершины t в вершину s. Из этого определения следует, что каждая вершина графа достижима из самой себя. Полагаем, что каждой вершине графа G инцидентна хотя бы одна дуга. Обозначим через T множество всех тех вершин графа G, из которых исходит хотя бы одна дуга.

Теорема 8.1. Покрытие графа G существует тогда и только тогда, когда любая вершина множества T достижима из начальной.

Доказательство. Пусть P - некоторое покрытие графа G и s - некоторая вершина из T. Поскольку из вершины s исходит некоторая дуга и эта дуга принадлежит одному из путей покрытия, то вершина s достижима из s_0. Вершина s_0 достижима из самой себя по крайней мере по "пустому" пути. Отсюда следует, что любая вершина множества T достижима из s_0. Предположим теперь, что в графе G любая вершина s \in T достижима из s_0. Зафиксируем произвольно некоторую вершину t \in T. Пусть u_1, u_2, \dots, u_{k_t} - путь, ведущий из s_o в t, а \{\nu_1, \dots, \nu_{r_t)}\} - множество всех дуг, исходящих из t. Построим множество путей P_t=\{u_1u_2 \dots u_{k_t} \nu_1, \dots, u_1u_2 \dots u_{k_t} \nu_r\}. Легко видеть, что объединение множеств P_t по всем t \in T является покрытием графа G. Этим и заканчивается доказательство теоремы.

Граф, для которого существует покрытие, назовем правильным. Граф H(S,V) назовем сверхграфом графа G(S,U), если V \supseteq U. Сверхграф H графа G назовем регулярным, если любая дуга из множества V\U оканчивается в вершине s_0. Дуги этого множества будем называть замыкающими.

Лемма 8.1. Каждому контуру C регулярного сверхграфа H графа G, проходящему через все дуги графа H, соответствует покрытие графа G.

Доказательство. Пусть C - контур, проходящий через все дуги регулярного сверхграфа H. По этому контуру строим множество P всех максимальных по длине путей, входящих в C, но не содержащих замыкающих дуг. Поскольку каждая замыкающая дуга оканчивается в s_0, то путь из P начинается в s_0. Множество P получено из контура C исключением только всех замыкающих дуг. Отсюда следует, что любая дуга графа G входит хотя бы в один путь из P, т. е. есть покрытие.

Лемма 8.2. Каждому покрытию графа G соответствует регулярный сильно связный сверхграф H графа G и контур C, проходящий через все дуги H.

Доказательство. Пусть P=\{p_1 \dots, p_k\} - покрытие графа G. По этому покрытию и графу G построим граф H следующим образом: если путь p_i \in P оканчивается в вершине s, то проведем из s в s_0 замыкающую дугу r_t. Поскольку G - правильный граф, то полученный граф H(S,V), где V+UY\{r_i, \dots, r_k\}, является сильно связным регулярным сверхграфом графа G, а путь p_1r_1p_2r_2 \dots p_kr_k - контуром, проходящим через все дуги графа H.

Определение 8.3. Покрытие P=\p_1, \dots, p_k\} графа G назовем приведенным, если выполняются следующие условия:

  1. для всех i \ne j, 1 \le i, j \le k, путь p_i не является начальным отрезком пути p_j ;
  2. для всякого q, являющегося начальным отрезком пути p_i, q \ne p_i, i=1, \dots, k, множество P'=\{p_1, \dots, p_{i-1}, q, p_{i+1}, \dots, p_k\} не является покрытием.

Пусть P - приведенное покрытие графа G. Из пункта 2 определения 8.3 следует, что если p \in P и p оканчивается дугой u, то эта дуга не принадлежит никакому другому пути из P. Из последнего факта непосредственно вытекает, что для правильного графа G всегда существует приведенное покрытие, кратность которого не превосходит числа дуг графа. Легко видеть, что эта оценка достижима для графов с любым числом дуг и вершин. Из определения 8.3 также следует, что покрытие минимальной длины является приведенным.

Если граф сильно связен, то всегда существует контур, проходящий через все его дуги, т. е. всегда существует приведенное покрытие этого графа кратности 1.

Рассмотрим теперь не сильно связный граф. Докажем ряд вспомогательных утверждений. Используемые обозначения те же, что и в лекции 6 ч. I.

Лемма 8.3. Для правильного не сильно связного графа множество положительных вершин не пусто.

Доказательство. Пусть G - некоторый правильный не сильно связный граф, у которого S^+ пусто. Тогда множество S^- также пусто и, следовательно, \Delta (s)=0 для всех s \in S. Поскольку правильный граф связен, то из последнего факта следует, что граф G обладает эйлеровым контуром и, стало быть, он сильно связен. Полученное противоречие доказывает лемму.

Лемма 8.4. Из любой вершины связного графа, у которого S^+ не пусто, достижима хотя бы одна положительная вершина.

Доказательство. Пусть F(S,U) - связный граф, у которого S^+ не пусто. Из каждой вершины s \in S^+ проведем ровно \Delta (s) дуг, оканчивающихся в отрицательных вершинах, таким образом, чтобы каждая отрицательная вершина t служила концом ровно \Delta (t) таких дуг.

В результате получим новый граф F'(S,U), у которого V \supseteq U и для всех вершин s \Delta (s)=0. В силу теоремы 2 из [25, c.182], граф F' обладает эйлеровым контуром C.

Рассмотрим отрезок этого контура, лежащий между двумя дугами из множества V\U. Этот отрезок является, очевидно, путем, ведущим из некоторой отрицательной вершины графа F в некоторую положительную вершину. По построению графа F' в каждую отрицательную вершину графа F входит хотя бы одна дуга из V\U. Следовательно, из каждой отрицательной вершины графа F достижима некоторая положительная.

Любая положительная вершина достижима из самой себя по "пустому" пути. Рассмотрим, наконец, произвольную вершину s, у которой \Delta (s)=0. Из нее достижима положительная вершина, поскольку из s выходит по крайней мере одна дуга и эта дуга содержится в пути, порожденном контуром C, из отрицательной в положительную вершину. Лемма доказана.

Рассмотрим граф G, множество S^+ которого не пусто. Из каждой вершины s \in S', где S' \subseteq S^+, проведем в вершину s_0 ровно \Delta (s) дуг. Эти дополнительные дуги обозначим через r_i, \dots , r_k, где k=\sum_{s \in S} \Delta (s). Полученный граф обозначим через H(G,S').

Теорема 8.2. Для правильного не сильно связного графа G всегда существует покрытие, кратность которого не превосходит величины

\sum_{s \in S^+} \Delta (s) ( 8.1)

Доказательство. В силу леммы 8.3 множество S^+ для правильного не сильно связного графа G не пусто. Из теоремы 8.1 следует, что граф G связен. Построим граф H(G,S^+. В силу леммы 8.4 и правильности графа G граф H(G,S^+) является сильно связным регулярным сверхграфом. Зафиксируем некоторый контур C графа H(G,S^+), проходящий через все его дуги. По лемме 8.1 этому контуру соответствует покрытие P, содержащее пути, полученные из C исключением всех замыкающих дуг r_1, \dots , r_k графа H(G,S^+). Из правила построения этого графа следует, что между любыми двумя вхождениями замыкающих дуг в контуре C имеется хотя бы одна дуга графа G. Для завершения доказательства теоремы достаточно показать, что в графе H(G,S^+) существует такой контур C', проходящий через все дуги этого графа, что каждая дуга r_t входит в этот контур только один раз. По построению в графе H(G,S^+) для каждой вершины s \in S^+ \Delta (s)=0 и положительной может быть только вершина s_0. Поскольку из s_0 достижима любая вершина графа, то всегда можно построить компенсирующую систему графа H(G,S^+), используя только дуги из U. Следовательно, искомый контур C' существует. По лемме 8.1 ему соответствует покрытие кратности (8.1), что и требовалось доказать.

Легко видеть, что оценка (8.1) достижима для всех ее значений.

Оценим снизу кратность покрытия правильного графа G. Напомним, что множество S\T состоит из вершин графа G, из которых не выходят дуги. По ранее сделанному предположению любая вершина графа G инцидентна хотя бы одной дуге, но тогда S\T \subseteq S^+. Пусть мощность множества S\T равна r. По лемме 8.2 всякому покрытию графа G соответствует некоторый регулярный сильно связный сверхграф H графа G, число замыкающих дуг которого не меньше r. Отсюда следует, что кратность любого покрытия графа G не может быть меньше величины r. Легко видеть, что эта оценка достижима для всех значений r.

Перейдем к уточнению нижней оценки кратности. Множество R^+ вершин графа G определим следующим образом: s \in R^+, если s \in S^+ и из вершины s не достижима ни одна отрицательная вершина графа G. Очевидно, что S\T \subseteq S^+ и для правильного графа s_0 \ne R^+. Кроме того, для правильного не сильно связного графа G множество R^+ не пусто. Доказательство этого утверждения может быть проведено по аналогии с доказательством леммы 8.3.

Покажем справедливость следующего утверждения.

Теорема 8.3. Кратность покрытия правильного графа не может быть меньше величины

\sum _{s \in R^+} \Delta (s) ( 8.2)

Доказательство. Пусть P=\{p_1, \dots, p_k\} - некоторое покрытие графа G. По этому покрытию, используя доказательство леммы 8.3, построим сильно связный регулярный сверхграф H графа G. Пусть C - контур графа H, соответствующий покрытию P. Каждую дугу графа H заменим дугами l с тем же началом и концом, где l - число вхождений дуги в контур. Полученный в результате граф H' обладает эйлеровым контуром. Поскольку для любой вершины s графа H'* \Delta (s)=0, то в вершину s_0 заходит не менее \sum_{s \in R^+} \Delta (s) замыкающих дуг. Таким образом, кратность покрытия графа G не может быть меньше величины (8.2).

Рассмотрим граф, изображенный на рис.8.1. Для этого графа S^+=\{s_3, s_7, s_8\}, S\T=\{s_8\}, R^+=\{s_7, s_8\}, \sum_{s \in S^+} \Delta (s)=3, \sum_{s \in S^+} \Delta (s)=2.


Рис. 8.1.

Множество P=\{u_1u_3u_5u_6u_8u_{10}, u_2u_4u_5u_7u_9\} является, очевидно, приведенным покрытием кратности 2, т. е. оценка (8.2) в данном примере достижима. Нетрудно показать, что (8.2) является достижимой для любого своего значения.

Следствие 1. Если для правильного не сильно связного графа G множества R^+ и S^+ совпадают, то минимальная кратность покрытия графа G равна величине (8.1).

Справедливость этого утверждения вытекает непосредственно из теорем 8.2, 8.3 и того факта, что при совпадении множеств S^+ и R^+ оценки (8.1) и (8.2) равны.

< Лекция 7 || Лекция 8: 12 || Лекция 9 >
Дмитрий Степаненко
Дмитрий Степаненко
Россия
Юрий Фролов
Юрий Фролов
Украина