Algorytm Dijkstry (przykład)

Slides:



Advertisements
Podobne prezentacje
Schemat blokowy M START KONIEC
Advertisements

DOMINOWANIE W GRAFACH Magdalena Lemańska.
Grafy spełniające nierówność Γ(G) < IR(G)
Zadania przygotowawcze na egzamin
Grafy o średnicy 2 i dowolnej liczbie dominowania
ALGORYTMY GRAFOWE.
WYKŁAD 6. Kolorowanie krawędzi
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
ALGORYTMY I STRUKTURY DANYCH
Ciągi de Bruijna generowanie, własności
-skeletony w przestrzeniach R 2 i R 3 Mirosław Kowaluk Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski.
Sortowanie Zajęcia 13.
ALGORYTMY GEOMETRYCZNE.
WYKŁAD 5. Skojarzenia – ciąg dalszy
WYKŁAD 2. Kolorowanie wierzchołków
WYKŁAD 7. Spójność i rozpięte drzewa
WYKŁAD 1. Grafy są wokół nas. Pojęcia wstępne.
WYKŁAD 4. Skojarzenia Skojarzenie w grafie G to niezależny zbiór krawędzi (rozłączne, bez wspólnych konców). Skojarzenie M w G traktujemy jak podgraf.
WYKŁAD 8. Siła spójności Wierzchołek v nazywamy wierzchołkiem cięcia grafu G, gdy podgraf G-v ma więcej składowych spójności niż G. Krawędź e nazywamy.
WĘDRÓWKI PO GRAFACH Obchody Eulera Cykle Hamiltona.
WYKŁAD 8. Siła spójności A,B – dowolne podzbiory V(G)
WYKŁAD 3. Kliki i zbiory niezależne
WYKŁAD 4. Skojarzenia Skojarzenie w grafie G to niezależny zbiór krawędzi (rozłączne, bez wspólnych konców). Skojarzenie M w G traktujemy jak podgraf G.
Algorytm Rochio’a.
Materiały pomocnicze do wykładu
Macierz incydencji Macierzą incydencji grafu skierowanego D = (V, A), gdzie V = {1, ..., n} oraz A = {a1, ..., am}, nazywamy macierz I(D) = [aij]i=1,...,n,
Algorytmy grafowe Reprezentacja w pamięci
Komputerowa analiza sieci genowych (GRN)
Algorytmy genetyczne.
ALGORYTMY I STRUKTURY DANYCH
WYKŁAD 7. Spójność i rozpięte drzewa 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.
Inżynieria Oprogramowania
Kod Graya.
Minimalne drzewa rozpinające
Przepływy w sieciach. Twierdzenie minimaksowe.
Zbiór do posortowania mieści się w pamięci
SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek.
DRZEWA BINARNE Emilia Krukowska.
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
Graf - jest to zbiór wierzchołków, który na rysunku przedstawiamy za pomocą kropek oraz krawędzi łączących wierzchołki. Czasami dopuszcza się krawędzie.
Algorytmy i struktury danych
Reprezentacja grafów i operacje na grafach na przykładzie algorytmu Dijkstry i algorytmu na odnajdywanie Silnych Spójnych Składowych Temat Opracowali:
Uniwersytet Dzieci Nieważne jaki masz komputer
Rodzaje, przechodzenie grafu
Zbiory Autor: Marta Ziarko.
Najkrótsza ścieżka w grafie Algorytm Dijkstry
Zasady przywiązywania układów współrzędnych do członów.
Algorytm Dijkstry 1 Zbiory: T - zbiór wierzchołków
FUNKCJA KWADRATOWA
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Algorytmy i Struktury Danych
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Metody numeryczne szukanie pierwiastka metodą bisekcji
Geometria obliczeniowa Wykład 13 Planowanie ruchu 1.Znajdywanie ścieżki między dwoma punktami. 2.Ruch postępowy robota wielokątnego na płasz- czyźnie.
Algorytmy i Struktury Danych Grafy
WĘDRÓWKI PO GRAFACH Obchody Eulera Cykle Hamiltona.
Algorytmy grafowe Minimalne drzewa rozpinające
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
Autor: Michał Salewski
Grafy.
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
Metody Badań Operacyjnych Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
1.problem próbkowania (sampling problem) dobór charakterystycznych punktów powierzchni w celu uzyskania najlepszego efektu przy minimalizacji ilości danych.
Działania na grafach Autor: Anna Targońska.
Systemy neuronowo – rozmyte
Algorytm Dijkstry Podano graf Zdefiniowano jego listę sąsiedztwa 1 2 3
Definicja problemu: (P2 | pi = 1, prec | Cmax)
Algorytmy i struktury danych
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

