В.Н. Нефедов, В.А. Осипова - Курс дискретной математики (1127083), страница 54
Текст из файла (страница 54)
э) — Х', Э(э, в)] Усь(.) О-() ввО(,) [Х, В(в, э) — й,' В(», в)] эау, вап-'(э) ваО(э) Е(э. в) эатг ваО-'(э) оаУ ваО(э) — Хг вуа — ~ в(э) ш ла((в, э)аХ) аЦ эа((э, в)аХ( ау) Х ь(.) — Х] е(э)— эа((в, э)аХ)эаЦ эа((в, э)ах(в, оац а В() Хэ В(э)< эа(в, э)аХ( ауь вжЦ э Х(У,) с(. ) = с(Х(У,)) аХ(У,) Докажем следующую основную теорему. Теорема 4Л! (теорема Форда — Фвлкерсона).
Пусть 0— трансаортнся сете, е — допустимый лоток е этой сети, у,— мкомество вершин оа )г такит, что длина минимального пути илов о„ворграфг лрнраи(спий!(Р гу) равна нумо. Тогда„если агарь го р — максимальный лоток, величаю которога равна т с(Х(Уг)). Пусть ог а Уь Тогда (см. доказательство утвержденна 4.57) выполняется равенство е- Х е(> — д ч 4 ). (4.62)' хм[(в, ч)мХ>амрй хю((а, в)мХ[гюрд Если х (о, в)шХ, аскрг, юшрь то ф(х) = О, так как в противном случае, используя (4.61).
имеем 1(х') = О, где х' =.(в, о), а следовательно. в силу аш)г в 1(4>, р) сушествует путь нулевой длины из ю в а, что противоречит условию вй[Уг. Но тогда из (4.62) получаем е- Х ш)— д> а(ф хю((в, а) Х[ Уд зм[(з, в)юХ(г, вмУ,) Х а("> (4.63)г хю[( . а)мх(аму вшуд Заме иа, чта если = (в. «) юХ, ам У вшу, то г(х) (тан.
ваи прн 1(х) О а сгву му, а 1[Р, г) стщг твваа бм путь чг еа 4 данна нз а а а, чга арг нюзечяг усзсема вы У,), э гавлова чаьаа. согласно (4ба) 4(х> а(х). На мгла аз (бда) ача>чаем Г г[Х(У,)). Нв стольку тьчнюне авбаю хаауапвого аояма з туза аоргаоа чта Р аг яувмсхолнг 4(Х(У )) (с». Угзаржачане (4.47), та Š— мвнсаиеаьнна я та з ю аз м и. Следствие !. Используя теорему Форда — Фалкерсона, а также утверждение 4.67, получаем, чта величина мансимального потока в транспортной сети равна пропускной способности минимального разреза. Слгдстош 2.
Пусть ф — допустимый поток в транспортной сети [>. Тогда, если ллина минимального пути из о~ в а в орграфе прирашеиий 1([>, ф) равна аа, то ф — максимальный поток 4.6.4. Алгоритм пасгроенна маисимальнвга петена в транспортной сети Важным следствием теоремы Форда — Фадкерсона является алгоритм пасгроеняя максимального пашка в транспортной сетп Еь Опишем его. Алгоритм 4.11г Шог 1. Полагаем 4 О. Пусть 44 — любой допустимый поток. в транспортной сети (> (например, полный; можно начинать с. нУлсвого потока: бч(х) =О, хшХ).
Шаг 2. По сети (> и потоку р; строим арграф прнрашений 1(1>. од). Шаг 8. Находим простую непь ць являипцуиюя минимальным путем из а~ з о в нагруженном орграфе 1[О, чгг) (например, используя алгоритм Форда — Веллмаиа). Если длина атой цепи равна аа, то поток >ь максимален (см. следствие 2 теоремы 4.!1], п работа алгоритма закончена.
В противном случае увеличиваем. яоюк вдоль цени цг на максимально допустимую величину аг) )О, где алжд (врибавляя ее для каждой дуги хепХ, через которую прохолит цепь т>ь к уже имеющейся величине потока по ауге х, если иапрапления х и Пг совпадают, и вычитая, селя нз- тбб «()(.) г г правления х и П, прон«воположны), такую, что нрн атом сохраняется условие ! допустимого потока (см. с.
3)6). В силу 1(П.) =6, используя (4 60), (4 6!), получаем, что указанная величина а, существует. В результате меняетс» поюк в транспортной сети О, т. е. ст пошив р« мы перешли к потоку е««« (очевидно, что при таком изменении поток остается допустимым), и прв этом (ь+«=«у«+аь Присваиваем !« =1+! в переходим к шагу Е Замечание 4.68. Поскольку последовательность величин 1, является монотонно возра. стаюшей, то максимальный г $ поток будсч построен за ко« печное число шагов.
г 6 Пример 4ЛТ. В продолжае ние врнмеров 4.64, 4.66 по- строим максимальный поток гр у) в транспортной сети О. Начи- наем с полного потока Рес. 4.«п Воспользуемся орграфом прп- ращений, вриведениым в .примере 4.66 (см. ив рис. 4.46 изображение орграфа 1(О, е,)). В нагруженном орграфе 1(О, «1,) имеется простая пель т!з = = о,озо«е,о«, длина коврой равна О (т. е. П« — минимальный путь пз о«в ов в 1(О, р«)). Увеличиваем поток вдоль пепи п«нз максимально допустимую яеличину 2 (до обнуления потока по дуге (оь оэ)). В результате получаем поток «р«(см. на рис 4.4й,а изображение орграфа О с указанием величин п«пока Е« по дугам). Построим орграф приращений 1(О, р,), изображение которого приведено на рис.
4.46, б. Нетрулио видеть, что длина любого нуги иа о«в о«в нагруженном орграфе 1(О, е«) равна е, а слсловатсльио, поток «уз ЯвлЯетсЯ максимальным н пРи етом ее= ! !. Задача. Найти максимальные пошив в транспортных сетях (см. рис 466,а, б). ю и ев ет 1 г! «! 6 111 а1 Рее. 4ДО ч.й. ВЫЧИСЛИТЕЛЬНАЯ СЛОЖНОСТЬ АЛГОРИТМОВ Мм уже говорила о тпм. что метод« рюненвя многих задач математике носят алгорвтм«ческнй характер, что дл» задач, ямеющпх практический интерес, ищут именно разрешающне алгоритмы. Уточненве понятна алгорнтма нозволнло выявить элюрятмнческн неразрешимые проблем«, к жпорым прежде всего отнесятсн рассмотреннме нанн проблеме разрсшвмостн для логики пред»катав.
проблема самоаркмеянмсстн лт» машк« Тыор«нга, «робле«а тождества слов в полугруппах. Исследуя задач» на днскретвмх конечнмх «атемэтнчсснпх структурах. как праемло, можно найти комбнпаторнме злптргп. мм для пх решения, ма«ример, с помощью некоторопг процесса перебора. Однако врн этом час»о шапгв бистро растет с увеличением размерности задачи. к последняя стаяовнгся практически неразре пньюй. Попс« эффект«в«мх алгоритмов лля решен«я задач дискретной матсматккв прнвел к одной нз важнейших се проблем — к решению вопроса о»озможяостя нсключенп» перебора варнантов з комбинатор«на алгорнтнах.
В самом широком с«псле эффект«в»сеть алгоритма связана со «семн вычислите»зимми ресурсамн, нее«ход»мыми дл» его работм. Однако обычна под наиболее эффектен«ям понимается наиболее «о«стрый» алгорнтм. Есть целмй ряд задач, представляюгнах нракгнчсскнй «нтсрес, для потормт, по-в«демону, не существует зффектнвпмк алгор«тмов, а «ро кмеющншя раздаю«юшке алгоритм« можне сказать, что онн ясзффектквнм даже пр«реал«зацпи на ЭВМ будущих поколснвй Оценка сложностн алгоритмов и создание зффектнвных алгоритмов — од«а яз важнейшнх задач современной вяскретаой матсматнкн.
Мы будем оценивать алгорнтмм лмшь по временной сложности. Ие «рнводя злесь шчнмх поп»тай, заметам, ио время работ« алгорнтма можно в«раз«ть в анде фуггк~гкн от «размеров» входных да«миг. требуемых ллн па»чапан задач». Вход«не « вмходнме данн«с можно кодировать некоторым «разумнмм» оно. шбом в энде двончных последовательностей аз нулей н е»плац. Тогда алюрнтм можно рассматрявать как псследовательшкть двончяых операций, ращпагощих с памятмо пз дао«чмых же с«маслов. Временна» сложность алгпрптма отражает затраты времени (число шагов), требуем«с лля его рабата.
Эю есть фупкця», «оторва каждой вхолной длине и ставит в сгютветствпе мнкп. мальнос время, затрачиваемое алгоритмом на решенно всех ол. катнпных «ндпа«дуалыпгх залая втой длппм. заг Иэ курса математического аналюа известна, гго фуншщн )(л) есть 0(й(л)), еслн существует константа с такая, что )~(я))мс(д(я)) лля всех люб. Полиномиальямм алгоритмом (нлн алгоритмом поляномяальной временной сложностн) называется алгоритм, у коюрого временная сложность равна Ю(Р(а)), где Р(я) — некоторая пслялюмнальная функння от входной длнны л.
Алгоритмы, для временной сложнсстн которьш не существует такой оценки, называются вкспоягнциалвними. Задача считается трядяоргшагяод. если для вее не сущяствует разрешающего полнномнальною алгарнтма. В книге (3) нрнведены караатерные таблнцы оценка зависимости временв работы алгорятмов сложностя, рваной и, я', 2", от размеров входной информации (табл. 4.!3), а танже оценки максимальной размерности задачи, решаемой за один час (табл. 4.!4).
Из последней таблнцы видно, что повышение быстродействия маюнны не дает существенного роста размерности разрешимых задач, если алгорнтм имеет зкспоненцнальную сложность. Те бенке 416 1О адамс ! о,оов секунд О,юб Оды 0,001 секунл О.ОН сскунл Э6,7 лвеэ 366 с сл тву 1.0 секуев Теблнкн 414 Севреюн сее эпм ЭВМ, в 1000 Вю бине биссген Фу л, вгекс- юб елоиныкнс ЭВМ, в 1ОО рее более бисгрвн 1000Л, 10№ и,+9,67 1Оби, елям= и +6,64 Многие прикладные задачн могут быть сформулированы в терминах теорнк графок Однако прн решении реальных задач харвкюрястнкн ссютвеютвуюшпх графов (например, число вершин л в чнсло ребер ш) весьма велика, в пх аналю возможен лишь с привлечением ЭВЭ(.
тя Задача поиска эффективных алгорвтмов в теории графов имеет большое практическое значение. Поэтому в заключение- ладам краткий обзор временмой сложности рассмотренных изми комбянаторпык алгоритмов на графах. Задачи теории графов можно «лассифнцировать следующим образом: 1) задачи, для которых имеются алгоритмы сложности 0 (а + ш); 2) заЛами, э,чя которых известны алгоритмы сложности О(Р(п+т)).
где Р— нелинейный полипом; 3) задачи, для которых известны только злгорнтмы экспонеп. циальиой слогкнсстп, но про которые нельзя сказать, что для ппх нет аагоримов полнномиальной сложносгиг 4) задачи, которые могут быть решены лишь с использованием алгоритма экспоненцнальнои сложности. Разбиение задач ва первые три класса зависит от мастерства матемщика.
Однако задачи четвертого класса принципиально нельзя отнести к первым трем «лассам, поскольку они включают в себя экс~оненциальиые процедуры, например просмотр всех подграфов исходвого графа. К четвертому классу относятсн талачи перечисления всех осгоппыт деревьев графа и перечисления всех циклов графа. Это объясняется тем, что у полного п.вершинного графа число остовныт деревьев равно л" ' (см. разя. 4.4.3), число циклов длины г раиао С' (г — 1)!, т.