Metody zrównoleglania algorytmów wyznaczania najkrótszej drogi w transporcie morskim

Wielkość: px
Rozpocząć pokaz od strony:

Download "Metody zrównoleglania algorytmów wyznaczania najkrótszej drogi w transporcie morskim"

Transkrypt

1 WRÓBEL Magdalena 1 NOZDRZYKOWSKI Łukasz 2 Metody zrównoleglania algorytmów wyznaczania najkrótszej drogi w transporcie morskim WSTĘP Celem nawigacji morskiej, jako złożonego systemu analizy dużej ilości danych, jest stworzenie warunków bezpiecznej żeglugi pomiędzy portami przy minimalizacji kosztów podróży. Korzystając z systemów nawigacyjnych, w których skład wchodzą takie elementy jak ARPA, AIS, czy systemy obrazowania map elektronicznych ECDIS, możliwe było opracowanie koncepcji zintegrowanego mostka nawigacyjnego. Jednym z najważniejszych zadań procesu nawigacyjnego jest planowanie trasy statku pomiędzy portem początkowym, a końcowym z uwzględnieniem portów pośrednich. Proces ten polega na wykorzystaniu danych na temat istniejących ograniczeń nawigacyjnych (lądy, tory wodne, płycizny) w celu wyznaczenia punktów zwrotu (waypoint) marszruty statku [1]. Bliskim zagadnieniem jest problem unikania kolizji na morzu polegający na wyznaczaniu trajektorii statku z optymalizacją kosztów odchyleń od trajektorii zadanej, zwłaszcza od trajektorii określanej poprzez najkrótszą drogę, przy czym w procesie tym należy spełniać warunki bezpieczeństwa drogi. Należą do nich widzialność, zdolność manewrowa, warunki pogodowe czy rejon żeglugi, a także same charakterystyki statków [2, 3]. W obecnych czasach procesom nawigacyjnym nieodłącznie towarzyszą systemy informatyczne. Dotyczy to także systemów wyznaczania drogi, które w rzeczywistości operują na grafach i poszukiwaniu w nich najkrótszej ścieżki (drogi). Komputery i systemy informatyczne usprawniają i automatyzują procesy pozyskiwania, przetwarzania i analizowania informacji [4]. Niestety, coraz większe ilości informacji, jakie należy przetworzyć, wymagają zaangażowania coraz większych mocy obliczeniowych. Z pomocą przychodzi koncepcja systemów przetwarzania równoległego i rozproszonego, które pozwalają na znaczne przyspieszenie obliczeń. Aplikacje komputerowe pisane dotychczas w formie sekwencyjnych operacji są teraz zrównoleglone w celu skrócenia czasu wykonywania zadań. W artykule przedstawione zostaną sposoby zrównoleglenia wybranych algorytmów poszukiwania najkrótszej ścieżki w grafie, które stosowane są w nawigacji do wyznaczania marszruty statku. 1 ALGORYTMY POSZUKIWANIA NAJKRÓTSZEJ ŚCIEŻKI W GRAFACH W niniejszej pracy zaproponowano możliwość przyspieszenia działania algorytmów znajdowania najkrótszej ścieżki w grafach przy pomocy programowania równoległego. Poprzez przystosowanie implementacji algorytmów najkrótszej drogi do działania na wielu rdzeniach procesora możliwe staje się szybsze przeszukiwanie grafu. Ogólnie problem najkrótszej ścieżki definiuje się dla grafu G(N,A), o n= N węzłach oraz m= A krawędziach [5]. Każde połączenie (i,j) należące do A posiada swój koszt c i,j reprezentujący czas podróżny daną krawędzią. Ścieżką P z punktu O do celu D jest serią połączonych krawędziami wierzchołków, a czas całkowity podróży jest sumą wszystkich czasów (wag) każdej z krawędzi należących do danej ścieżki P. Problem najkrótszej ścieżki ma za zadanie w grafie ważonym wyszukać połączenie pomiędzy wierzchołkami o najmniejszej sumie czasów (wag). Oznaczając 1 mgr inż. M. Wróbel, asystent, Instytut Technologii Morskich, Wydział Nawigacyjny, Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, Szczecin, (+4891) , m.wrobel@am.szczecin.pl 2 dr inż. Ł. Nozdrzykowski, adiunkt, Instytut Technologii Morskich, Wydział Nawigacyjny, Akademia Morska w Szczecinie, ul. Wały Chrobrego 1-2, Szczecin, (+4891) , l.nozdrzykowski@am.szczecin.pl 11386