Algorytm Dijkstry (przykład) Będziemy wyznaczać najkrótsze ścieżki pomiędzy wyróżnionym wierzchołkiem (źródłem), a wszystkimi pozostałymi wierzchołkami w grafie. V = {1,2,3,4,5,6} E = {(1-2,3),(1-4,3),(2-3,2),(3-1,6),(3-6,1),(4-5,1),(5-3,1),(5-6,2),(6-4,3)}

Algorytm Dijkstry (przykład CD.) Tworzymy dwa zbiory S (wierzchołki, dla których są policzone najkrótsze ścieżki) oraz Q (wierzchołki jeszcze nie przetworzone). Zbiór S jest początkowo pusty. Zbiór Q obejmuje wszystkie wierzchołki grafu.

Algorytm Dijkstry (przykład KROK 1/7) Dla każdego wierzchołka v ustawiamy d(v) ← ∞. Dla wybranego wierzchołka vo ustawiamy d(vo)← 0. Ustawiamy również p(v) ← 0. indeks 1 2 3 4 5 6 d(indeks) ∞ p(indeks)

Algorytm Dijkstry (przykład KROK 2/7) W zbiorze Q szukamy wierzchołka o najmniejszym d - wierzchołek 1 - przenosimy go do zbioru S. Następnie sprawdzamy wartość d jego sąsiadów (wierzchołki 2 i 4). Jeśli ich d jest większe od kosztu d(1) + w(1,v), to modyfikujemy d i p dla tych wierzchołków. indeks 1 2 3 4 5 6 d(indeks) ∞ p(indeks)

Algorytm Dijkstry (przykład KROK 3/7) W zbiorze Q szukamy wierzchołka o najmniejszym d. Są dwa takie wierzchołki: 2 i 4 o d=3. Wybieramy arbitralnie wierzchołek nr 2 i przenosimy go do zbioru S. Wierzchołek 2 posiada tylko jednego sąsiada - 3. Modyfikujemy odpowiednio d[3] i p[3] indeks 1 2 3 4 5 6 d(indeks) ∞ p(indeks)

Algorytm Dijkstry (przykład KROK 4/7) W zbiorze Q szukamy wierzchołka o najmniejszym d. Teraz jest to wierzchołek 4 o d[4] = 3. Przenosimy go do zbioru S. Wierzchołek 4 posiada tylko jednego sąsiada - 5. Modyfikujemy odpowiednio d[5] i p[5]. indeks 1 2 3 4 5 6 d(indeks) ∞ p(indeks)

Algorytm Dijkstry (przykład KROK 5/7) W zbiorze Q szukamy wierzchołka o najmniejszym d. Jest to wierzchołek 5 o d[5] = 4. Przenosimy go do zbioru S. Wierzchołek 5 posiada dwóch sąsiadów: 3 i 6. Ponieważ d[3]=5 jest takie samo jak d[5] + waga(5-3) = 4+1=5, nie modyfikujemy parametrów d i p dla wierzchołka 3. Do modyfikacji jest tylko wierzchołek 6. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

Algorytm Dijkstry (przykład KROK 6/7) W zbiorze Q szukamy wierzchołka o najmniejszym d. Jest to wierzchołek 3 o d[3] = 5. Przenosimy go do zbioru S. Wierzchołek 3 posiada dwóch sąsiadów: 1 i 6. Ponieważ wierzchołek 1 jest już w zbiorze S, to nie bierzemy go pod uwagę. Drugi wierzchołek posiada d[6]=6, czyli takie samo jak d[3]+waga(3-6)=5+1=6. Nie modyfikujemy zatem wierzchołka 6. indeks 1 2 3 4 5 6 d(indeks) p(indeks)

Algorytm Dijkstry (przykład KROK 7/7) Do zbioru S przenosimy ostatni wierzchołek z Q. Wierzchołek ten nie posiada sąsiadów w Q połączonych z nim krawędzią, dlatego nic nie modyfikujemy. Ponieważ zbiór Q stał się pusty, algorytm kończymy. indeks 1 2 3 4 5 6 d(indeks) p(indeks)