Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Басакер Р. Конечные графы и сети

.pdf
Скачиваний:
76
Добавлен:
25.10.2023
Размер:
12.41 Mб
Скачать

6.0)

ЗАДАЧИ

ИЗМЕНЕНИЯ СОСТОЯНИЙ

СИСТЕМЫ

209

некоторое время

с графом

рпс. 6.20 и либо

найти

реше­

ние,

либо убедиться, что

его

нет. Д л я

того

чтобы дать

систематический

способ поиска решения, определим

вспо­

могательный граф, имеющий те ж е

самые вершины.

Вспомогательный

граф вводится для того, чтобы

отра­

зить

возможные

изменения

состояния

системы

между

МММ

Рис. G.20.

двумя последовательными возвращениями лодки. Тем самым исключается "необходимость чередовать дуги, со­ ответствующие отъезду и возвращению лодки.

Пусть, например, лодка стоит у берега А, а система

находится

в

состоянии МММС.

Из

рис.

6.20

 

мы

видим,

что

система

может

перейти

в

состояние

AIM С С

или

ММСК

через состояние А1С (заметим, что при

этом

лод­

ка снова окажется у берега А).

Поэтому

соединяем

реб­

ра МММС

 

с А1МСС

и А1МСК.

На

рис. 6.21

показаны

все

такие

ребра

(включая

ориентированные

 

ребра,

ве­

дущие

в

конечное состояние 0, которые соответствуют

последнему

переезду

без

возвращения

лодки

на

берег

А).

Д л я

вспомогательного

графа

рис.

6.21

задача

за­

ключается

в следующем: определить цепь из

МММССК

в 0.

Легко

видеть, что т а к а я

цепь

существует.

Напри ­

мер,

 

МММССК,

МММСК,

МММК,

ММСК,

 

ММСС,

ССК,

 

МС,

0

является

искомой

цепью. Д о б а в л я я (в скоб­

ках)

промежуточные

состояния, получим

следующее

ре-

Н Р. Б«сакер, Т, Са«т«

210

ПРИКЛАДНЫЕ ЗАДАЧИ ТЕОРИИ ГРАФОВ

(ГЛ. 6

шение для первоначального графа рис. 6.20:

МММССК,

(ММСК),

МММСК,

(МММ),

МММ К,

(МК),

ММСК.

[(МС),

ММСС, (СС),

ССК,

(С), МС,

0. Это

решение

МММ

 

 

 

Рис. 6.22.

 

 

показано на рис. 6.22.

Отметим, что

найденный путь не

является

простым, так

 

как две дуги входят в

ММСК

и

МС

к а ж д о м случае

одна дуга

соответствует

отъез­

ду

лодки

от берега А,

а

вторая — возвращению

л о д к и ) .

ЗАДАЧИ ИЗМЕНЕНИЯ СОСТОЯНИИ СИСТЕМЫ

211

Упражнения

6.13. Определить, имеет ли задача о миссионерах и людоедах ре­ шение с меньшим числом переездов, при менее сильном предположе­ нии, что все людоеды умеют грести. (Заметим, что при более сильном предположении, что только одни миссионер может грести, задача ста­ новится более интересной.)

6.14. Д л я

ориентированного

графа,

показанного на рис.

6.23,

определить путь из v

в ш, в

котором чередуются сплошные и

пунк­

тирные дуги,

причем

первая

дуга

является

сплошной.

 

 

Рис. 6.23.

a)

Решить задачу, использовав для исследования исходного гра­

фа рис.

6.23.

b)Решить задачу, применяя описанный выше метод построения вспомогательного графа, каждая из дуг которого соответствует паре чередующихся дуг (или одной сплошной дуге, оканчивающейся в га)

первоначального графа.

c)Отметим, что решение не является простым путем в первона­

чальном графе. (Действительно, путь возвращается в v.)

 

В

некоторых

случаях

допустимые

переходы

очевид­

ны,

в

других

ж е

совершенно неясно,

можно

ли

достичь

из

заданного начального состояния желаемого конечно­

