Главная » Просмотр файлов » Дж. Андерсон - Дискретная математика и комбинаторика (2004)

Дж. Андерсон - Дискретная математика и комбинаторика (2004) (1127091), страница 126

Файл №1127091 Дж. Андерсон - Дискретная математика и комбинаторика (2004) (Дж. Андерсон - Дискретная математика и комбинаторика (2004)) 126 страницаДж. Андерсон - Дискретная математика и комбинаторика (2004) (1127091) страница 1262019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 126)

Причину обьясним позже. Заметим, т.к. поток в каждую вершину а, не может превысить 1, поток через каждое ребро Ьз из а, в Ь должен быть 1 или 0 независимо от пропускной способности с(й, ). Для ребра !с, из а; в Ь определим поток ~(!сз ) равным 1, если имеется паросочетаюшее ребро между а, и Ь, и равным 0 в противном случае.

Величина потока, иа!!!), в таком случае равна количеству ребер в паросочетании между А и В. Максимальный поток имеет место, когда имеется максимальное паросочетание. Таким образом, задача нахождения максимального паросочетания сведена к задаче построения максимального потока. Воспользуемся алгоритмом нахождения максимального потока, описанным в предыдущем разделе. Начнем с ребра е,, ведушего в вершину а,, которое не РАЗМЕЛ 1Б.2. Паросочетание 709 является паросочетающим, в противном случае Дег) = с(ег) = 1.

Затем движемся по ориентированному ребру 1гг к вершине Ь, множества В. Если вершина Ь, не паросочетается, создаем паросочетающее ребро между сч и Ь, увеличивая поток. Если вершина 6, паросочетается, нужно вернуться по неправильно ориентированому ребру. Поэтому его поток должен быть равен 1, и мы продолжаем цепь назад во множество А по паросочетающему ребру. Снова, возвращаясь в В, выбираем ребро, которое не является паросочетающим.

Продолжаем цепь, пока не достигнем вершины во множестве В, которая не паросочетается. В цепи необходимо добавить 1 к потоку правильно ориентированных ребер из А в В и вычесть 1 из потоков неправильно ориентированных ребер из В в А. В результате паросочетающими ребрами станут те, которые ими не были, а прежние паросочетающие ребра будут удалены. Это добавит одно паросочетающее ребро двудольному графу, и мощность паросочетания увеличится на 1. Таким образом, алгоритм нахождения максимального потока позволяет найти максимальное паросочетание. Начать можно с пустого паросочетания, как того требует алгоритм нахождения максимального потока.

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

