zastosowanie teorii grafów w analizach gis_mgr katarzyna
TRANSCRIPT
![Page 1: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/1.jpg)
Zastosowanie teorii grafów w
Geograficznych Systemach
Informacyjnych
Katarzyna Lange Centrum GIS Uniwersytet Gdański Wydział Oceanografii i Geografii
![Page 2: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/2.jpg)
Najważniejsze osiągnięcia teorii grafów były rezultatem prób rozwiązania
zadań praktycznych.
![Page 3: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/3.jpg)
• dział matematyki i informatyki
• w informatyce graf to najbardziej skomplikowana podstawowa strukturą danych
• grafy dostarczają nam potężne możliwości tworzenia różnego rodzaju relacji pomiędzy danymi, które można wiązać na wiele różnych sposobów, reprezentując lub modelując złożone zależności z otaczającego nas świata
![Page 4: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/4.jpg)
![Page 5: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/5.jpg)
• 1736 rok , publikacja szwajcarskiego matematyka Leonhada Eulera
• problem wyznaczenia trasy poprzez 7 mostów Królewca (w dawnych Prusach Wschodnich) tak aby przez każdy most przejść tylko raz
• Twierdzenie zakłada, że każdy graf składający się z więcej niż 2 węzłów podłączonych do nieparzystej liczby krawędzi nie może być przemierzony tylko raz
![Page 6: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/6.jpg)
Źródło:www.agh.pl
![Page 7: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/7.jpg)
• zbiór wierzchołków, które mogą być połączone krawędziami, w taki sposób, że każda krawędź kończy się i zaczyna w którymś,
• wierzchołki grafu zwykle są numerowane i czasem stanowią reprezentację jakichś obiektów,
• krawędzie mogą obrazować relacje między takimi obiektami,
![Page 8: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/8.jpg)
![Page 10: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/10.jpg)
• prosty lub graf nieskierowany to uporządkowana para G := (V,E) gdzie: V jest niepustym zbiorem. Elementy tego zbioru nazywamy wierzchołkami, E jest rodziną dwuelementowych podzbiorów zbioru wierzchołków V, zwanych krawędziami. Wierzchołki należące do krawędzi nazywane są jej końcami;
![Page 11: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/11.jpg)
• to uporządkowana para G := (V,a)
gdzie: V jest zbiorem wierzchołków, ‘a’
jest zbiorem uporządkowanych
par różnych wierzchołków ze zbioru V,
zwanych krawędziami skierowanymi,
lub łukami
• np. program udzielający wskazówek nawigacyjnych musi pamiętać informacje o ulicach jednokierunkowych, aby nie udzielać błędnych rad.
![Page 12: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/12.jpg)
• Modelują związki, w których jest znana wartość liczbowa, nazywana wagą, dotycząca zależności między wierzchołkami (u,v). Wierzchołkami mogą być również dowolne informacje nieliczbowe.
• np. Krawędź między miastami A i B może zawierać zarówno odległość jak i czas podróży między nimi.
![Page 13: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/13.jpg)
![Page 14: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/14.jpg)
![Page 15: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/15.jpg)
• najczęściej stosowany w GIS i kartografii,
• służy do wyznaczania najmniejszej odległości spośród wszystkich połączeń,
• poszczególne krawędzie grafu mogą posiadać wagi, które definiują koszt przejścia z jednego wierzchołka do drugiego po danej krawędzi,
• dla każdego z węzłów należącego do grafu algorytm wyznacza koszt dojścia do danego węzła z węzła początkowego oraz numer węzła poprzedzającego na najkrótszej ścieżce z węzła początkowego do danego węzła.
![Page 16: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/16.jpg)
Metoda Dijkstry polega na wprowadzeniu podziału zbioru wierzchołków grafu na trzy zbiory:
• zbiór Q, w którym znajdują się wierzchołki, do których „dotarł” już algorytm, ale nie możemy jeszcze określić, czy znaleziono do nich najkrótszą ścieżkę ze źródła
• zbiór S, w którym znajdują się wierzchołki (węzły) grafu o już ustalonej najkrótszej ścieżce ze źródła, dalej nie będą już rozpatrywane w algorytmie
• pozostałe węzły, czyli zbiór V- Q – S, gdzie V jest
zbiorem wszystkich wierzchołków grafu G = (V, E)
![Page 17: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/17.jpg)
Dla przykładowego grafu skierowanego
G = (V,E), gdzie
V = {1,2,3,4,5,6} (węzły)
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)}
– wartości poszczególnych krawędzi.
2. Algorytm wyznacza najniższy
koszt dojścia do każdego z
pozostałych węzłów w grafie.
Tworzone są dwa zbiory:
S – należą do niego węzły, dla
których policzono najmniejszy koszt
Q - węzły jeszcze nie przetworzone.
![Page 18: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/18.jpg)
3. Każdemu z węzłów v ustawiamy koszt dojścia d(v) równy nieskończoności. Dla węzła początkowego ustawiamy d(1) = 0. Poprzedzający go węzeł na najkrótszej ścieżce ustawiamy p(1)=0
węzeł 1 2 3 4 5 6
d(węzeł) 0 ∞ ∞ ∞ ∞ ∞
p(węzeł) 0 0 0 0 0 0
4. W zbiorze Q wyszukujemy węzeł o najmniejszym d. Węzeł ten jest przepisany do zbioru S i sprawdzamy wartość wszystkich d sąsiadów przeniesionego węzła ( węzły nr 2 i 4). Jeśli d(2) lub d(4) jest większe od kosztu d(1) + waga krawędzi do sprawdzanego węzła, to zmieniamy d i p dla tych wierzchołków.
węzeł 1 2 3 4 5 6
d(węzeł) 0 3 ∞ 3 ∞ ∞
p(węzeł) 0 1 0 1 0 0
![Page 19: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/19.jpg)
W zbiorze Q szukamy węzła o najmniejszym d. Są dwa o najmniejszym d- 2 i 4. d(2) = d(4) = 3. Wybieramy jeden z nich ( np.: 3) i przenosimy go do zbioru S. Wierzchołek 2 posiada tylko jednego sąsiada – 3. Zmieniamy odpowiednio d(3) i p(3)
węzeł 1 2 3 4 5 6
d(węzeł) 0 3 5 3 ∞ ∞
p(węzeł) 0 1 2 1 0 0
Całość powtarzamy tak długo aż w zbiór Q nie
będzie pusty.
węzeł 1 2 3 4 5 6
d(węzeł) 0 3 5 3 4 ∞
p(węzeł) 0 1 2 1 4 0
węzeł 1 2 3 4 5 6
d(węzeł) 0 3 5 3 4 6
p(węzeł) 0 1 2 1 4 5
![Page 20: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/20.jpg)
węzeł 1 2 3 4 5 6
d(węzeł) 0 3 5 3 4 6
p(węzeł) 0 1 2 1 4 5
Węzeł 3 posiada dwóch sąsiadów 1 i 6. Ponieważ 1 jest już w zbiorze S, nie jest brany pod uwagę. d(6) = 6 czyli dokładnie to samo co d(3) + waga (3-6)=5+1=6. Dlatego wartości dla węzła 6 nie są zmieniane. Przeniesienie do zbioru S ostatniego węzła ze zbioru Q nie powoduje również zmian w tablicy d, ponieważ węzeł ten nie posiada innych sąsiadów.
węzeł 1 2 3 4 5 6
d(węzeł) 0 3 5 3 4 6
p(węzeł) 0 1 2 1 4 5
Po zakończeniu przetwarzania, w tablicy d mamy najmniejszy koszt dojścia do poszczególnych węzłów w grafie.
![Page 21: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/21.jpg)
Źródło: Film własny
![Page 22: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/22.jpg)
![Page 23: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/23.jpg)
Jakie zastosowanie mają grafy?
Ze względu na wrodzoną prostotę , teoria grafów znajduje szerokie zastosowanie w
• technice,
• naukach fizycznych,
• społecznych i biologicznych ,
• lingwistyce
•medycynie i wielu innych dziedzinach
•Graf można stosować do przedstawiania prawie każdej sytuacji fizycznej, w której występują obiekty dyskretne i relacje zachodzące między nimi.
![Page 24: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/24.jpg)
• zestaw narzędzi dostępnych w programie ArcGis umożliwiających rozwiązywanie problemów związanych z komunikacją i transportem,
![Page 25: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/25.jpg)
• Znajduje drogę z jednego punktu do drugiego, także uwzględniając punkty po drodze.
• Pozwala na obliczenie całkowitej drogi, czasu itp. Pozwala uwzględnić przepisy ruchu
• drogowego takie jak ruch jednostronny, zakaz wjazdu dla pojazdów ciężarowych czy
• ruch prawo- lub lewostronny. np. autobusy zatrzymują się zawsze po jednej stronie
• ulicy.
![Page 26: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/26.jpg)
• Dysponując wieloma pojazdami transportowymi, drogę i punkty docelowe można
• podzielić równomiernie dla każdego z pojazdów, także w ten sposób aby punkty
• docelowe były rozmieszczony w grupach dość blisko siebie dla jednego pojazdu.
• Ponadto narzędzie pozwala uwzględnić czas otwarcia punktów docelowych jak i
• przerwy w pracy kierowcy.
![Page 27: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/27.jpg)
• Pokazuje sieć punktów źródło-cel oraz zależności między mini (droga czas przejazdu)
• pozwala to na analizę np. znalezienie najkrótszej drogi.
![Page 28: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/28.jpg)
• Pokazuje teren zasięgu z wybranego punktu na podstawie czasu dojazdu. Przykład
• zastosowania: Obręb miasta pozwalający na dowiezienie towaru z hipermarketu do
• klienta wraz z podziałem na strefy bezpłatne (blisko) i płatne (dalej).
![Page 29: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/29.jpg)
• Pozwala na obliczenie drogi z punktu źródłowego do każdego miejsca w zasięgu. W
• ten sposób można znaleźć tereny nie objęte zasięgiem punktu lub gdzie droga i czas
• jest zbyt długi. Jako przykład w kursie Network Analyst pod uwagę wzięte jest
• rozmieszczenie posterunków straży pożarnej. Pozwala to obliczyć maksymalny czas
• potrzebny na dojazd do miejsca pożaru.
![Page 30: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/30.jpg)
• biblioteka oprogramowania dla Pythona służącą do tworzenia manipulacji i analizy struktury dynamiki i funkcji sieci,
• oprogramowanie to dostarcza struktury danych dla grafów (lub sieci) razem z algorytmami grafu, generatorami i narzędziami rysującymi,
• struktura NetworkX może być postrzegana jako zorganizowanie kodu źródłowego.
![Page 31: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/31.jpg)
Zalety NetworkX
• Struktury typowe dla języka Python dla grafów, grafów skierowanych i multigrafów • Węzły mogą być czymkolwiek ( np.: tekstem, obrazem,
rekordem XML) • Krawędzie mogą przechowywać dane bezwzględne ( np.:
wagi, serie czasowe) • Generatory dla klasycznych grafów, grafów losowych i sieci
symetrycznych • Standardowe algorytmy teorii grafów • Pomiar i analiza struktury sieci • Podstawowe narzędzia do kreślenia grafów • Bardzo dobrze przetestowana • Dodatkowo dzięki zastosowaniu Pythona do rozwoju
biblioteki- szybko rozwijalna, łatwa do nauki i dostępna dla wielu platform sprzętowych i softwarowych.
![Page 32: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/32.jpg)
• potężne możliwości tworzenia różnego rodzaju relacji pomiędzy danymi, które można wiązać na wiele różnych sposobów, reprezentując lub modelując złożone zależności z otaczającego nas świata.
• Grafy możemy zaimplementować w postaci tablicy określającej rodzaj połączenia oraz jego etykietę lub dynamicznie korzystając ze wskaźników.
Źródło: http://home.agh.edu.pl/~horzyk/lectures/pi/ahdydpiwykl9.html
![Page 33: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/33.jpg)
• Prosty, spójny i ważony graf skierowany G nazywa się siecią transportową ( lub przepływową), jeżeli waga związana z każdą krawędzią skierowana w grafie G jest liczbą nieujemną .
• W sieci transportowej liczba ta reprezentuje pojemność krawędzi i jest oznaczana symbolem c ᵢ ᶨ dla krawędzi skierowanej z wierzchołka i do wierzchołka j .
• Pojemność krawędzi .Można interpretować jako maksymalną ilość pewnego dobra ( tj. woda, gaz , energia elektryczna, liczba samochodów ze stacji i do stacji j ) przenoszonego wzdłuż krawędzi (i, j) w jednostce czasu w stanie ustalonym.
![Page 34: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/34.jpg)
![Page 35: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/35.jpg)
• Graf można wykorzystać jako model sieci rurociągów , prze którą transportuje się pewne dobro z jednego miejsca do innego.
• Problem ogólnym w takiej sieci transportowej (zwanej także siecią przepływów) jest maksymalizacja przepływu lub minimalizacja kosztu określonego przepływu.
• Jest to zagadnienie badań operacyjnych i można je rozwiązać za pomocą programowania liniowego , jednakże okazało się , że podejście oparte na teorii grafów jest bardziej efektywnie obliczeniowo. W niniejszym punkcie zobaczymy, jak problemy przepływów w sieciach można sformułować i rozwiązać stosując grafy.
![Page 36: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/36.jpg)
1. Projekt byCycle.org
• Projekt został stworzony aby planować ścieżki rowerowe o zadanych parametrach: trudność i bezpieczeństwo. Trudność była określana jako : stroma, mniej stroma za pomocą wcześniejszego użycia funkcji Slope.
• Wyznaczanie ścieżek było oparte o Algorytm Dijkstry.
• 5.07.2011- zaprzestano nad nim pracować i rozwijać.
![Page 37: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/37.jpg)
2. Ride city
![Page 38: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/38.jpg)
• wyznacza trasę rowerową dla wybranych miast w Stanach, Kanadzie, Australii, Francji oraz Hiszpanii
• w tym przypadku również podajemy punkt początkowy i końcowy
• mamy możliwość wybrania jednego z trzech parametrów:
bezpieczne (safe), bezpieczniejsze (safer) bezpośrednie (direct).
![Page 39: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/39.jpg)
![Page 40: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/40.jpg)
Wyznaczenie trasy rowerowej w zależności od dwóch
parametrów: • typu drogi (Route Type) • preferencji (preference).
Typ drogi jest określany jako: uwzględniający główne ciągi
komunikacyjne (Major Roads Included) lub wyznaczający trasę wzdłuż ścieżek rowerowych lub dróg, po których mają prawo jeździć rowery (Designated + Alternate cycling Roads). Preferencje zostały określone jako:
• ograniczające maksymalne nachylenie (Restricted maximum Slope),
• najmniejsze zanieczyszczenia w wyniku korków (Least Traffic Pollution),
• najmniej strome (Least Elevation Gain), • najbardziej zalesione trasy (Most Vegetated Route) • najkrótsze trasy (Shortest Path Route).
![Page 41: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/41.jpg)
http://maps.google.com/biking
• Najbardziej znanym serwisem umożliwiającym wyznaczenie trasy za pomocą Algorytmu Dijkstry jest Google Maps, który pozwala wyznaczyć, tak samo jak trasę samochodową, trasę rowerową.
• Google Maps daje możliwość przejazdu przez kilka wybranych punktów, określonych przez użytkownika
![Page 42: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna](https://reader034.vdocuments.site/reader034/viewer/2022051714/587626911a28ab10278bf6c9/html5/thumbnails/42.jpg)
Zastosowanie teorii grafów z użyciem algorytmu Dijskstry daje możliwość uzyskania najkrótszych tras w transporcie, a co za tym idzie zaoszczędzenia:
czasu
nerwów (korki) funduszy finansowych (np.paliwo) zmniejszenia eksploatacji części dostosowania trasy do określonych wag , które mogą być
reprezentowane zarówno jakościowo jak i ilościowo (przejazdu przez drogi a atrakcyjniejszym wykładniku wagowym)