Grafy. Jeżeli, to elementy p i q nazywamy końcami krawędzi e. f a b c d e γ f {1} {1,2} {2,3} {2,3} {1,3}



Podobne dokumenty
Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Wykład 4. Droga i cykl Eulera i Hamiltona

Suma dwóch grafów. Zespolenie dwóch grafów

Digraf. 13 maja 2017

5c. Sieci i przepływy

Matematyka dyskretna

Graf. Definicja marca / 1

Algorytmiczna teoria grafów Przepływy w sieciach.

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Matematyczne Podstawy Informatyki

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Algorytmiczna teoria grafów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

a) 7 b) 19 c) 21 d) 34

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Elementy teorii grafów Elementy teorii grafów

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Wyznaczanie optymalnej trasy problem komiwojażera

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Programowanie sieciowe. Tadeusz Trzaskalik

G. Wybrane elementy teorii grafów

Sortowanie topologiczne skierowanych grafów acyklicznych

Algorytmiczna teoria grafów

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Wybrane podstawowe rodzaje algorytmów

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.

Matematyka dyskretna - 5.Grafy.

Opracowanie prof. J. Domsta 1

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

TEORIA GRAFÓW I SIECI

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Wykłady z Matematyki Dyskretnej

Matematyczne Podstawy Informatyki

6. Wstępne pojęcia teorii grafów

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Matematyczne Podstawy Informatyki

Algorytmy wyznaczania centralności w sieci Szymon Szylko

TEORIA GRAFÓW I SIECI

Przykład planowania sieci publicznego transportu zbiorowego

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Algorytmika Problemów Trudnych

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Podstawowe własności grafów. Wykład 3. Własności grafów

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Programowanie dynamiczne i algorytmy zachłanne

Algorytmy genetyczne

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

E ' E G nazywamy krawędziowym zbiorem

Klasyczne zagadnienie przydziału

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

KURS MATEMATYKA DYSKRETNA

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

Minimalne drzewa rozpinające

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

TEORETYCZNE PODSTAWY INFORMATYKI

0. ELEMENTY LOGIKI. ALGEBRA BOOLE A

OPTYMALIZACJA W LOGISTYCE

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Lista 4. Kamil Matuszewski 22 marca 2016

Optymalizacja. Wybrane algorytmy

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Matematyka dyskretna dla informatyków

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Skojarzeniem w grafie G nazywamy dowolny podzbiór krawędzi parami niezależnych.

Grafy. Graf ( graf ogólny) to para G( V, E), gdzie:

Rozdział 8 PROGRAMOWANIE SIECIOWE

Matematyka dyskretna - 6.Grafy

Znajdowanie wyjścia z labiryntu

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Wstęp do informatyki dr Adrian Horzyk, paw. H Wykład TEORIA GRAFÓW

Grafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Matematyka od zaraz zatrudnię

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Algorytmy z powracaniem

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Problem Komiwojażera - algorytmy metaheurystyczne

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Transkrypt:

Grafy Definicja grafu nieskierowanego. Grafem nieskierowanym nazywamy uporządkowaną trójkę: gdzie: V- niepusty zbiór wierzchołków grafu G E- zbiór wszystkich krawędzi grafu G - funkcja ze zbioru E w zbiór : wszystkich podzbiorów jedno lub dwuelementowych zbioru V. Jeżeli, to elementy p i q nazywamy końcami krawędzi e. Przykład: Graficzna prezentacja grafu: Niech G V E γ gdzie: V = {1, 2, 3}, E={a, b, c, d, e} Zaś funkcja γ określona jest za pomocą tabeli: f a b c d e γ f {1} {1,2} {2,3} {2,3} {1,3} Uwaga: 1 Pętla to krawędź łącząca wierzchołek z nim samym γ e v v} = {v}). 2 Krawędź wielokrotna to taka która się powtarza jeżeli krawędzie e i f są różne i γ e γ f to nazywamy je wielokrotnymi lub równoległymi. Jeżeli w grafie G a i b nie są krawędziami równoległymi oraz a y i b y z, to mówimy że: Krawędzie a i b są krawędziami sąsiednimi lub przyległymi mają wspólny wierzchołek y. Wierzchołki y oraz y i z są wierzchołkami sąsiednimi. Wierzchołek a także y jest incydentny do krawędzi a jest końcem tej krawędzi.

