Опубликован: 17.02.2011 | Доступ: свободный | Студентов: 367 / 35 | Оценка: 5.00 / 5.00 | Длительность: 25:24:00
ISBN: 978-5-9963-0268-0
Специальности: Математик
Лекция 6:

Эксперименты по контролю функции выходов инициального автомата

< Лекция 5 || Лекция 6: 12 || Лекция 7 >

Оценки длины кратчайших обходов и характеристических слов

Граф G(S,U) с начальной вершиной s_0, удовлетворяющий условиям теоремы 6.1, будем называть s_0 - правильным или просто правильным. Через p_{\min}^G обозначим кратчайший обход графа G(S,U), а через d(p_\min}^G - его длину, т. е. число дуг, входящих в обход.

По определению обход графа G(S,U) представляет собой путь, содержащий все дуги из U. Отсюда следует нижняя оценка длины кратчайшего обхода:

d(p_{\min}^g) \ge |U| ( 6.1)

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

Теорема 6.2. Для правильного графа G(S,U) обход длины |U| существует тогда и только тогда, когда выполняется одно из следующих условий:

  1. в каждой вершине графа число исходящих дуг равно числу заходящих;
  2. в начальной вершине s_0 графа число исходящих дуг на единицу больше числа заходящих, и существует такая вершина s, в которой число исходящих дуг на единицу меньше числа заходящих; в остальных вершинах графа число исходящих дуг равно числу заходящих.

Справедливость этой теоремы следует из известных результатов теории графов [25]. Очевидно, что путь (контур) в графе длины |U|, проходящий через все его дуги и только по одному разу, есть не что иное, как эйлеров путь (контур). Условия сформулированной теоремы являются соответственно условиями существования эйлерова контура и пути.

Далее обход графа G(S,U), начинающийся в вершине a и заканчивающийся в одной из вершин множества B, будем именовать (a,B) -обходом.

(s_o, S) -обход, т. е. обход в определенном ранее смысле, будем называть s_0 -обходом, чтобы отметить его начальную вершину. Если B=\{b\}, то (a, B) -обход будем называть (a,b) -обходом.

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

Через \Delta (s) обозначим разность между числом заходящих и исходящих дуг вершины s графа G(S,U).

Определение 6.2. Вершину s графа G(S,U), у которой \Delta (s) >0 (\Delta (s)<0) ), назовем положительной (отрицательной).

Через S^+ (S^-) обозначим множество всех положительных (отрицательных) вершин графа G(S,U).

Определение 6.3. Семейство M элементарных путей назовем компенсирующей системой путей графа G для (a,b) -обхода, если:

  1. каждая положительная (отрицательная) вершина s, отличная от a и b, является началом \Delta (s) (концом |\Delta (s)| ) путей из M, где |K| - модуль K ;
  2. при \Delta (a) \ge 0 (\Delta (a) <0) вершина a является началом \Delta (a)+ \omega (концом |\Delta (a)+ \omega| ) путей из M, где \omega =0, если a=b, и \omega = 1, если a \ne b ;
  3. если \Delta (b)>0 (\Delta (b) \le 0) ), то вершина b является началом \Delta (b) - \omega (концом |\Delta (b) - \omega| ) путей из M, где \omega определяется так же, как в пункте 2.

Сумму длины всех путей из M назовем длиной компенсирующей системы M и обозначим ее через D(M).