ПРИМЕР 16.20. Для графа, изображенного на рис. 16.32, найти максимальное паросочетание. а( Ьг аг аз Ь Рис, !б.32 Начинаем в вершине аю поскольку она не имеет паросочетающего ребра. По ориентированному ребру попадаем в вершину Ьа, т.к. ребро (аг,Ьз) не принадлежит начальному паросочетанию. Продолжаем цепь назад в аз, поскольку ребро (аз, 64) принадлежит текущему паросочетанию.

Из аз цепь продолжаем в Ьы поскольку (аз,бг) — не паросочетающее ребро. Из Ьг цепь продолжаем в аз, поскольку (аз,Ь!) — паросочетающее ребро. Из аз цепь продолжаем в вершину Ьз, т.к. (аз, Ьз) не принадлежит паросочетанию. Из Ьз цепь продолжаем назад в аы поскольку (аг,бз) — паросочетающее ребро. Из аг цепь продолжаем в Ьз, поскольку (ам ба) не принадлежит паросочетанию. Из Ьз не выходит ни одно паросочетающее ребро, поэтому цепь построена и имеет вид: а„- 64 — аз — Ьг — аз — Ьз — а, — Ьз.

После этого удаляем из исходного 710 ГЛг»ВА 16. Сети паросочетания ребра, имеюшиеся в цепи, и добавляем ребра из цепи, которые в нем отсутствуют. Получаем граф, изображенный на рис. 16.33. а, еЬ, а2 ° Ьз аз еЬ, а4 4 Рис. /б.33 Построенное паросочетание является максимальным и, к тому же, полным паросочетанием, потому что количество ребер в паросочетании равно количеству вершин в А. П ПРИМЕР 16.21. Для графа, изображенного на рис. 16.34, найти максимальное паросочетание. а» а, а а2 Е Ь2 аз 5 аз з Ь4 а4 а ° Ь а5 ° ь5 Рис. !б.34 Рис.

!б.3б Начинаем в вершине аз, поскольку у нее нет просочетаюшего ребра. По ориентированному ребру попадаем в вершину 65, т.к. (аз, 65) — не паросочетаюшее ребро. Затем продолжаем цепь назад в аз, потому что (аз, Ьз) — паросочетаюшее ребро. Из аз продолжаем цепь в Ь4, поскольку (аз, Ь4) — не паросочетаюшее ребро. Далее продолжаем цепь назад в аг, т.к, (амЬ4) — паросочетаюшее ребро. Из а, продолжаем цепь в Ьз, потому что (амЬз) — не паросочетаюшее ребро. После этого возвращаем цепь в аз, поскольку (аз,ьз) — паросочетаюшее ребро.

Из аз продолжаем цепь в 62, (аз, Ьз) — не паросочетаюшее ребро. Из 62 не выходит ни одно паросочетаюшее ребро, поэтому цепь построена и имеет вид: »25 «65' из «64' и1 +Ьз» из «62 ° Удаляем из исходного паросочетания ребра, имеюшиеся в цепи, и добавляем ребра из цепи, которые в нем отсутствуют. Получаем граф, изображенный на рис. 16.35. Поскольку количество ребер в паросочетании равно количеству вершин в А, имеем максимальное паросочетание, которое является полным.

П РАЗДЕЛ 1б.2. Паросочетание 711 ОПРЕДЕЛЕНИЕ 16.22.Для подмножества Х множества А введем множество В(Х) = (Ь: Ь Е В и Ь смежная с вершиной из Х). В(Х) называется множеством значений Х. Это определение согласовано с определением множества значений, которое представлено в главе 2 при изучении отношений. Теперь можно сформулировать необходимые и достаточные условия полноты паросочетания. ТЕОРЕМА 16.23. (Теорема Холла) Двудольный граф С(Е, и'), в котором )г = А О В, имеет полное паросочетание тогда и только тогда, когда для каждого подмножества Х С А выполняется )Х) < (В(Х) ~.

ДОКАЗАТЕЛЬСТВО. Очевидно, что если граф С(Е, Ъ') — полный, тогда необходимо (Х! < ~В(Х)! для каждого подмножества Х множества А, т.к. в противном случае не для всех элементов из Х и, следовательно, не для всех элементов из А существует паросочетаюшее ребро. В частности, каждый элемент из А смежен с элементом из В и )А) < )В). Обратно, предположим, что )Х) < (В(Х)! для каждого подмножества Х множества А. Согласно теореме 16.16 существует разрез (Я,Т) такой, что оа1(1) = С(Я,Т). Известно, что оа1(У) равно количеству вершин в максимальном паросочетании, поэтому С(Я,Т) тоже равно количеству вершин в макисимальном паросочетании.

Пусть )А( = и. Тогда С(Я,Т) < и, поскольку количество элементов в максимальном паросочетании не может превысить количество вершин в А. Вспомним, что С(Я,Т) равно сумме пропускных способностей всех ребер между 5 и Т. Известно также, что этот разрез не может содержать ребро Ьу между вершиной а, из А и вершиной Ь, из В, т.к. с(/с, ) = и+ 1. Поэтому, если а, Е Я, то В((а)) С Я. Отсюда следует, что В(А П 5) С Я. Между каждой вершиной из В(А П 5) и г существует ребро. Кроме того, каждое из этих ребер принадлежит разрезу (Я,Т), поскольку г Е Т и вносит 1 в С(Я,Т).

Множество А — несвязное объединение множеств АП Я и А ПТ. Следовательно, и = )А! = )А П 5(+ ~АПТ). Между элементом а и каждым элементом множества А и Т существует ребро. Поскольку а е Я, каждое из этих ребер принадлежит разрезу (Я, Т) и вносит 1 в С(Я,Т). Поскольку по предположению (А П 5) < )В(А П 5)(, отсюда следует, что С(Я,Т) > (В(А О 5)(+ (Аг1 Т~ > )Ап 5(+ (А пТ~ = (А( = и. Вспомним, однако, что С(5, Т) равно количеству ребер в максимальном паросочетании. Поэтому С(Я,Т) < и, откуда следует, что С(Я,Т) = и, т.е. максимальное паросочетание является полным.

Теперь представим другой алгоритм нахождения максимального паросочетания. На этот раз используем матрицы. Начнем с модифицированной матрицы инцидентности. Поскольку имеются ребра только из А в В, то необходима та часть матрицы А, в которой строка соответствует элементу из А, а столбец соответствует элементу из В. Строки именуем вершинами из А, столбцы — вершинами из В. Как и раньше, помещаем 1 в г-ую строку ~-ого столбца, если существует ребро из а, в Ь . Начнем с расстановки скобок вокруг каждой 1 в г-ой строке и 1-ом столбце, если существует паросочетающее ребро из а, в Ь,.

Проиллюстрируем этот процесс для паросочетания из примера 16.20. Помешаем символ 4~ в 712 ГПАВА 1б. Сети конец строки, соответствующей а4, чтобы отметить, что в строке нет ]Ц и, следовательно, для а4 нет паросочетаюшего ребра. Считаем строку, содержащую такой символ в конце, помеченной. Точно так же считаем помеченным каждый столбец, содержащий в конце указанный символ.

На этом этапе матрица имеет следующий вид; Поскольку строка, содержащая а4, помечена, то везде, где имеется 1 без скобок, помешаем а4 под каждым столбцом, содержащим 1. Числа внизу и справа помогут найти обратный путь. Переход по 1 в столбце Ь4 равносилен переходу из а4 в 64 по непаросочетаюшему ребру. В столбце, соответствуюшем Ь4, выберем строку, содержащую [Ц, которая встречается в аз, и поместим 64 в правый столбец этой строки, что эквивалентно построению паросочетаюшего ребра из 64 в аз. На этом этапе имеем следующую матрицу: Теперь ишем вхождение единиц в строке аа и помешаем аз внизу каждого столбца.

В данном случае единицы имеются в столбцах 6| и Ьз. Имеем, таким образом, две возможности для непаросочетаюшего ребра. В столбцах, соответствуюших Ь, и Ьз, находим строки, содержашие ]Ц. Ими являются строки, соответствуюшие аз н аы Помещаем 6| в правый столбец строки аз и Ьз — в правый столбец строки аы Получаем матрицу вида В строке аг отыскиваем 1 в одном из столбцов. Таким столбцом является Ьз. Под ним помещаем аы В строке аз отыскиваем 1 в столбцах. Ими являются столбцы 6з и Ь4, но они уже помечены.

Характеристики

Тип файла
DJVU-файл
Размер
7,96 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6451
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее