Wstp. Warto przepływu to

Podobne dokumenty
Szukanie najkrótszych dróg z jednym ródłem

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Skojarzenia. Najliczniejsze skojarzenia: Dokładne skojarzenia o maksymalnej sumie wag w obcionych pełnych grafach dwudzielnych.

oraz spełnia warunki: (*) dla wszystkich wierzchołków

Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

c Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Algorytmiczna teoria grafów Przepływy w sieciach.

Kolorowanie wierzchołków

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Sortowanie topologiczne skierowanych grafów acyklicznych

Przeszukiwanie przestrzeni stanów. Wprowadzenie do Sztucznej Inteligencji. Podstawowe problemy teorii przeszukiwania przestrzeni stanów

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Pojcie grafu. { {v 1, v 2 }, {v 2, v 3 }, {v 3, v 4 }, {v 4, v 1 },{v 2, v 4 } } )

Nieklasyczne modele kolorowania grafów

Temat: Algorytmy zachłanne

1 Metody iteracyjne rozwi zywania równania f(x)=0

5c. Sieci i przepływy

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

Projektowanie algorytmów rekurencyjnych

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Temat: Geometria obliczeniowa cz II. Para najmniej odległych punktów. Sprawdzenie, czy istnieje para przecinajcych si odcinków.

Temat: Algorytmy aproksymacyjne (przyblione) cz. I. Majc do rozwizania trudny obliczeniowo problem, moemy wybra jedno z dwóch nastpujcych podej:

Lab. 02: Algorytm Schrage

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Digraf. 13 maja 2017

WYKŁAD 4 PLAN WYKŁADU. Sieci neuronowe: Algorytmy uczenia & Dalsze zastosowania. Metody uczenia sieci: Zastosowania

I Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 10 kwietnia 2013 grupa elektryczno-elektroniczna

Strategia czy intuicja?

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.

Przekroje Dedekinda 1

Caªkowanie numeryczne - porównanie skuteczno±ci metody prostokatów, metody trapezów oraz metody Simpsona

Drzewa Gomory-Hu Wprowadzenie. Drzewa Gomory-Hu. Jakub Š cki. 14 pa¹dziernika 2009

Izolacja Anteny szerokopasmowe i wskopasmowe

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

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

Podstawy matematyki dla informatyków

Zapisów 17 ust. 4-6 nie stosuje si do przesuni midzy kategoriami wydatków, które s wynikiem przeprowadzenia procedury zamówie publicznych.

Temat: Algorytmy aproksymacyjne dla wybranych NP-trudnych problemów grafowych

WHILE (wyrażenie) instrukcja;

Matematyczne Podstawy Informatyki

Indeksowane rodziny zbiorów

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Programowanie sieciowe. Tadeusz Trzaskalik

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Program Sprzeda wersja 2011 Korekty rabatowe

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

PROWIZJE Menad er Schematy rozliczeniowe

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Funkcje, wielomiany. Informacje pomocnicze

IV Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 1 kwietnia 2016

KONKURS PRZEDMIOTOWY MATEMATYCZNY DLA UCZNIÓW GIMNAZJUM

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

CZY WARTO MIE AUTO NA SPÓŁK Z PRACODAWC?

KLUCZ PUNKTOWANIA ODPOWIEDZI

WHILE (wyrażenie) instrukcja;

Program do konwersji obrazu na cig zero-jedynkowy

TEORETYCZNE PODSTAWY INFORMATYKI

Ogólne wiadomości o grafach

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

Grafy. Andrzej Jastrz bski. Akademia ET I. Politechnika Gda«ska

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Mierzalne liczby kardynalne

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk Studenckie Koªo Automatyków SKALP

Macierze i Wyznaczniki

Algorytmy zwiazane z gramatykami bezkontekstowymi

Interpolacja funkcjami sklejanymi

Problemy optymalizacyjne - zastosowania

Kompresja danych - wprowadzenie. 1. Konieczno kompresji 2. Definicja, typy kompresji 3. Modelowanie 4. Podstawy teorii informacji 5.

