книги из ГПНТБ / Солтан, П. С. Экстремальные задачи на графах и алгоритмы их решения
.pdfвершину |
2 L. Обозначим |
ее |
Gz i ~ ( X Z i ,Uz i ) . |
|
|
Множеотво |
|
вершин |
||||||||||||||
этой компоненты |
связности |
и будет |
|
искомое |
множество |
X(z^). |
|
|||||||||||||||
|
3) |
Вычисляем непосредственно |
|
p(G z ). |
|
|
|
|
|
|
М-*~В |
|||||||||||
|
4) |
Вводим в рассмотрение |
новую весовую функцию |
£•' |
||||||||||||||||||
по |
следующему |
правилу: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
Г |
Р ( у ) , |
|
если |
y & i n t M , |
|
|
|
|
|
||||||
|
|
|
|
9-(У)= |
y P ( G z ) , |
если у ^ ѣ с /М . |
|
|
|
|
|
|||||||||||
|
5) |
|
При помощи алгоритма |
решения |
|
задачи |
X X У |
|
(§ |
9) |
||||||||||||
дим |
некоторую |
вершину |
х 0 |
графа |
G <£ К , |
являющуюся |
|
решением |
||||||||||||||
задачи/УА/У |
с |
вѳоовой |
функцией |
у (у). В силу |
утверждения |
тео |
||||||||||||||||
ремы l Q . l , x g &X0 , |
|
т . е . |
х 0 |
есть |
некоторое |
решение |
|
задачи |
||||||||||||||
т у . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 . Приведенный алгоритм решения задачи |
XMY в общем |
слу |
|||||||||||||||||||
чае |
находит только |
некоторые |
решения |
|
рассматриваемой |
|
задачи. |
|||||||||||||||
В случае, когда нужно найти все решения задачи XMY, могут быть |
||||||||||||||||||||||
полезны |
следующие следствия. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
І С л е д с т в и е |
|
. 1 0 . 2 . |
Множество воех |
|
решений Х„зада- |
||||||||||||||||
|
чи |
XXX |
|
является |
Of |
-выпуклым |
множеством |
пространства |
||||||||||||||
|
І(Х,£Х). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Утверждение получается непосредственно |
|
из |
доказательства |
||||||||||||||||||
леммы 7-.5. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
С л е д с т в и е |
|
10 . 3 . |
Множество всех |
решений задачи |
|||||||||||||||||
|
XMY |
является |
Р |
-выпуклым |
|
множеством |
пространства |
|||||||||||||||
|
(x,ä). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Действительно, |
заметим, что утверждение |
леммы 7 .5 |
сохраня |
||||||||||||||||||
ет силу и г случае, когда |
У ^ Х . |
|
Из |
этого |
|
и |
оледствия |
10 .2 |
лег |
|||||||||||||
ко доказывается |
утверждение следствия |
1 0 .3 , |
|
|
|
|
|
|
|
|
||||||||||||
|
5 . Пусть |
|
G ~ ( X , U ) |
- конечный, неориентированный и связ |
||||||||||||||||||
ный граф. Положим |
і-(и)-1 |
для |
любого ребра |
u & U. |
|
Влэтом |
слу |
|||||||||||||||
чае |
соотношение |
из |
теоремы |
6.1 |
имеет вид |
Of'(zr ,oQ=-IIl1 |
'. |
|
||||||||||||||
|
О п р е д е л е н и е |
1 0 . 2 . |
Кодом Хэмминга |
j = l |
|
|
|
|||||||||||||||
|
[ 2 ] графа в - |
|||||||||||||||||||||
- ( X 7 U) |
называется |
такое |
отображение <*-Х—■—1% , |
|
где |
Іо |
||||||||||||||||
множество всех вершин единичного куба І п |
пространства |
А5/ 7, |
что |
|||||||||||||||||||
для |
любых двух |
вершин |
x r ,x s имеем |
d ' ( x r , х 5 |
) = |
\\ы(х^)-ы(х5 )\\. |
||||||||||||||||
'Не всякий граф обладает кодом Хэмминга. Нахождение условий, |
при |
|||||||||||||||||||||
которых граф |
G |
допускает |
код Хэмминга, являетоя важной задачей, |
|||||||||||||||||||
решение которой пока неизвестно. Поэтому |
|
представляет |
|
'интерес |
||||||||||||||||||
следствие, вытекающее из теоремы |
7 . 2 , |
|
|
|
|
|
|
|
|
|
|
|
50
|
С л е д с т в и е |
|
10 .4 . Если |
граф |
G |
принадлежит |
класоу |
|||||||||||||||||
|
К, то |
он |
обладает кодом |
Хэмминга. |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
§ |
I I . |
Решение |
задачи |
Штейнера для |
деревьев |
|
|
|
|
|||||||||||||
|
I . Пусть |
метрический |
граф |
G=(X,U) |
не |
содержит |
|
циклов |
||||||||||||||||
(т.е.является деревом). Как было замечено выше,деревья |
|
принад |
||||||||||||||||||||||
лежат классу |
К. |
|
Каждый класс |
эквивалентности |
оостоит |
из |
одно |
|||||||||||||||||
го ребра. Поэтому к решению задачи |
Штейнера |
для |
|
дерева |
можно |
|||||||||||||||||||
привлечь |
результаты предыдущих параграфов, а вышеописанные |
|
ал |
|||||||||||||||||||||
горитмы в этом случае |
приобретают |
некоторые |
|
особенности. |
|
Для |
||||||||||||||||||
краткости ограничимся изложением алгоритма решения задачи |
X X X |
|||||||||||||||||||||||
для |
дерева. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
G ~ ( X t U), |
|
|
|
|||||
|
1) Фиксируется некоторая вершина дерева |
|
напри |
|||||||||||||||||||||
мер |
x f f и строится |
матрица |
R |
|
размерности |
п |
( п - 1 |
), |
л = |Х| |
|
|
|||||||||||||
следующим обрезом: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
z j = f, |
|
если |
цепь |
( х п х^) |
содержит |
ребро |
U j ^ U , |
|
||||||||||||||
|
|
z [ = Ol |
|
если цепь |
( х , , Х і ) не содержит |
ребро Uj ^U. |
|
|||||||||||||||||
Заметим, |
что |
цепь |
С( х , х ^) единственна. |
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
2) |
Составляем |
числа |
S-'= 2 |
2 1 |
р (х ^ )( f |
~ |
2 |
z |
j ) |
, |
J |
= |
/. |
||||||||||
|
3) |
При помощи чисел SJ строится |
строка |
z |
по |
правилу |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
О, |
|
если |
S J< о, |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
z ^ |
|
< |
1, |
|
если |
SJ>0, |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
О, или |
I |
(безразлично), если s J |
= 0 |
|||||||||||
|
Оказывается, |
строка |
z |
совпадает |
о некоторой |
строкой |
мат |
|||||||||||||||||
рицы R , причем таких строк не более двух. Это следует непосред |
||||||||||||||||||||||||
ственно из теоремы 7 . 2 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
4) |
|
|
Находим вершину |
х а |
, |
имеющую номер |
той строки |
матрицы |
|||||||||||||||
R, которая совпадает со |
строкой |
z |
. Это и есть в силу |
|
теоремы |
|||||||||||||||||||
7 .2 решение задачи |
Штейнера (задачи X X X |
) для дерева |
G. |
|
|
|||||||||||||||||||
|
В |
[ I I ] |
имеется модификация |
указанного алгоритма, |
позвот- |
|||||||||||||||||||
ляющая уменьшить количество вычислений для нахождения |
решения. |
|||||||||||||||||||||||
|
Приведем еще один алгоритм решения задачи Штейнера для гра |
|||||||||||||||||||||||
фов, |
позволяющий |
еще больше уменьшить количество |
|
необходимых вы |
||||||||||||||||||||
числений. Обозначим через |
Х 0 |
|
множество вершин дерева |
G - (X ,U ), |
||||||||||||||||||||
для |
которых функционал |
/-^ д о с т и г а е т |
минимума. Справедлива |
|
||||||||||||||||||||
|
ЦТ е о р е м а |
I I . I . |
Подграф |
G0 |
- (X o ,U0 ) |
|
графа |
G, |
|
по |
||||||||||||||
|
рожденный множеством |
Х0 , |
является связным. |
|
|
|
|
|
|
|
51
|
Д о к а з а |
т е л ь с т в о . |
Пуоть |
G /~ ( X ' , U ' ) - |
минималь |
||||||||||||||||||
ный по включению связный подграф графа G, |
содержащий |
множество |
|||||||||||||||||||||
ларшин |
Х^.Для |
доказательства |
теоремы, достаточно |
доказать |
|
ра |
|||||||||||||||||
венство |
G ' ~ ß 0 , |
или, что то же самое, |
Х ' - Х о . Пусть |
|
|
|
Ф. |
||||||||||||||||
|
Рассмотрим |
вершину |
ДГ/е Х /ѵ>Х0 , |
Заметим, |
|
что для |
вершины |
||||||||||||||||
X' |
найдутся |
такие две |
вершины |
х п х 2 е |
Х0 , |
|
что х ' |
лежит |
на |
||||||||||||||
цепи, соединяющей вершины х і и х г . Действительно, |
вершина Л 7 |
не |
|||||||||||||||||||||
может быть висячей вершиной дерева |
G,- ( X lf U')> |
так |
как |
пооле |
|||||||||||||||||||
ее удаления |
полученное дерево будет по-прежнему содержать |
мно |
|||||||||||||||||||||
жество |
X. |
, |
а |
количество вершин у |
полученного |
дерева |
будет |
мень |
|||||||||||||||
ше, чем у G', что |
противоречит |
минимальности 6 |
'- Для |
завершения |
|||||||||||||||||||
доказательства |
покажем, |
что |
F ( х , ) = F ( x ) |
. |
Во избежание |
слож |
|||||||||||||||||
ных индексов, |
в |
дальнейшем, там, где это не будет |
вызывать |
не |
|||||||||||||||||||
доразумений, |
ребра |
некоторой |
цепи |
будем обозначать одним |
|
ин |
|||||||||||||||||
дексом. Без ограничения общности можно считать, |
ч т о # ' - |
ближай |
|||||||||||||||||||||
шая |
к |
x f |
вершина, |
|
принадлежащая |
множеотву |
|
(Х'^Х0 )Г\C (x t , |
|||||||||||||||
X g ) \ |
ПустГ С ( х 1 |
, х ' ) = ( и 0 |
иг , . . . , и к ) |
, |
|
|
где |
ребро |
щ |
||||||||||||||
■инцидентно |
|
X , , |
а |
|
ребро |
ик |
инцидентно |
х \ |
|
- |
цепь, |
соеди |
|||||||||||
няющая |
вершины |
Х і |
и |
х ' . |
Тогда |
для |
вершины |
Хк , являющейся |
|||||||||||||||
концом ребра |
|
ик ~ ( х к , х'), |
имеет место |
равенство |
F [ x f ) - F ( x K), |
||||||||||||||||||
так как в X , |
достигается минимум |
F(x). Далее , будем |
обозначать |
||||||||||||||||||||
через G L- ( X ) U ' ^ U i ) |
суграф, |
полученный из |
G - ( X , U ) |
уда |
|||||||||||||||||||
лением ребра. |
|
|
|
|
, |
а |
через |
Gf = ( X . t , (/{) |
|
|
и . |
||||||||||||
Gg~(Kg f U £) |
, |
ооответственно, |
компоненту |
связности |
суграфа G lt |
||||||||||||||||||
t содержащую вершину |
а г ^ и компоненту |
связности |
|
оуграфа |
G 1, |
|
со |
||||||||||||||||
держащую вершину |
Х і г . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
Теперь |
вычислим |
F (X * ) |
й |
F ( x ' ) |
|
j |
|
|
|
|
|
|
|
|||||||||
р (°ск ) ~ |
' H - |
p ( x ) d ( x K , x ) * Z Z |
p (X) d ( x K , X) + Z Z |
P(x)* |
|||||||||||||||||||
* [ t ( u K) + d ( x \ x } ] = ^ p ( x ) d ( x K, x ) + t ( u A) ^ p ( x ) + I I l X |
|||||||||||||||||||||||
x p ( x ) d ( x ' , x ) , |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
f f r O |
|
|
P ( x ) d ( x f x ) = Z Z p ( x ) d ( x \ x ) + I Z p ( x ) d ( x f, x l |
|||||||||||||||||||
|
|
|
|
л |
|
|
|
|
* **A^ |
|
|
|
|
|
|
^ |
|
|
|
|
|
||
" S * p ( x ) [ t ( u ^ ) + d ( x K, x j ] + I Z K P ( x ) d ( x /, x ) = i (u K) H Z X |
|||||||||||||||||||||||
|
'V |
|
|
|
|
|
|
|
|
г е л2 |
|
|
|
|
|
|
|
|
X&Xf |
52
* р ( х ) + E Z |
|
o'Car*, х ) + Ш |
p ( x ) d ( x ' , |
x ) . |
|
|
|
|||||||||
x<=xf |
|
|
|
* £X% |
|
|
|
|
|
|
|
|||||
Сравнивая значения |
для |
F ( x K) |
и |
F (x ') |
, в силу предпо |
|||||||||||
ложения, |
что |
х ' ф Х 0 , |
получим |
неравенство |
|
|
|
|
||||||||
|
|
Щ р ( х ) > H Z . р ( х ) . |
|
|
|
|
|
|
|
m |
||||||
|
|
XeXf |
х Щ |
|
|
|
|
|
|
|
|
|
( І ; |
|||
Далее,пусть C(x',xz ) = { u K+, , uKj-2 .i•■•>и()г |
где |
ребро |
и>(+) |
|||||||||||||
инцидентно х ' , а ребро й ( инцидентно |
х2 , |
- |
цепь, |
|
соединяющая |
|||||||||||
вершины |
х ' и |
х г. Тогда, |
так |
как |
в вершине |
х г |
достигается |
ми |
||||||||
нимум F(x), |
найдется |
ребро |
|
u j - |
( x j 1, сд2 ) , |
к+34 ;у Ч |
і , |
для |
||||||||
которого |
|
Xj f ¥- Х0 , |
а |
Х]г & Х 0 . |
Пользуясь |
ранее |
введенными |
|||||||||
обозначениями, |
вычислим |
|
F(xjt ) и |
F(xy2 ) : |
|
|
|
|
||||||||
F ( X j , ) |
=S |
K J P(*w * |
j , , * ) |
+ |
|
|
p ( x ) + ] ^ j P ( x > |
|||||||||
x d ( X j 2 , x ) , |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
F ( X J 2 |
) = Я *У P ( x ) ä (XJ2 |
|
+ І |
|
|
P |
( X |
) + |
^ 1 |
P ( x ) * |
||||||
* c ( ( x j t |
,JC). |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Сравнивая |
значения |
для |
F ( x j ) |
и |
F ( x j z ), |
в силу |
пред |
|||||||||
положения |
Ху1 |
ФХ0 1 |
|
а |
хуг &Х0 , |
получим неравенство |
||||||||||
Так как |
граф |
|
G = ( X , U ) |
- |
дерево, легко |
заметить, |
что |
|
||||||||
и X * C C X J . |
Из этих включений и из |
того, |
что |
p ( x ) > O f |
полу- |
|||||||||||
чаютоя следующие неравенства: |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
Р (х ) F |
|
Р ( Х ) , |
|
|
|
|
|
(3) |
||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
X e X f |
|
|
XeXJt |
|
|
|
|
|
|
|
|
||
|
|
|
|
X e X J2 |
Р(х)^ 211* Р(*)- |
|
|
|
|
|
(4) |
|||||
|
|
|
|
|
|
X G XS |
|
|
|
|
|
|
|
|
53
Из неравенств ( 3 ) , ( 2 ) , (4) получаем неравенства
H Z |
р ( х ) ^ |
H Z |
р ( х ) < H Z |
|
р ( х ) 4 |
|
|
Р ( |
Х |
) . |
|
|
|
|
(5) |
||||||||
|
|
х е Ц ' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Из неравенства |
(5) |
вытекает |
неравенство |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
Х&Х* |
|
р ( х ) < 2— р ( х ) , |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
которое |
противоречит |
неравенству |
(I) |
Полученное |
|
противоречие |
|||||||||||||||||
являетоя оледствием |
|
ложного предположения, |
что |
X Z X O ? 0 . |
|
||||||||||||||||||
Следовательно, |
Х ^ Х П |
0 , |
т . е , Х / = Х 0 , Теорема доказана. |
|
|||||||||||||||||||
|
С л е д с т в и е |
|
I I . I . |
Для любых двух |
вершин |
х |
д, , Х |
20 |
|||||||||||||||
Iе Х 0 |
имеет |
меото |
равенство |
F ( x % ) = F ( x % ) , |
|
|
|
ло- |
|||||||||||||||
|
Другими |
словами, |
функционал |
F ( х ) на |
дереве |
не имеет |
|||||||||||||||||
кальных минимумов. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Т е о р е м а |
|
|
I I . 2. Для любого ребра |
и 0= |
( х '0 , х |
г0 ) |
гра- |
|||||||||||||||
|
фа |
G0 ~ ( X 0 , |
U'o) |
|
имеет место равенотво |
|
2— |
Р(х:) |
|
||||||||||||||
|
|
____р ( х ) |
где |
|
множества X f0 |
и |
Хг0 |
определяются |
суграфом |
||||||||||||||
|
х |
е Х 2 |
|
|
G ,= ( X 1 U'-U0). |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Д о к а з а т е л ь с т в о |
. Для доказательства |
|
теоремы |
|||||||||||||||||||
достаточно подсчитать |
(как это оделано в доказательстве теоремы |
||||||||||||||||||||||
I I . I ) |
|
значения |
F ( x f0 ) |
и |
F ( x $ ) |
и приравнять |
|
их |
(в |
силу |
|||||||||||||
следствия II .]). |
После |
очевидных упрощений |
получим |
требуемое |
ра |
||||||||||||||||||
венство. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Из |
теорем |
I I . I . |
|
и |
I I . 2 . |
легко получаются |
|
следующие |
следст |
|||||||||||||
вия |
|
|
|
|
|
|
|
|
|
|
|
|
р ( х ) > 0 |
, |
|
|
|
|
^ ^ ( Х 0 ,ио) |
||||
|
С л е д с |
т в и |
е |
|
II .2 . Если |
|
то граф |
||||||||||||||||
|
имеет не более двух вершин. |
|
|
|
в а= ( Х 0 |
,Ц>) |
|
|
|||||||||||||||
|
C л е д с |
т в и |
е |
|
I I . 3. |
Еоли |
граф |
|
состоит |
||||||||||||||
|
из |
одной вершины, |
то для |
любого ребра |
и |
|
U * |
, |
инцидентного |
||||||||||||||
!х * ,и м е е т |
место |
неравенство |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
1 |
|
Z Z |
|
|
|
|
> H Z |
р ( х ) , |
где |
|
Х а * |
- х ; . |
|
|
|||||||||
|
дгеХ; |
P ( X ) х ^ х г |
|
|
|
|
|
|
|
|
|
||||||||||||
|
2 . На основе |
доказанных утверждений |
|
ниже |
будет |
построен |
|||||||||||||||||
весьма эффективный алгоритм решения задачи |
Штейнера для |
случая, |
|||||||||||||||||||||
когда |
граф G |
являетоя |
деревом. Предварительно приведем один оно |
||||||||||||||||||||
соб кодирования |
деревьев |
словами из |
нулей |
и |
единиц |
[ 14]. |
|
||||||||||||||||
|
Пусть дано |
дерево |
|
G ~ |
( X 7 l / ) , |
U ^ |
0 . |
Процедура |
кодиро |
||||||||||||||
вания дерева |
G |
состоит |
в следующем. |
|
|
|
|
|
|
|
|
|
|
54
1) |
Каждому |
висячему ребру дерева |
в |
сопоставляется |
олово |
||||||
01 . |
|
|
|
|
|
|
|
|
|
|
|
2) |
Удаляем |
поочередно |
висячие |
ребра, |
соблвдая |
правила: |
|||||
а) |
Если удаленному ребру было |
сопоставлено слово |
й и |
то со |
|||||||
поставляем слово |
Й1 |
|
неудаленному |
концу этого ребра. |
|
|
|||||
б) |
Если при |
этом |
неудаленному |
концу удаленного ребра |
уже |
||||||
было сопоставлено слово й2і то сопоставляем ему слово |
Я1 Лг . |
||||||||||
3) |
Если вновь |
образовавшейся |
виоячей |
вершине |
сопоставлено |
||||||
олово й3 , то вновь |
образовавшемуся висячему ребру |
сопоставляем |
|||||||||
олово |
О Й3 1 . |
|
|
|
|
|
|
|
|
|
|
4) |
Процѳос удаления виоячих ребер продолжаем до полного ис |
||||||||||
черпывания множества |
U. |
|
|
|
|
|
|
|
|||
С помощью указанной процедуры каждому дереву можно |
сопо- |
||||||||||
отавить |
(вообще говоря, неоднозначно) некоторое слово й |
из ну |
|||||||||
лей и единиц длины |
2 \ U \ . |
Например, |
дереву на рио.І4 |
можно со |
|||||||
поставить олово |
0 0 |
0 1 |
0 1 1 О 1 1 0 0 1 0 |
И 0 |
1 |
|
|
|
|
Заметим, что по слову Я ,
соответствующему дереву G , последнее восстанавливается од нозначно (с точностью до изо морфизма). Приведем один пример восстановления (ри с,15)
О 0 1 |
|
0 1 0 1 |
1 0 1 |
0 0 |
0 1 |
И 0 1 . |
|
|
|
|||||
|
Используя |
приведенный вы |
|
|
|
|||||||||
ше способ |
кодирования |
|
дерева |
G; |
О 0 1 о і О і I 0 1 |
о о 0 / I I о і |
||||||||
поотроим |
алгоритм |
решения |
ш ь |
1 Т |
00 |
1 1 |
||||||||
ставленной |
задачи |
для |
случая, |
|||||||||||
|
|
|
||||||||||||
когда |
граф |
G |
- |
дерево. |
|
|
|
|
|
|||||
|
|
|
Алгоритм |
|
|
|
|
|
|
|
||||
|
|
1) Построим олово й (код), |
|
|
|
|||||||||
ооответотвующѳѳ дереву |
G . |
|
|
|
|
|||||||||
|
|
2) Каждой букве |
слова |
Я - |
|
|
|
|||||||
-(oi1 |
1 |
d2 |
d 2 \C/\) |
|
сопоста |
|
|
|
||||||
вим некоторое |
значение |
функции |
|
|
|
|||||||||
Р ( х ) |
по |
правилу: |
|
|
|
|
|
|
|
|
||||
|
|
а) Если |
біі |
- |
О , |
|
то Ыі |
|
|
|
||||
сопоставим |
значение |
р ( х у ) , |
|
|
|
|
||||||||
где |
Ху - |
висячая |
вершина |
т о г о ' |
|
|
|
55
ребра дерева, |
которому |
в |
процесоѳ |
кодирования |
сопоставлялось |
||||||||
слово, начинающееся буквой Ыі . |
|
|
|
|
|
|
|
|
|
||||
б) Если |
<*і ~ 1, |
то ыі |
сопоставим |
значение |
P ( x j ) , |
|
где |
||||||
- невисячая вершина того |
ребра |
дерева, |
которому в |
процессе |
|||||||||
кодирования оопоотавлялось |
слово, |
заканчивающееся буквой |
orL. |
||||||||||
|
|
|
|
|
|
Заметим, |
что |
соответ |
|||||
|
|
|
|
|
ствие, |
проведенное по |
опи |
||||||
|
|
|
|
|
санному правилу, |
является |
|||||||
|
|
|
|
|
сюръективным и однозначным. |
||||||||
|
|
|
|
|
Это |
соответствие |
практиче |
||||||
|
|
|
|
|
ски |
легче |
|
всего провести |
в |
||||
|
|
|
|
|
процесоѳ |
кодирования. |
Для |
||||||
|
|
|
|
|
объяснения |
|
вышесказанного |
||||||
|
|
|
|
|
рассмотрим |
пример |
(рис.1 6), |
||||||
Р и с . 16. |
|
|
|
|
|
|
|
|
|
|
|
|
|
С О О О 1 |
1 О t О і 1 0 1 0 0 1 0 |
1 |
1 |
1 |
0 |
1 0 1 0 1 |
3) Вычислим суммы H p ( X j ) |
по нижеследующей процедуре. |
|||||||||
Пусть У:{ыі} - ~ |
р ( Х і к ) , |
где |
Ыі |
- буква |
слова |
/7, |
1= /, |
|||
2 , . . . , 2 І С Г І , к * f, |
|
2 IC/I, LK = |
i r2 , . . ' , - \ U \ |
+ f , |
|
|
||||
есть соответствие, |
сопоставляющее |
каждой |
букве |
|
некоторое зна- |
|||||
чение функции р (х) по изложенному в пункте 2) |
правилу. Процесс |
|||||||||
вычисления |
1— P (r j ) |
начинаем с |
любой пары букв |
Ыі Ыі |
+ 1, |
где |
||||
Ы-с ~ 0 , |
1. |
Для |
опрѳделенности,можно считать,что |
это |
п е р - _ |
вая такая пара букв, которая встречается в слове Р, если за на
чало слова принять букву оСf , Рассмотрим вышеназванную пару ыі
di +t - |
Если |
ѴЫі ) ~ Р(Хік |
) > 2 |
Р |
то процесс |
суммирования |
||||||
окончен*. Вершина х±к |
минимизирует функционал |
F ( х ) . В против |
||||||||||
ном |
случае |
вычисляем оумму |
P’( d i ) |
-f- <f(o4+r). Если |
|
< f ( ^ i ) + |
||||||
* ¥>(ыі +і ) > |
2 Р ( G ) , |
то процесс |
суммирования окончен, ьѳршина |
|||||||||
Я-і+і к |
минимизирует функционал |
F(x). Если |
Ц> (<*і) * |
Ыі +,) < |
||||||||
< t |
р |
( 0 |
) , |
то строим |
новый |
(укороченный) код |
и новое |
соответ |
||||
ствие |
i f' |
по |
правилам: |
|
|
|
|
|
|
|
||
|
|
а) |
Новое |
слово Р |
получается |
из слова Р |
удалением пары |
|||||
букв |
|
с |
|
f |
|
|
if ' |
|
|
|
|
|
<р, |
|
б) |
Новое |
соответствие |
получаем с помощью |
соответствия |
||||||
полагая |
|
|
|
|
|
|
|
|
56
Ч>Ыі) + y f a i - n ) |
, |
ѳсли j |
= i - 1 , |
||
|
<f(c<j) |
, |
е о л и у Ѵ г - / . |
||
Если L = !, |
|
|
|
|
|
¥ |
если j |
= г , |
|
|
|
‘f ( aij ) > ѳсли J |
? 2 . |
|
|
||
В новом слове Я’ находим |
первую пару |
<*j |
7 |
и повто- |
рвем процесс вычисления оумм. Процедуру повторяем, пока не най
дется некоторое решение или исчерпается |
слово Я. |
В последнем |
||||||||||||||||||
случае |
решение будет найдено на последнем шаге. |
|
|
|
|
|
||||||||||||||
|
Далее проведем обоснование главных моментов описанного ал |
|||||||||||||||||||
горитма. |
|
|
|
|
|
|
|
|
|
|
|
|
tf (Ы*) = р ( х ік )>/ |
|||||||
|
1) |
Верный шаг процесса |
суммирования. Если |
|||||||||||||||||
> / 2 |
р ( Я ) } |
то |
вершина |
Х^ |
является |
решением в |
силу |
|
следствия |
|||||||||||
I I . 3, |
так |
как |
ребро, |
закодированное |
|
словом |
|
|
|
есть |
един |
|||||||||
ственное ребро, инцидентное |
вершине |
|
X; |
-Если |
|
|
) *■ |
|
||||||||||||
> / 2 |
Р ( Я ) , |
то |
вершна |
x ^ +f к |
является |
решением(в |
силу |
тео |
||||||||||||
ремы |
I I .2 |
и |
следствий |
I I . I , |
I I . 3). |
|
|
|
|
|
|
|
|
|
|
|
||||
|
2) |
Второй |
шаг процесса |
суммирования. Переход от |
слова |
й к |
||||||||||||||
слову |
|
Я' |
соответствует переходу |
от |
графа |
G |
( X , U ) |
к |
графу |
|||||||||||
G = (X |
, и ‘) ) |
который получается |
из |
|
G |
удалением |
висячего |
реб |
||||||||||||
ра, |
закодированного |
словом |
olL dL+ i . |
Переход к новому |
соответ |
|||||||||||||||
ствию |
|
у>' |
на |
самом деле обозначает, |
что |
"вес" |
удаленной верши |
|||||||||||||
ны суммируется с весом той |
вершины графа |
|
G |
которой было инци |
||||||||||||||||
дентно |
|
удаленное ребро. Из |
теоремы |
I I . 2 |
и |
следствия |
I I . 3 |
выте |
||||||||||||
кает, |
что |
укѳзаі^ое |
преобразование |
не меняет |
множество |
Х0 ) если |
||||||||||||||
в оставшемся |
графе нумерация вершин остается |
неизменной. |
|
§12. Задача Штейнера для графов
сребрами сочленения
|
Здесь укажем, как найти множество решений задачи |
X X X ,ког |
|||||||||
да |
метрический граф |
G = ( X , U ) |
обладает ребрами |
сочленения. |
|||||||
|
О п р е д е л е н и е . |
Ребро |
связного графа |
G |
называ |
||||||
ется ребром сочленения (или перешейковым ребром |
[ і ] |
),если |
при |
||||||||
удалении этого ребра частичный граф |
G - ( X j U \ ^ U i ^ ) |
|
не |
свя |
|||||||
зен. |
|
|
|
|
|
|
|
|
|
|
|
|
Очевидно, |
что ребро |
u L |
является |
ребром сочленения |
тогда |
|||||
и |
только тогда, |
когда |
оно |
не является |
циклическим ребром ,т.е.оно |
||||||
не |
принадлежит |
никакому простому |
циклу. |
|
|
|
|
Зак.665 |
5? |
|
|
Если |
и I |
- ребро |
сочленения |
графа |
£ , |
а зс-і |
и х [ |
- |
вер |
|||
шины |
этого |
ребра, |
то через G^ |
и |
G[ будем |
обозначать компонен |
|||||||
ты связности |
графа G-L} полученные |
в результате удаления |
|
ребра |
|||||||||
причем |
|
е |
, |
а |
е |
G[ |
. Соответственно, как и |
раньше, |
|||||
через |
P ( G i ) |
и |
p ( G [ ) |
будем обозначать |
сумму весов |
|
вершин |
||||||
этих |
подграфов. |
|
|
|
G ~ ( X , U ) |
|
|
|
|
|
|||
|
Покажем, |
что |
е с т |
граф |
имеет хотя |
бы одно |
реб |
||||||
ро сочленения,то |
задача |
XXX |
решается |
без |
использования |
|
метри |
ки или ее решение сводится к решению аналогичной задачи для не которого подграфа графа G .
Пусть |
Ѵ= {ѵ ,,ѵ г , . . ѵ |
ѵт } |
- |
множество |
ребер |
оочлеиения |
|||||||
данного |
графа |
G. |
Граф G ' = ( X yl / \ V ) , как легко |
заметить, |
со |
||||||||
стоит из |
т + |
1 |
подграфов— компоненты |
овязности |
|
Гі5j . |
Обозначим |
||||||
ѳти подграфы |
через |
y f , у „ , . . . , |
Ут+ 1 |
• |
Эти подграфы |
называются |
|||||||
листами |
в графе |
G |
[ І 5 ] . Все ребра |
в подграфе |
Уі(і-~ |
|
|||||||
т + 1 ) циклические. |
|
|
|
|
|
|
|
|
|||||
Образуем при помощи множества |
|
Y - { y f уУгг-^У т+г} и |
|
||||||||||
~ { ѵі , ѵ |
|
|
ѵт \ |
|
граф |
H = ( Y , Y ) , |
где |
Ѵ;&Ѵ |
связыва |
||||
ет те элементы множества У, которые |
содержат |
вершины ребра |
V; |
||||||||||
графа G . По построению граф |
Н |
связен. Но связный |
граф, |
у |
|||||||||
которого |
количество |
вершин |
ьа единицу больше, |
чем |
количество |
||||||||
ребер, есть |
дерево. |
Граф H - ( Y , V ) |
называется листовой ком- |
||||||||||
позициёй для'графа |
G = ( X , U ) . |
|
Итак, е с т |
|
связный граф |
G |
имеет ребра сочленения, то существует простой гомоморфизм, ото
бражающий граф G |
|
в свою листовую композицию Н. Каждой верши |
||||||||||||||||
не |
Уі |
дерева |
Н |
|
приписывается вео |
Р(Уі ) |
равный сумме |
весов |
||||||||||
всех вершин графа |
|
G |
, |
которые принадлежат подграфу |
y L( i |
= f/ 2 |
r .., |
|||||||||||
m + f ) . |
Теперь |
по отношению к графу |
U = ( Y , |
V ) |
поставим |
|||||||||||||
задачу |
Y Y Y . |
Пусть |
Уо~{у<>У |
- |
множество решений этой |
за |
||||||||||||
дачи. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т е о р е м а |
|
.12.1 . Множество решений Хд |
задачи |
XXX |
|||||||||||||
|
принадлежит |
объединению тех |
подграфов |
у о |
графа G, |
которым |
||||||||||||
|
соответствуют |
решения |
задачи |
|
У Y Y |
на |
его |
|
листовой |
компо |
||||||||
|
зиции. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Д о к а |
з а |
т |
е |
л ь с т в о . |
|
Рассмотрим |
сначала “ случай, |
||||||||||
когда |
у 0 |
- |
единственное |
решение |
задачи YYY . |
Предположим, |
что |
|||||||||||
ни |
одно решение задачи |
XXX не принадлежит |
подграфу |
у 0 |
графа |
|||||||||||||
G |
и |
пусть Хд е у і к |
7* у а |
- некоторое’“ решение' задачи X X X . |
||||||||||||||
В графе |
H ~ ( Y j |
V) |
|
рассмотрим кратчайшую цепь ( Vif , |
|
|
||||||||||||
|
Vt- |
) , |
соединяющую вершины y Q и ^ .О бозначим |
через |
|
|
58
|
Xi |
, х'ік |
|
вершины соответствующих ребер |
|
Уу |
t ^i- 2 r'"> |
Уi-K |
|||||||||||||||||
в графе |
|
G |
|
в |
порядке их |
следования |
на указанной |
цеди.ТогДа |
|
||||||||||||||||
принадлежит |
подграфу |
у 0 |
1 |
в х [ к |
- |
подграфу у с |
|
Рассмотрим крат |
|||||||||||||||||
чайший путь |
JK |
, |
связывающий в |
графе |
G |
вершины |
|
и |
Х0. Оче |
||||||||||||||||
видно, |
что |
вершины |
Х у , XL?, |
, |
|
Х ік 7 ос ск |
|
|
принадлежат |
это |
|||||||||||||||
му пути. Рассматривая подграфы, на которые распадается граф G |
|||||||||||||||||||||||||
при |
удалении |
ребра |
|
^i5 |
( S - 1 , 2 ,.. |
|
|
получим, |
что |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(I) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Но |
тогда ... |
|
|
|
.......... |
|
|
|
. . . |
|
, . |
.д / |
. „ |
|
|
|
|
|
|
> |
||||||
> P ( G L f ) > £ P ( G ) . |
|
|
Значит, |
|
F ( X i 1 |
) < F ( X i z ) ^ . . . < F ( x c K), |
|||||||||||||||||||
Но |
так |
|
как |
|
х 0 |
|
|
принадлежит |
|
подграфу |
Уік |
|
, |
то |
F ( x i K)^~ |
||||||||||
C F ( x 0) |
|
|
|
следовательно, |
F ( x i 1 |
) < F ( x 0). |
|
А |
это |
проти |
|||||||||||||||
воречит |
|
предположению, |
|
чтоЛ'д |
|
есть |
решение |
задачи |
X XX . Та |
||||||||||||||||
ким образом, |
если. |
у 0 |
- |
единственное |
решение |
задачи |
Y Y Y |
|
на |
||||||||||||||||
графе И , то |
любое |
решение задачи |
XXX |
принадлежит |
|
подграфу |
|||||||||||||||||||
у 0 |
графа |
G. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y Y Y |
|||||
|
Аналогично можно показать, что если решение задачи |
||||||||||||||||||||||||
для |
листовой |
композиции |
Н |
графа |
G |
представляет |
собой |
|
две |
||||||||||||||||
смежные вершины у J |
и у £ ?то |
любое решение |
задача |
XXX |
принад |
||||||||||||||||||||
лежит подграфу |
y j |
U y z ^ G . |
|
Таким образ ом, те орема доказана. |
|||||||||||||||||||||
|
Отметим , как следствие, что если |
задача |
Y Y Y |
имеет |
|
два |
|||||||||||||||||||
решения |
|
у'0 |
|
и у% , то множество решений задачи XXX суть верши |
|||||||||||||||||||||
ны ребра |
сочленения |
V0 ~ ( y â |
7 y j |
) |
|
графа |
£ , |
|
и в |
этом случае |
|||||||||||||||
задача |
XXX |
|
полностью решена. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
Оказывается, что в случае, когда |
задача YYY |
имеет |
един |
|||||||||||||||||||||
ственное решение |
у 0 , то |
решение |
|
задачи |
XXX |
|
сводится |
к реше |
|||||||||||||||||
нию такой же задачи для подграфа |
|
у 0 |
графа G , |
вершинам |
кото |
||||||||||||||||||||
рого приписываются некоторые новые веса. |
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
Пусть |
|
ѴЧ ’ ѴІ2 |
|
Ѵі> |
|
- |
ребра |
графа |
|
И |
, |
инцидентные |
||||||||||||
вершине |
|
у 0 . |
Рассматривая |
у 0 |
уже как |
подграф графа |
G, |
отметим1 |
|||||||||||||||||
те |
вершины подграфа |
у 0і которые |
инцидентны ребрам |
Уі п Ѵі2 ,---, |
|||||||||||||||||||||
Уіт |
|
в графе |
G . |
Обозначим |
эти |
вершины соответственно |
че |
||||||||||||||||||
рез |
{ х |
'і, |
, |
|
|
|
|
х'іг } = у ' |
а |
через |
Х у , |
Х у |
|
|
х у |
- с о о т |
|||||||||
ветственно вторые вершины указанных ребер. Каждой вершине |
Х у |
||||||||||||||||||||||||
подграфа |
у 0 |
поставим в соответств"е_ новый вес |
с ( х ' у ) - р ( х 'у)+ |
||||||||||||||||||||||
+ р ( G y ) . |
Любой |
другой |
вершине |
подграфа |
у 0 |
припишем |
вѳо |
||||||||||||||||||
с ( Х і ) |
|
—р |
(Xi ). |
|
|
12.2. Множество |
решений Х а задачи XXX |
||||||||||||||||||
|
ЦТ |
ѳ о |
р е |
м а |
|
59