Инструкция за Дискретна математика

Potokomvsetimezhduvershinoyt (източник) и S (източване) е набор от числа Сий, (т.е. брой условно "натоварване", извършена с върха и да Vertex номер с номер J ..), което отговаря на четири условия:

3) ако възелът с индекс I - междинно съединение (не съвпада с източника и изтичане), на

т. д. броят на "стоки", изнесени от върха аз, е броят на "стоки", внесени в тази среща на върха;

4) размера на "натоварване", изнесени от източник тон, трябва да е равен на броя на товари, внасяни в източване те:

Броят А е величината на потока, или просто поток между Т и S.

В това, което следва, че трябва следното определение:

Да предположим, че има точка между възли и и т. След това напречното сечение е сумата от възможностите на пропускателните ребра, включени в този раздел. Сечението се нарича минимално (максимално), ако стойността му е минимално (максимално).

Теорема Ford - Fulkerson (1955). Максимален дебит между възли S и Т е равна на минимално напречно сечение между тези върхове.

Доказателството за това теорема е конструктивен (т. Е. показва как да намерите желания максималния поток), но по-долу.

  1. Ние първо да докаже, че всеки поток между върховете и T S е по-малка или равна на стойността на всяка секция. Като се има предвид определен дебит и секция. Големината на този поток се състои от променливи "стоки", носени от всички върховете vozmozhnymputyam т в S. Всеки път трябва да има общ ръб с този раздел. Тъй като всяка част от ръба не може да се преведе в общия "натоварване" на повече от капацитета си, така че сумата на всички стоки е по-малък или равен на сумата от всички индивидуални възможности на ръбовете на секцията. Твърдението е доказано.

От това следва, че всеки поток е по-малка или равна на стойността на минималната напречно сечение, а оттам и на максималния поток е по-малка или равна на стойността на минималната част.

  • Сега се окаже обратен неравенство. Нека да има някаква ЦНЖ поток (някои поток е винаги там, например, нула, когато всички ЦНЖ = 0). Нека да отбележат върховете на графиката, и вярвам, че всички означени върхове форма множество Y. Маркиране на върховете са изработени от източника. Всеки отбелязване на върха (ако върха могат да бъдат етикетирани) се състои от две числа: на първо място - с "+" или "-" най-горния номер (от Y), в който е свързан нова маркирате върха, а вторият - (задължително трябва да е положителна) - всъщност е добавката на потока, който може да бъде "кара" в горната част на източника спрямо захранващия поток.
  • По-специално, множество Y маркиран върхове се образува както следва:

    Y т принадлежи източник и флаг (0, ∞); второто число, относително казано, е безкраен - което означава, че той е толкова голям брой, тъй като ние ще трябва за дискретната математика;

    ако възелът принадлежи Y и и CIJ 0 е равна на диджей = мин I, qij - CIJ>. Забележка тук, че броят на ди - втори номер вече е маркиран връх аз, и аз знак + пред номера означава, че дъгата, който свързва върховете (I, J) е пряк (и ненаситени);

    ако възел к принадлежи Y и SJK> 0 (обратна дъга), а след това на върха с номер J също трябва да принадлежат към Y и етикета й е равна на (-. за диджей), където знак минус показва, че J връх, свързан с вече маркиран върха на обратния дъгата , DJ = норка, qjk + CJK> и е очевидно, че DJ и строго по-голямо от нула. По този начин изграждането на набор Y е индуктивен, т. Е. New възел се добавя към Y. Ако тя е свързана с връх в Y uzhevhodyaschey ненаситена права или дъга или обратна дъга.

    След построяването на Y е приключило (не е възможно да се добавят нови върхове), има 2 случая.

    1. Прясно (т. Е. Vertex номерирани и) не са включени в набора от върховете Y. Тогава множеството от върховете извън Y чрез Z. Нашата графика на състоянието е свързан, така че от Y, някои ръбове в Z. Съгласно правилата на изграждане на Y всички тези ръбове са прави наситени дъги (фиг. 7).

    Ребрата, простиращи се от множество Y да Z. образуват участък между възли и и т. Вижда се също така, че сумата от индивидуалните възможности на краищата на това напречно сечение (и всички тези ръбове са прави, наситен) е потокът на т в а. Следователно, потокът е максимална (тъй като тя е равна на напречното сечение на а), и тази част е минимална.

    S 2. горната също е включена в Y и нека второто число е неговата маркиране г S> 0. След това, очевидно е, че между върховете на S и т има верига (състояща се от насочени ръбове - преки и обратни дъги), свързваща тези върхове

    Схематично е показано на фиг. 8.

    Т ® ® · · ¬ · ¬ · ® ® · · ¬ · ¬ · ® · ®s

    Имайте предвид, че на дъгата, която отива от източника и дъга, част от канала трябва да е непременно прав. Добави DS да ЦНЖ Изправянето на дъги от веригата (според конструкцията може да се види, че полученото число е по-малка или равна qij) и се изважда тази DS на ЦНЖ за обратни дъги (може да се получи отрицателно число, но е задължително в абсолютна стойност по-малко qij, тъй като за изграждане на DS £ ЦНЖ + qij, което означава, че обратната дъга сменя посоката си, се превръща в прав дъга и "натоварване" ще бъде равна на абсолютната стойност на после нови номера за дъги в нашата верига, както и "стари" ЦНЖ за всички дъги които не са включени в нашата верига, образуват нов поток от върха на връх T S (п Лесно е да се провери лесно аргумента, че новите номера на следните условия (1) - (4).) В допълнение, стойността на новия поток в сравнение със старото повишиха DS> 0. За нова тема отново да извършва същата процедура, и така нататък ..

    Тъй като всеки път, когато скоростта на потока се повишава с най-малко една (ленти ребра са цели числа) и максимален дебит е ограничен (минимална стойност сечение), тази процедура не може да продължи неопределено време, и по този начин, в някои стъпка получаване на поток, чийто връх и не е включена в Y, т. е. на потока е максимална и равна на стойността на минималната си сечение. Това доказва теоремата.

    Разсъждение Ford теорема - Fulkerson алгоритъм се състои в намиране максималният поток между два възела (или доказателство, че този поток е максимум). Подробен пример по този въпрос е даден в Sec. 15 "Решението на типични проблеми."

    Забележка. Ако тази графика с ленти ребра (т. Е. мрежа) има няколко източници и канализацията, алгоритъмът е описано по-горе може да се прилага, както следва. Въвеждане на нов източник и нова мивка, и нов източник, свързан с ребро с всички източници, както и нова мивка - с всички мивки, и възможностите на новите краища вярват произволно големи числа, така че дъгата по всякакъв възможен поток ще бъде ненаситен (изземване ребра, простиращи се от източника и ребра, работещи в балотаж винаги са прави дъги). След това, за новия графиката можем да реши проблема на максималния поток (от нов източник на един нов мивка). Вземането на решение е влязло изтрие всички ръбове и върхове.

    Нека да разгледаме някои от въпросите (доста общи) от теория на графите. Имайте предвид, че в следващите раздели, ние представяме само най-основните доказателства и ключовите доказателства, цитирани в книгата на Р. Уилсън [6].