Grafem skierowanym. Typowe zastosowania grafów skierowanych obejmują wiele dziedzin:
|
|
- Barbara Żurawska
- 7 lat temu
- Przeglądów:
Transkrypt
1 Grafem skierowanym D (inaczej digrafem) nazywamy parę(v, A), gdzie V jest skończonym zbiorem wierzchołków, A jest zbiorem par uporządkowanych(u, v) o elementach ze zbioru V. Elementy zbioru A nazywamy łukami digrafu. Typowe zastosowania grafów skierowanych obejmują wiele dziedzin: Obszar Wierzchołek Łuk Internet strona link Telekomunikacja telefon połączenie Łańcuch pokarmowy gatunek zależność drapieżnik-ofiara Finanse papiery wartościowe transakcja Sieć urządzenie połączenie Plan miasta skrzyżowanie ulica jednokierunkowa Projekt zadanie relacja następstwa O łuku(u, v) mówimy, że prowadzi z pierwszego do drugiego wierzchołka w parze, czyli z u do v; wierzchołek u to początek łuku, v jego koniec (kolejność wierzchołków w parze ma znaczenie - określa kierunek danego łuku!). Stopień wejścia wierzchołka w digrafie to liczba łuków wchodzących do wierzchołka, ozn. deg + (v). Stopień wyjścia to liczba łuków wychodzących z niego, ozn. deg (v). W powyższym digrafie mamy deg + ()=, deg ()=, deg + ()=, deg ()=0. Pytanie, jakie często pada przy badaniu własności digrafów: czy jeden wierzchołek jest osiagalny z drugiego? Inaczej - czy z pierwszego wierzchołka można przejść do drugiego zgodnie z kierunkiem łuków? W tym digrafie, z wierzchołka do mamy połączenie (np. ), ale nie istnieje połączenie z do.
2 Ścieżka w digrafie D nazywamy ciąg(v, e, v, e,...,e k, v k+ ) wierzchołków i łuków digrafu D, w którym e i =(v i, v i+ ), dla i=,...,k. Jeżeli żaden z wierzchołków ścieżki się nie powtarza, to nazywamy ją droga. Dla uproszczenia zapisu, będziemy często podawali ścieżkę (drogę) w postaci ciągu wierzchołków. Ścieżka w digrafie D nazywamy ciąg(v, e, v, e,...,e k, v k+ ) wierzchołków i łuków digrafu D, w którym e i =(v i, v i+ ), dla i=,...,k. Jeżeli żaden z wierzchołków ścieżki się nie powtarza, to nazywamy ją droga. Dla uproszczenia zapisu, będziemy często podawali ścieżkę (drogę) w postaci ciągu wierzchołków. Cyklem w digrafie D nazywamy ciąg(v, e, v, e,...,e k, v k+ ) wierzchołków i różnych łuków digrafu D, w którym e i =(v i, v i+ ), dla i=,...,k, v = v k+, oraz wszystkie pozostałe wierzchołki są różne. Ścieżka w digrafie D nazywamy ciąg(v, e, v, e,...,e k, v k+ ) wierzchołków i łuków digrafu D, w którym e i =(v i, v i+ ), dla i=,...,k. Jeżeli żaden z wierzchołków ścieżki się nie powtarza, to nazywamy ją droga. Dla uproszczenia zapisu, będziemy często podawali ścieżkę (drogę) w postaci ciągu wierzchołków. Cyklem w digrafie D nazywamy ciąg(v, e, v, e,...,e k, v k+ ) wierzchołków i różnych łuków digrafu D, w którym e i =(v i, v i+ ), dla i=,...,k, v = v k+, oraz wszystkie pozostałe wierzchołki są różne. Ścieżka w digrafie D nazywamy ciąg(v, e, v, e,...,e k, v k+ ) wierzchołków i łuków digrafu D, w którym e i =(v i, v i+ ), dla i=,...,k. Jeżeli żaden z wierzchołków ścieżki się nie powtarza, to nazywamy ją droga. Dla uproszczenia zapisu, będziemy często podawali ścieżkę (drogę) w postaci ciągu wierzchołków. Cyklem w digrafie D nazywamy ciąg(v, e, v, e,...,e k, v k+ ) wierzchołków i różnych łuków digrafu D, w którym e i =(v i, v i+ ), dla i=,...,k, v = v k+, oraz wszystkie pozostałe wierzchołki są różne. Droga:(,, ), cykl:(,,, ),(,, ),... ale nie jest drogą ciąg np.(,,, ). Zarówno droga (ścieżka) jak i cykl muszą uwzględniać kierunek łuków (często aby to podkreślić, mówi się, że droga (cykl) jest skierowany).
3 Problem wyznaczania najkrótszych ścieżek Problem: dana jest sieć połączeń, każde połączenie ma przypisany pewien koszt (np. czas, odległość, itp.). Dla ustalonego elementu sieci, jak wyznaczyć ścieżkę o najmniejszym koszcie do każdego innego elementu w sieci? Problem wyznaczania najkrótszych ścieżek Problem: dana jest sieć połączeń, każde połączenie ma przypisany pewien koszt (np. czas, odległość, itp.). Dla ustalonego elementu sieci, jak wyznaczyć ścieżkę o najmniejszym koszcie do każdego innego elementu w sieci? Model: digraf, w którym wierzchołki reprezentują elementy sieci, łuki połączenia, koszt to waga w przypisana do danego łuku. Dla ustalonego wierzchołka v digrafu chcemy wyznaczyć najkrótszą ścieżkę (czyli ścieżkę o najmniejszej wadze, rozumianej jako suma wag jej łuków) do każdego innego wierzchołka w digrafie. Problem wyznaczania najkrótszych ścieżek Problem: dana jest sieć połączeń, każde połączenie ma przypisany pewien koszt (np. czas, odległość, itp.). Dla ustalonego elementu sieci, jak wyznaczyć ścieżkę o najmniejszym koszcie do każdego innego elementu w sieci? Model: digraf, w którym wierzchołki reprezentują elementy sieci, łuki połączenia, koszt to waga w przypisana do danego łuku. Dla ustalonego wierzchołka v digrafu chcemy wyznaczyć najkrótszą ścieżkę (czyli ścieżkę o najmniejszej wadze, rozumianej jako suma wag jej łuków) do każdego innego wierzchołka w digrafie. Niech D=(V, A, w) będzie digrafem ważonym (w jest funkcją przypisującą wagi łukom digrafu). Najkrótsza ścieżka z u do v w digrafie D nazywamy ścieżkę z u do v o najmniejszej wadze w D (waga ścieżki jest definiowana jako suma wag łuków). Najkrótsza ścieżka z do w tym digrafie to (,,, ) (decyduje waga ścieżki, a nie jej długość). Problem: najkrótsze ścieżki z jednego źródła. Dla digrafu ważonego D i źródłowego wierzchołka s chcemy wskazać najkrótszą ścieżkę (o minimalnej łącznej wadze) z wierzchołka źródłowego do każdego innego, osiągalnego z s, wierzchołka digrafu.
4 Uwaga. jeżeli dopuszczamy ujemne wagi łuków, to najkrótsze ścieżki mogą nie być dobrze zdefiniowane. Dla przykładu, w tym digrafie mamy cykl c=(,, ), którego waga jest ujemna. Niech p będzie ścieżką z do, zawierającą łuki e, e, e. Waga p wynosi. Czy jest to najkrótsza ścieżka z do? Nie, ponieważ jeżeli przejdziemy po cyklu c, otrzymamy ścieżkę z do o mniejszej wadze, przechodząc po cyklu po raz drugi, dostajemy ścieżkę o mniejszej wadze, niż poprzednio, itd. Zatem w tym digrafie najkrótsza ścieżka z do nie jest dobrze określona. Uwaga. jeżeli dopuszczamy ujemne wagi łuków, to najkrótsze ścieżki mogą nie być dobrze zdefiniowane. Dla przykładu, w tym digrafie mamy cykl c=(,, ), którego waga jest ujemna. Niech p będzie ścieżką z do, zawierającą łuki e, e, e. Waga p wynosi. Czy jest to najkrótsza ścieżka z do? Nie, ponieważ jeżeli przejdziemy po cyklu c, otrzymamy ścieżkę z do o mniejszej wadze, przechodząc po cyklu po raz drugi, dostajemy ścieżkę o mniejszej wadze, niż poprzednio, itd. Zatem w tym digrafie najkrótsza ścieżka z do nie jest dobrze określona. e e - e e - e e e e Problem: najkrótsze ścieżki z jednego źródła. Dla digrafu ważonego D i źródłowego wierzchołka s chcemy wskazać najkrótszą ścieżkę (o minimalnej łącznej wadze) z wierzchołka źródłowego do każdego innego, osiągalnego z s, wierzchołka digrafu. Problem: najkrótsze ścieżki z jednego źródła. Dla digrafu ważonego D i źródłowego wierzchołka s chcemy wskazać najkrótszą ścieżkę (o minimalnej łącznej wadze) z wierzchołka źródłowego do każdego innego, osiągalnego z s, wierzchołka digrafu. Dalej będziemy zakładać, że w digrafie nie ma cykli o ujemnej wadze.
5 Problem: najkrótsze ścieżki z jednego źródła. Dla digrafu ważonego D i źródłowego wierzchołka s chcemy wskazać najkrótszą ścieżkę (o minimalnej łącznej wadze) z wierzchołka źródłowego do każdego innego, osiągalnego z s, wierzchołka digrafu. Dalej będziemy zakładać, że w digrafie nie ma cykli o ujemnej wadze. Drzewo najkrótszych ścieżek (SPT) o korzeniu w wierzchołku s definiujemy jako poddigraf D =(V, A, w ) digrafu D, gdzie V jest zbiorem wierzchołków osiągalnych z s, D jest drzewem z korzeniem s, oraz dla każdego wierzchołka v V, droga z s do v w D jest najkrótszą drogą z s do v w digrafie D. Innymi słowy, SPT dla wierzchołka s to drzewo z korzeniem w s zawierające najkrótsze ścieżki z s do wszystkich wierzchołków osiągalnych z s w digrafie D. Do rozwiązania problemu kluczowa jest obserwacja, że mając daną najkrótszą ścieżkę, każdy jej fragment też jest najkrótszą ścieżką: Lemat () Niech D=(V, A, w) będzie digrafem ważonym, p=(v,...,v k ) najkrótsza ścieżka z v do v k. Wówczas dla dowolnych i<j k, ścieżka(v i,...,v j ) jest też najkrótsza ścieżka z v i do v j. Dowód. Niech p ab oznacza fragment ścieżki p od wierzchołka v a do v b. Ścieżkę p można zdekomponować na p i, p ij oraz p jk : p v i p ij p jk vi v j v k. Wówczas w(p)=w(p i )+w(p ij )+w(p jk ). Gdyby istniała krótsza ścieżka p i między parą wierzchołków v, v i niż ścieżka p i, to biorąc taką ścieżkę zamiast p i otrzymalibyśmy ścieżkę z v do v k o mniejszej wadze, niż p, a to jest sprzeczne z wyborem p jako najkrótszej ścieżki. W analogiczny sposób dochodzimy do sprzeczności w przypadku, gdy istnieje krótsza ścieżka z v i do v j albo z v j do v k. Technika relaksacji łuku Niech dany będzie digraf D=(V, A, w), bez cykli o ujemnej wadze, wierzchołek źródłowy s. Każdemu wierzchołkowi v digrafu przypiszmy atrybut d[v] - szacunkowa długość najkrótszej drogi z s do v. Wartość d[v] jest ograniczeniem górnym dla długości najkrótszej drogi z s do v. Inicjalizujemy wartości d[v] następująco: d[s]:= 0; dla każdego wierzchołka v V, v s, d[v]:=. Relaksacja łuku(u, v) polega na sprawdzeniu, czy droga do wierzchołka v poprzez u jest krótsza, niż najkrótsza dotychczas znaleziona, i jeżeli tak, to odpowiednim poprawieniu wartości d[v], tzn. jeżeli d[v]>d[u]+w(u, v), to d[v]:= d[u]+w(u, v); w przeciwnym przypadku (gdy d[v] d[u]+w(u, v)) łuk(u, v) nazywamy niewybieralnym. Algorytm Dijkstry Niech D będzie digrafem ważonym, w którym wszystkie wagi są nieujemne. Algorytm Dijkstry wyznaczania drzewa najkrótszych ścieżek (SPT) z wierzchołka źródłowego s. Idea algorytmu: Inicjujemy wartości d[v]: dla wszystkich wierzchołków digrafu podstawiamy, dla wierzchołka źródłowego d[s]:= 0. Wybieramy wierzchołek spoza drzewa znajdujący się najbliżej wierzchołka s (tzn. taki wierzchołek u, dla którego d[u] jest najmniejsza); dodajemy u do drzewa. Dla każdego łuku(u, v) wychodzacego z u wykonujemy relaksację; jeżeli d[v]>d[u]+w(u, v), to d[v]:= d[u]+w(u, v), w przeciwnym przypadku łuk(u, v) jest niewybieralny. powtarzamy krok drugi, aż wszystkie wierzchołki znajdą się w drzewie, albo żaden z wierzchołków spoza drzewa nie będzie miał skończonej wartości d[v].
6 Input: digraf ważony D, wierzchołek źródłowy s. Output: drzewo najkrótszych ścieżek dla s, reprezentowane za pomocą tablicy poprzednik[]. kolejka Q jest kolejka priorytetowa, zawierajac a wierzchołki uporzadkowane wg wartości d[v] indeksowana wierzchołkami tablica poprzednik[] element poprzednik[u] przechowuje indeks wierzchołka - rodzica wierzchołka u w drzewie SPT. dla każdego wierzchołka v digrafu do d[v]:= ;. d[s]:= 0;. dodaj do kolejki Q wierzchołek s;. while kolejka Q nie jest pusta do. zdejmij pierwszy wierzchołek u z kolejki Q; //zdejmujemy z kolejki wierzchołek u, dla którego d[u] jest najmniejsze. dla każdego łuku (u,v) do 7. if d[v] > d[u] + w(u,v) then //relaksacja łuku (u,v) 8. d[v]:= d[u] + w(u,v); 9. poprzednik[v]:=u; //rodzicem dla v jest u 0. if v nie należy do Q, then dodaj v do Q; 0 0 0
7
8 0 0 Przepływy w sieciach Twierdzenie Przy wyznaczaniu drzewa SPT o korzeniu w danym wierzchołku digrafu ważonego D, bez wag ujemnych, o m łukach i n wierzchołkach, algorytm Dijkstry działa w czasie proporcjonalnym do m log n (dla najgorszego przypadku). Przykład. Rozważmy sieć kanałów (rurek), którymi płynie ciecz, przy czym przepływ cieczy jest dozwolony tylko w jedną stronę. Każdy kanał (rurka) ma określoną przepustowość (na jednostkę czasu). Model dla sieci tego typu: digraf, którego wierzchołki odpowiadają skrzyżowaniom kanałów (połączeniom rurek), natomiast łuki odpowiadają kanałom, a waga łuku odpowiada przepustowości danego kanału. Zakładamy także, że przepływ nie może się kumulować w punktach połączeń. Mając dane dwa miejsca w sieci, powiedzmy s i t, pytamy o nawiększy przepływ (na jednostkę czasu) z punktu s do t.
9 Przepływy w sieciach Możliwe zastosowania: badanie natężenia ruchu ulicznego (łuki - ulice, waga łuku to przepustowość danej ulicy, pytamy ile pojazdów może przejechać z punktu A do B w określonym czasie); sieci komputerowe (łuki to łącza o określonej przepustowości); sieci elektryczne (jakie jest maksymalne natężenie prądu w danej sieci, jeżeli znamy maksymalne dopuszczalne natężenia prądu dla poszczególnych przewodów); sieci transportowe (ile towarów można przesłać w danym czasie), itp. Przepływy w sieciach Sieć definiujemy jako digraf D, w którym każdy łuk e ma przypisaną liczbą rzeczywistą nieujemną c(e), nazywaną przepustowościa; mamy dokładnie jedno źródło s (czyli wierzchołek o stopniu wejścia równym 0) oraz dokładnie jedno ujście t (stopień wyjścia równy 0). Przepływ w sieci D jest to funkcja f, która każdemu łukowi e sieci przypisuje liczbę rzeczywistą f(e) (przepływ wzdłuż łuku e). Sumę przepływów wzdłuż łuków wychodzących z wierzchołka u ozn. f (u), a sumę przepływów wzdłuż łuków wchodzących do wierzchołka u ozn. f + (u). Przepływ f jest dopuszczalny, jeżeli spełnia warunki: (i) 0 f(e) c(e) dla każdego łuku e (przepustowość); (ii) f (u)=f + (u) dla każdego wierzchołka u {s, t} (zachowanie przepływu). Maksymalny przepływ w sieci Niech D będzie siecią o źródle s i ujściu t. Wartościa przepływu f, ozn. val(f), nazywamy liczbę f + (t), czyli sumę wartości przepływów wzdłuż łuków wchodzących do ujścia t. Przepływ maksymalny jest to dopuszczalny przepływ o maksymalnej wartości. Zauważmy, że jeśli przepływ f jest dopuszczalny, to f (s)=f + (t). Przepływ zerowy to przepływ o wielkości przepływu równej 0 dla każdego łuku. Łuki dla których f(e)=c(e) nazywamy nasyconymi. Maksymalny przepływ w sieci Niech D będzie siecią o źródle s i ujściu t. Wartościa przepływu f, ozn. val(f), nazywamy liczbę f + (t), czyli sumę wartości przepływów wzdłuż łuków wchodzących do ujścia t. Przepływ maksymalny jest to dopuszczalny przepływ o maksymalnej wartości. Zauważmy, że jeśli przepływ f jest dopuszczalny, to f (s)=f + (t). Przepływ zerowy to przepływ o wielkości przepływu równej 0 dla każdego łuku. Łuki dla których f(e)=c(e) nazywamy nasyconymi. s () (0) u () () () v y (0) () t Przepływ dopuszczalny f : f(s, )=f(v, t)=0, f(e)=dla pozostałych łuków. Wartość przepływu val(f) =. Wielkości przepływów wzdłuż łuków podane są w nawiasach.
10 Maksymalny przepływ w sieci Niech D będzie siecią o źródle s i ujściu t. Wartościa przepływu f, ozn. val(f), nazywamy liczbę f + (t), czyli sumę wartości przepływów wzdłuż łuków wchodzących do ujścia t. Przepływ maksymalny jest to dopuszczalny przepływ o maksymalnej wartości. Zauważmy, że jeśli przepływ f jest dopuszczalny, to f (s)=f + (t). Przepływ zerowy to przepływ o wielkości przepływu równej 0 dla każdego łuku. Łuki dla których f(e)=c(e) nazywamy nasyconymi. Ścieżki powiększajace Szkielet digrafu D - graf otrzymany z D po usunięciu orientacji łuków (czyli każdy łuk zastępujemy odpowiednią krawędzią). s () () u () (0) v () () t Przepływ dopuszczalny f, wartość tego przepływu val(f )=. Przepływ f jest maksymalny. Łuki nasycone to(u, v),(, y). () y Ścieżki powiększajace Ścieżki powiększajace Niech f będzie dopuszczalnym przepływem w sieci D. Ścieżkę P w grafie G, będącym szkieletem sieci D, od źródła s do ujścia t nazywamy f -powiększajac a, jeżeli dla każdej krawędzi e ścieżki P zachodzi. jeżeli krawędzi ścieżki odpowiada w sieci łuk o kierunku "zgodnym z kierunkiem ścieżki", to f(e)<c(e);. jeżeli krawędzi ścieżki odpowiada w sieci łuk o kierunku "przeciwnym do kierunku ścieżki", to f(e)>0. Niech f będzie dopuszczalnym przepływem w sieci D. Ścieżkę P w grafie G, będącym szkieletem sieci D, od źródła s do ujścia t nazywamy f -powiększajac a, jeżeli dla każdej krawędzi e ścieżki P zachodzi. jeżeli krawędzi ścieżki odpowiada w sieci łuk o kierunku "zgodnym z kierunkiem ścieżki", to f(e)<c(e);. jeżeli krawędzi ścieżki odpowiada w sieci łuk o kierunku "przeciwnym do kierunku ścieżki", to f(e)>0. Niech f (e)=c(e) f(e), jeżeli łuk e ma kierunek zgodny z P, f (e)=f(e), jeżeli łuk e ma kierunek przeciwny do P. Wówczas tolerancję ścieżki P definiujemy jako min e E(P) {f (e)}.
11 Ścieżki powiększajace Niech f będzie dopuszczalnym przepływem w sieci D. Ścieżkę P w grafie G, będącym szkieletem sieci D, od źródła s do ujścia t nazywamy f -powiększajac a, jeżeli dla każdej krawędzi e ścieżki P zachodzi. jeżeli krawędzi ścieżki odpowiada w sieci łuk o kierunku "zgodnym z kierunkiem ścieżki", to f(e)<c(e);. jeżeli krawędzi ścieżki odpowiada w sieci łuk o kierunku "przeciwnym do kierunku ścieżki", to f(e)>0. Niech f (e)=c(e) f(e), jeżeli łuk e ma kierunek zgodny z P, f (e)=f(e), jeżeli łuk e ma kierunek przeciwny do P. Wówczas tolerancję ścieżki P definiujemy jako min e E(P) {f (e)}. Jeżeli mamy ścieżkę f -powiększającą P, to możemy jej użyć do skonstruowania przepływu o wartości większej od val(f) o wartość równą tolerancji ścieżki P (która jest zawsze liczbą dodatnią). Ścieżki powiększajace s () (0) u () () () v y (0) () Ścieżka f -powiększająca: idziemy z wierzchołka s do, dalej do v i do t. Tolerancja tej ścieżki wynosi. Jeżeli zwiększymy przepływ wzdłuż łuków(s, ) i(v, t) o, a zmniejszymy na łuku(v, ) o, to otrzymamy przepływ f o wartości równej val(f)+=. t Lemat Niech P będzie f -powiększajac a ścieżka o tolerancji z. Wówczas jeżeli zmienimy przepływ f następujaco: na łukach o kierunkach zgodnych z P o wartość+z, na łukach przeciwnych o wartość z, to otrzymamy przepływ dopuszczalny f o wartości val(f )=val(f)+z. Lemat Niech P będzie f -powiększajac a ścieżka o tolerancji z. Wówczas jeżeli zmienimy przepływ f następujaco: na łukach o kierunkach zgodnych z P o wartość+z, na łukach przeciwnych o wartość z, to otrzymamy przepływ dopuszczalny f o wartości val(f )=val(f)+z. Dowód. Pokażemy, że f jest dopuszczalnym przepływem oraz val(f )=val(f)+z. Z definicji tolerancji mamy, że dla każdego łuku e, 0 f (e) c(e), zatem warunek (i) przepustowości jest spełniony. Trzeba pokazać, że zachodzi też warunek (ii) zachowania przepływu. Wystarczy sprawdzić wierzchołki wewnętrzne leżące na ścieżce P (dla pozostałych przepływy się nie zmieniły).
12 Lemat Niech P będzie f -powiększajac a ścieżka o tolerancji z. Wówczas jeżeli zmienimy przepływ f następujaco: na łukach o kierunkach zgodnych z P o wartość+z, na łukach przeciwnych o wartość z, to otrzymamy przepływ dopuszczalny f o wartości val(f )=val(f)+z. Dowód. Pokażemy, że f jest dopuszczalnym przepływem oraz val(f )=val(f)+z. Z definicji tolerancji mamy, że dla każdego łuku e, 0 f (e) c(e), zatem warunek (i) przepustowości jest spełniony. Trzeba pokazać, że zachodzi też warunek (ii) zachowania przepływu. Wystarczy sprawdzić wierzchołki wewnętrzne leżące na ścieżce P (dla pozostałych przepływy się nie zmieniły). Dla dowolnego wewnętrznego wierzchołka ścieżki P, może zajść jedna z poniższych sytuacji: Lemat Niech P będzie f -powiększajac a ścieżka o tolerancji z. Wówczas jeżeli zmienimy przepływ f następujaco: na łukach o kierunkach zgodnych z P o wartość+z, na łukach przeciwnych o wartość z, to otrzymamy przepływ dopuszczalny f o wartości val(f )=val(f)+z. Dowód. Pokażemy, że f jest dopuszczalnym przepływem oraz val(f )=val(f)+z. Z definicji tolerancji mamy, że dla każdego łuku e, 0 f (e) c(e), zatem warunek (i) przepustowości jest spełniony. Trzeba pokazać, że zachodzi też warunek (ii) zachowania przepływu. Wystarczy sprawdzić wierzchołki wewnętrzne leżące na ścieżce P (dla pozostałych przepływy się nie zmieniły). Dla dowolnego wewnętrznego wierzchołka ścieżki P, może zajść jedna z poniższych sytuacji: W każdej z nich, zmiana przepływu na łuku wchodzącym do jest taka sama, jak na łuku wychodzącym, zatem f ()=f + (). Z kolei suma przepływów na łukach wchodzących do ujścia zwiększa się o z. Niech dana będzie sieć D, niech s będzie źródłem, t będzie ujściem w D. Przekrojem[S, T] w sieci D nazywamy zbiór zawierający wszystkie łuki ze zbioru S do zbioru T, gdzie S T= V i S T= oraz s S, t T. Przepustowość przekroju[s, T] definiujemy jako sumę przepustowości łuków zawartych w[s, T], ozn. cap(s, T). Uwaga. do przekroju należą tylko te łuki, których koniec leży w zbiorze S, a początek w T, więc łuki z S do T nie mają wpływu na przepustowość tego przekroju. Niech dana będzie sieć D, niech s będzie źródłem, t będzie ujściem w D. Przekrojem[S, T] w sieci D nazywamy zbiór zawierający wszystkie łuki ze zbioru S do zbioru T, gdzie S T= V i S T= oraz s S, t T. Przepustowość przekroju[s, T] definiujemy jako sumę przepustowości łuków zawartych w[s, T], ozn. cap(s, T). Uwaga. do przekroju należą tylko te łuki, których koniec leży w zbiorze S, a początek w T, więc łuki z S do T nie mają wpływu na przepustowość tego przekroju. Twierdzenie Jeżeli f jest dopuszczalnym przepływem, natomiast[s, T] przekrojem, to val(f) cap(s, T).
13 Niech dana będzie sieć D, niech s będzie źródłem, t będzie ujściem w D. Przekrojem[S, T] w sieci D nazywamy zbiór zawierający wszystkie łuki ze zbioru S do zbioru T, gdzie S T= V i S T= oraz s S, t T. Przepustowość przekroju[s, T] definiujemy jako sumę przepustowości łuków zawartych w[s, T], ozn. cap(s, T). Uwaga. do przekroju należą tylko te łuki, których koniec leży w zbiorze S, a początek w T, więc łuki z S do T nie mają wpływu na przepustowość tego przekroju. Twierdzenie Jeżeli f jest dopuszczalnym przepływem, natomiast[s, T] przekrojem, to val(f) cap(s, T). Wyznaczanie maksymalnego przekroju. Algorytm Forda-Fulkersona Idea algorytmu: () zaczynamy od przepływu zerowego (który jest zawsze dopuszczalny); () mając dany przepływ dopuszczalny, szukamy ścieżki powiększającej; jeżeli taka ścieżka istnieje, to wykorzystujemy ją do skonstruowania przepływu o większej wartości; () jeżeli nie istnieje ścieżka powiększająca, to otrzymaliśmy maksymalny przepływ. Z powyższego twierdzenia wynika, że maksymalny przepływ w sieci nie może przekraczać przepustowości minimalnego przekroju. Algorytm Forda-Fulkersona (algorytm etykietujacy) Input: sieć D oraz dopuszczalny przepływ f. Output: ścieżka f-poszerzająca albo przekrój o przepustowości równej val(f). W trakcie działania algorytmu konstruujemy dwa zbiory: R, wierzchołki odwiedzone i S, wierzchołki przeszukane, S R. () R={s}, S= ; () wybieramy dowolny wierzchołek v R\S; () dla każdego łuku vw wychodzącego z v, jeżeli f(v, w)<c(v, w) i w R, to dodaj w do R; () dla każdego łuku uv wchodzącego do v, jeżeli f(u, v)>0 i u R, to dodaj u do R; każdy wierzchołek dodany do R oznaczamy jako odwiedzony i zapisujemy v jako wierzchołek, z którego dotarliśmy do () jeżeli przeszukano wszystkie łuki dla v, to dodaj v do S; (7) jeżeli ujście t R, to odtwórz ścieżkę P kończącą się w s (to ścieżka f-powiększająca); zwróć P i zakończ; (8) jeżeli R=S, to zwróć przekrój [S, S] i zakończ; (9) w przeciwnym przypadku, wróć do (). Twierdzenie Forda-Fulkersona o minimalnym przekroju i maksymalnym przepływie Twierdzenie (Ford-Fulkerson, 9) W dowolnej sieci, wartość maksymalnego dopuszczalnego przepływu jest równa minimalnej przepustowości przekroju.
14 Twierdzenie Forda-Fulkersona o minimalnym przekroju i maksymalnym przepływie Twierdzenie (Ford-Fulkerson, 9) W dowolnej sieci, wartość maksymalnego dopuszczalnego przepływu jest równa minimalnej przepustowości przekroju. Podany wcześniej algorytm etykietujący może zapętlić się w przypadku sieci o przepustowościach będących liczbami niewymiernymi. Można wtedy zastosować algorytm, który zaproponowali Edmonds i Karp (w roku 97), będący modyfikacją algorytmu Forda-Fulkersona. Algorytm Forda-Fulkersona w przypadku sieci o przepustowościach będących liczbami całkowitymi działa w czasieo(m val(f )), gdzie f jest maksymalnym przepływem.
Algorytmiczna teoria grafów Przepływy w sieciach.
Algorytmiczna teoria grafów Sieć przepływowa Siecią przepływową S = (V, E, c) nazywamy graf zorientowany G = (V,E), w którym każdy łuk (u, v) E ma określoną przepustowość c(u, v) 0. Wyróżniamy dwa wierzchołki:
Bardziej szczegółowoDigraf. 13 maja 2017
Digraf 13 maja 2017 Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami,
Bardziej szczegółowoAlgorytm Dijkstry znajdowania najkrótszej ścieżki w grafie
Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje
Bardziej szczegółowoZofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1
Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem
Bardziej szczegółowoSortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą
Bardziej szczegółowoReprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
Bardziej szczegółowo5c. Sieci i przepływy
5c. Sieci i przepływy Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 5c. Sieci i przepływy zima 2016/2017 1 / 40 1 Definicje
Bardziej szczegółowoPorównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki
Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First
Bardziej szczegółowoDrzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II
Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem
Bardziej szczegółowoMATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY
ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych
Bardziej szczegółowoWykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy
Bardziej szczegółowoCzy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?
DROGI i CYKLE EULERA w grafach Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz? Czy można narysować podaną figurę nie odrywając ołówka od papieru
Bardziej szczegółowoE: Rekonstrukcja ewolucji. Algorytmy filogenetyczne
E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
Bardziej szczegółowoa) 7 b) 19 c) 21 d) 34
Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie
Bardziej szczegółowoSieć (graf skierowany)
Sieci Sieć (graf skierowany) Siecia (grafem skierowanym) G = (V, A) nazywamy zbiór wierzchołków V oraz zbiór łuków A V V. V = {A, B, C, D, E, F}, A = {(A, B), (A, D), (A, C), (B, C),..., } Ścieżki i cykle
Bardziej szczegółowoMatematyka dyskretna - 5.Grafy.
Matematyka dyskretna - 5.Grafy. W tym rozdziale zajmiemy się grafami. Są to wykresy zawierające rozmaite informacje, przedstawiające połączenia pomiędzy różnymi swoimi elementami. Algorytmy na nich oparte
Bardziej szczegółowoDrzewa. 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
Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny 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 Niech T graf o n wierzchołkach będący
Bardziej szczegółowoAlgorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych
Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych 1 Algorytm obejścia drzewa poszukiwań i zadanie o hetmanach szachowych Alexander Denisjuk Prywatna Wyższa Szkoła Zawodowa w Giżycku
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
Bardziej szczegółowoAlgorytmy wyznaczania centralności w sieci Szymon Szylko
Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności
Bardziej szczegółowoSuma dwóch grafów. Zespolenie dwóch grafów
Suma dwóch grafów G 1 = ((G 1 ), E(G 1 )) G 2 = ((G 2 ), E(G 2 )) (G 1 ) i (G 2 ) rozłączne Suma G 1 G 2 graf ze zbiorem wierzchołków (G 1 ) (G 2 ) i rodziną krawędzi E(G 1 ) E(G 2 ) G 1 G 2 G 1 G 2 Zespolenie
Bardziej szczegółowoSieć (graf skierowany)
Sieć (graf skierowany) Siecia (grafem skierowanym) G = (V, A) nazywamy zbiór wierzchołków V oraz zbiór łuków A V V. V = {A, B, C, D, E, F}, A = {(A, B),(A, D),(A, C),(B, C),...,} Ścieżki i cykle Ciag wierzchołków
Bardziej szczegółowoPrzykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.
Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 9 1 / 53
Bardziej szczegółowoProgramowanie sieciowe. Tadeusz Trzaskalik
Programowanie Tadeusz Trzaskalik 8.1. Wprowadzenie Słowa kluczowe Drzewo rozpinające Minimalne drzewo rozpinające Najkrótsza droga w sieci Wierzchołek początkowy Maksymalny przepływ w sieci Źródło Ujście
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),
Bardziej szczegółowoLista 4. Kamil Matuszewski 22 marca 2016
Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce
Bardziej szczegółowoDWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku
DWA ZDANIA O TEORII GRAFÓW Krawędź skierowana Grafy a routing Każdą sieć przedstawić składającego przedstawiają E, inaczej węzłami). komunikacyjną można w postaci grafu G się z węzłów V (które węzły sieci)
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DROGI i CYKLE w grafach Dla grafu (nieskierowanego) G = ( V, E ) drogą z wierzchołka v 0 V do v t V nazywamy ciąg (naprzemienny) wierzchołków i krawędzi grafu: ( v 0, e, v, e,..., v t, e t, v t ), spełniający
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoZagadnienie najkrótszej drogi w sieci
L L Zagadnienie najkrótszej drogi w sieci 1 Rozważmy sieć, gdzie graf jest grafem skierowanym (digrafem) a jest funkcją określoną na zbiorze łuków. Wartość tej funkcji na łuku!"$#%'&, którą oznaczać będziemy
Bardziej szczegółowoGrafy. 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}
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
Bardziej szczegółowoOgólne wiadomości o grafach
Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,
Bardziej szczegółowoAlgebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i
Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i A (symbol F i oznacza ilość argumentów funkcji F i ). W rozważanych przez nas algebrach
Bardziej szczegółowoAlgorytmy Równoległe i Rozproszone Część V - Model PRAM II
Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Algorytmy zachłanne, algoritme Dijkstry Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XI Jesień 2013 1 / 25 Algorytmy zachłanne Strategia polegająca na
Bardziej szczegółowoSPÓ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.
SPÓJNOŚĆ Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja równoważna: Graf jest spójny, gdy każde dwa wierzchołki są połączone ścieżką
Bardziej szczegółowoMinimalne drzewa rozpinające
KNM UŚ 26-28 listopada 2010 Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 11 Łańcuchy Markova
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu
Bardziej szczegółowoGraf. Definicja marca / 1
Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych
Bardziej szczegółowoGrafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.
Grafy dla każdego dr Krzysztof Bryś brys@mini.pw.edu.pl Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska www.mini.pw.edu.pl Warszawa, 28 marca 2015 Graf składa się z elementów pewnego zbioru
Bardziej szczegółowoSzukanie najkrótszych dróg z jednym ródłem
Szukanie najkrótszych dróg z jednym ródłem Algorytm Dijkstry Załoenia: dany jest spójny graf prosty G z wagami na krawdziach waga w(e) dla kadej krawdzi e jest nieujemna dany jest wyróniony wierzchołek
Bardziej szczegółowo1 Działania na zbiorach
M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej
Bardziej szczegółowoProgramowanie dynamiczne i algorytmy zachłanne
Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii
Bardziej szczegółowoWstp. Warto przepływu to
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
Bardziej szczegółowoWstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Bardziej szczegółowoZnajdowanie skojarzeń na maszynie równoległej
11 grudnia 2008 Spis treści 1 Skojarzenia w różnych klasach grafów Drzewa Grafy gęste Grafy regularne dwudzielne Claw-free graphs 2 Drzewa Skojarzenia w drzewach Fakt Wybierajac krawędź do skojarzenia
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 8 1 / 39 Plan wykładu
Bardziej szczegółowo5. Najkrótsze ścieżki
p. Definicja 5. Najkrótsze ścieżki 5.1 Odległości w grafach: definicje i własności (Długość ścieżki). Długościa ścieżki nazywamy liczbę krawędzi występujacych w tej ścieżce. Bardziej formalnie, jeżeli
Bardziej szczegółowoPlan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?
/9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
Bardziej szczegółowoGrafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz
Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny
Bardziej szczegółowoMatematyka dyskretna - 7.Drzewa
Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja
Bardziej szczegółowoZAGADNIENIE TRANSPORTOWE
ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,
Bardziej szczegółowo6. Wstępne pojęcia teorii grafów
6. Wstępne pojęcia teorii grafów Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 6. Wstępne pojęcia teorii grafów zima 2016/2017
Bardziej szczegółowoAlgorytmika Problemów Trudnych
Algorytmika Problemów Trudnych Wykład 9 Tomasz Krawczyk krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2016/17 plan wykładu Algorytmy aproksymacyjne: Pojęcie algorytmu aproksymacyjnego i współczynnika aproksymowalności.
Bardziej szczegółowoAlgorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów
Bardziej szczegółowoPROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ
PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ Maciej Patan Uniwersytet Zielonogórski WPROWADZENIE Metody programowania sieciowego wprowadzono pod koniec lat pięćdziesiatych Ze względu na strukturę
Bardziej szczegółowoAlgebra liniowa z geometrią
Algebra liniowa z geometrią Maciej Czarnecki 15 stycznia 2013 Spis treści 1 Geometria płaszczyzny 2 1.1 Wektory i skalary........................... 2 1.2 Macierze, wyznaczniki, układy równań liniowych.........
Bardziej szczegółowoMODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem
MODELE SIECIOWE 1. Drzewo rozpinające (spanning tree) w grafie liczącym n wierzchołków to zbiór n-1 jego krawędzi takich, że dowolne dwa wierzchołki grafu można połączyć za pomocą krawędzi należących do
Bardziej szczegółowoIndukcja matematyczna. Zasada minimum. Zastosowania.
Indukcja matematyczna. Zasada minimum. Zastosowania. Arkadiusz Męcel Uwagi początkowe W trakcie zajęć przyjęte zostaną następujące oznaczenia: 1. Zbiory liczb: R - zbiór liczb rzeczywistych; Q - zbiór
Bardziej szczegółowoTeoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska
Teoria grafów dla małolatów Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka to wiele różnych dyscyplin Bowiem świat jest bardzo skomplikowany wymaga rozważenia
Bardziej szczegółowoTeoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Teoria grafów podstawy Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Grafy zorientowane i niezorientowane Przykład 1 Dwa pociągi i jeden most problem wzajemnego wykluczania się Dwa
Bardziej szczegółowoPodstawowe własności grafów. Wykład 3. Własności grafów
Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).
Bardziej szczegółowoA. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe1
A. Kasperski, M. Kulej, Badania operacyjne, Wykład 4, Zagadnienie transportowe ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a,a 2,...,a p i qodbiorców, którychpopytwynosi b,b 2,...,b
Bardziej szczegółowoProgramowanie liniowe
Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.
Bardziej szczegółowoWstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego
Bardziej szczegółowoProblemy Decyzyjne dla Systemów Nieskończonych
Problemy Decyzyjne dla Systemów Nieskończonych Ćwiczenia 1 17 lutego 2012 Na tych ćwiczeniach zajmiemy się pojęciem well quasi-ordering (WQO) bardzo przydatnym do analizy nieskończonych ciągów. Definicja
Bardziej szczegółowoDziałanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).
Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze
Bardziej szczegółowoZad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /14
Matematyka dyskretna Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Algorytmy zachłanne, programowanie dynamiczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk(Wydział Fizyki) WP w. IX Jesień 2014 1 / 26 Algorytmy zachłanne Strategia polegająca
Bardziej szczegółowoZagadnienia optymalizacji na grafach
dr inż. Adam Kasperski, dr M. Kulej BO- Optymalizacja na sieciach 1 Zagadnienia optymalizacji na grafach Podstawowe pojęcia z teorii grafów i sieci Graf nieskierowany(symetryczny) G = (V, E) składa się
Bardziej szczegółowoWykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Bardziej szczegółowo1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza
165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie
Bardziej szczegółowoGrafy i Zastosowania. 9: Digrafy (grafy skierowane) c Marcin Sydow
9: Digrafy (grafy skierowane) Spis zagadnień Digrafy Porządki częściowe Turnieje Przykłady: głosowanie większościowe, ścieżka krytyczna Digraf (graf skierowany) Digraf to równoważny termin z terminem graf
Bardziej szczegółowoRozdział 8 PROGRAMOWANIE SIECIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 8 PROGRAMOWANIE SIECIOWE 8.2. Ćwiczenia komputerowe Ćwiczenie 8.1 Wykorzystując
Bardziej szczegółowoGrafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Bardziej szczegółowoMacierze. Rozdział Działania na macierzach
Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy
Bardziej szczegółowoElementy teorii grafów Elementy teorii grafów
Spis tresci 1 Spis tresci 1 Często w zagadnieniach praktycznych rozważa się pewien zbiór obiektów wraz z zależnościami jakie łączą te obiekty. Dla przykładu można badać pewną grupę ludzi oraz strukturę
Bardziej szczegółowoAlgorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 2 Przeszukiwanie grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów 3. Spójność grafu,
Bardziej szczegółowoMatematyka dyskretna - 8. Egzaminy próbne. Uwaga! Niektórych z tych zadań nie obejmuje program dla studiów zaocznych - proszę się tym nie niepokoić -
Matematyka dyskretna - 8. Egzaminy próbne. Uwaga! Niektórych z tych zadań nie obejmuje program dla studiów zaocznych - proszę się tym nie niepokoić - takie zadania pojawią się tylko na egzaminach dla studentów
Bardziej szczegółowo7. Teoria drzew - spinanie i przeszukiwanie
7. Teoria drzew - spinanie i przeszukiwanie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7. wteoria Krakowie) drzew - spinanie i przeszukiwanie
Bardziej szczegółowoMatematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 14/15 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami
Bardziej szczegółowoG. Wybrane elementy teorii grafów
Dorota Miszczyńska, Marek Miszczyński KBO UŁ Wybrane elementy teorii grafów 1 G. Wybrane elementy teorii grafów Grafy są stosowane współcześnie w różnych działach nauki i techniki. Za pomocą grafów znakomicie
Bardziej szczegółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DRZEWA i LASY Drzewem nazywamy graf spójny nie zawierający cykli elementarnych. Lasem nazywamy graf nie zawierający cykli elementarnych. Przykłady drzew i lasów takie krawędzie są wykluczone drzewo las
Bardziej szczegółowoKolorowanie wierzchołków grafu
Kolorowanie wierzchołków grafu Niech G będzie grafem prostym. Przez k-kolorowanie właściwe wierzchołków grafu G rozumiemy takie przyporządkowanie wierzchołkom grafu liczb naturalnych ze zbioru {1,...,
Bardziej szczegółowo1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.
1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie
Bardziej szczegółowoPrzypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.
Spis treści 1 Drzewa 1.1 Drzewa binarne 1.1.1 Zadanie 1.1.2 Drzewo BST (Binary Search Tree) 1.1.2.1 Zadanie 1 1.1.2.2 Zadanie 2 1.1.2.3 Zadanie 3 1.1.2.4 Usuwanie węzła w drzewie BST 1.1.2.5 Zadanie 4
Bardziej szczegółowoZagadnienie transportowe
9//9 Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
Bardziej szczegółowoGrupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.
Grupy. Permutacje 1 1 Definicja grupy Niech G będzie zbiorem. Działaniem na zbiorze G nazywamy odwzorowanie (oznaczane, jak mnożenie, przez ) przyporządkowujące każdej parze uporządkowanej (a, b) G G element
Bardziej szczegółowoFilogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami.
181 Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami. 3. D T(D) poprzez algorytm łączenia sąsiadów 182 D D* : macierz łącząca sąsiadów n Niech TotDist i = k=1 D i,k Definiujemy
Bardziej szczegółowoDrzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany
, 1 2 3, czas zamortyzowany zajęcia 3. Wojciech Śmietanka, Tomasz Kulczyński, Błażej Osiński rozpinajace, 1 2 3 rozpinajace Mamy graf nieskierowany, ważony, wagi większe od 0. Chcemy wybrać taki podzbiór
Bardziej szczegółowoZAGADNIENIE TRANSPORTOWE(ZT)
A. Kasperski, M. Kulej BO Zagadnienie transportowe 1 ZAGADNIENIE TRANSPORTOWE(ZT) Danychjest pdostawców,którychpodażwynosi a 1, a 2,...,a p i q odbiorców,którychpopytwynosi b 1, b 2,...,b q.zakładamy,że
Bardziej szczegółowoWykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy
Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element
Bardziej szczegółowoTEORIA GIER W EKONOMII WYKŁAD 2: GRY DWUOSOBOWE O SUMIE ZEROWEJ. dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ
TEORIA GIER W EKONOMII WYKŁAD 2: GRY DWUOSOBOWE O SUMIE ZEROWEJ dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ Definicja gry o sumie zerowej Powiemy, że jest grą o
Bardziej szczegółowoAlgorytmiczna teoria grafów
Podstawowe pojęcia i klasy grafów Wykład 1 Grafy nieskierowane Definicja Graf nieskierowany (graf) G = (V,E) jest to uporządkowana para składająca się z niepustego skończonego zbioru wierzchołków V oraz
Bardziej szczegółowo0 + 0 = 0, = 1, = 1, = 0.
5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,
Bardziej szczegółowo