Definicja grafu prostego. Graf bez krawędzi wielokrotnych i pętli nazywamy grafem prostym. Przykład: Uwaga: W przypadku grafów bez krawędzi wielokrotnych w szczególności w przypadku grafów prostych definicja grafu sprowadza się do podania zbioru wierzchołków V i krawędzi w postaci p q gdzie p q V. Zatem graf bez krawędzi wielokrotnych w szczególności prosty można zapisać jako: pamiętając że. Definicja stopnia wierzchołka. Liczbę krawędzi incydentnych do danego wierzchołka v z pętlami liczonymi podwójnie nazywamy stopniem wierzchołka v i oznaczamy deg(v). Liczbę wierzchołków stopnia k oznaczamy Dk G i dla każdego grafu definiujemy ciąg stopni wierzchołków grafu G D0(G), D1(G), D2 G. Uwaga: 1) Wierzchołek stopnia zerowego nazywamy wierzchołkiem izolowanym. 2) Wierzchołek stopnia pierwszego nazywamy wierzchołkiem końcowym lub wiszącym. Definicja stopnia grafu. Stopniem grafu nazywamy najwyższy ze stopni jego wierzchołków tzn. liczbę: G ma deg v. Przykład:

W powyższym grafie: wierzchołki izolowane: 5 i x7 wierzchołki wiszące to 4 i x6 deg(x1)=2, deg(x2)=5, deg(x3)=4, deg(x8)=3 ciąg stopni wierzchołków tego grafu jest następujący 2 2 1 1 1 1 stopień tego grafu wynosi 5 Definicja grafu skierowanego. Grafem skierowanym lub digrafem G nazywamy uporządkowaną trójkę gdzie V jest niepustym zbiorem wierzchołków E- zbiorem krawędzi skierowanych łuków odwzorowaniem zbioru E w zbiór. Definicja źródła i ujścia w grafie skierowanym. Źródłem w digrafie nazywamy wierzchołek do którego nie wchodzi żaden łuk. Wierzchołek digrafu który nie jest początkiem żadnego łuku nazywamy ujściem. Definicja grafu ważonego. Grafem ważonym nazywamy graf w którym każdej krawędzi przyporządkowana jest liczba rzeczywista zwana wagą tej krawędzi. Przykład: Definicja drogi. Drogą w grafie G nazywamy skończony ciąg krawędzi taki że 1 oraz istnieją wierzchołki takie że dla 1. Uwaga: 1) Wierzchołek nazywamy wierzchołkiem początkowym, - wierzchołkiem końcowym drogi. 2) Jeżeli w drodze wierzchołek początkowy pokrywa się z wierzchołkiem końcowym to taką drogę nazywamy drogą zamkniętą. Definicja drogi prostej. Drogą prostą lub ścieżką nazywamy drogę w której wszystkie krawędzi są różne. Jeżeli jest drogą prostą to możemy identyfikować ją po wierzchołkach przez które przechodzi.

Przykład: Droga degbac jest drogą prostą. Droga fkhkc nie jest drogą prostą ponieważ krawędź k powtarza się dwa razy. Definicja cyklu w grafie. Zamkniętą drogę prostą której odpowiada ciąg wierzchołków, nazywamy cyklem jeśli wszystkie wierzchołki są różne. Przykład: Droga dgba jest drogą prostą zamkniętą.

Droga degba nie jest cyklem, chociaż jest drogą prostą zamkniętą ponieważ w ciągu wierzchołków odpowiadających tej drodze wierzchołek powtarza się. Definicja grafu acyklicznego. Graf nie zawierający cykli nazywamy grafem acyklicznym. Definicja grafu spójnego. Graf G nazywamy spójnym wtedy i tylko wtedy, gdy każda para jego różnych wierzchołków jest połączona drogą w tym grafie. Zadanie komiwojażera Dlaczego komiwojażera? Komiwojażer ma odwiedzić kilka miast każde dokładnie jeden raz i powrócić do miasta z którego wyruszył przebywając łącznie najkrótszą najtańszą lub najszybciej przebytą drogę. Znane są odległości koszty lub czas przejazdu między każdą parą miast. Należy wyznaczyć komiwojażerowi trasę przejazdu tak aby mógł odwiedzić każde miasto dokładnie jeden raz i całkowita droga koszt lub czas podróży była/był możliwie najkrótsza/najmniejszy.

