Algorytmy i Struktury Danych - riad.pk.edu.plriad.pk.edu.pl/~zk/AISD_W2.pdf · Wykład 2: Algorytmy...
Transcript of Algorytmy i Struktury Danych - riad.pk.edu.plriad.pk.edu.pl/~zk/AISD_W2.pdf · Wykład 2: Algorytmy...
Algorytmy i Struktury Danych
Wykładowca:
dr inż. Zbigniew Kokosiński
POLITECHNIKA KRAKOWSKA WYDZIAŁ INŻYNIERII ELEKTRYCZNEJ i KOMPUTEROWEJ Katedra Automatyki i Technik Informacyjnych
www.pk.edu.pl/~zk/AISD_HP.html
Wykład 2: Algorytmy grafowe I
1. Przeszukiwanie grafu w głąb.
2. Przeszukiwanie grafu wszerz.
3. Grafy ważone. Minimalne drzewa rozpinające (MST).
4. Algorytmy Prima (kolejka priorytetowa) i Kruskala.
5. Grafy ważone. Wyszukiwanie ścieżek. Algorytm
Dijkstry w grafie skierowanym dla wag nieujemnych.
6. Maksymalne skojarzenia w grafach.
7. Problem stabilnych małżeństw.
8. Przepływy w sieciach.
9. Algorytm DMKM do wyznaczania maksymalnego
przepływu w sieci.
Przeszukiwanie
grafu w głąb
Przeszukiwanie
grafu wszerz
Minimalne drzewo
rozpinające grafu
Algorytm Prima(kolejka priorytetowa)
Minimalne drzewo
rozpinające grafu
Algorytm Kruskala
Algorytm Dijkstry
Skojarzenia w grafach
Skojarzenia w grafach dwudzielnych
Problem stabilnych małżeństw
Przepływy w sieciach - założenia
Przepływy w sieciach - przykład
Algorytm DMKM1. Cechując wierzchołki od s do t numerami kolejnych warstw
znajdź sieć warstwową GL złożoną z połączeń użytecznych z x do y grafu G (czyli z łuków (x,y) z bieżącym przepływem mniejszym od przepustowości, ewentualnie z łuków (y,x) z niezerowym przepływem z y do x).
2. Dla każdego wierzchołka sieci GL wyznacz jego potencjał(minimum z jego potencjału wejściowego i wyjściowego).
3. Wierzchołek o najmniejszym potencjale staje się wierzchołkiem odniesienia, przez który prowadzi ścieżka z s do t z przepływem równym temu potencjałowi.
4. Usuń z GL wszystkie łuki nasycone i wierzchołki o potencjale 0.5. Powtarzając kroki 3-4 wyznacz przepływ nasycający sieci GL
(superpozycja przepływów częściowych)6. Powtarzaj kroki 1-5, aż utworzenie kolejnej sieci warstwowej GL
w G będzie niemożliwe.7. Przepływ maksymalny w G jest superpozycją przepływów
nasycających we wszystkich sieciach warstwowych.
Pojęcie sieci warstwowej
Wyznaczanie
maksymalnego
przepływu
w sieci
warstwowej -
przykład
Wyznaczanie
maksymalnego
przepływu
w sieci
warstwowej -
przykład
Algorytm
DMKM –
wydzielenie
pierwszej
sieci
warstwowej
Algorytm
DMKM –
wydzielenie
drugiej sieci
warstwowej
Algorytm
DMKM –
wydzielenie
drugiej sieci
warstwowej
Algorytm
DMKM –
wydzielenie
trzeciej sieci
warstwowej
Źródła wzorów, przykładów i rysunków :
1. Sedgewick R. : Algorithms in C, Addison-Wesley 1990
2. Sysło M.M., Deo N., Kowalik J.S. : Algorytmy optymalizacji dyskretnej,WN-T 1995