го.

Примером

последнего

явл'яется

задача

отыскания

пути в сложной путанице лабиринта, которая

часто

встречается в литературе

по занимательной

математике.

Это в сущности задача определения цепи, соединяющей

две

заданные вершины соответствующего

графа, кото­

рый характеризует структуру лабиринта.

 

Рассмотрим, например, плоский лабиринт, показан­

ный на рис. 6.24. Этот лабиринт состоит

из 36 отделе­

ний,

некоторые из которых соединены

«проходами»

(указанными разрывами в линиях) . Предположим, что

задача

заключается в том,

чтобы достигнуть точки Q

вне лабиринта,

начиная из

отделения Р.

Рассмотрим

граф,

вершины

которого

соответствуют

отделениям,

а ребра указывают, какие пары соседних отделений со­ единены проходом. Этот граф показан на рис. 6.24. Д л я данного графа задача заключается в определении цепи, соединяющей Р и Q. В такой формулировке задача

14*

212

ПРИКЛАДНЫЕ ЗАДАЧИ ТЕОРИИ ГРАФОВ

[ГЛ. 6

является очень простой. Построив граф, соответствующий данному лабиринту, мы можем применить методы поме­ ток главы 3 и определить дерево, соединяющее Р со всеми другими вершинами (отделениями) . При этом,

 

Т

 

 

+

 

 

 

 

 

 

т

г

 

 

 

 

 

 

+

 

 

 

 

 

 

+

 

 

+

Q

 

 

 

 

 

 

 

 

 

J

 

L

 

 

 

 

 

 

 

 

Рис.

6.24.

 

 

 

в частности, мы найдем и

цепь,

соединяющую

Р и Q

(если задача имеет

решение) .

 

 

 

 

Однако

заметили одного серьезного затрудне­

мы не+

 

 

 

 

 

 

ния. Метод непосредственной пометки

требует

система­

тического

перебора

 

ребер

и

вершин

и предполагает,

что мы фактически знаем структуру всего лабиринта . Практически же, если мы находимся в лабиринте, ска­ жем, в точке Р, то вначале у нас есть очень мало ин­

формации,

а именно, мы знаем только, в какие отделе­

ния можно

попасть непосредственно из Р. Добавочная

информация поступает только постепенно, при исследо­ вании различных направлений .

Все многочисленные существующие методы отыска­ ния выхода из такого лабиринта основаны на система­ тизации процедуры исследования путей, позволяющей избежать излишних повторений одного и того ж е пути (некоторые повторения неизбежны) . Существование ту­ пика нельзя предсказать, его можно только обнаружить . (Когда тупик обнаружен, повторение части пути неиз­

бежно.) Однако, отмечая

вершины и ребра по

мере то­

го, как они встречаются

и исследуются, можно

предло-

6.10) МАТРИЧНАЯ ФОРМА ЗАДАЧИ О ПЕРЕПРАВЕ 213

ж и ть способ,

при

котором

ни одно

ребро

не

проходится

д в а ж д ы в

одном

направлении

независимо

от

структуры

лабиринта

(заметим, что

лабиринт

может быть

прост­

ранственным

и в

этом случае

связанный

с

ним

граф

оказывается

неплоским).

 

 

 

 

 

 

6.10. Матричная форма задачи о переправе

 

Решим

предложенную

в предыдущем

разделе

зада ­

чу о переправе через реку миссионеров и людоедов, ис­ пользуя при этом матрицу смежности вершин.

Напомним условие задачи: лодка выдерживает

не

более двух человек, и на одном и том ж е берегу

не

должно находиться больше людоедов, чем миссионеров, поскольку первые имеют привычку съедать своих святых наставников. Рассмотрим простой случай переправы че­

рез

реку группы из двух миссионеров и двух людоедов.

 

П р е ж д е чем выписывать матрицу

смежности,

поста­

вим в соответствие вершинам графа

состояния на одном

из

берегов реки. Предположим, что

вся группа

появля­