1 Bª dy i arytmetyka zmiennopozycyjna

PRAWIDŁOWE ODPOWIEDZI DO ZADA ZAMKNITYCH

Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty

6.2. Baza i wymiar. V nazywamy baz-

Metodydowodzenia twierdzeń

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

Rys1 Rys 2 1. metoda analityczna. Rys 3 Oznaczamy prdy i spadki napi jak na powyszym rysunku. Moemy zapisa: (dla wzłów A i B)

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.

RACHUNEK ZBIORÓW 2 A B = B A

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

Zagadnienie najkrótszej drogi w sieci

SUPLEMENT SM-BOSS WERSJA 6.15

Oba zbiory s uporz dkowane liniowo. Badamy funkcj w pobli»u kresów dziedziny. Pewne punkty szczególne (np. zmiana denicji funkcji).

Wstęp do Informatyki

Napd i sterowanie hydrauliczne i pneumatyczne

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Gramatyki regularne i automaty skoczone

Sposoby przekazywania parametrów w metodach.

Algorytmy i Struktury Danych

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

Grafy i Zastosowania. 11: Twierdzenia Minimaksowe. c Marcin Sydow. Wst p: Tw. Halla. Dualno± Zbiory niezale»ne. Skojarzenia c.d.

Grafem skierowanym. Typowe zastosowania grafów skierowanych obejmują wiele dziedzin:

Najkrótsze drogi w grafach z wagami

Ukªady równa«liniowych

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

Transkrypt:

177 Maksymalny przepływ Załoenia: sie przepływow (np. przepływ cieczy, prdu, danych w sieci itp.) bdziemy modelowa za pomoc grafów skierowanych łuki grafu odpowiadaj kanałom wierzchołki to miejsca połcze kanałów waga łuku odpowiada przepustowoci kanału; c(e)>0 dla kadego łuku e, wyróniamy dwa punkty: s ródło oraz t ujcie, w niniejszym wykładzie digraf sie

178 Wstp Def. Przepływem nazywamy funkcj f:v V R spełniajc warunki: 1. dla wszystkich u,v V f(u, c(u, (przepustowo) 2. dla wszystkich u,v V f(u, = f(v,u) (skona symetryczno) 3. dla kadego u V \ {s,t} f ( u, = 0 (zachowanie przepływu) Warto przepływu to f = f ( s,. Uwaga Przyjmujemy, e f X, Y ) = f ( x, y), gdzie X V, Y V. ( x X Def. Jeli f 1, f 2 s przepływami dla tej samej sieci, to sum przepływów f 1, + f 2 definiujemy jako ( f 1 + f 2 )(u, = f 1 (u, + f 2 (u,. y Y

179 Sie residualna Def. Niech bdzie dana sie G z funkcj wagow c oraz przepływ f dla G. Przepustowo residualn odpowiadajc f definiujemy jako c f (u, = c(u, f(u, dla wszystkich wierzchołków u,v grafu G. Sie residualna dla f to digraf G f taki, e V(G f ) = V(G) oraz E(G f ) = { u,v V V: c f (u,>0 }. Przykład 6(6) 2 4(4) 3(0) 2(0) 7(3) 5(2) 7(2) 4(2) 1(0) 5(5) 8(4) 3(3) 5(4) 9(6) 2(1) 5 6 4 3 3 1 11 1 9 2 2 4 6 2 3 5 4(1) 6 Graf G (etykieta krawdzi to c(f) ) Graf G f (etykiety to c f )

180 Suma przepływów Lemat Niech G, G f bd odpowiednio sieci oraz sieci residualn utworzon na podstawie przepływu f oraz niech f bdzie przepływem w sieci G f. Wówczas f + f jest przepływem w G o wartoci f + f. Dowód: Sprawdzamy czy f + f jest przepływem: 1. (przepustowo): (f + f )(u, = f(u, + f (u, f(u, + c f (u, = = c(u, c f (u, + c f (u, = c(u, 2. (skona symetryczno): (f + f )(u, = f(u, + f (u, = f(v,u) f (v,u) = = ( f(v,u) + f (v,u) ) = (f + f )(v,u) 3. (zachowanie przepływu): ( f + f ')( u, = ( f ( u, + f '( u, ) = f ( u, + f '( u, = 0 + 0 = 0 Warto: f + f ' = ( f + f ')( s, = f ( s, + f '( s, = f + f '

181 cieka powikszajca Def.ciek powikszajc nazywamy dowoln ciek od ródła s do ujcia t w sieci residualnej G f. Przepustowoci residualncieki P jest liczba c f (P) = min{ c f (u,: (u, E(P) } Lemat Niech P bdzie ciek powikszajc dla przepływu f i sieci residualnej G f. Wówczas funkcja c f ( P) gdy ( u, E( P) fp ( u, = c f ( P) gdy ( v, u) E( P) 0 else jest przepływem w sieci G f takim, e f P =c f (P)>0. Ponadto dla przepływu f = f + f P zachodzi f > f. Wniosek Przy załoeniach z powyszego lematu mamy, e f + f p jest przepływem o wartoci wikszej ni f.

182 Przekroje Def. Przekrojem w digrafie G nazywamy par S, T tak, e s S, t T oraz S T = V i S T = jeli f jest przepływem, to przepływ netto przez przekrój (S,T) to f(s,t), przepustowo przekroju (S,T), to c(s,t). Lemat Jeli f jest przepływem w digrafie G, ze ródłem s i ujciem t, (S,T) jest przekrojem, to przepływ netto przez przekrój (S,T) wynosi f(s,t) = f. Wniosek Warto dowolnego przepływu f w sieci G nie moe by wiksza ni przepustowo dowolnego przekroju w G.

183 Przekroje Tw. Niech f bdzie przepływem w digrafie G ze ródłem s i ujciem t. Ponisze warunki s równowane: 1. przepływ f jest maksymalny, 2. sie residualna G f nie zawiera cieek powikszajcych, 3. dla pewnego przekroju (S,T), f = c(s,t). Szkic dowodu: (12) Jeli załoymy, e cieka powikszajca istnieje, to z wczeniejszego lematu otrzymujemy, e mona otrzyma wikszy przepływ. (23) Definiujemy zbiór S bdcy zbiorem wierzchołków osigalnych z s w sieci residualnej G f. Wówczas (S,V(G)\S) jest przekrojem. (31) Wynika z poprzedniego wniosku.

184 Algorytm G digraf procedure Fulkerson-Ford( G, s, t ) s ródło begin t ujcie for each (u, E(G) do begin f(u, := 0; f(v,u) := 0; end; while istnieje cieka powikszajc P w digrafie G f do begin c f (P) := min{ c f (u,: (u, E(P) }; for each (u, E(P) do begin f(u, := f(u, + c f (P); f(v,u) := f(v,u) c f (P); end; end end

185 Złoono czas wyszukiwania cieki w sieci residualnej to O( E(G f ) ) = O( E(G) ); kada iteracja ptli while jest wic wykonywana w czasie O( E(G) ); jeli przepustowoci s liczbami całkowitymi, to ptla while wykonuje co najwyej f max razy, gdzie f max jest wartoci maksymalnego przepływu; jeli przepustowoci s całkowite, to złoono wynosi O( E(G) f max ); jeli nie ma adnych ogranicze na przepustowoci (mog by dowolnymi liczbami rzeczywistymi), to moliwe jest, e algorytm bdzie działał w nieskoczono;

186 Implementacja Edmondsa-Karpa Uwaga Aby poprawi złoono algorytmu, w kadej iteracji ptli while, bdziemy szuka najkrótszej cieki powikszajcej (tutaj i w dalszej czci tego wykładu długo cieki to liczba nalecych do niej łuków). Niech d f (u, oznacza odległo pomidzy wierzchołkami u,v (=długo najkrótszej cieki pomidzy u i w sieci residualnej G f. Lemat Dana jest sie G ze ródłem s i ujciem t. Jeli w kadym przebiegu ptli while szukana jest najkrótsza cieka powikszajca w sieci G f, to dla kadego wierzchołka v V(G)\{s,t} odległo v od s w sieci residualnej G f nie maleje.

187 Złoono Tw. Dla danej sieci G ze ródłem s i ujciem t, liczba powiksze przepływu wynosi O( V(G) E(G) ). Szkic dowodu: łuk (u, na ciece powikszajcej P jest krytyczny jeli przepustowo residualna cieki P jest równa przepustowoci residualnej {u,v}; po zwikszeniu przepływu łuk krytyczny usuwany jest z sieci residualnej; z faktu, e cieka P jest najkrótsza wynika, e d f (s, = d f (s,u) + 1; łuk (u, pojawia si znowu w sieci residualnej, gdy pojawi si inna cieka powikszajca, która zawiera (v,u) jeli aktualnym wówczas przepływem jest f, to d f (s,u) = d f (s, + 1; z dwóch powyszych równoci i wczeniejszego lematu wynika, e d f (s,u) d f (s,u) + 2; odległo u od s ronie o co najmniej 2 od chwili, gdy (u, był krytyczny do chwili, gdy (u, staje si krytyczny ponownie std, kady łuk moe by krytyczny co najwyej O( V(G) ) razy

188 Najtaszy przepływ Załoenia: dany jest graf skierowany G; mamy wyrónione wierzchołki s i t ródło i ujcie; z kadym łukiem (u, w G s skojarzone dwie etykiety: c(u, przepustowo, d(u, koszt; Zadanie: znale najtaszy przepływ w sieci G, czyli znale przepływ f o zadanej wartoci F, który minimalizuje sum ( u, E( G) d( u, f ( u,

189 Szkic algorytmu w digafie G szukamy najtasz drog z s do t; przez najtasz drog rozumiemy najkrótsz wzgldem funkcji wagowej d; przesyłamy t drog moliwie najwicej jednostek przepływu; jeli liczba przesłanych jednostek przekracza F, to najtaszy przepływ został znaleziony i obliczenia s przerywane; jeli liczba przesłanych jednostek jest mniejsza ni F, to modyfikujemy odpowiednio sie; powtarzamy powysze kroki dla zmodyfikowanej sieci;

190 Modyfikacja sieci dana jest sie G, funkcje c,d oraz pewien przepływ f, zmodyfikowana sie ma identyczny zbiór wierzchołków i krawdzi, jej nowe funkcje oznaczamy odpowiednio przez c,d, Niech łuk (u, ma niezerowy przepływ w sieci G. Wówczas: 1. c (v,u) := f(u, [dodanie pozornego łuku] 2. d (v,u) := d(u, 3. c (u, := c(u, f(u, jeli f(v,u)=0 i c(u, > f(u, 4. d (u, := d(u, jeli f(v,u)=0 i c(u, > f(u, 5. c (u, := 0 jeli f(v,u)=0 i c(u, = f(u, 6. d (u, := + jeli f(v,u)=0 i c(u, = f(u, Uwaga Dalej piszc G mamy na myli digraf G z funkcjami wagowymi c,d.

191 Algorytm Busackera i Gowena procedure BG( G, c, d ) begin G := G; while ( f < F ) and (istnieje droga z s do t w G ) do begin znajd najkrótsz ciek P łczc s i t w G ; if cieka P nie istnieje then koniec ; zmodyfikuj przepływ f wykorzystujc P przesyłajc maksymaln liczb jednostek wzdłu P (jeli uzyskany przepływ jest wikszy ni F, to przesyłamy jedynie tak liczb jednostek, która daje przepływ o wartoci F; wyznacz zmodyfikowan sie G ; end end Złoono: O(n 2 F)