Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 61. Простой граф. Покрытие. ПаросочетаниеПростой граф. Простым графом называют такой граф
Например, на рис. 427 изображен такой граф (на рис. 428 дано его представление с помощью булевой матрицы). Простой граф можно определить также как многозначное отображение Простой граф будем обозначать Покрытие простого графа. Покрытием простого графа Для того чтобы простой граф обладал покрытием, необходимо и достаточно выполнение условий:
Например, множество
— покрытие простого графа на рис. 429 (на рис. 430 и 431 оно выделено).
Рис. 427
Рис. 428.
Рис. 429.
Рис. 430.
Рис. 431. Исходя из булева матричного представления простого графа, можно определить покрытие как такой набор единиц, что каждая строка и каждый столбец матрицы содержат по крайней мере по одному элементу из этого набора. Минимальное покрытие простого графа. Требуется найти покрытие (кликните для просмотра скана) потока в некоторой транспортной сети. Найдем минимальное покрытие
Соединим вход По методу Форда — Фалкерсона ищем минимальный поток
Рис. 436 Другой пример.
Рис. 437 Мини гальное покрытие. Затем, рассматривая пути, идущие В нашем случае
Например, для графа на рис 436, минимальное покрытие которого изображено на рис. 437, имеем
Описание алгоритма, использующего булево матричное представление. Опишем алгоритм (рассматривая одновременно пример) позволяющий получить минимачьчое покрытие простого графа 1) Сопоставим каждой строке
Рис. 433
Рис. 439 Очевидно, что
2) Если
то множество
то заменяем последовательно в произвольном порядке нулем каждую из единиц (условливаясь при этом писагь
Рис. 440
Рис. 141 Например, заключая в квадратик 1 на местах рис. 439. Легко видеть, что эту операцию дальше продолжить нельзя. 3) В каждой строке с
Рис. 442.
Рис. 443. Если Если, действуя по этому алгоритму, мы уже не можем больше увеличить число отмеченных единиц, то необведенные единицы дают минимальное покрытие.
Рис. 444
Рис. 445. В нашем примере мы переходим от рис. 439 к рис. 440, а от него к рис. 441 (пунктир показывает порядок действия по Паросочетание простого графа. Рассмотрим простой граф
называется паросочетанием, отображающим Например, на рис. 445 (рис. 447) изображено паросочетание простого графа на рис. 444 (рис. 446)
Рис. 446
Рис. 447. Условие существования паросочетания. Теорема Кёнига — Холла. Пусть
Рис. 448.
Рис. 449. Паросочетание, отображающее
Доказательство. Построим транспортную сеть, в качестве вершин которой возьмем элементы множеств (кликните для просмотра скана) способностью, также равной I, а каждую вершину Если
Рис. 455.
Рис. 456. Следовательно, отобразить
или, иначе,
Максимальное паросочетание. Максимальное паросочетание — это паросочетание Отыскание максимального паросочетания. Для отыскания максимального паросочетания достаточно построить, как это мы сделали при доказательстве теоремы Кёнига — Холла, транспортную сеть с входом Пример (рис. 448). Ищем сначала все пути от В этом случае наибольшее подмножество множества X, которое отображается в
Рис. 457.
Рис. 458. Отыскание максимального паросочетания простого графа, заданного в виде булевой матрицы. 1) Реализуем некоторое паросочетание, выделяя полужирным шрифтом одну и только одну 1 в строке и столбце (на нашем примере — паросочетание на рис. 457).
Рис. 459. 2) Помечаем косым крестиком любую строку и любой столбец, которые содержат 1, выделенную полужирным шрифтом (рис. 458). 3) Рассмотрим непомеченные столбцы. В непомеченном столбце выбираем 1, которая одновременно принадлежала бы помеченной строке. Находим в этой строке 1, выделенную полужирным шрифтом, и в соответствующем ей столбце ищем 1, которая принадлежала бы непомеченной строке. Очевидно, что если мы находим такую единицу, то число выделенных полужирным шрифтом единиц можно увеличить. В противном случае ищем 1 в помеченной строке; по 1, выделенной полужирным шрифтом, в этой строке ищем... Если мы не можем больше найти столбца, исходя из которого, можно увеличить существующее число единиц, выделенных полужирным шрифтом, то приходим к максимальному паросочетанию. В нашем примере столбец Следовательно, возможно увеличить число единиц, выделенных полужирным шрифтом. Выделяем полужирным шрифтом рис. 459 1 в клетке Дефицит простого графа. Дефицитом простого графа
(А = 0 не исключается). В качестве примера вычислим дефицит графа на рис. 447. Имеем
Легко проверить, что все разности в (61.18) либо отрицательны, либо нули. Следовательно, Другая формулировка теоремы Кёнига — Холла. Необходимое и достаточное условие
можно записать в виде
или, учитывая, что
т. е.
Таким образом, паросочетание, отображающее Опора простого графа. Опорой простого графа Например, множество Минимальная опора. Индекс разбрасывания. Минимальная опора простого графа
Рис. 460
Рис. 461. Граф может обладать несколькими минимальными опорами. Число Очевидно, что
Например, множество Прежде чем изложить алгоритм определения минимальной опоры простого графа, рассмотрим несколько теорем. Теорема
a S - опора, не содержит дуг, т. е. Это следует из определения опоры. Теорема
— опора простого графа Действительно, так как конец любой дуги лежит в А или в Теорема III. Для любой минимальной опоры
В самом деле, по теореме
Следовательно,
Теорема IV. В простом графе
Действительно,
Полагая
имеем
Например, для графа на рис, 460 имеем Теорема
Доказательство. Пусть
По определению С имеем
Учитывая (61.30), получаем
Напрчмер, для графа Теорема VI (теорема Кёнига). Пусть равно максимально возможному числу дуг в паросочетании, отображающем
Доказательство теоремы будет все время иллюстрироваться примером (рис. 462 и 463). Доказательство. Исходя из заданного простого графа
Рис. 462.
Рис. 463. Присоединим к Если значение потока на дуге Мы покажем, что каждой опоре можно сопоставить разрез, пропускная способность которого равна числу вершин опоры, и, обратно, каждому разрезу с конечной пропускной способностью можно сопоставить опору, число вершин которой равно пропускной способности разреза. Тогда
Но по теореме Форда — Фалкерсона (60.24) минимальный разрез равен максимальному потоку. Отсюда получается, что
1) Покажем сначала, что каждой опоре можно сопоставить разрез с пропускной способностью, равной числу вершин опоры. Пусть опора образована множествами
и
В нашем примере пусть это будут, например, Обозначим
и
Если из
Рис. 464. Пусть
(в нашем примере Рассмотрим разрез, определенный множеством а) Единственными дугами, исходящими из вершин, не принадлежащих б) Вершины из в) Таким образом, пропускная способность разреза равна 2) Покажем теперь, что всякому разрезу с конечной пропускной способностью можно сопоставить некоторую опору. Пусть разрез определяется множеством вершин
Рис. 465 Пусть пропускная способность этого разреза конечна (как, например, для разреза, указанного на рис. 466); это означает, что он не содержит никакой дуги, соединяющей вершину из
Рис. 466. Далее, как было показано выше, число вершин этой опоры равно пропускной способности разреза. Пусть теперь
что и требовалось доказать. Справедлива и обратная теорема. Пусть
Пусть условия теоремы выполняются. Для минимальной опоры Теорема VII теорема Кёнига
Доказательство. По теореме IV
а по теореме VI
т. е. имеем (61.50). Мы дадим в дальнейшем алгоритм нахождения минимальной опоры. Для этого нам нужны еще некоторые определения. Полное паросочетание. Пусть V — дуги паросочетания В изложенном выше методе нахождения максимального паросочетания с помощью транспортной сети, построенной для простого графа, получают «полный поток», когда больше нельзя найти такого пути из Принимая во внимание, что в некоторых случаях все-таки можно увеличить поток, рассматривая цепи между Сильная дуга. Слабая дуга. Пусть V — множество дуг паросочетания простого графа Ненасыщенная вершина. Вершина Пусть
Рис. 467 Обозначим через
так как множество ненасыщенных вершин в X есть Обозначим через V множество сильных дуг, начала которых являются также началами дуг, заходящих в ненасыщенные вершины. Будем называть графом дуг паросочетания граф На рис. 468 представлено полное, но не максимальное паросочетание; напротив, на рис. 469 и 470 паросочетания максимальны. Покажем, как был построен граф дуг паросочетания для графа на рис. 468.
Имеем также
Провести аналогичные построения для графов на рис. 469 и 470 предоставляется читателю в виде упражнения. Теорема VIII. Следующие условия эквивалентны: 1) V является максимальным паросочетанием в простом графе 2) В простом графе 3) В графе 4) В графе
Рис. 468.
Рис. 469.
Рис. 470. Будем доказывать теорему по схеме
1) - 2). Действительно, предположим, что цепь, о которой говорится в условии 2), существует. Обозначим ее ребра через
содержит на одну дугу больше, чем V, что противоречит максимальности последнего. 2) - 3). Действительно, каждой цепи в графе дуг паросочетания, идущей от вершины из соответствует чередующаяся цепь, связывающая ненасыщенные верши 3) - 4). Отметим знаком 4) - 1). В графе
Рис. 471 а) б) в) г) Таким образом, дуги Имеем, кроме того,
По теореме, обратной теореме Кёнига, получаем, что V — максимальное паросочетание. Нахождение минимальной опоры. Венгерский алгоритм. Этот процесс распадается на две части. 1) Нахождение максимального паросочетания. Для этого подходит метод, описанный ранее, но мы дадим другой способ. 2) Нахождение минимальной опоры. Первая часть: нахождение максимального паросочетания. Для получения максиматьного паросочетания берут какое-нибудь паросочетание, образуют граф дуг паросочетания Вторая часть: нахождение минимальной опоры. Чтобы, исходя из максимального паросочетания V, построить минимальную опору, находят подмножества
будет тогда минимальной опорой. Пример 1 (рис. 472). Возьмем сначала паросочетание V, показанное на рис. 473. Найдем для пего граф дуг паросочетания и множестра
и
Концы дуг множества
а начала дуг
(рис. 477 и 478). Пример 2 (рис. 479). На рис. 480 показано некоторое паросочетание. Оно не максимальное, что показывает граф на рис. 481. Увеличиваем на 1 число дуг в паросочетании, используя цепь
(кликните для просмотра скана) (кликните для просмотра скана) (рис 482) Как показывает граф дуг паросочетания на рис 483, можно увеличить число дуг в паросочетании еще на 1, если использовать цепь
Приходим к иаросочетанию на рис 484 Это паросочетание максимально, так как Нахождение минимальной опоры с немощью булевой матрицы Если максимальное паросочетание уже поточено, то действуем следующим образом а) помечаем знаком 0 все строки, в коюрых б) помечаем знаком 0 все столбцы, содержащие 1, не выделенные полужирным шрифтом в помеченных строках,
Рис. 486
Рис. 487 в) помечаем все строки, содержащие 1, выделенные полужирным шрифтом в помеченных столбцах, г) повторяем б) и в) до тех пор, пока удается помечать новые столбцы или строки, д) помеченные столбцы и непомеченные строки дают минимальную опору Пример (рис 486, где воспроизведен результат, полученный на рис 459) Согласно описанной процедуре помечаем по порядку строку Рис 487 иллюстрирует общий факт минимальная опора есть минимальное множество линий, содержащих все 1 Под линией понимаем здесь столбец или строку. УПРАЖНЕНИЯ(см. скан)
|
1 |
Оглавление
|