Через (D(a,b) обозначим длину кратчайшего (a,b) -обхода графа G. Легко убедиться, что для правильных графов компенсирующая система всегда существует.

Теорема 6.3. D(a,b)=|U|+D(M), где M - компенсирующая система минимальной длины для (a,b) -обхода графа G(S,U).

Доказательство. Каждому пути из M, ведущему из вершины s в вершину s', поставим во взаимно однозначное соответствие дугу, соединяющую те же вершины. Пусть множество этих дуг есть V=\{\nu_1, \dots, \nu_{|M|}\}. Рассмотрим граф G(S,UYV), полученный из G(S,U) добавлением всех дуг множества V. Легко видеть, что в графе G(S,UYV) существует эйлеров путь p, ведущий из вершины a в вершину b (см. теорему параграфа 28 из [25]). Заменив в p каждую дугу \nu_i соответствующим ему путем из M, получим новый путь p', проходящий только по дугам графа G(S,U) и являющийся его (a,b) -обходом. Из сказанного следует, что D(a,b) \le |U| + D(M). Неравенство D(a,b) \ge |U|+D(M) вытекает из того, что M - компенсирующая система минимальной длины. Из приведенных неравенств следует справедливость утверждения теоремы.

Будем говорить, что граф G(S,U) имеет степень m, если из каждой его вершины исходит ровно m дуг.

Теорема 6.4. Для сильно связного графа G(S,U), |S|=n степени m и диаметра d имеет место неравенство

D(a,b) \le mn+ \frac 12 (m-1)(2n-d-1)d+d ( 6.2)

Доказательство. Поскольку при m=1 теорема очевидна, то рассмотрим случай m>1. Число дуг графа G, т. е. |U|, равно mn, но тогда в силу теоремы 6.3 достаточно доказать, что существует компенсирующая система путей M графа G для (a,b) -обхода, длина которой не превосходит величины \frac 12 (m-1)(2n-d-1)d+d.

Пусть s_{i_1}, s_{i_2}, \dots, s_{i_t} (s_{i_1}', s_{i_2}', \dots, s_{i_t}') - неупорядоченная последовательность вершин графа G(S,U), таких, которые в соответствии с определением 6.3 являются начальными (конечными) вершинами путей компенсирующей системы M графа G. Факт существования системы M для сильно связного графа очевиден.

Если некоторая вершина является началом (концом) l путей системы M, где l>1, то в последовательности s_{i_1}, s_{i_2}, \dots, s_{i_t} (s_{i_1}', s_{i_2}', \dots, s_{i_t}') она встречается l раз.

Построение компенсирующей системы путей M будем выполнять в виде пошагового процесса.

1-й шаг. Находим кратчайший путь \mu_1 среди путей, ведущих из вершины s_{i_j} в вершину s_{i_k}', 1 \le j, k \le t. Путь \mu_1 является первым путем компенсирующей системы M. Предположим, что \mu_1 начинается в вершине s и заканчивается в вершине s'. Вычеркиваем s и s' из соответствующих последовательностей вершин, выписанных выше.

(\alpha +1) -й шаг. Пусть уже построены пути \mu_1, \mu_2, \dots, \mu_{\alpha} компенсирующей системы M, где \alpha \ge 1. Тогда последовательность начальных (конечных) вершин путей системы M содержит на данном шаге t- \alpha членов. Не теряя общности, можно считать, что такая последовательность начальных (конечных) вершин суть s_{i_1}, s_{i_2}, \dots, s_{i_{t-\alpha}} (s_{i_1}', s_{i_2}', \dots, s_{i_{t-\alpha}}'). Находим кратчайший путь \mu_{\alpha +1} среди путей, ведущих из вершины s_{i_j} в вершину s_{i_k}', 1 \le j, k \le t-\alpha. Пусть \mu_{\alpha +1} является (\alpha +1) -м путем компенсирующей системы M.

Построение компенсирующей системы путей M заканчивается, когда из последовательности ее начальных (конечных) вершин будут вычеркнуты все элементы. Предположим, что по описанному алгоритму построена компенсирующая система путей M. Покажем, что при любом k, 1 \le k \le d, система эта содержит r путей длины, не меньшей r, где r \le (n-k)(m-1)+1.

Допустим противное. Пусть \mu_{l_1}, \dots, \mu_{l_r} - пути системы M длины, не меньшей k, где r>(n-k)(m-1)+1. Поскольку G сильно связен, то каждая вершина из множества S^-\\{b\} является концом не более чем для m-1 путей из M. Очевидно, что вершина b может являться концом не более чем для m путей системы M. Из этого следует, что среди вершин, являющихся конечными для путей \mu_{l_1}, \dots, \mu_{l_r} из M длины, не меньшей k, найдется по крайней мере n-k+1 различных. Тогда, если s является начальной вершиной некоторого пути \mu_{i_j}, 1 \le j \le r, среди конечных вершин путей \mu_{j_1}, \dots, \mu_{l_r} найдется вершина s', такая, что длина кратчайшего пути из s в s' не превышает k-1. Это противоречит нашему предположению.

Обозначим через \beta_j число путей длины j в компенсирующей системе путей M графа G(S,U) для (a,b) -обхода. Очевидно, что общая длина всех путей из M определяется следующим образом:

D(M)=\sum_{j=1}^{d}j*\beta_j \le \sum_{k=1}^{d}[(n-k)(m-1)+1]=\frac 12 (m-1)(2n-d-1)d+d

Покажем, что оценка (6.2) является достижимой. Рассмотрим граф на рис.6.3.


Рис. 6.3.

Из каждой вершины графа выходит m дуг с отметками 1,2, \dots, m. Для простоты на этом рисунке кратные дуги заменены одной дугой с кратной отметкой. Легко видеть, что для всех n,d (1 \le d \le n-1), m (m \ge n-d+1) и для всех b \in \{d, \dots, n-1\} длина кратчайшего (0,b) -обхода графа G точно равна оценке (6.2).

Теорема 6.5. Пусть G(S,U), |S|=n, есть сильно связный граф степени m >1, у которого удалена одна дуга, исходящая из вершины b. Если после удаления этой дуги граф G остался сильно связным и диаметр его равен d, то для любой вершины a этого графа справедливо неравенство

D(a,b) \le mn+\frac 12 (m-1)(2n-d-1)d-1 ( 6.3)

Доказательство. При m=1 сильно связный граф G представляет собой следующую конструкцию: из i -й вершины дуга ведет в (i+1) -ю для i=1,2, \dots, n-1, а из n -й вершины в первую. Очевидно, что удаление любой дуги из G превращает его в граф, не являющийся сильно связным. Поэтому мы покажем справедливость оценки (6.3) при m>1.

Пусть G' - сильно связный граф, полученный из G удалением одной дуги, исходящей из вершины b. Добавим к этому графу петлю в ту же вершину. Полученный в результате новый граф обозначим через G*. Построим компенсирующую систему путей M для (a,b) -обхода графа G* по алгоритму, изложенному при доказательстве теоремы 6.4. Рассуждения, аналогичные приведенным при доказательстве предыдущей теоремы, показывают, что компенсирующая система путей M для (a,b) -обхода графа G* при любом k(1 \le k \le d) содержит r путей длины, не меньшей k, причем r \le (n-k)(m-1). Отсюда следует, что общая длина D(M) путей компенсирующей системы M графа G*> удовлетворяет неравенству

D(M) \le \sum_{k=1}^{d}[(n-k)(m-1)]\frac 12 (m-1)(2n-d-1)d=

Тогда длина (a,b) -обхода графа G* не превосходит величины mn+\frac 12 (m-1)(2n-d-1)d. Нетрудно убедиться, что среди (a,b) -обходов графа G*, удовлетворяющих оценке (6.3), есть такой, у которого добавленная фиктивная петля является последней в этом обходе, т. е. обход имеет следующую структуру: \mu = \mu' u, где u - дуга фиктивной петли в вершине b. Отсюда следует, что путь \mu' является (a,b) -обходом графа G', а длина его не превосходит величины mn+\frac 12 (m-1)(2n-d-1)d-1.

Покажем, что оценка (6.3) является достижимой. С этой целью вновь обратимся к графу, изображенному на рис.6.3. Непосредственным подсчетом легко убедиться, что для всех n, d (1 \le d \le +1), m (m \ge n-d+1) и b \in \{d, \dots, n-1\}, если удалить одну дугу (произвольным образом) рассматриваемого графа, длина (0, b) -обхода в точности равна оценке (6.3).

Рассмотрим теперь обход графов, не являющихся сильно связными.

Пусть G(S,U) - s_0 правильный граф, число слоев которого есть N. Обозначим через G_i(S_i, U_i) подграф графа G, соответствующий его i -му слою. Легко видеть, что (a,B) -обход графа G существует тогда и только тогда, когда BI S_N \ne  \varnothing и G есть a -правильный граф.

Пусть G(S,U), |S|=n, есть граф степени m, являющийся a_1 -правильным. Предположим, что G_i(S_i, U_i) - слои графа G, i=1, \dots, N, которые занумерованы в соответствии с процедурой нумерации, описанной в разделе 6.1. Условимся считать, что |S_i|=n_i, а диаметр G_i есть d_i. Пусть u_i - дуга, ведущая из вершины b_i \in S_i в вершину a_{i+1} \in S_{i+1}. Через O_G(a,b) обозначим (a,b) -обход графа G. Очевидно, что O_G(a_1, b_N)=O_{G_1}(a_1, b_1)u_iO_{G_2}(a_2, b_2) \dots u_{k-1}O_{G_N}(a_n, b_N)). Из этого, а также теорем 6.3 и 6.5 вытекает справедливость следующего утверждения.

Теорема 6.6.

D(a_1, b_N)=|U|+\sum_{i=1}^{N}D(M_i)

где M_i - компенсирующая система путей минимальной длины графа G_i для (a_i, b_i) -обхода.

Следствие 1. Длина кратчайшего (a_1, a_N) -обхода (следовательно, и a_1 -обхода) графа G не превосходит величины

mn+\frac 12 (m-1) \sum_{i=1}^{N} (2n_i-d_i-1)d_i ( 6.4)

Доказательство. В силу теоремы 6.4 достаточно доказать, что для каждого из графов G_i, у которого удалена дуга, ведущая из вершины b_i в вершину a_{i+1} графа G_{i+1} (i=1,2, \dots, N-1), существует компенсирующая система путей M_i для (a_1, b_i) -обхода, а для графа G_N - система M_N для (a_N, a_N) -обхода, для которых справедливо неравенство

\sum_{i=1}^N D(M_i) \le \frac 12 (m-1) \sum_{i=1}^N(2n_i-d_i-1)d_i

Методом, аналогичным использованному в доказательстве теоремы 6.5, можно показать, что длина компенсирующей системы путей графа G_N для (a_N, a_N) -обхода не превышает величины

\frac 12 (m-1)(2n_N-d_N-1)d_N ( 6.5)

Длина компенсирующей системы путей M_i для (a_i, b_i) -обхода графа G_I (i=1,2,\dots, N-1) с одной удаленной дугой, ведущей из b_i в a_{i+1} \in S_{i+1}, в силу оценки (3.3) удовлетворяет неравенству

D(M_i) \le \frac 12 (m-1)(2n_i-d_i-1)d_i-1

Отсюда следует, что

D(a_1, a_N) \le mn+ \frac 12 \sum_{i=1}^{N_1}[(m-1)(2n_i-d_i-1)d_i-1]+\\
+\frac 12 (m-1)(2n_N-d_N-1)d_N+(N-1)=mn+\frac 12 (m-1) \sum_{i=1}^{N}(2n_i-d_i-1)d_i

Замечание. На основании (6.5) получаем, что длина (a,a) -обхода n -вершинного сильно связного графа степени m удовлетворяет неравенству

D(a,a) \le mn+ \frac 12 (m-1)(2n-d-1)d ( 6.6)

Известно, что диаметр n -вершинного графа не превосходит величины n-1. Заменяя в (3.6) d на n-1, получаем

D(a,a) \le \frac 12 (m-1)(n-1)n ( 6.7)

Таким образом, оценка (6.7), установленная в работе [36] , следует из оценки (6.6).

Следствие 2. Если в графе G(S,U), |S|=n, степени m (a,b) -обход существует, то длина кратчайшего (a,b) -обхода не превосходит величины

mn+ \frac 12 (m-1) \sum_{i=1}^N(2n_i-d_i-1) d_i+d_N ( 6.8)

Это следствие непосредственно вытекает из теорем 6.5 и 6.6.

Легко показать, что оценки (6.4) и (6.8) достижимы. Для этого достаточно построить граф H, слой H_i которого есть подграф, изображенный на рис.6.3. В каждом из этих подграфов произведем следующие изменения: дугу i -го подграфа (1 \le I \le N-1), исходящую из вершины с номером n_i-1 с отметкой m, заменим дугой с той же отметкой и исходящей из той же вершины, но заходящей в вершину с номером 0 (i+1) -го подграфа. Непосредственным подсчетом можно убедиться, что оценки (6.4) и (6.8) для графа H достижимы.

Из полученных результатов следует, что точная нижняя оценка длины кратчайших характеристических слов автомата есть оценка (6.1), а точные верхние оценки следующие: для сильно связного автомата - (6,2) и (6.7), для остальных - (6.8).

Вопросы и упражнения

  1. Приведите постановку задачи контроля функции выходов инициального автомата.
  2. Приведите критерий существования обхода графа и его доказательство.
  3. Дайте определение характеристического слова автомата.
  4. Каков критерий существования характеристического слова автомата?
  5. Каковы условия существования обхода графа минимально возможной длины?
  6. Что представляет собой компенсирующая система путей графа ?
  7. Приведите верхние оценки различных типов обходов. Какие из этих оценок являются достижимыми?
< Лекция 5 || Лекция 6: 12 || Лекция 7 >