Definicja. Drogą Hamiltona nazywamy drogę która przechodzi przez każdy wierzchołek grafu dokładnie jeden raz. Cyklem Hamiltona nazywamy cykl przechodzący przez wszystkie wierzchołki grafu. Sformułowanie problemu. Zbudujmy graf ważony którego wierzchołki są miastami. Każdą parę miast połączmy krawędziami. Każdej krawędzi nadajemy wagę równą 'odległości' między miastami odpowiadającymi wierzchołkom które są końcami tej krawędzi. Otrzymujemy w ten sposób graf pełny który ma tyle wierzchołków ile miast musi odwiedzić komiwojażer wliczając w to miasto z którego wyrusza. Odwiedzenie wszystkich miast odpowiada cyklowi Hamiltona. Poszukujemy więc w grafie pełnym cyklu Hamiltona o minimalnej sumie wag krawędzi. Wniosek: Problem ten możemy sformułować w teorii n - wierzchołkowej sieci pełnej a następnie znaleźć najkrótszy najtańszy lub najszybszy cykl Hamiltona. Mamy cykl a, b, c, d, e a ma wagę 230 cykl a b e c d a ma wagę 120 Teoretycznie problem komiwojażera można rozwiązać poprzez wyznaczenie 1 cykli Hamiltona i wybranie tego który ma najmniejszą sumę wag. Już przy pięciu miastach wszystkich możliwych tras podróży komiwojażera jest 3 2 1 12. Można zauważyć że przy wiekszej liczbie miast rozważanie wszystkich możliwości nie jest najlepszym pomysłem. Dla zobrazowania problemu sprawdzenia wszystkich możliwych permutacji wierzchołków możliwych tras podam kilka obliczeń: Dla 3 miast jest 1 możliwość

