Zastosowanie teorii grafów w Geograficznych Systemach Informacyjnych



Podobne dokumenty
Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Digraf. 13 maja 2017

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Matematyczne Podstawy Informatyki

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

G. Wybrane elementy teorii grafów

Matematyczne Podstawy Informatyki

Ogólne wiadomości o grafach

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytm wyznaczania najkrótszej ścieżki w grafie skierowanym w zbiorze liczb rozmytych

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku

Algorytmiczna teoria grafów

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Graf. Definicja marca / 1

Suma dwóch grafów. Zespolenie dwóch grafów

Wstęp do programowania

Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

a) 7 b) 19 c) 21 d) 34

Programowanie dynamiczne i algorytmy zachłanne

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Obliczanie opłaty elektronicznej za przejazd wybraną trasą (krok po kroku)

6. Wstępne pojęcia teorii grafów

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Algorytmy i Struktury Danych.

Przykład planowania sieci publicznego transportu zbiorowego

Informatyka w szkole - algorytm Dijkstry dla każdego. Krzysztof Diks Instytut Informatyki, Uniwersytet Warszawski

Wstęp do programowania

Elementy teorii grafów Elementy teorii grafów

5c. Sieci i przepływy

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

ANALIZA SIECIOWA PROJEKTÓW REALIZACJI

Matematyka dyskretna

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Algorytmiczna teoria grafów Przepływy w sieciach.

Harmonogramowanie przedsięwzięć

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Sortowanie topologiczne skierowanych grafów acyklicznych

ZAGADNIENIE TRANSPORTOWE

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Wyznaczanie optymalnej trasy problem komiwojażera

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

ANALIZY DYSTANSU. Spatial analyst Network analyst. Anna Dąbrowska, Sylwia Książek, Arleta Soja, Miłosz Urbański

Teoria grafów dla małolatów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Matematyka dyskretna - 5.Grafy.

. Podstawy Programowania 2. Grafy i ich reprezentacje. Arkadiusz Chrobot. 9 czerwca 2016

Wybrane podstawowe rodzaje algorytmów

Zagadnienie transportowe

Matematyczne Podstawy Informatyki

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Sprawozdanie do zadania numer 2

Ekonometria - ćwiczenia 10

Minimalne drzewa rozpinające

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Algorytmy dynamiczne. Piotr Sankowski. - p. 1/14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Excel - użycie dodatku Solver

PRACA DYPLOMOWA MAGISTERSKA

Kształcenie w zakresie podstawowym. Klasa 2

Programowanie sieciowe. Tadeusz Trzaskalik

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Z-LOG-1004 Matematyka dyskretna Discrete mathematics. Przedmiot podstawowy Wybieralny polski Semestr III

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Graf to nie tylko tytuł szlachecki

SCENARIUSZ LEKCJI Przesuwanie paraboli - wykorzystanie arkusza kalkulacyjnego na lekcjach matematyki

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Sieć (graf skierowany)

Matematyka dyskretna - 8. Egzaminy próbne. Uwaga! Niektórych z tych zadań nie obejmuje program dla studiów zaocznych - proszę się tym nie niepokoić -

Złożoność obliczeniowa klasycznych problemów grafowych

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków

Podstawy Programowania 2 Grafy i ich reprezentacje. Plan. Wstęp. Teoria grafów Graf skierowany. Notatki. Notatki. Notatki. Notatki.

Podstawowe własności grafów. Wykład 3. Własności grafów

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Wstęp do Sztucznej Inteligencji

Złożoność obliczeniowa zadania, zestaw 2

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Inżynieria oprogramowania. Część 8: Metoda szacowania ryzyka - PERT

PODSTAWY INFORMATYKI wykład 10.

Transkrypt:

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

Najważniejsze osiągnięcia teorii grafów były rezultatem prób rozwiązania zadań praktycznych.

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

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

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

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,

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;

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.

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.

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.

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)

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. 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.

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

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

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.

Źródło: Film własny

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.

zestaw narzędzi dostępnych w programie ArcGis umożliwiających rozwiązywanie problemów związanych z komunikacją i transportem,

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.

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.

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.

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).

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.

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.

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.

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

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.

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.

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ć.

2. Ride city

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).

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).

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 http://maps.google.com/biking

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)