2 najkrótszy dystans z węzła i do D jako d i (minimalny czas podróży) należy sprawdzić dla każdego węzła i[5]: (1) Szczególnym przypadkiem jest problem najkrótszej ścieżki od jednego wierzchołka do wszystkich pozostałych oraz problem najkrótszej ścieżki pomiędzy wszystkimi parami wierzchołków. W niniejszym artykule wykonano próbę zrównoleglenia algorytmów Dijkstry, Floyda-Warschalla oraz Prima przy pomocy standardu zrównoleglenia OpenMP [6]. 2 SPOSÓB ZRÓWNOLEGLENIA ALGORYTMU DIJKSTRA Algorytm Dijkstra jest algorytmem ze sprzężeniem zwrotnym, gdzie krok następny jest determinowany przez krok poprzedni. Wyjątkiem jest oczywiście wybierany krok pierwszy oznaczony jako punkt startowy. Z tego powodu niemożliwe staje się zrównoglenie tego algorytmu przy pomocy prostych instrukcji zrównoleglających, jak chociażby #pragmaomp for. Algorytm ten pozwala jedynie na zrównoleglenie procesu wyszukiwania najkrótszej drogi z najniższą wagą. W celu zrównoleglenia algorytmu Dijkstry proponuje się początkowo w sekcji równoległej #pragmaompparallel wykonać inicjalizację danych (listing 1). intistartobliczen, ikoniecobliczen, iwierzcholek, iminwatka, inrwatkamin, m, iwatek =omp_get_thread_num(); #pragma omp single ile_watkow = omp_get_num_threads(); iporcjadanych = ROZMGRAFU / ile_watkow; istartobliczen = iwatek * iporcjadanych; ikoniecobliczen = istartobliczen + iporcjadanych - 1; Listing 1 Inicjalizacja zmiennych oraz podział zadań pomiędzy wątkami Poprzez tą operację każdy wątek wykonuje operacje na własnych danych w sposób niezależny. Wątek główny ma tu za zadanie dokonać podziału zadania na równe części pomiędzy wszystkie wątki. Wszystkie wątki następnie wyznaczają swój zakres obliczeń. Całościowy proces wyszukiwania najkrótszej drogi odbywa się w pętli iterującej po wszystkich węzłach (listing 2). for (iwierzcholek = 0; iwierzcholek< ROZMGRAFU; iwierzcholek++) Listing 2Przejście po wszystkich wierzchołkach grafu W pierwszej fazie pętli konieczne jest przeprowadzenie inicjalizacji danych początkowych (listing 3). Operację tą powinien wykonać jeden z wątków, którym domyślnie jest wątek główny. #pragmaomp single iminwatkow = NIESKONCZONOSC; inrwierzcholka = 0; Listing 3Inicjalizacja doanych początkowych przez wątek główny W celu wymuszenia wykonania operacji przez wątek główny zastosowano pragmę Single standardu OpenMP. iminwatka = NIESKONCZONOSC; for (i = istartobliczen; i <= ikoniecobliczen; i++) if (iodwiedzone[i] &&iminodleglosc[i] <iminwatka) iminwatka = iminodleglosc[i]; inrwatkamin = i; Listing 4 Poszukiwanie minimum przez wybrany wątek 11387

3 Kolejnym krokiem (listing 4) algorytmu wykonywanym w pętli każdego wątku jest wyszukiwanie najkrótszej drogi do kolejnego nieodwiedzonego węzła. W tym miejscu każdy z wątków operuje na zakresie danych wyznaczonym na listingu 1. #pragmaompcritical if (iminwatka<iminwatkow) iminwatkow = iminwatka; inrwierzcholka = inrwatkamin; Listing 5 Agregacja danych obliczonych przez wszystkie wątki. W następnej fazie (listing 5) wykonana zostaje agregacja danych w celu wyznaczenie najniższej wartości wyliczonej w operacjach wykonywanych przez wątki. Obszar ten oznaczony został jako krytyczny i powinien zostać wykonany przez jeden wątek. Po tej operacji możliwe staje się zapisanie najkrótszej ścieżki dotąd odwiedzonej (listing 6). for (i = istartobliczen; i <= ikoniecobliczen; i++) if(iminodleglosc[inrwierzcholka] + iwektrododleglosci[inrwierzcholka * ROZMGRAFU + i] <iminodleglosc[i]) iminodleglosc[i] = iminodleglosc[inrwierzcholka] + iwektrododleglosci[inrwierzcholka * ROZMGRAFU + i]; Listing 6 Wyliczenie minimalnej ścieżki grafu 7). Końcowym zadaniem jest oznaczenie odwiedzonego węzła oraz wykonanie synchronizacji (listing #pragmaomp single iodwiedzone[inrwierzcholka] = 0; #pragma omp barrier Listing 7 Oznaczenie węzła jako odwiedzony oraz wywołanie bariery. Poprzez ustawienie bariery zapobiega się występowania wyścigu wątków. 3 ZRÓWNOLEGLENIE ALGORYTMU PRIMA Algorytm Prima wykonywany jest w pętli, w której nie występuje zależność pomiędzy iteracjami. Z tego powodu jest on łatwiejszy do zrównoleglenia. Jego sposób przedstawiono w całości na listingu

4 while (wierzcholki!= iliczbawierz) #pragmaompparallel for private(iindexwierz) for (iindexwierz = 0; iindexwierz<iliczbawierz; iindexwierz++) if (igraf[wiersz][iindexwierz]!= 0) if (iodwiedzone[iindexwierz] == 0) if (iwaga[iindexwierz]>igraf[wiersz][iindexwierz]) #pragmaompcritical iwaga[iindexwierz] = igraf[wiersz][iindexwierz]; ikosztdrogi = MX; for (iindexwierz = 0; iindexwierz<iliczbawierz; iindexwierz++) if (iodwiedzone[iindexwierz] == 0) if (iwaga[iindexwierz] <ikosztdrogi) ikosztdrogi = iwaga[iindexwierz]; wiersz = iindexwierz; iodwiedzone[wiersz] = 1; wierzcholki++; ikosztdrogi = 0; for (iindexwierz = 0; iindexwierz<iliczbawierz; iindexwierz++) ikosztdrogi += iwaga[iindexwierz]; Listing 8 Zrównoleglony algorytm Prima Do zrównoleglenia należy zastosować zrównoleglenie pętli for z domyślną zmienną prywatną iindexwiersz poprzez instrukcję #pragmaompparallel for private(iindexwiersz), która rozbija poszukiwanie poszczególnych ścieżek w grafie na osobne wątki. Ponieważ wewnątrz pętli odbywa się sprawdzanie wyboru najkrótszej ścieżki, stąd też wymagane jest wydzielenie sekcji krytycznej dla jej zapisania. 4 ZRÓWNOLEGLENIE ALGORYTMU FLOYDA-WARSCHALLA Algorytm Floyda-Warschalla jako sposób na przeszukiwanie fragmentów grafu pomiędzy dwoma wierzchołkami cechuje się prostą konstrukcją, gdzie pętle podobnie jak w algorytmie Prima nie posiadają zależności pomiędzy instrukcjami. W całości algorytm ten przedstawia listing 9. for (iindexk = 0; iindexk<rozmgrafu; iindexk++) #pragma omp parallel for shared(a) for (iindexi = 0; iindexi<rozmgrafu; iindexi++) for (iindexj = 0; iindexj<rozmgrafu; iindexj++) igraf[iindexi][iindexj] = minimum(igraf[iindexi][iindexj], igraf[iindexi][iindexk] + igraf[iindexk][iindexj]); Listing 9 Zrównoleglony algorytm Floyda-Warschalla Do jego zrównoleglenia wystarcza pojedyncza instrukcja zrównoleglenia pętli for z przekazaniem tablicy wag wierzchołków w sposób dzielony pomiędzy wątki

5 5 TESTY EFEKTYWNOŚCI PROPONOWANYCH ROZWIĄZAŃ Testy efektywności zrównoleglonych algorytmów poszukiwania najkrótszej ścieżki w grafach wykonano na komputerze z procesorem ośmiowątkowym Intel Core i7-720qm, 4GB pamięci RAM, system operacyjny Windows 7 64 bit. 5.1 Algorytm Dijkstra Algorytm przetestowano dla różnych rozmiarów danych wejściowych. Graf posiadał odpowiednio 10000, oraz wierzchołków. Na rys. 1 przedstawiono wyniki z poszczególnych testów. Dijkstra wierzchołków Dijkstra wierzchołków Dijkstra wierzchołków Rys. 1 Wyniki testów zrównoleglonego algorytmu Dijkstra dla różnej wielkości danych oraz różnej liczby procesorów. Na rysunku 1 przedstawiono wykresy z wynikami dla różnych wielkości danych. We wszystkich przypadkach wraz ze wzrostem liczby wątków użytych do obliczeń maleje czas wykonania się algorytmu. Przyspieszenie dla poszczególnych wielkości danych oraz liczby procesorów przedstawia tabela 1. Tab. 1. Uzyskane przyspieszenie algorytmu Dijkstra Rozmiar danych ,05 2,13 2,09 4 3,78 3,74 4,09 8 7,98 7,34 7,86 Dane w tab. 1 pokazują, że w wyniku zrównoleglenia algorytmu Dijkstry osiągnięto przyspieszenie liniowe

6 5.2 Algorytm Prima Algorytm Prima przetestowano dla następujących rozmiarów grafu, który posiadał odpowiednio 8000, 9000 oraz wierzchołków. Na rys. 2 przedstawiono wyniki z poszczególnych testów. Prim 8000 wierzchołków Prim 9000 wierchołków Prim wierzchołków Rys. 2 Wyniki testów zrównoleglonego algorytmu Prima dla różnej wielkości danych oraz różnej liczby procesorów. Na rys. 2 przedstawiono czasy wykonania się algorytmu Prima dla poszczególnych wielkości danych oraz liczby wątków. Na wykresie dla grafu posiadającego 8000 wierzchołków widać, że zwiększenie liczby wątków z 4 na 8 nie przyniosło znaczącego skrócenia czasu obliczeń. Spowodowane jest to domyślną barierą dla każdej iteracji pętli for jaką ustawia OpenMP. Na pozostałych wykresach czas maleje przy wykorzystaniu większej liczby wątków. Przyspieszenie dla poszczególnych wielkości danych oraz liczby procesorów przedstawia tabela 2. Tab. 2. Uzyskane przyspieszenie algorytmu Prima Rozmiar danych ,32 1,35 1,36 4 1,53 1,58 1,57 8 1,49 1,85 1, Algorytm Floyda-Warschalla Testy algorytmu Floyda-Warschalla wykonano dla następujących rozmiarów grafu 1000, 1500, 2000 węzłów. Zmierzony czas wykonania się algorytmu przedstawia rys