Dla miast są 3 możliwości Dla 5 miast 12 tras Dla 6 już 60 tras Dla 7 miast 360 Dla 9 miast mamy 20 160 dróg Dla 11 mamy 1 814 400 Dla 26 miast- 7 755 605 021 665 492 992 000 000 dróg. Dlaczego rozwiązanie tego problemu zawsze istnieje? Dowolny graf pełny posiada co najmniej jeden cykl Hamiltona. Ponieważ graf ma skończoną liczbę wierzchołków to w zbiorze cykli Hamiltona istnieje taki (niekoniecznie jedyny który posiada minimalną sumę wag krawędzi. Rozwiązując problem komiwojażera możemy wybrać jedną z dwóch metod: metodę dokładną np. metodę podziału i ograniczeń która wygeneruje dokładne rozwiązanie ale działającą w czasie wykładniczym a więc metoda wolna metodę przybliżoną inaczej nazywaną metodą aproksymacyjną która generuje rozwiązanie bliskie optymalnemu ale działającą w czasie wielomianowym. Algorytmy przybliżone Czas rozwiązywania problemu komiwojażera można zmniejszyć stosując jeden ze znanych algorytmów przybliżonych które nie wymagają rozważania aż tak dużej liczby przypadków. Jednak algorytmy takie nie zawsze znajdują optymalne rozwiązanie. Stworzona przez nie trasa może być znacznie 'dłuższa' od najkrótszej. Stosowanie algorytmów przybliżonych wynika z konieczności wyboru pomiędzy szybkością znajdowania a 'jakością' znalezionego rozwiązania. Z reguły zakłada sie że wynik działania takiego algorytmu nie może być gorszy od optymalnego o więcej niż pewna ustalona z góry wartość. Rozwiązania heurystyczne Wyjaśnijmy najpierw słowo heurystyka jest to praktyczna oparta na doświadczeniu reguła postępowania która może znacznie uprościć lub skrócić proces rozwiązania rozważanego problemu gdy metoda rozwiązania nie jest znana lub jest zawiła i czasochłonna. Jeśli w zadaniu mamy do czynienia z wieloma rozwiązaniami ważne jest szybkie odrzucenie nieobiecujących kierunków poszukiwania rozwiązania. Zapewnia to ogromne oszczędności na kosztach obliczeniowych a w rezultacie przyspiesza znalezienie rozwiązania. Metody heurystyczne pozwalają na znalezienie w akceptowalnym czasie przynajmniej przybliżonego rozwiązania problemu choć nie gwarantują tego we wszystkich przypadkach.

Skuteczności kroków heurystycznych nie można w pełni udowodnić teoretycznie można jedynie pokazać doświadczalnie ich trafność. Algorytmy mrówkowe Owady żyjące w koloniach jak np. mrówki pszczoły rozwiązują w naturze złożone zadania. Budowa gniazda lub poszukiwanie pokarmu to zadania które przekraczają możliwości pojedynczego zwierzęcia. Jednak pojedynczy osobnik dysponuje umiejętnościami które po wykorzystaniu przez pozostałych członków populacji danej kolonii potrafią dać zaskakująco dobre rezultaty w rozwiązywaniu skomplikowanych problemów. Jedną z grup takich naturalnych społecznych algorytmów występującą w przyrodzie stanowią właśnie algorytmy mrówkowe. Algorytmy te zawdzięczają swoją nazwę oraz ideę działania analogii do natury. W 1991 M. Dorigo A. Colornie oraz R. Maniezzo na podstawie wcześniejszych badań wykonanych przez J. L. Deneubourga oraz S. Gossa, zainspirowani poszukiwaniem pokarmu przez mrówki argentyńskie przenieśli zachowanie kolonii mrówek na szukanie rozwiązań w kombinatorycznych problemach optymalizacyjnych. Mrówki orientują się w poszukiwaniu pokarmu przy pomocy substancji chemicznej feromonu którą wydzielają z tylnej części swojego ciała poruszając się. Podążające za nimi kolejne mrówki dokonują wyboru kierunku drogi na podstawie intensywności pozostawionego feromonu. Substancja ta pełni rolę wspólnego mózgu kolonii zapisując wybór drogi. Obserwacje natury pokazują że mrówki wyznaczają swoje drogi bezpośrednio pomiędzy swoim gniazdem a źródłem pokarmu. Fakt że droga ta jest najczęściej najkrótsza wynika z tego że na drogach częściej uczęszczanych znajduje się większa ilość feromonu i jest on dłużej zachowywany. W jednostce czasu może więc większa ilość mrówek przebiec odcinek krótszy niż ten który jest dłuższy. Fakt że mrówki wybierają zawsze krótszą drogę z większym prawdopodobieństwem powoduje że po pewnym czasie droga między gniazdem a pokarmem jest bardzo bliska drodze optymalnej. Przykłady zastosowań Rozwiązania problemu komiwojażera mają wiele praktycznych zastosowań: - w transporcie - w przemyśle np.: jeżeli maszyna wiertnicza ma zrobić kilka otworów w materiale komputer powinien wymyślić taką drogę żeby trasa przejścia wiertła między punktami była jak najkrótsza - ramię automatycznej maszyny nitującej rozmieszczającej nity na skrzydle samolotu porusza się z punktu do punktu i po umocowaniu n nitów w n różnych miejscach wraca do punktu wyjścia optymalna droga poruszania się ramienia jest rozwiązaniem odpowiedniego problemu komiwojażera. - zestaw maszyn ma być użyty do wyprodukowania n elementów. Zmiana obrabianego elementu na inny jest związana ze zmianą oprzyrządowania maszyny i koszty tej

dodatkowej czynności są znane optymalna kolejność wyprodukowania n elementów jest rozwiązaniem problemu komiwojażera. - także w poznawaniu struktury kryształów promień rentgenowski musi przejść w krysztale przez kilka tysięcy punktów Przepływ jednotowarowy w sieci Definicja sieci przepływowej. Siecią przepływową (G, s, t, c), nazywamy graf skierowany G=(V, E w którym wyróżniono wierzchołki : źródło s V i ujście t V oraz z każdą krawędzią związana jest funkcja przepustowości : 0 taka że Definicja przepływu w sieci. Przepływem w sieci (G, s,t, c nazywamy funkcję f: spełniającą warunki: dla mamy warunek ograniczenia przepustowości dla mamy 0 0 warunek skośnej symetrii dla każdego (warunek zachowania przepływu 0 Definicja wartości przepływu f. Wartość przepływu f oznaczamy f i definiujemy jako sumaryczną wielkość przepływu wypływającego z s wszystkimi krawędziami Definicja maksymalnego przepływu w sieci. Dla danej sieci (G, s, t, c przepływ f, którego wartość będzie maksymalna Nazywamy maksymalnym przepływem sieci G s, t, c)

Definicja przepustowości residualnej. Niech G s t c będzie siecią. f pewnym przepływem w tej sieci. Przepustowością residualną pary wierzchołków (u, v) sieci G s t c nazywamy liczbę Definicja sieci residualnej. Siecią residualną dla sieci (G, s, t, c) indukowaną przez przepływ f nazywamy sieć Gf, s, t, cf w której Gf = (V, Ef), przy czym Krawędzie sieci residualnej nazywamy krawędziami residualnymi. Definicja ścieżki powiększającej. Dla danej sieci G s t c i przepływu f ścieżką powiększającą p nazywamy każdą ścieżkę ze źródła s do ujścia t w sieci residualnej (Gf, s, t, cf). Twierdzenie Forda Fulkersona o maksymalnym przepływie i minimalnym przekroju Niech (G, s, t, c będzie siecią przepływową. f przepływem w tej sieci. Następujące warunki są równoważne: 1 przepływ f jest maksymalny 2 sieć residualna Gf, s, t, cf nie zawiera ścieżek powiększających 3) dla pewnego przekroju (S, T) w sieci (G, s, t, c) zachodzi f = c = (S, T) Podstawowy algorytm Forda-Fulkersona brzmi następująco: Wyzeruj wszystkie przepływy w sieci Dopóki w sieci residualnej istnieje ścieżka rozszerzająca p zwiększaj przepływ o cf p wzdłuż kanałów zgodnych z kierunkiem ścieżki a zmniejszaj przepływ wzdłuż kanałów przeciwnych (wygaszanie przepływu. Przepływ sieciowy rośnie o cf(p). Aby lepiej zrozumieć ten algorytm oprzyjmy się na prostym przykładzie. Oto nasza sieć przepływowa. W kanałach zaznaczyliśmy ich przepustowości. Przepływy są zerowe. Również przepływ sieci f 0.. 0. Dla zerowych przepływów sieć residualna jest identyczna z siecią pierwotną. Szukamy w niej ścieżki rozszerzającej która połączy źródło s z ujściem t. Takich ścieżek może być

wiele. Umówmy się że wybieramy najkrótszą z nich mającą najmniej krawędzi. Na przykład może to być ścieżka: Na ścieżce p znajdują się trzy kanały sieci residualnej: s A A B i B t. Przepustowość residualna cf p ścieżki jest równa najmniejszej przepustowości residualnej jej kanałów. Najmniejszą przepustowość residualną posiada kanał B-t dla którego cf(b,t) = 6. Zatem wzdłuż krawędzi ścieżki przepływ można zwiększyć o 6 jednostek. O tyle rośnie również przepływ sieciowy czyli fnowy = fstary + cf(p) = 0 + 6 = 6 Zwiększenie przepływu w kanale sieci pierwotnej o cf(p) odpowiada zmniejszeniu przepustowości residualnej tego kanału. Jednocześnie wraz z pojawieniem się przepływu w kanale sieci pierwotnej powstaje kanał przeciwny w sieci residualnej o przepustowości residualnej równej przepływowi. Nasza sieć residualna wygląda teraz następująco: Przepustowość residualna kanału s A wynosi 3 - oznacza to iż kanałem tym można wciąż jeszcze przesłać trzy dodatkowe jednostki przepływu. Zwróćmy uwagę iż w siei residualnej pojawił się kanał przeciwny A s o przepustowości residualnej cf(a,s) = 6. Kanał A B może jeszcze przesłać 1 dodatkową jednostkę przepływu. Również tutaj pojawił się kanał przeciwny o przepustowości residualnej równej 6. Kanał B t przestał istnieć w sieci residualnej ponieważ osiągnął już swoją maksymalną przepustowość - 6 jednostek przepływu. Nie może on być dalej wykorzystywany do

powiększania przepływu. Na jego miejscu mamy jednak kanał przeciwny z przepustowością residualną równą 6. W nowej sieci residualnej szukamy kolejnej ścieżki rozszerzającej: Przepływ zwiększamy f 6 + 3 9 i modyfikujemy przepustowości residualne krawędzi ścieżki rozszerzającej otrzymując nową sieć residualną: Z sieci residualnej znikają kanały s A i A C - wykorzystały już swój potencjał zwiększania przepływu. Szukamy kolejnej ścieżki rozszerzającej: p s D E t cf(p) = 6 Przepływ zwiększamy f 9 + 6 15. Wzdłuż ścieżki rozszerzającej modyfikujemy odpowiednio przepustowości residualne kanałów i otrzymujemy nową sieć residualną:

W nowej sieci residualnej zniknął kanał D E. Wciąż jednakże możemy znaleźć nową ścieżkę rozszerzającą: p s D C t cf(p) = 3 Przepływ zwiększamy f 15 + 3 18. Po zmodyfikowaniu sieci residualnej otrzymujemy: W tej sieci residualnej nie znajdziemy już żadnej ścieżki rozszerzającej - ze źródła s nie wychodzi żaden kanał. Otrzymaliśmy maksymalny przepływ. Z sieci residualnej można w prosty sposób przejść do sieci przepływowej wraz z rozkładem przepływów na poszczególne kanały. Wystarczy od przepustowości kanałów odjąć otrzymane przepustowości residualne - dla nieistniejących kanałów ich przepustowość residualna wynosi 0. W efekcie otrzymamy następującą sieć przepływową z wyznaczonym maksymalnym przepływem sieciowym: