1 Wykład 8: Złożone problemy przetwarzania mobilnego
2 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiPlan Rekursywna dekompozycja przestrzeni Pozycje niepewne w sieci miejskiej Pozycje niepewne na morzu dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
3 Rekursywna dekompozycja przestrzeniBazy danych przestrzennych bardzo duże Wymagają pamięci o dużej pojemności i wydajnych serwerów Wymagania nie do spełnienia w urządzeniach mobilnych Potrzeba partycjonowania danych oraz rozproszenia i zrównoleglenia obliczeń Rosnąca liczba użytkowników, którzy się przemieszczają dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
4 RDP – algorytm podziałuOkreśl HWM (High Water Mark) – odpowiada liczbie rekordów bazy danych, które mogą być efektywnie przetwarzane Wprowadzaj do bazy danych rekordy z danymi przestrzennymi Jeśli liczba wprowadzonych rekordów przekroczy wartość HWM dokonaj podziału na partycje Dokonaj podziału bazy danych według kryterium, jakim jest lokalizacja obiektów Informację o podziale zapamiętaj w słowniku podziału (struktura drzewa), będzie wykorzystany przy zapytaniach zależnych od pozycji i w procesie marszrutyzacji geograficznej dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
5 RDP – etykieta węzła drzewa podziałuLAYER LC RC BC TC CHC CVC FLAG TABLE 2 100 20 50 60 1 t LAYER – poziom rezolucji podziału (0 oznacza korzeń drzewa) LC, RC, BC, TC – współrzędne geograficzne obszaru pokrywanego przez węzeł CHC, CVC – wartości średnie współrzędnych FLAG – znacznik podziału (1 nastąpił podział na mniejsze obszary) TABLE – nazwa tabeli skojarzonej z węzłem zawierająca wszystkie obiekty w obszarze LC, RC, BC, TC dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
6 RDP – wizualizacja podziałuLAYER LC RC BC TC CHC CVC FLAG TABLE 100 20 50 60 1 t CHC’=(LC+RC)/2 RC=CHC’ LC=CHC’ LAYER LC RC BC TC CHC CVC FLAG TABLE 1 50 20 100 60 t0 LAYER LC RC BC TC CHC CVC FLAG TABLE 50 100 20 60 t1 TC=CVC’ CVC’=(BC+TC)/2 HC=CVC’ LAYER LC RC BC TC CHC CVC FLAG TABLE 2 50 20 60 1 t00 LAYER LC RC BC TC CHC CVC FLAG TABLE 50 60 100 t01 RC=CHC’ CHC’=(LC+RC)/2 LC=CHC’ LAYER LC RC BC TC CHC CVC FLAG TABLE 3 25 20 60 t000 LAYER LC RC BC TC CHC CVC FLAG TABLE 25 50 20 60 1 t001 TC=CVC’ CVC’=(BC+TC)/2 HC=CVC’ LAYER LC RC BC TC CHC CVC FLAG TABLE 4 25 50 20 40 t0010 LAYER LC RC BC TC CHC CVC FLAG TABLE 25 50 40 60 t0011 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
7 Migracja w podzielonym środowiskuMigracja użytkownika Przełączanie pomiędzy lokalnymi serwerami z lokalną informacją geograficzną na podstawie aktualnej lokalizacji 𝑥 𝑔 , 𝑦 𝑔 Prosty algorytm ustala nazwę tabeli z danymi przestrzennymi Użytkownik może ściągnąć przez łącze bezprzewodowe aktualny fragment mapy Użytkownik może wydawać zapytania zależne od pozycji, efektywność pretwarzania duża ze względu na lokalny charakter obliczeń while (current.flag) if (current.layer%2) if (xg < CHC) current=curent.left.name+=”0” else current=curent.right.name+=”1” else if (yg < CVC) dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
8 Zapytania do podzielonej BDZapytanie należy wydać do odpowiedniej tabeli – trzeba znać jej nazwę i położenie (nazwa serwera) Wszystkie zapytania, o ile to możliwe, są wykonywane lokalnie na komputerze użytkownika mobilnego Jeżeli jednostka mobilna jest za słaba, to zapytanie jest transmitowane do serwera odpowiedniego dla bieżącego położenia użytkownika Jeżeli obszar, za który odpowiedzialny jest dany serwer jest większy niż obszar określony przez zapytanie, rozpoczyna się wykonywanie zapytania i wybrane dane są przesłane z powrotem do mobilnego użytkownika Jeżeli obszar parametrów zapytania jest większy niż obszar będący pod nadzorem serwera zapytanie jest przesłane do serwera nadrzędnego w hierarchii, docelowo na taki poziom, aż cały obszar zapytania zostanie objęty przez serwer S i zapytanie jest kierowane do odpowiednich potomków serwera S w drzewie podziału Jeżeli nie ma żadnej wspólnej części obszaru lokalnego i parametrów zapytania, zostaje wyliczony główny (centralny) punkt zapytania, a zapytanie jest przysłane bezpośrednio do serwera, który obejmuje ten punkt dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
9 Zalety i wady partycjonowaniamniejsze tabele z danymi przestrzennymi – szybsze przetwarzanie rozproszenie danych i dowiązanie geograficzne wsparcie „cienkich klientów” mobilnych równoczesne wykonywanie zapytania na wielu serwerach Wady: bardziej skomplikowane zarządzanie bazą danych zapytanie przed wykonaniem trzeba przypisać do właściwego serwera i właściwej tabeli (tabel) konieczność modyfikowania znanych algorytmów (np. algorytm najkrótszej ścieżki w grafie) tak, aby działały w podzielonej bazie danych dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
10 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiPlan Rekursywna dekompozycja przestrzeni Pozycje niepewne w sieci miejskiej Pozycje niepewne na morzu dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
11 Pozycje niepewne w sieci miejskiejTradycyjne podejście (metoda okręgu) niewłaściwe Duże błędy jakościowe i ilościowe: sieć dróg skrzyżowania i zakręty drogi jednokierunkowe zakazy skrętu, wjazdu itp. ograniczenia prędkości korki, remonty, awarie Własne rozwiązania: dane wejściowe – ostatnia znana pozycja, maksymalna prędkość, termin ostatniej znanej pozycji własne algorytmy oparte o teorie grafów i geometrię obliczeniową zapis danych i wizualizacja wyników dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
12 Pozycje niepewne w sieci miejskiej (2)Struktura ulic reprezentowana jako graf skierowany Pozycja w notacji krawędziowo-odległościowej: identyfikator łuku i odległość od jego początku Nie trzeba dopasowywać pozycji do mapy Można wykorzystać algorytmy teorii grafów Algorytm wyznaczania pozycji niepewnej bierze pod uwagę tylko te ulice, na których pojazd może się znaleźć w podanym czasie Czas przejazdu ulicą nie jest stały, ale dynamicznie zmieniany przez centrum sterowania ruchem i przechowywany osobno w bazie danych dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
13 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiStruktury wynikowe Wynikiem działania algorytmu pozycja niepewna pojazdu w sieci dróg miejskich Lista wszystkich możliwych położeń pojazdu: całe łuki lub ich fragmenty dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
14 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiMożliwe zastosowania Pozycje niepewne skradzionych pojazdów Automatyczne kierowanie pojazdów policyjnych do miejsca blokad Minimalizacja liczby blokad Wyznaczanie stref dojazdu (problem odwrotny – skąd ma dojechać karetka?) Zarządzanie flotą pojazdów dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
15 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiPlan Rekursywna dekompozycja przestrzeni Pozycje niepewne w sieci miejskiej Pozycje niepewne na morzu dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
16 Pozycje niepewne na morzu analiza problemuAkcje ratunkowe: wpływ warunków pogodowych i temperatury wody (niska temperatura wody może wywołać hipotermię, 30 do 60 min. przy temp. ok. 4˚C) wyznaczyć najmniejszy obszar, na jakim mogą znajdować się rozbitkowie i podzielić go na sektory potrzeba wsparcia działań ratowniczych nowoczesnymi metodami i algorytmami dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
17 Przykładowe zastosowania – system SOSUSSOSUS (Sound Surveillence Undersea System) System obserwacji podwodnej, służący wczesnemu wykrywaniu radzieckich okrętów podwodnych, przemykających z baz wokół półwyspu Kolskiego na Atlantyk Składa się z elementów stacjonarnych i mobilnych, będących jednostkami pływającymi wyposażonymi w holowane sonary dalekiego zasięgu, wspartych lotnictwem patrolowym oraz jednostkami pływającymi Pozycjonowanie obcych jednostek jest dość dokładne, ale po urwaniu kontaktu sonarowego trzeba estymować położenie wrogiego OP przy wykorzystaniu algorytmów wyznaczających pozycje niepewną dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
18 Przykładowe zastosowania – monitoring żeglugiBezpieczeństwo żeglugi jednostek cywilnych na akwenach objętych kryzysem Procedury dotyczące monitoringu jednostek pływających, wyznaczanie ich parametrów ruchu oraz międzynarodowa koordynacja działań Analizy rozwoju sytuacji i podejmowanie odpowiednich decyzji Działania antyterrorystyczne Złożone procesy decyzyjne Potrzeba informatycznego wsparcia, co wiąże się również z lokalizowaniem niepewnym jednostek, z którymi urwał się kontakt oraz estymacja położenia monitorowanych jednostek dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
19 Pozycje niepewne na morzu - rozwiązaniaJedno z podejść polega na estymowaniu pozycji poruszającego się statku na podstawie: zgłaszanych przez niego komunikatów pozycyjnych znajomości portu docelowego planowanej trasy Symuluje się położenie statku na podstawie ostatniego znanego położenia, jego prędkości i kursu, czyli pozycji zliczonej Wady: określanie położenia statku ogranicza się wyłącznie do znanej wcześniej, zaplanowanej trasy statek może zejść z zakładanego kursu i wówczas metoda ta przestaje mieć zastosowanie dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
20 Pozycje niepewne na morzu - rozwiązaniaOstatnia znana pozycja (last known fix) Metoda okręgu (elipsy) – mało skuteczna blisko linii brzegowej Metoda wycinania wielokątów przedstawiających lądy i płycizny dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
21 Pozycje niepewne na morzu - podejściaMetoda autorska zespołu dra Sobczaka (PP) Wyznaczanie pozycji niepewnej przy uwzględnieniu linii brzegowej Pod uwagę brane są też prawdopodobne kursy i prędkości Zapis wynikowych struktur przestrzennych w bazie danych z możliwością dalszego przetwarzania i wizualizacji dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
22 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiPorównanie metod Pierwszy eksperyment przeprowadzony w pobliżu Helu po upływie czasu, w którym statek mógł przebyć maksymalnie odległość 12,5 mil morskich Drugi w pobliżu portu Holbok w Danii dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
23 Rozwiązanie autorskieWymagana znajomość uksztaltowania basenów morskich Linie brzegowe reprezentowane przez wielokąty, będące zbiorem punktów różnych typów Położenie każdego punktu opisane jest przez długość i szerokość geograficzną Punkty mogą wyznaczać: linię brzegowa położenie portów wejścia do cieśnin Oprócz punktów brzegowych w proponowanej metodzie wyznaczania pozycji niepewnej wymagane są następujące dane wejściowe: szerokość i długość geograficzna ostatniej znanej pozycji statku, zwana dalej punktem centralnym, znacznik czasowy ostatniej znanej pozycji statku, przekazanej przez samą jednostkę lub pochodząca ze źródeł zewnętrznych aktualny znacznik czasowy maksymalną prędkość statku. dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
24 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiDziałanie metody Wyznaczenie okręgu pozycyjnego określającego niepewną pozycje jednostki dla pełnego morza (bez linii brzegowej) Etykietowanie punktów: bazowych - które lezą wewnątrz okręgu pozycyjnego dodatkowych - punkty przecięcia znajdujące się na odcinku linii brzegowej wyznaczonej przez jeden punkt bazowy i jeden punkt niebazowy specjalnych - punkty znajdujące się na odcinku linii brzegowej wyznaczonej przez dwa punkty niebazowe Osiągalność punktów: dla wszystkich punktów bazowych, specjalnych oraz dodatkowych sprawdzana jest możliwość bezpośredniego osiągniecia tego punktu z punktu centralnego pozycja jest bezpośrednio osiągalna, gdy odcinek łączący ja z punktem bazowym nie przecina się z żadnym innym odcinkiem tworzącym linie brzegowa Wszystkie punkty, do których dopłynąć można bezpośrednio z punktu centralnego tworzą zbiór punktów osiągalnych dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
25 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiDziałanie metody (2) Struktury wynikowe I: Jeżeli dwa kolejne punkty osiągalne tworzą odcinek, to wówczas do wyniku dodajemy trójkąt o wierzchołkach leżących we współrzędnych tych dwóch punktów oraz punkcie centralnym Struktury wynikowe II: Jeżeli dwa kolejne punkty należące do uporządkowanego zbioru punktów osiągalnych nie należą do zbioru punktów bazowych i nie tworzą one linii brzegowej, to rozpinamy pomiędzy nimi wycinek kołowy. Podobnie postępujemy dla pozostałych par punktów, które nie tworzą odcinka linii brzegowej, a promienie wodzące okręgu pozycyjnego oparte na tych punktach nie przecinają się z żadną linią brzegowa. dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
26 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiDziałanie metody (3) Struktury wynikowe III: Jeżeli dwa kolejne punkty z uporządkowanego zbioru punktów osiągalnych nie tworzą linii brzegowej i przynajmniej jeden z promieni wodzących okręgu pozycyjnego opartego na tych punktach przecina się z linią brzegową, to wówczas do wyniku wstawiamy dodatkowy trójkąt Rekursja: W kolejnym kroku wywołujemy rekurencyjnie metodę dla wszystkich punktów po wypłynięciu, zza których jednostka może kontynuować rejs. Wywołanie rekurencyjne następuje dla wartości promienia pomniejszonego o przebyta już drogę. W celu zmniejszenia liczby wywołań, każda rekurencyjnie wywołana funkcja zapamiętuje punkty, dla których została już wywołana, tak by nie wywoływać jej ponownie dla tego samego punktu Wyniki działania metody dla wywołań rekurencyjnych należy dodać do ostatecznego rezultatu metody. W ten sposób ze złożenia trójkatów i wycinków kolowych powstaje powierzchnia wewnątrz której znajduje się poszukiwana jednostka dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
27 Dane wyjściowe i informacje dodatkoweWynikiem działania metody są dwa zbiory figur geometrycznych, których suma opisuje powierzchnie osiągalna przez badana jednostkę Są to: zbiór wielokątów zbiór wycinków kołowych, wyznaczonych przez ostatnią znaną pozycje, dwa namiary rozpinające i promień, obliczony na podstawie upływu czasu i prędkości jednostki. Dodatkowo otrzymywane są informacje o wszystkich portach osiąganych z danego miejsca, nazwy cieśnin, do których jednostka mogła wejść wraz z sugerowanymi pozycjami blokad, co może być przydatne w przypadku choćby działań antyterrorystycznych dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
28 Korzyści stosowania metodyZautomatyzowanie i znaczne przyspieszenie wyznaczenia obszaru poszukiwań dla jednostek ratowniczych Wsparcie działań antyterrorystycznych Monitoring żeglugi Możliwość uwzględnienia historii ruchów jednostek własnych Odciążenie ludzi i skupienie się na podejmowaniu decyzji, a nie na wykonywaniu żmudnych obliczeń dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014
29 dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut InformatykiDziękuję za uwagę! dr hab. inż. Marek Mika, Politechnika Poznańska, Instytut Informatyki © 2014