7 Floyd-Warshall 1000 Floyd-Warshall Rys. 3 Wyniki testów zrównoleglonego algorytmu Floyda-Warschalla dla różnej wielkości danych oraz różnej liczby procesorów. Na rys. 3 zaprezentowano czasy wykonania algorytmu Floyda-Warschalla dla poszczególnych wielkości danych oraz liczby wątków. Przyspieszenie dla poszczególnych wielkości danych oraz liczby procesorów przedstawia tabela 3. Tab. 3. Uzyskane przyspieszenie algorytmu Floyda-Warschalla Rozmiar danych ,55 1,15 1,32 4 1,70 1,52 1,50 8 1,75 1,72 1,57 Podobnie jak dla algorytmu Prima, tak i dla algorytmu Floyda-Warschalla efektywność zrównoleglenia jest na zbliżonym poziomie. Spowodowane to jest tym samym sposobem przyjętego zrównoleglenia obydwu tych algorytmów. W związku z tym stwierdza się, że wzrastająca liczba wątków obliczeniowych nie wpływa znacząco na przyspieszenie obliczeń. WNIOSKI Floyd-Warshall W artykule zostały przedstawione metody zrównoleglania trzech algorytmów znajdowania najkrótszej ścieżki w grafie. Były to algorytmy Dijsktra, Prima oraz Floyda-Warschalla. Poprzez zastosowanie odpowiednio dobranych pragm standardu programowania równoległego OpenMP udało się uzyskać przyspieszenie działania algorytmów na poziomie: algorytm Dijkstra 7,34; algorytm Prima 1,49 oraz algorytm Floyda-Warschalla 1,57. Przyspieszenie obliczeń dotyczących algorytmów znajdowania najkrótszej ścieżki w grafie staje się szczególnie istotne z punktu widzenia ich realizacji w ramach systemów komputerowych, w tym systemów operujących w transporcie morskim. Umożliwia to przyspieszenie rozwiązywania 11392

8 problemów poszukiwania optymalnej marszruty statku na morzu z uwzględnieniem coraz większej ilości danych dodatkowych, w tym ograniczeniach akwenów, gdzie obliczenia są wykonywane nie przez jeden rdzeń, a wiele rdzeni współczesnych komputerów. Streszczenie W artykule przedstawiono sposób przyspieszania działania wybranych algorytmów wyszukiwania najkrótszej ścieżki w grafie poprzez wykorzystanie programowania równoległego w systemach komputerowych. Przedstawiono metodę zrównoleglenia algorytmów Dijkstra, Prima oraz Floyda-Warshalla przy pomocy instrukcji standardu programowania równoległego OpenMP. W artykule tym przedstawiono tzw. pragmyopenmp służące do zachowania poprawności działania algorytmu w środowisku równoległym Przedstawione algorytmy stanowią podstawę metod planowania drogi w transporcie, w tym w transporcie morskim do wyznaczania optymalnej trasy statku z uwzględnieniem danych o lokalizacji portów pośrednich i ograniczeń nawigacyjnych. Przedstawiono także testy efektywności zrównoleglenia proponowanych rozwiązań dla różnych wielkości grafów do przeszukania oraz różnej liczby wątków sprzętowych biorących udział w obliczeniach. Methods of parallelization a shortest path algorithms for maritime transport Abstract In article presents a method to accelerating a operation of selected algorithms of searching the shortest path in graph by using the parallel programming in computer systems. Presents a method of parallelization Dijkstra's, Prim's and Floyd Warshall algorithms with using the instructions of OpenMP parallel programming standard. This article presents the specific pragmas of OpenMPused to preservation the proper operation of the algorithm in a parallel environment. These algorithms are the basis of methods of route in the transport, including maritime transport to determine the optimal route of the vessel including the information about ports and navigation restrictions. This paper also presents a tests of parallelization efficiency of the proposed solutions for different sizes of graphs to be searched and the different number of hardware threads involved to the calculation. BIBLIOGRAFIA 1. Lazarowska Agnieszka, Planowanie trasy przejścia statku z zastosowaniem algorytmu mrówkowego, Zeszyty naukowe Akademii Morskiej w Gdyni, nr 78, marzec Smierzchalski Roman, Nawigacyjny problem unikania kolizji na morzu jako adaptacyjne modelowanie trajektorii statku, Proceedings of the 2nd National Conference on Evolutionary Computation and Global Optimization, Rytro, Poland, Warsaw University of Technology Publishing House, pp , Wiśniewski Bernad, Ships ocean route programming, Zeszyty Naukowe Akademia Morska w Szczecinie, 2012, 29 (101) 4. Pietrzykowski Z., Nozdrzykowski Ł., Wróbel M., Koncepcja udostępniania usług w chmurze obliczeniowej w transporcie morskim, Logistyka 2/ Jincheng Jiang, Lixin Wu, A Dynamic Navigation Algorith Considering Network Disruptions, The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XL-4, Standard OpenMPwww.openmp.org [dostęp ] 11393

ZASTOSOWANIE GRAFU WIDOCZNOŚCI W PLANOWANIU TRASY PRZEJŚCIA STATKU APPLICATION OF A VISIBILITY GRAPH IN SHIP S PATH PLANNING

ZASTOSOWANIE GRAFU WIDOCZNOŚCI W PLANOWANIU TRASY PRZEJŚCIA STATKU APPLICATION OF A VISIBILITY GRAPH IN SHIP S PATH PLANNING Zeszyty Naukowe Akademii Morskiej w Gdyni Scientific Journal of Gdynia Maritime University Nr /, ISSN - e-issn - ZASTOSOWANIE GRAFU WIDOCZNOŚCI W PLANOWANIU TRASY PRZEJŚCIA STATKU APPLICATION OF A VISIBILITY

Bardziej szczegółowo

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

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje

Bardziej szczegółowo

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

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First

Bardziej szczegółowo

PROBLEMY WYZNACZANIA OPTYMALNEJ TRAJEKTORII OBIEKTU NA OBSZARZE OGRANICZONYM

PROBLEMY WYZNACZANIA OPTYMALNEJ TRAJEKTORII OBIEKTU NA OBSZARZE OGRANICZONYM Studia i Materiały Informatyki Stosowanej, Tom 6, Nr 17, 2014 PROBLEMY WYZNACZANIA OPTYMALNEJ TRAJEKTORII OBIEKTU NA OBSZARZE OGRANICZONYM 16 Mariusz Dramski Akademia Morska w Szczecinie Instytut Technologii

Bardziej szczegółowo

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

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1 Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem

Bardziej szczegółowo

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

Algorytm wyznaczania najkrótszej ścieżki w grafie skierowanym w zbiorze liczb rozmytych NEUMNN Tomasz 1 lgorytm wyznaczania najkrótszej ścieżki w grafie skierowanym w zbiorze liczb rozmytych WSTĘP W systemach zarządzania transportem jedną z najbardziej istotnych kwestii jest zapewnienie najkrótszej

Bardziej szczegółowo

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne Algorytmy mrówkowe H. Bednarz Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne 13 kwietnia 2015 1 2 3 4 Przestrzeń poszukiwań Ograniczenia

Bardziej szczegółowo

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

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06

Bardziej szczegółowo

Ogólne wiadomości o grafach

Ogólne wiadomości o grafach Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,

Bardziej szczegółowo

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania, Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią

Bardziej szczegółowo

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy wyznaczania centralności w sieci Szymon Szylko Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą

Bardziej szczegółowo

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

Informatyka w szkole - algorytm Dijkstry dla każdego. Krzysztof Diks Instytut Informatyki, Uniwersytet Warszawski Informatyka w szkole - algorytm Dijkstry dla każdego Krzysztof Diks Instytut Informatyki, Uniwersytet Warszawski Problem 1: Labirynt Źródło: www.dla-dzieci.ugu.pl Problem : Wilk, owca i kapusta Źródło:

Bardziej szczegółowo

Sprawozdanie do zadania numer 2

Sprawozdanie do zadania numer 2 Sprawozdanie do zadania numer 2 Michał Pawlik 29836 Temat: Badanie efektywności algorytmów grafowych w zależności od rozmiaru instancji oraz sposobu reprezentacji grafu w pamięci komputera 1 WSTĘP W ramach

Bardziej szczegółowo

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP Łukasz Strąk lukasz.strak@gmail.com Uniwersytet Śląski, Instytut Informatyki, Będzińska 39, 41-205 Sosnowiec 9 grudnia

Bardziej szczegółowo

IMPLEMENTACJA I PORÓWNANIE WYDAJNOŚCI WYBRANYCH ALGORYTMÓW GRAFOWYCH W WARUNKACH OBLICZEŃ RÓWNOLEGŁYCH

IMPLEMENTACJA I PORÓWNANIE WYDAJNOŚCI WYBRANYCH ALGORYTMÓW GRAFOWYCH W WARUNKACH OBLICZEŃ RÓWNOLEGŁYCH IMPLEMENTACJA I PORÓWNANIE WYDAJNOŚCI WYBRANYCH ALGORYTMÓW GRAFOWYCH W WARUNKACH OBLICZEŃ RÓWNOLEGŁYCH Michał Podstawski Praca dyplomowa napisana pod kierunkiem Prof. WSTI dr hab. inż. Jarosława Śmiei

Bardziej szczegółowo

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

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

Wyznaczanie optymalnej trasy problem komiwojażera

Wyznaczanie optymalnej trasy problem komiwojażera Wyznaczanie optymalnej trasy problem komiwojażera Optymalizacja w podejmowaniu decyzji Opracowała: mgr inż. Natalia Malinowska Wrocław, dn. 28.03.2017 Wydział Elektroniki Politechnika Wrocławska Plan prezentacji

Bardziej szczegółowo

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.

Bardziej szczegółowo

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5

Bardziej szczegółowo

Digraf. 13 maja 2017

Digraf. 13 maja 2017 Digraf 13 maja 2017 Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami,

Bardziej szczegółowo

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

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy

Bardziej szczegółowo

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

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem MODELE SIECIOWE 1. Drzewo rozpinające (spanning tree) w grafie liczącym n wierzchołków to zbiór n-1 jego krawędzi takich, że dowolne dwa wierzchołki grafu można połączyć za pomocą krawędzi należących do

Bardziej szczegółowo

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

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy

Bardziej szczegółowo

PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP.

PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP. P O L I T E C H N I K A S Z C Z E C I Ń S K A Wydział Informatyki PRZETWARZANIE RÓWNOLEGŁE I ROZPROSZONE. Mnożenie macierzy kwadratowych metodą klasyczną oraz blokową z wykorzystaniem OpenMP. Autor: Wojciech

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa

Bardziej szczegółowo

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

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ). Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze

Bardziej szczegółowo

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności

Bardziej szczegółowo

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional

Bardziej szczegółowo

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

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych. Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf

Bardziej szczegółowo

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

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation) Jest to technika probabilistyczna rozwiązywania problemów obliczeniowych, które mogą zostać sprowadzone do problemu znalezienie

Bardziej szczegółowo

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Egzamin, AISDI, I termin, 18 czerwca 2015 r. Egzamin, AISDI, I termin, 18 czerwca 2015 r. 1 W czasie niezależnym do danych wejściowych działają algorytmy A. sortowanie bąbelkowego i Shella B. sortowanie szybkiego i przez prosty wybór C. przez podział

Bardziej szczegółowo

Przykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi:

Przykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi: Przetwarzanie równoległe PROJEKT OMP Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego w komputerze równoległym z procesorem wielordzeniowym z pamięcią współdzieloną.

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

Wykorzystanie algorytmów mrówkowych w dynamicznym problem Wykorzystanie algorytmów mrówkowych w dynamicznym problemie marszrutyzacji Promotor: dr inż. Aneta Poniszewska-Marańda Współpromotor: mgr inż. Łukasz Chomątek 18 stycznia 2013 Przedmiot i cele pracy dyplomowej

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................

Bardziej szczegółowo

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1 Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing

Bardziej szczegółowo

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

a) 7 b) 19 c) 21 d) 34 Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie

Bardziej szczegółowo

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew 1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;

Bardziej szczegółowo

Spis treści. Przykład. Przykład 1 Przykład 2. Twórcy Informacje wstępne Pseudokod Przykład. 1 Grafy skierowane z wagami - przypomnienie

Spis treści. Przykład. Przykład 1 Przykład 2. Twórcy Informacje wstępne Pseudokod Przykład. 1 Grafy skierowane z wagami - przypomnienie Algorytmy Grafowe dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie b.wozna@ujd.edu.pl Wykład 1,11,1 B. Woźna-Szcześniak (UJD) Algorytmy

Bardziej szczegółowo

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM Mostefa Mohamed-Seghir Akademia Morska w Gdyni PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM W artykule przedstawiono propozycję zastosowania programowania dynamicznego do rozwiązywania

Bardziej szczegółowo

Minimalne drzewa rozpinające

Minimalne drzewa rozpinające KNM UŚ 26-28 listopada 2010 Ostrzeżenie Wprowadzenie Motywacja Definicje Niektóre pojęcia pojawiające się podczas tego referatu są naszymi autorskimi tłumaczeniami z języka angielskiego. Nie udało nam

Bardziej szczegółowo

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo

Bardziej szczegółowo

Równoległość i współbieżność

Równoległość i współbieżność Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna

Bardziej szczegółowo

Równoległość i współbieżność

Równoległość i współbieżność Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna

Bardziej szczegółowo

10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu

10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu Literatura 1. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 2. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010. 3. Designing

Bardziej szczegółowo

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:

Bardziej szczegółowo

Task Parallel Library

Task Parallel Library Task Parallel Library Daan Leijen, Wolfram Schulte, and Sebastian Burckhardt prezentacja Michał Albrycht Agenda O potrzebie zrównoleglania Przykłady użycia TPL Tasks and Replicable Tasks Rozdzielanie zadań

Bardziej szczegółowo

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych inż. Marek Duczkowski Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych słowa kluczowe: algorytm gradientowy, optymalizacja, określanie wodnicy W artykule

Bardziej szczegółowo

Programowanie sieciowe. Tadeusz Trzaskalik

Programowanie sieciowe. Tadeusz Trzaskalik Programowanie Tadeusz Trzaskalik 8.1. Wprowadzenie Słowa kluczowe Drzewo rozpinające Minimalne drzewo rozpinające Najkrótsza droga w sieci Wierzchołek początkowy Maksymalny przepływ w sieci Źródło Ujście

Bardziej szczegółowo

System obliczeniowy laboratorium oraz. mnożenia macierzy

System obliczeniowy laboratorium oraz. mnożenia macierzy System obliczeniowy laboratorium.7. oraz przykładowe wyniki efektywności mnożenia macierzy opracował: Rafał Walkowiak Materiały dla studentów informatyki studia niestacjonarne październik 1 SYSTEMY DLA

Bardziej szczegółowo

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

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE STOPNIE Z INFORMATYKI W KLASIE 8 opracowane na podstawie podręcznika

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE STOPNIE Z INFORMATYKI W KLASIE 8 opracowane na podstawie podręcznika WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE STOPNIE Z INFORMATYKI W KLASIE 8 opracowane na podstawie podręcznika Informatyka Europejczyka. Podręcznik do informatyki dla szkoły podstawowej. Klasa 8. Prowadzące:

Bardziej szczegółowo

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy Testowanie układów kombinacyjnych Przykładowy układ Wykrywanie błędów: 1. Sklejenie z 0 2. Sklejenie z 1 Testem danego uszkodzenia nazywa się takie wzbudzenie funkcji (wektor wejściowy), które daje błędną

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Wydział Matematyki i Informatyki Instytut Informatyki i

Bardziej szczegółowo

AiSD zadanie trzecie

AiSD zadanie trzecie AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

Rys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A

Rys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A Ostatnim elementem przykładu jest określenie związku pomiędzy czasem trwania robót na planowanym obiekcie a kosztem jego wykonania. Związek ten określa wzrost kosztów wykonania realizacji całego przedsięwzięcia

Bardziej szczegółowo

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym.

Problem komiwojażera ACO. Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym. Problem komiwojażera ACO Zagadnienie optymalizacyjne, polegające na znalezieniu minimalnego cyklu Hamiltona w pełnym grafie ważonym. -Wikipedia Problem do rozwiązania zazwyczaj jest przedstawiany jako

Bardziej szczegółowo

KONCEPCJA BAZY DANYCH NAWIGACYJNO-HYDROGRAFICZNEGO ZABEZPIECZENIA (NHZ) NA POLSKICH OBSZARACH MORSKICH

KONCEPCJA BAZY DANYCH NAWIGACYJNO-HYDROGRAFICZNEGO ZABEZPIECZENIA (NHZ) NA POLSKICH OBSZARACH MORSKICH ZESZYTY NAUKOWE AKADEMII MARYNARKI WOJENNEJ ROK LII NR 3 (186) 2011 Czesł aw Dyrcz Akademia Marynarki Wojennej KONCEPCJA BAZY NAWIGACYJNO-HYDROGRAFICZNEGO ZABEZPIECZENIA (NHZ) NA POLSKICH OBSZARACH MORSKICH

Bardziej szczegółowo

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

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda Segmentacja obrazów cyfrowych Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp autor: Łukasz Chlebda 1 Segmentacja obrazów cyfrowych - temat pracy Temat pracy: Aplikacja do segmentacji

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

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

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA? /9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń równoległych Podobnie jak w obliczeniach sekwencyjnych, gdzie celem optymalizacji wydajności było maksymalne

Bardziej szczegółowo

Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe

Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe I. Struktury sterujące.bezpośrednie następstwo (A,B-czynności) Wykład _2 Algorytmy sortowania tablic Sortowanie bąbelkowe Elementy języka stosowanego do opisu algorytmu Elementy Poziom koncepcji Poziom

Bardziej szczegółowo

OPTYMALIZACJA ZBIORNIKA NA GAZ PŁYNNY LPG

OPTYMALIZACJA ZBIORNIKA NA GAZ PŁYNNY LPG Leon KUKIEŁKA, Krzysztof KUKIEŁKA, Katarzyna GELETA, Łukasz CĄKAŁA OPTYMALIZACJA ZBIORNIKA NA GAZ PŁYNNY LPG Streszczenie Praca dotyczy optymalizacji kształtu zbiornika toroidalnego na gaz LPG. Kryterium

Bardziej szczegółowo

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Programowanie rekurencyjne: ZALETY: - prostota - naturalność sformułowania WADY: - trudność w oszacowaniu zasobów (czasu i pamięci) potrzebnych do realizacji Czy jest możliwe wykorzystanie

Bardziej szczegółowo

PROJEKT 3 PROGRAMOWANIE RÓWNOLEGŁE. K. Górzyński (89744), D. Kosiorowski (89762) Informatyka, grupa dziekańska I3

PROJEKT 3 PROGRAMOWANIE RÓWNOLEGŁE. K. Górzyński (89744), D. Kosiorowski (89762) Informatyka, grupa dziekańska I3 PROJEKT 3 PROGRAMOWANIE RÓWNOLEGŁE K. Górzyński (89744), D. Kosiorowski (89762) Informatyka, grupa dziekańska I3 17 lutego 2011 Spis treści 1 Opis problemu 2 2 Implementacja problemu 3 2.1 Kod współdzielony........................

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Implementacja i porównanie wydajności wybranych algorytmów grafowych w warunkach obliczeń równoległych Autor pracy: Michał Podstawski Promotor: Prof. WSTI, dr hab.

Bardziej szczegółowo

Algorytmy dla maszyny PRAM

Algorytmy dla maszyny PRAM Instytut Informatyki 21 listopada 2015 PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań

Bardziej szczegółowo

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

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

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

Przetwarzanie Równoległe i Rozproszone

Przetwarzanie Równoległe i Rozproszone POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNOLOGII INFORMACYJNYCH Przetwarzanie Równoległe i Rozproszone www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Bardziej szczegółowo

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, w głąb. Spis treści: 1. Wprowadzenie 3. str. 1.1 Krótki Wstęp

Bardziej szczegółowo

Metody uporządkowania

Metody uporządkowania Metody uporządkowania W trakcie faktoryzacji macierzy rzadkiej ilość zapełnień istotnie zależy od sposobu numeracji równań. Powstaje problem odnalezienia takiej numeracji, przy której: o ilość zapełnień

Bardziej szczegółowo

Zastosowanie teorii grafów w Geograficznych Systemach Informacyjnych

Zastosowanie teorii grafów w Geograficznych Systemach Informacyjnych 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

Bardziej szczegółowo

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski Jak ujarzmić hydrę czyli programowanie równoległe w Javie dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski Prawo Moore a Ekonomicznie optymalna liczba tranzystorów w układzie scalonym zwiększa się

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Grafy dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 9 1 / 53

Bardziej szczegółowo

PRACA DYPLOMOWA MAGISTERSKA

PRACA DYPLOMOWA MAGISTERSKA Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania PRACA DYPLOMOWA MAGISTERSKA Konstrukcja autonomicznego robota mobilnego Małgorzata Bartoszewicz Promotor: prof. dr hab. inż. A. Milecki Zakres

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

TRANSCOMP XIV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT

TRANSCOMP XIV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT TRANSCOMP XIV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT Dariusz PIELKA 1 GPS, najlepsze trasy, oprogramowanie, testy urządzeń GPS ANALIZA WYBORU NAJLEPSZYCH TRASY

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

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

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

Teoria obliczeń i złożoność obliczeniowa

Teoria obliczeń i złożoność obliczeniowa Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy

Bardziej szczegółowo

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Kamil Halbiniak Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok IV Instytut Informatyki Teoretycznej i Stosowanej

Bardziej szczegółowo

Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1

Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1 Procesy i wątki Krzysztof Banaś Obliczenia równoległe 1 Procesy i wątki Proces: ciąg rozkazów (wątek główny) i ewentualnie inne wątki stos (wątku głównego) przestrzeń adresowa dodatkowe elementy tworzące

Bardziej szczegółowo

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2014 Seria: TRANSPORT z. 82 Nr kol. 1903

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2014 Seria: TRANSPORT z. 82 Nr kol. 1903 ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2014 Seria: TRANSPORT z. 82 Nr kol. 1903 Piotr FOLĘGA 1 DOBÓR ZĘBATYCH PRZEKŁADNI FALOWYCH Streszczenie. Różnorodność typów oraz rozmiarów obecnie produkowanych zębatych

Bardziej szczegółowo

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Wykład 8. Drzewo rozpinające (minimum spanning tree) Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,

Bardziej szczegółowo

Moc płynąca z kart graficznych

Moc płynąca z kart graficznych Moc płynąca z kart graficznych Cuda za darmo! Czyli programowanie generalnego przeznaczenia na kartach graficznych (GPGPU) 22 października 2013 Paweł Napieracz /20 Poruszane aspekty Przetwarzanie równoległe

Bardziej szczegółowo

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski

Systemy mrówkowe. Opracowali: Dawid Strucker, Konrad Baranowski Systemy mrówkowe Opracowali: Dawid Strucker, Konrad Baranowski Wprowadzenie Algorytmy mrówkowe oparte są o zasadę inteligencji roju (ang. swarm intelligence). Służą głównie do znajdowania najkrótszej drogi

Bardziej szczegółowo

PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH

PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH CZESŁAW KULIK PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH Duże systemy przemysłowe, jak kopalnie, kombinaty metalurgiczne, chemiczne itp., mają złożoną

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Harmonogramowanie przedsięwzięć

Harmonogramowanie przedsięwzięć Harmonogramowanie przedsięwzięć Mariusz Kaleta Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska luty 2014, Warszawa Politechnika Warszawska Harmonogramowanie przedsięwzięć 1 / 25 Wstęp

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych

Bardziej szczegółowo

Wykład 10 Grafy, algorytmy grafowe

Wykład 10 Grafy, algorytmy grafowe . Typy złożoności obliczeniowej Wykład Grafy, algorytmy grafowe Typ złożoności oznaczenie n Jedna operacja trwa µs 5 logarytmiczna lgn. s. s.7 s liniowa n. s.5 s. s Logarytmicznoliniowa nlgn. s.8 s.4 s

Bardziej szczegółowo

ZESZYTY NAUKOWE NR 11(83) AKADEMII MORSKIEJ W SZCZECINIE. Dynamiczne programowanie trasy statku z uwzględnieniem omijania cyklonów tropikalnych

ZESZYTY NAUKOWE NR 11(83) AKADEMII MORSKIEJ W SZCZECINIE. Dynamiczne programowanie trasy statku z uwzględnieniem omijania cyklonów tropikalnych ISSN 1733-8670 ZESZYTY NAUKOWE NR 11(83) AKADEMII MORSKIEJ W SZCZECINIE IV MIĘDZYNARODOWA KONFERENCJA NAUKOWO-TECHNICZNA E X P L O - S H I P 2 0 0 6 Piotr Medyna, Bernard Wiśniewski, Jarosław Chomski Dynamiczne

Bardziej szczegółowo

Metody optymalizacji soft-procesorów NIOS

Metody optymalizacji soft-procesorów NIOS POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011

Bardziej szczegółowo