42
Zastosowanie teorii grafów w Geograficznych Systemach Informacyjnych Katarzyna Lange Centrum GIS Uniwersytet Gdański Wydział Oceanografii i Geografii

Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

  • Upload
    lamminh

  • View
    218

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

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

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

• 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
Page 5: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

• 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

Źródło:www.agh.pl

Page 7: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

• 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
Page 10: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

• 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

• 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

• 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
Page 14: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna
Page 15: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

• 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

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

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

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

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

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

Źródło: Film własny

Page 22: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna
Page 23: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

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

• 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

• 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

• 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

• 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

• 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

• 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

• 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

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

• 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

• 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
Page 35: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

• 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

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

2. Ride city

Page 38: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

• 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
Page 40: Zastosowanie teorii grafów w analizach GIS_mgr Katarzyna

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

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

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)