500 likes | 615 Views
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 o początku i końcu w tym samym wierzchołku, tzw. pętle. POJĘCIE GRAFU.
E N D
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 o początku i końcu w tym samym wierzchołku, tzw. pętle.
Wśród grafów wyróżniamy grafy skierowaneczyli takie, które mają krawędzie z oznaczonymi kierunkami, wskazywanymi przez strzałkę.
Wiele zastosowań mają grafy ważone, w których każdej krawędzi przyporządkowano liczbę – wagę, która może oznaczać np. odległość między wierzchołkami lub koszt przejazdu z jednego wierzchołka do drugiego.
8 8 11 19 6 4 4 2 7 POJĘCIE GRAFU
Grafowi można nadać etykietę, czyli nazwać wierzchołek. Taki graf nazywamy grafem etykietowanym.
Adam Jaś Magda Krzyś Beata Adrian Michał Łukasz Dorota Piotrek Maciek POJĘCIE GRAFU
Z tymi wszystkimi rodzajami grafów spotkaliśmy się już w szkole podstawowej. Na rysunku mamy przedstawiony graf skierowany z zaetykietowanymi wierzchołkami oraz krawędziami z dodatnimi i ujemnymi wagami.
+5 -7 6 11 4 -2 SZKOLNY PRZYKŁAD
W osiemnastym wieku mieszkańcy Królewca lubili spacerować po mostach na rzece Pregole, których mieli w mieście siedem. Rysunek przedstawia plan mostów.
C g f e A d D a c b B
Ale takie zwykłe spacerowanie po jakimś czasie im się znudziło, i zaczęli zastanawiać się, czy jest taka trasa spacerowa, która przechodzi przez każdy most dokładnie raz, żadnego nie omija, i pozwala wrócić do punktu wyjścia. Nie potrafili sami rozwiązać tego problemu, więc napisali do znanego już wtedy matematyka Leonharda Eulera. Pokażemy, że Euler miał rację mówiąc, że nie istnieje rozwiązanie tego zadania.
Można tę sytuację przedstawić jako graf o wielokrotnych krawędziach. Każdy wierzchołek grafu przedstawia odpowiedni fragment lądu a każda krawędź natomiast przedstawia most na rzece Pregole. Zacznijmy np. od punktu po stronie C. Przechodzimy mostem g na wyspę A. Potem schodzimy z wyspy np. mostem f. Kolejno przechodzimy mostem e na wyspę D. Wchodzimy po raz drugi na wyspę A mostem d. Wychodzimy na stronę B np. mostem a. Teraz musimy przejść przez ostatni most prowadzący na wyspę, tj. most b. Po raz trzeci znaleźliśmy się na wyspie A, jednak nie ma jak z niej wyjść, nie przechodząc ponownie przez któryś z mostów.
e g f d a b c C A D D B
Aby znaleźć rozwiązanie problemu, trzeba w tym grafie znaleźć cykl Eulera, czyli cykl przechodzący przez wszystkie wierzchołki i wszystkie krawędzie tego grafu, ale przez każdą krawędź dokładnie tylko raz.
W opublikowanej w 1736 roku pracy Euler sformułował pierwsze twierdzenie teorii grafów, ale nim je tutaj przedstawimy , wyjaśnimy pojęcia: stopnia wierzchołka, drogi w grafie i spójności grafu.
w grafie, to liczba krawędzi dochodzących do tego wierzchołka.
w grafie nazywamy taki ciąg jego wierzchołków, że każde dwa kolejne wierzchołki w tym ciągu są połączone krawędzią (czyli można przejść z jednego końca drogi na drugi chodząc tylko po krawędziach).
Graf nazywamy spójnym, jeśli pomiędzy dowolnymi dwoma jego wierzchołkami istnieje droga.
W grafie można znaleźć cykl Eulera wtedy i tylko wtedy, gdy graf jest spójny i każdy jego wierzchołek ma parzysty stopień.
Nie wiemy co zaproponował Euler mieszkańcom Królewca, być może po prostu zmianę swojego hobby.
Wyobraźmy sobie pewną mapę, na której zaznaczone są drogi między poszczególnymi miastami oraz długości tych dróg. Wybierając z tej mapy dowolne dwa miasta A i B chcemy zaplanować najkrótszą trasę z miasta A do miasta B. Jak rozwiązać ten problem używając grafów ?
B D A C
Tworzymy graf, którego wierzchołki odpowiadają miastom znajdującym się na danej mapie. Wierzchołki łączymy krawędzią. Krawędziom nadajemy wagi równe długości danej drogi. Oczywiście długość drogi możemy zastąpić przez czas trwania podróżylub jej koszt. Znalezienie najkrótszej drogi z miasta A do miasta B oznaczaznalezienie drogi pomiędzy odpowiadającymi im wierzchołkami o możliwienajmniejszej sumie wag krawędzi.
B D 9 km 7 km 8 km 7 km 10 km 40 km 20 km 27 km 18 km A C
1.Jeśli droga między danymi miastami( wierzchołkami w grafie ) w ogóle istnieje. 2.Utworzony dla danej mapy graf musi być spójny.
Czy istnieje algorytm rozwiązujący ten problem? Tak, wymyślił go holenderski informatyk Edsger Dijskra. I od jego nazwiska nosi on nazwę Algorytmu Dijkstry.
Proponujemy wspólnie prześledzić działanie algorytmu, krok po kroku, na konkretnym przykładzie.
Naszym zadaniem jest znalezienie najkrótszej drogi z wierzchołka początkowego (p) do wierzchołka końcowego (k). Na początku wszystkim wierzchołkom nadajemy tymczasowa cechę równa „nieskończoność”. Następnie wierzchołkowi początkowemu nr 1 nadajemy stała cechę równa zero.
Włączamy wierzchołek nr 1. Wierzchołek nr 2 otrzymuje cechę tymczasowa równą 3 a wierzchołek nr 3 cechę tymczasową równą 2. Następnie wybieramy spośród nich wierzchołek o najmniejszej cesze tymczasowej. Jest to wierzchołek nr 3. Jego cechę tymczasowa zmieniamy na stałą. Poprzedni wierzchołek o cesze stałej dla wierzchołka nr 3 to wierzchołek nr 1.
Dotychczasowe postępowanie pozwoliło wyznaczyć minimalne drogi do wszystkich wierzchołków od wierzchołka początkowego nr1. Ponieważ wierzchołkiem końcowym jest nr 7, więc szukana przez nas droga minimalna ma długość 8. Rysunek ilustruje sposób odtworzenia drogi minimalnej.
Zastosowania Algorytmy znajdujące najkrótszą drogę w grafie są wykorzystywane do wyznaczania najlepszej trasy pomiędzy dwoma miastami na 'komputerowych' mapach. Mapy takie przydatne są w pracy np. firm transportowych.
Firmy transportowe Mapy komputerowe
Opracowanie: Magdalena Bartyzel, Krzysztof Głuszczyk pod kierunkiem mgr Wioletty Baran