ется на левом берегу реки. Рассмотрим все возможные состояния (с учетом наших двух условий) на левом бе­ регу. Состояние будет обозначаться парой чисел, первое из которых указывает число миссионеров, а второе — число людоедов. Мы имеем следующие возможные со­

стояния на левом берегу.

 

 

 

 

о, =

(2,

 

2),

t's=(0 ,

2),

 

о 2

=

(2,

1),

w 6 = (0,

1).

.

о 3

=

(2,

 

0),

о 7 = ( 0 ,

0) .

 

о 4 = ( 1 ,

1),

 

 

Заметим, что

состояние

(1, 0)

недопустимо, так как соот­

ветствующее

состояние

на правом

берегу будет (1, 2)

и единственный миссионер будет съеден. Аналогично, со­

стояние (1, 2) недопустимо и на

левом берегу.

Образу­

ем матрицу смежности, элементы

которой равны

1 или О

в зависимости от того, возможен ли

переход из одного

состояния

на левом берегу

к другому

состоянию т а к ж е

на левом

берегу. Переходы,

конечно,

определяются отъ­

ездами лодки. Таким образом, мы выписываем названия вершин слева и сверху матрицы, н расставляем элемен-

21'»

ПРИКЛАДНЫЕ ЗАДАЧИ ТЕОРИИ ГРАФОВ

[ГЛ 6

ты 0 пли 1 в зависимости от возможности перехода из состояния, представленного вершиной слева матрицы к другому состоянию, представленному вершиной сверху. Получаем матрицу смежности

 

•o

v2

fa

"l

»«

От

 

1

1

1

1

0

0'

v2

0

0

1

1

0

1

0

V,

0

0

0

0

0

0

1

 

0

0

0

0

0

1

1

 

0

0

0

0

0

1

1

 

0

0

0

0

0

0

1

 

0

0

0

0

0

0

oJ

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

лодки туда п обратно необходимо

перемножить V 4 l / / .

В общем случае, чтобы получить

матрицу переходов

после т переездов лодки туда и обратно, нужно вычис­

лить ( V V ) " 1 . А так как наша цель

заключается

в

пере­

праве группы на правый берег, то

необходимо

 

(VV')m

умножить на V. Это даст (W)mV,

и

задача свелась к

определению числа т двусторонних

(т.

е. туда

и

обрат­

но) переездов лодки, при котором элемент, стоящий на пересечении строки v\ и столбца v7 матрицы (VV)mV, равен 1, т. е. на левом берегу имеет место переход из

состояния (2, 2)

в состояние

(0,

0)

и

вся

группа

оказы­

вается на правом берегу. Заметим,

что

величина

элемен­

тов произведений

W,

WV,

W

W

 

и

т. д. указывает

на число способов, которыми можно осуществить соот­ ветствующий переход. Это число может быть больше 1.

Так как наша цель состоит в определении д л я

каждого

состояния одного возможного перехода, то все

ненуле­

вые элементы произведений можно положить

равными

1. Оказывается, что исходную задачу можно решить пу­

тем

т = 2

двусторонних

переездов и одного

(последне­

го)

одностороннего

(т.

е. единичный элемент впер­

вые

появляется на

пересечении строки

v\ и

столбца v7

п

матрице

(W)2V).

 

Результаты

последовательных

6.10]

МАТРИЧНАЯ ФОРМА ЗАДАЧИ О ПЕРЕПРАВ'Е

215

вычислении имеют следующий вид:

 

'0 0 0 0 0 0 0

 

 

 

'1

I

0 0 0 0

о

 

1

0

0

0

0

 

0

0

 

 

 

1

1

0

 

1

1

0

о

 

1

1

0

0

0

 

0

0

 

 

 

0

0

1

1

1

 

1

 

о

V =

1 1 0 0 0 0 0 , VV =

0 1 1 1 1 1

 

о

 

1

0

0

0

0

 

0

0

 

 

 

0

1

1

1

1

 

1

 

о

 

0

1

0

1

1

 

0

0

 

 

 

0

0

1

1

1

 

1

 

°|

 

•0

0

1

1

1

1

0

 

 

 

0

0

0

0

 

0

 

0

 

 

(0 1 1 1 1 1 0\

 

 

 

ч п 1 0 1 1 0 0^

QJ

 

 

0

 

1 1

1

1

1 0

 

 

 

 

1

1 0

1 1 0

0

 

 

 

О О О 0 0 1 1

 

 

 

 

0 1 1 1 1 1 0

 

VV'V =

0

0 1

1 0

1

1

,

 

(VV'f

=

1

1 1 1 1 1 0

 

 

 

0 0 1 1 0 1 1

 

 

 

1 1 1 1 1 1 0

 

 

 

О О О 0 0 1 1

 

 

 

 

0 1 1 1 1 1 0

 

 

 

^0 0 0 0 0 0 o i

 

 

 

 

 

0 0 0 о о o i

 

 

 

 

 

 

 

 

 

 

0

 

1 1 1 1 1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1 1 1 1 1 1

 

 

 

 

 

 

 

 

 

 

 

 

(VV)-

 

V

=

0

0

1 1 0

1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1 1 1 1 1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1 1 0

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о о о о о 0)

 

 

 

 

 

 

 

Теперь

задача

состоит

в том, чтобы

восстановить ре­

шение

по

найденным

 

матрицам .

Рассмотрим

 

элемент

и v7)

последней

матрицы

(VV)2-V.

 

Этот

элемент яв­

ляется единичным. Найдем возможные ненулевые эле­

менты первой строки матрицы (VV)2,

которые при умно­

жении на седьмой столбец v д а в а л и

бы единичное значе­

ние рассматриваемого элемента. Одним из таких эле­

ментов

является

(1, 4), элемент в первой строке и

четвертом столбце

матрицы (VV)2, так как элемент

(4,

7) матрицы V т а к ж е является

единичным. Другим

эле­

ментом

У с таким

жесвойством

является (5,7). Выберем

первый из названных элементов. Таким образом, полу­

чаем, что последний

переход есть v4

v7. Д а л е е

смот­

рим, каким способом

мог получиться

единичный элемент

(1, 4) матрицы (VV)2.

Проверив первую

строку

(VV')X

X V и четвертый столбец V, получаем, что

рассматривае­

мый единичный элемент

есть результат наличия ненуле­

вого элемента

(6, 4) в матрице V

(так как соответству­

ющий элемент

матрицы

(VV')-V

т а к ж е отличен от ну-

216

ПРИКЛАДНЫЕ ЗАДАЧИ ТЕОРИИ ГРАФОВ

[ГЛ. 6

л я ) . Таким

образом, предпоследний переход есть

i>6 ->-

-»- v4. Снова проверяем причину наличия ненулевого

элемента

(6,

1)

матрицы

{VV')-V.

Находим,

что он об­

разован

единичными

элементами

(2, 1)

в матрице

VV

и (2, б)

в матрице V. Таким образом,

третий от

 

конца

переход

есть v.2-*-ve.

Аналогично

находим,

что

четвер­

тый и

пятый

от

конца переходы

v3->-v2

и Vi-*-v3

 

соот­

ветственно. Вся

результирующая

совокупность

перехо­

дов есть

v,-+v3, v3-+v2, v2-+v6,

 

v6->~vA, vA-+v7

 

или

в

более

простом

виде: vu

v3, v2,

rj6 , u 4 и

v7. В принципе

можно

было

бы

найти

другие

 

допустимые

переходы.

Д а д и м словесную интерпретацию полученного

реше­

ния. Так

как v3

есть

(2, 0), оба

людоеда д о л ж н ы

пере­

правиться одновременно, причем один из них должен

вернуться

(из-за

v2).

Затем вернувшийся

людоед

дол­

жен

высадиться,

а два

миссионера д о л ж н ы занять

ме­

сто

в лодке. После причаливания к правому берегу

один

пз

миссионеров

должен

высадиться (чтобы получить

v6),

а другой вернуться обратно, чтобы получить

vA.

Наконец,

последний

миссионер и людоед

переправляют­

ся вместе на правый берег. При этом достигается ко­

нечное состояние

v7.

 

 

 

 

 

 

Упражнение C.I5. Состояния

системы

в задаче

о трех

миссионе­

рах н трех людоедах, • когда у меют грести

все три миссионера и толь­

ко один

людоед, можно представить тропкой

(т, г,

с),

где

О ^ т ^ З ,

0 ^ / - ^ ]

н 0 ^ с ^ 2 ,

причем гп соответствует

миссионерам,

г — умею­

щему грести людоеду и с — двум

остальным

людоедам .

В этом слу­

чае существует 16 возможных состояний системы. Запишите матрицу переходов системы.

Чтобы определить существование решения без ис­ пользования всех процедур, необходимых для его факти­

ческого получения, воспользуемся

следующим

методом.

Заметим,

что решение д о л ж н о

иметь

вид

( V V " ) m X

X V .

Пусть

начальное

состояние

системы

соответствует

вершине vu

а конечное — вершине

vk. Тогда, если реше­

ние существует, то можно найти

т такое, что

элемент

(1, k)

матрицы (VV')m-V

оказывается ненулевым. Как

было показано выше, чтобы этот элемент был равен

единице, необходимо

существование,

по крайней

мере,

одного

ненулевого

элемента

в первой

строке

матрицы

(VV')"\

соответствующего ненулевому элементу в k-м

столбце

матрицы

V.

Таким

образом,

задача

сводится

к определению ненулевых элементов первой строки

мат-

6.10]

МАТРИЧНАЯ ФОРМА ЗАДАЧИ О ПЕРЕПРАВЕ

 

217

рицы

(VV')m

для любой

степени т. Это уже существен­

но более простая задача

д а ж е при очень больших

мат­

рицах. Пусть

множество

{va, vb,

ис} состоит

из

вер­

шин,

соответствующих

единичным

элементам

первой

строки матрицы (VV). В эти вершины можно попасть из вершины vi за один круговой проход. Добавим к это­ му множеству все вершины, которым соответствуют еди­

ничные

элементы

в

а-й,

6-й,

с-й строке

матрицы

VV.

Новое

расширенное

множество содержит

вершины,

в которые

можно

попасть

нз V\ за два круговых прохо­

да.

Будем

повторять такой процесс расширения для

всех

новых

вершин

множества до тех пор, пока ие пере­

берем

всех

вершин

множества-

Множество,

полученное

Б результате такого процесса, состоит из всех вершин, в ко­ торые можно попасть из г'\ за произвольное число кру­ говых проходов. Если это множество содержит верши­ ны, которым соответствуют ненулевые элементы в k столбце матрицы V, то исходная задача имеет решение. В противном случае решение не существует.

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

v\ = ( 4 ,

4), и 6

= ( 3

,

3), i>,o=(0,

 

3),

и 2 = ( 4 ,

3), v7=(2,

 

2),

в „ = ( 0 ,

 

2),

« з = ( 4 ,

2), и 8

= ( 1

,

1),

f i 2 = ( 0

,

1),

и . , = (4.

Г), w 9 = (0,'4),

в , з = (0, 0).

w 5 = ( 4 ,

0),

 

 

 

 

 

 

Задача состоит в том, чтобы перейти из vi в vl3:

и, V, Vz и, us и„ О; V, и, и,„ о„и,„и„

и,

/ 0 1 1 0 0 - 1 0 0 0 0 0 0 0'

v,

 

0 0 1 1 0 1 0 0 0 0 0 0 0

v,

0 0 0 1 1 0 1 0 0 0 0 0 0

v.

0 0 0 0 1 0 0 0 0 0 0 0 0

и,

0 0 0 0 0 0 0 0 0 0 0 0 0

и.0 0 0 0 0 0 1 0 0 0 0 0 0

V = v,

0 0 0 0 0 0 0 1 0 0 1 0 0 -

t .e

0 0 0 0 0 0 0 0 0 0 0 1 1

v.0 0 0 0 0 0 0 0 0 1 1 0 0

и,„

0

0

0

0

0

0

0

0

0

0

1

1

0

«„

0 0 0 0 0 0 0 0 0 0 0 1 1

о„

0 0 0 0 0 0 0 0 0 0 0

 

0 1

и „ 0 0 0 0 0 0 0 0 0

0 0 0 0-'

218 ПРИКЛАДНЫЕ ЗАДАЧИ ТЕОРИИ ГРАФОВ (ГЛ. 6

В 13-м столбце элементы

vs,

t ) M и v[2

не

равны

нулю.-

Следовательно,

если

задача

имеет решение, то элемен­

ты и8 ,

у п .

»

v\2

первой

строки

матрицы

 

(VV')m

т а к ж е

д о л ж ы

быть

ненулевыми:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

V.

V,

l \

vs

 

В; I'j 11, ('„, ГцЧ.аЧ,!

 

 

 

 

 

 

 

 

•1

1 0 0 0 0 0 0 0 0

0 0 o1

 

 

 

 

 

 

 

О"

1

1 1 0

0

0

0

0

0

0

0

0 0

 

 

 

 

 

 

 

fa

0

1 1 1 0

 

1 0

0

0

0

0

0 0

 

 

 

 

 

 

 

t'i

0

0 1 1 0 0 0 0 0

0

0 0 0

 

 

 

 

 

 

 

I'j

0

0

0

0

0

0

0

0

0

0

0

0

0

 

 

 

 

 

 

 

L'„

0

0

1 0

0

1 0

0

0

0

0

0

0

 

 

 

 

 

 

 

«7

0

0

0

0

0 0

1 0

1 1 0

0 0

 

 

 

 

 

 

 

«*

0

0

0

0

0 0

0

1 0

1 1

1

0

 

 

 

 

 

 

 

4U

0

0

0

0 0 0 1 0 1 1 0 0 0

 

 

 

 

 

 

 

 

0

0

0

0

0 0

1 1 1 1 1 0

0

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

1 0

 

1 1 1

0

 

 

 

 

 

 

 

 

0

0

0

0

0 0

0

1 0

0

1 1 0

 

 

 

 

 

 

 

 

.0

0

0

0

0 0

0

0

0

0

0

0 0;

 

 

 

'Множество вершин,

в

 

которые

 

можно

попасть

из

vu

С О С Т О И Т

И З

{V\V2}.

И з

V2 М О Ж Н О

ПОПаСТЬ

В

V\, v 2

И

Уз.

Поэтому добавим и3 к первоначальному множеству н

получим расширенное

множество

{uh

v2,

v3}. И з

w3

мож ­

но попасть в v2,

и3 ,

о 4

и и6 . В В О Д Я

новые

вершины,

полу­

чим

множество

{ о ь

v2,

и3 ,

tv4, v6}.

Из

v4

можно

перейти

в v3

и о4 . Оба

эти перехода

не изменяют

множества. На

этом все возможности исчерпаны. Следовательно, из Vi

можно попасть только в vv,

v2,

v3, и4 и v6

и нельзя

по­

пасть в us, v7,

с'8,

v0, У|0 ) Уп, t)1 2 ,

t)i3 iiii

при

каком

числе

круговых проходов. Но в

13-м столбце матрицы

V

не­

нулевыми являются только

элементы

и8 ,

v n

и vi2.

 

Так

как ни один из этих элементов не вошел

в

окончатель­

ное множество, можно сделать вывод, что

исходная

за­

дача не имеет

решения.

 

 

 

 

 

 

 

З а м е ч а н и е .

Матрица

переходов

(булева)

может

использоваться

т а к ж е для

представления

ориентирован­

ного графа, соответствующего постулатам на множестве

состояний Еи

Е2, . . . ,

Е,„

которые з а д

а ю т

соотношения

типа £,-»-£,•.

Заметим,

что

постулат £

4 -*-£"(

всегда вы­

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

Соседние файлы в папке книги из ГПНТБ