Algorytmizacja procesu wyznaczania długości ścieżek w sieci rozbudowanej podstawą optymalizacji zagadnień transportowych
|
|
- Sławomir Górski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Ignaciuk Szymon 1, Wawrzosek Jacek 2, Kubera Elżbieta 3, Baryła-Paśnik Małgorzata 4, Piekarski Wiesław 5 Uniwersytet Przyrodniczy w Lublinie Algorytmizacja procesu wyznaczania długości ścieżek w sieci rozbudowanej podstawą optymalizacji zagadnień transportowych Wstęp Wiele systemów transportowych, dystrybucyjnych i komunikacyjnych jest projektowana i badana za pomocą modeli sieciowych. Przykładami takich systemów mogą być sieci dróg, trasy komunikacji miejskiej, sieci telefoniczne, sieci komputerowe, sieci gazowe i sieci rozdziału energii elektrycznej. Problemy transportowe miast, firm czy państwa bywają modelowane z wykorzystaniem grafu reprezentującego sieć dróg. Ponadto wiele problemów zarządzania przedsiębiorstwem, planowania produkcji, problemy transportu wewnątrzzakładowego lub sterowania procesami aparaturowymi w przemyśle można sprowadzić do zadania maksymalizacji lub minimalizacji przepływu przez sieć. Metody rozwiązujące dla tego typu zadań nazywane są metodami sieciowymi lub metodami programowania sieciowego [6, 13, 14, 15]. Grafy reprezentujące te problemy bywają tak duże, że analiza ich bez pomocy komputera jest praktycznie niemożliwa. Możliwości rozwiązywania problemów rzeczywistych technikami sieciowymi są więc takie jak możliwości analizy dużych sieci za pomocą komputera. Efektywne algorytmy rozwiązywania problemów sieciowych mają zatem duże znaczenie praktyczne [12]. Sposoby reprezentacji grafów Graf nieskierowany G = (V, E) składa się ze skończonego zbioru wierzchołków V= {vl, v2,..., vn} i skończonego zbioru krawędzi E = {e1, e2,, em}. Oznaczmy V= V =n, E= E =m. Do reprezentacji grafów nadają się takie struktury danych jak: tablice, listy, drzewa (por. tabela 1). Każda z tych reprezentacji posiada swoje specyficzne cechy, które ułatwiają w pewnych przypadkach realizację wybranych algorytmów grafowych [2, 3, 9]. Tab. 1 Złożoność pamięciowa różnych sposobów reprezentacji grafów Sposoby reprezentacji grafów Złożoność pamięciowa macierz sąsiedztwa lub przyległości (ang. adjacency matrix) O(V 2 ) lista sąsiedztwa (ang. adjacency list) O(V+E) lista krawędzi O(E) macierz incydencji (ang. incidence matrix) O(E V) macierz grafu (ang. graph matrix) O((V+2) 2 ) Reprezentacja tablicowa wydaje się najbardziej dominująca. Dwuwymiarowa tablica, w której wiersze będą oznaczały wierzchołki początkowe krawędzi grafu, a kolumny ich wierzchołki końcowe opisuje graf nosi nazwę tablicy adiacencji. W tablicy tej jedynka na pozycji (x, y) oznacza, że pomiędzy wierzchołkami x i y istnieje krawędź skierowana (łuk) w stronę y. W każdym innym przypadku będzie 0. Zaletą takiej reprezentacji grafów jest prostota w implementacji, a wadą ustalona z góry liczba wierzchołków grafu. W praktyce lista sąsiedztwa (oraz jej odpowiadająca tablica incydencji) okazuje się efektywniejszą reprezentacją grafu, gdy bada się grafy rzadkie tj. grafy o liczbie wierzchołków wielokrotnie przewyższającej ilość krawędzi. 1 Szymon Ignaciuk, Uniwersytet Przyrodniczy w Lublinie, Katedra Zastosowań Matematyki i Informatyki 2 Jacek Wawrzosek, Uniwersytet Przyrodniczy w Lublinie, Katedra Zastosowań Matematyki i Informatyki 3 Elżbieta Kubera, Uniwersytet Przyrodniczy w Lublinie, Katedra Zastosowań Matematyki i Informatyki 4 Małgorzata Baryła-Paśnik, Uniwersytet Przyrodniczy w Lublinie, Katedra Energetyki i Środków Transportu 5 Wiesław Piekarski, Uniwersytet Przyrodniczy w Lublinie, Katedra Energetyki i Środków Transportu Logistyka 5/
2 Macierz rzadka i pełna Macierzą rzadką nazywana jest macierz, w której większość elementów ma wartość zero. Macierze rzadkie stanowią jeden z głównych obszarów zainteresowań metod numerycznych, a wykorzystywane są w teorii grafów oraz dyscyplinach pochodnych stosujących teorię grafów. Do przechowywania i operacji na macierzach rzadkich w komputerach stosuje się specjalne algorytmy i struktury danych, które optymalnie wykorzystują strukturę macierzy rzadkich. Główną zaletą macierzy rzadkiej jest oszczędny jej zapis nie wymagający blokowania dużej pamięci na zapisywanie zer oraz modyfikacja algorytmu obliczeniowego w celu automatycznego wyeliminowania zbędnych operacji z udziałem zer. Dlatego algorytmy opracowane dla macierzy rzadkich są zwykle wielokrotnie szybsze od analogicznych algorytmów dla macierzy gęstych. Dzięki zastosowaniu specjalnych struktur danych, przechowywanie i operacje na macierzach rzadkich wiążą się ze znacznie mniejszym zużyciem pamięci operacyjnej niż w przypadku macierzy gęstych o tych samych rozmiarach. Efektywność metody macierzy rzadkich w zakresie oszczędności pamięci jest dość oczywista i zależy ona głównie od wielkości tej macierzy. Oszczędność w zajętości pamięci może być niekiedy kilkudziesięciokrotna. Macierze rzadkie spotykane w zastosowaniach praktycznych często mają tak wielki rozmiar, że jakiekolwiek operacje na nich za pomocą standardowych algorytmów byłyby zupełnie niemożliwe. Przy tym nie istnieje ścisłe kryterium pozwalające odróżniać macierze rzadkie od gęstych. W praktyce określenie jakiejś macierzy jako rzadkiej oznacza, że opłaca się operować na niej za pomocą algorytmów przeznaczonych dla macierzy rzadkich. Najkrótsze ścieżki w grafie nieskierowanym Znanym zagadnieniem teorii badań operacyjnych jest wyznaczanie najkrótszej ścieżki w grafie nieskierowanym pomiędzy dwoma węzłami tej sieci. Algorytm Dijkstry [5], służy do znajdowania najkrótszej ścieżki z pojedynczego źródła w grafie o nieujemnych wagach krawędzi. Z algorytmu Dijkstry można skorzystać przy obliczaniu najkrótszej ścieżki do danej miejscowości np. przy problemach zwózki mleka. Wystarczy przyjąć, że każdy z punktów skrzyżowań dróg to jeden z wierzchołków grafu, a odległości między punktami to wagi krawędzi. Algorytm ten nie działa, jeśli w grafie występują krawędzie z ujemnymi wagami w tym wypadku używa się wolniejszego, lecz bardziej ogólnego algorytmu Bellmana-Forda. Jeśli graf nie jest ważony (wszystkie wagi mają wielkość 1), zamiast algorytmu Dijkstry wystarczy algorytm przeszukiwania grafu wszerz. Algorytm A* jest pewnym uogólnieniem algorytmu Dijkstry, które pozwala przeszukiwać tylko część grafu, jednak wymaga dodatkowej wstępnej informacji (heurystyki) o odległościach wierzchołków. Odmianą powyższego zagadnienia jest problem znalezienia najkrótszych ścieżek pomiędzy wszystkimi parami węzłów grafu. Wydawać by się mogło, że do rozwiązania drugiego zagadnienia wystarczy zastosować dowolny algorytm wyznaczający długość najkrótszej ścieżki dla wszystkich par węzłów grafów. Takie podejście byłoby jednak nieefektywne (por. metoda wg. algorytmu Dijkstry dla danych z analizowanego przykładu 1; tabela 7). Stąd odmienność algorytmów stosowanych w tych dwóch oddzielnych zagadnieniach. Najkrótsze ścieżki pomiędzy wszystkimi wierzchołkami znajdują m.in.: 1) algorytm oparty na mnożeniu macierzy, 2) algorytm Floyda-Warshalla lub 3) algorytm Johnsona. Algorytm Johnsona wykorzystuje algorytmy Dijkstry i Bellmana-Forda i dla grafów rzadkich jest asymptotycznie szybszy od algorytmu Floyda-Warshalla. W tej pracy zaproponowano i zaprezentowano autorski algorytm etapowy wyznaczający najkrótsze ścieżki dla wszystkich par spójnego nieskierowanego grafu o nieujemnych wagach na krawędziach oraz porównano go z wybranymi algorytmami znanymi z literatury dla prostego przykładu rzeczywistych odległości pomiędzy kilkunastoma miejscowościami rozpatrywanymi w problemie zwozu mleka od producentów. 146 Logistyka 5/2015
3 Minimalny graf rozpinający wszystkie najkrótsze ścieżki Algorytm Kruskala [10] wyznacza minimalne drzewo rozpinające dla grafu nieskierowanego ważonego, o ile jest on spójny. Innymi słowy, znajduje drzewo zawierające wszystkie wierzchołki grafu, którego waga jest możliwie najmniejsza. Zaś algorytm Dijkstry Prima Jarníka znajdowania minimalnego drzewa rozpinającego oparty jest o bardzo podobny pomysł co algorytm Dijkstry. W literaturze przedmiotu wymienia się tu również wielokrotnie, niezależnie na nowo odkrywany algorytm Borůvki [13, 14]. Te trzy deterministyczne algorytmy zachłanne w swej wersji podstawowej mają złożoność obliczeniową liniowo-logarytmiczną (tj. O(E logv)). Już Held i Karp [7, 8] zamieszczają informację o związku pomiędzy zagadnieniem minimalnego drzewa rozpinającego a problemem komiwojażera. Techniki opracowane i zawarte w obecnej pracy służyć mają rozwiązywaniu problemów związanych z szeroko rozumianymi zagadnieniami transportowymi m.in. z problemem komiwojażera i związanym z nim praktycznym zagadnieniem zwozu mleka przez mleczarnie. Stąd zainteresowanie autorów nieco szerszym problemem minimalnego grafu rozpinającego wszystkie najkrótsze ścieżki. Do tego problemu nawiązujemy poniżej. Złożoność obliczeniowa algorytmów zależy od implementacji (por. tabela 2). Szerzej określaniem ilości zasobów takich jak czas, pamięć lub liczba procesorów niezbędnych do rozwiązania problemów obliczeniowych zajmuje się teoria złożoności obliczeniowej [4]. Tab. 2 Obliczeniowa złożoność czasowa i pamięciowa wybranych algorytmów Algorytm Obliczeniowa złożoność czasowa Złożoność pamięciowa Dijkstry O(V); O(V 2 ); O(E logv); O(V logv+e) Bellmana-Forda O(E V) O(V) A* O(E) O(V) oparty na mnożeniu macierzy O(V 3 logv) Floyda-Warshalla O(V 3 ) O(V 2 ) Johnsona O(V 2 logv+v E) Kruskala O(E logv) Dijkstry Prima Jarníka O(E logv); O(V logv+e) Borůvki O(E logv); O(E logv-v) Cel pracy i odwracalność procedury Współczesne techniki informatyczne pozwalają na przechowywanie w pamięci komputera pełnych danych [11] zawierających informację obejmującą minimalną odległość między dwoma dowolnymi węzłami sieci i ciąg węzłów opisujących tą najkrótszą ścieżkę. W oparciu o taką istniejącą bazę można dokonywać optymalizacji procesów transportowych. Celem pracy jest skonstruowanie nowego algorytmu etapowego, który na bazie wag przypisanych krawędziom grafu nieskierowanego (interpretowanymi jako odległości między dwoma węzłami) wyznacza macierz najkrótszych odległości między wszystkimi węzłami grafu (jeśli jest on spójny) oraz ścieżki po której proces ten będzie realizowany. Proces ten prowadzi do zastąpienia macierzy rzadkiej przez macierzą pełną. Równocześnie proces modelowania stanowi przejście pomiędzy zagadnieniami z zakresu teorii grafów a teorii przestrzeni metrycznych. Tak utworzona macierz pełna może stanowić podstawę do tworzenia bazy pełnych cykli Hamiltona lub innych zagadnień systemów transportowych za pomocą klasycznych algorytmów [6, 13, 14, 15]. Dodatkowo celem tej pracy jest: 1. Pokazanie wykorzystania algorytmu etapowego dla rzeczywistych danych pochodzących z zagadnień przemysłu mleczarskiego [1], 2. Wstępne porównanie algorytmu etapowego ze znanymi algorytmami dla przykładowych danych. 3. Wskazanie dodatkowych zalet analizowanego algorytmu. Gdy już z rzadkiej macierzy odległości w spójnej sieci nieskierowanej potrafimy utworzyć pełną macierz minimalnych odległości między wszystkimi węzłami, powstaje następujące docelowe pytanie odwrotne: Logistyka 5/
4 Jak utworzyć z niej macierz minimalnych odległości maksymalnie rzadką? Oznacza to, z których ścieżek można zrezygnować by nie wydłużyć najkrótszych połączeń drogowych? Innymi słowy chodzi o minimalny graf rozpinający wszystkie najkrótsze ścieżki. Ewentualnie graf rozpinający ścieżki, w których najkrótsze połączenia różnią się od najkrótszych ścieżek z zadaną z góry dokładnością. Pozwoli to na zbliżoną do rzeczywistości reprezentację macierzy odległości za pomocą grafu i równocześnie uproszczenie sposobu zapisu macierzy odległości w pamięci komputera. By móc to zagadnienie skutecznie kontrolować cała procedura musi być odwracalna. Stąd we wstępnym kroku tych prac opisujemy jej działanie w jedną stronę. Algorytm etapowy Zaproponowany w tej pracy algorytm etapowy to algorytm dynamiczny, tzn. taki, który w kolejnych etapach wykorzystuje informacje uzyskane w etapach poprzednich. Algorytm na k-tym etapie znajduje wszystkie najkrótsze ścieżki o co najwyżej k pośrednikach pomiędzy wybranymi parami węzłów. Wynik w k-tym kroku zapisywany jest w macierzy o nazwie odleglosci. Dodatkowo algorytm tworzy, a następnie w kolejnych etapach uzupełnia i nadpisuje macierz ilości pośredników (macierz o nazwie posrednicy) na dotychczas najkrótszej ścieżce łączącej wybrane wierzchołki. Ponadto algorytm tworzy i wypełnia macierz poprzednicy, umożliwiającą odczytanie przebiegu najkrótszej ścieżki pomiędzy wybranymi dwoma węzłami. Macierz ta w wierszu odpowiadającym węzłowi A zawiera numer węzła poprzedzającego węzeł B na ścieżce od A do B. W tej pracy zawarta została wersja algorytmu dla grafu nieskierowanego, tj. takiego, że z założenia odległość od A do B jest równa odległości od B do A. Poniżej zamieszczony jest kod algorytmu w języku MATLAB z odpowiednimi komentarzami. %Algorytm etapowy wyznaczania najkrótszych ścieżek i ich długości miedzy wszystkimi podanymi węzłami. %Dane wejściowe: %PolBezposr macierz rzadka zawierająca długości ścieżek łączących bezpośrednio wybrane węzły, gdzie %NaN występuje, gdy bezpośrednia ścieżka nie istnieje. % Odległość z A do A wynosi 0, przekątna macierzy odległości składa się z zer. % Macierz odległości jest z założenia symetryczna dla grafu nieskierowanego, ale algorytm można przebudować, % by rozwiązywał zagadnienie również dla macierzy niesymetrycznych (dla grafów skierowanych) %maxetap - pozwala kontrolować i ograniczyć ilość pośredników, tzn. można wyznaczyć tylko %ścieżki wiodące przez co najwyżej maxetapow pośredników % %Dane wyjściowe: %odleglosci macierz pełna zawierająca długości najkrótszych ścieżek pomiędzy wszystkimi węzłami A i B %posrednicy - zawiera ilości węzłów na ścieżce od A do B %poprzednicy - zawiera numer węzła poprzedzającego węzeł B na ścieżce z A do B function [odleglosci,posrednicy,poprzednicy]=algorytmetapowy (PolBezposr,maxEtap) if nargin<2 maxetap=n-2; %przygotowanie 3 macierzy do przechowywania: odległości, ilości %pośredników i numerów poprzedniego węzła na najkrótszej ścieżce odleglosci=polbezposr; ilpustych=0; posrednicy=odleglosci; n=size(odleglosci,1); %n - ilość węzłów - macierz z założenia jest kwadratowa poprzednicy=zeros(n,n); for i=1:n for j=(i+1):n if (~ isnan(posrednicy(i,j)) )&(posrednicy(i,j)~=0) posrednicy(i,j)=1; posrednicy(j,i)=1; poprzednicy(i,j)=i; poprzednicy(j,i)=j; else if isnan(posrednicy(i,j)) ilpustych=ilpustych+1; % w pętli algorytm sprawdza ścieżki o coraz większej ilości pośredników % (etap=ilość pośredników na ścieżce) i aktualizuje macierze wyjściowe % tak, by zawierały najkrótsze ścieżki etap=1; bzmiana=true; 148 Logistyka 5/2015
5 while (ilpustych>0 bzmiana) & (etap<=maxetap) % dopóki są puste miejsca w tablicy %odległości lub dopóki poprzedni obrót powodował zmiany, ale etap nie wyższy niż maxetap bzmiana=false; for m=1:n for m1=1:n if posrednicy(m,m1)==etap for m2=1:n if posrednicy(m1,m2)==1 %tylko dojazd bezpośredni if (isnan(odleglosci(m,m2))) (odleglosci(m,m1)+odleglosci(m1,m2))<odleglosci(m,m2) if isnan(odleglosci(m,m2)) ilpustych=ilpustych-1; posrednicy(m,m2)=etap+1; posrednicy(m2,m)=etap+1; odleglosci(m,m2)=odleglosci(m,m1)+odleglosci(m1,m2); odleglosci(m2,m)=odleglosci(m,m2); poprzednicy(m,m2)=m1; poprzednicy(m2,m)=poprzednicy(m1,m); bzmiana=true; etap=etap+1; Algorytm dynamiczny prezentowany w tej pracy można zestawiać również z dynamicznym algorytmem Floyda-Warshalla. Różnicę stanowi przechowywanie w tablicy ilości etapów pośrednich, eliminujące konieczność sprawdzania wszystkich par wierzchołków w danym etapie, jak to ma miejsce w algorytmie Floyda-Warshalla. Różne jest też kryterium zatrzymania się algorytmu. Algorytm Floyda-Warshalla w wersji klasycznej zatrzymuje się po wykonaniu V kroków podczas, gdy zamieszczony w tej pracy zatrzymuje się, gdy w dwóch kolejnych krokach uzyskany wynik jest identyczny. Poniżej zamieszczamy przykład z rzeczywistymi odległościami zaczerpnięty z zagadnień odnoszących się do problemu zwozu mleka z mleczarni. Przykład 1. W tabeli 3 zamieszczone zostały rzeczywiste i bezpośrednie odległości pomiędzy 15 miejscowościami obsługiwanymi przez jedna z mleczarń regionu wschodniej Polski. Na potrzeby optymalizacji problemu zwozu mleka z tych miejscowości konieczne jest wyznaczenie najkrótszych odległości między każdymi dwiema miejscowościami. Nr węzła Skrót Miejscowość R. P. C. T. S. W. Wr. Bo. St. Wo. B. R. Bi. U. Wi. Su. J. P. 1 R. P. Radzyń Podlaski 0 14,9 1,7 13,2 6,5 4,8 1,1 15,6 2 C. Czemierniki 14,9 0 12,5 6 15,9 13,9 9,8 9,4 22,8 3 T. Tchórzew 12,5 0 6,2 4,3 4 S. W. Stara Wieś 6,2 0 2,2 2,9 5 Wr. Wrzosów 2,2 0 6 Bo. Borki 1,7 4,3 2,9 0 14,9 15,1 7 St. Stoczek 6 0 5,7 14,4 22,6 8 Wo. Wohyń 13,2 15,9 0 8,9 12,8 26 7,4 24,6 18,6 9 B. R. Branica Radzyńska 6,5 13,9 8,9 0 14,8 22,7 1 26,4 25,6 10 Bi. Białka 4,8 14,9 12, U. Ulan 1,1 15,1 14, ,9 12 Wi. Wierzchowiny 9,8 5, ,7 0 19,5 5, Su. Suchowola 15,6 9,4 14,4 7,4 1 23,9 19,5 0 18,1 17,4 14 J. Juliopol 24,6 26,4 5,3 18,1 0 18,7 15 P. Parczew 22,8 22,6 18,6 25,6 2 17,4 18,7 0 Tab. 3 Macierz rzadka rzeczywistych odległości bezpośrednich pomiędzy 15 miejscowościami W wyniku zastosowania algorytmu etapowego uzyskuje się trzy macierze zebrane poniżej. Logistyka 5/
6 R. P. C. T. S. W. Wr. Bo. St. Wo. B. R. Bi. U. Wi. Su. J. P. Radzyń Podlaski 0 14,9 6 4,6 6,8 1,7 20,9 13,2 6,5 4,8 1,1 24,7 7,5 25,6 24,9 Czemierniki 14,9 0 12,5 18,7 20,9 16,6 6 15,9 10,4 19,7 16 9,8 9,4 15,1 11,8 Tchórzew 6 12,5 0 6,2 8,4 4,3 18,5 19,2 12,5 10,8 7,1 22,3 13,5 27,6 24,3 Stara Wieś 4,6 18,7 6,2 0 2,2 2,9 24,7 17,8 11,1 9,4 5,7 28,5 12,1 30,2 29,5 Wrzosów 6,8 20,9 8,4 2,2 0 5,1 26, ,3 11,6 7,9 30,7 14,3 32,4 31,7 Borki 1,7 16,6 4,3 2,9 5,1 0 22,6 14,9 8,2 6,5 2,8 26,4 9,2 27,3 26,6 Stoczek 20,9 6 18,5 24,7 26,9 22,6 0 21,8 15,4 25,7 22 5,7 14,4 11 7,7 Wohyń 13,2 15,9 19,2 17, ,9 21,8 0 8,4 12,8 14,3 20,6 7,4 24,6 18,6 Branica Radzyńska 6,5 10,4 12,5 11,1 13,3 8,2 15,4 8,4 0 11,3 7,6 20,2 1 19,1 18,4 Białka 4,8 19,7 10,8 9,4 11,6 6,5 25,7 12,8 11,3 0 5,9 29,5 12,3 30,4 29,7 Ulan 1,1 16 7,1 5,7 7,9 2, ,3 7,6 5,9 0 25,8 8,6 26,7 26 Wierzchowiny 24,7 9,8 22,3 28,5 30,7 26,4 5,7 20,6 20,2 29,5 25,8 0 19,2 5,3 2 Suchowola 7,5 9,4 13,5 12,1 14,3 9,2 14,4 7,4 1 12,3 8,6 19,2 0 18,1 17,4 Juliopol 25,6 15,1 27,6 30,2 32,4 27, ,6 19,1 30,4 26,7 5,3 18,1 0 7,3 Parczew 24,9 11,8 24,3 29,5 31,7 26,6 7,7 18,6 18,4 29, ,4 7,3 0 Tab. 4 Odleglosci. Symetryczna macierz gęsta wszystkich odległości pomiędzy 15 miejscowościami, uzyskana w wyniku zastosowania algorytmu etapowego R. P. C. T. S. W. Wr. Bo. St. Wo. B. R. Bi. U. Wi. Su. J. P. Radzyń Podlaski Czemierniki Tchórzew Stara Wieś Wrzosów Borki Stoczek Wohyń Branica Radzyńska Białka Ulan Wierzchowiny Suchowola Juliopol Parczew Tab. 5 Posrednicy. Symetryczna macierz zawierająca ilość pośredników na najkrótszej ścieżce pomiędzy każdą parą węzłów R. P. C. T. S. W. Wr. Bo. St. Wo. B. R. Bi. U. Wi. Su. J. P. Radzyń Podlaski Czemierniki Tchórzew Stara Wieś Wrzosów Borki Stoczek Wohyń Branica Radzyńska Białka Ulan Wierzchowiny Suchowola Juliopol Parczew Tab. 6 Poprzednicy. Macierz zawierająca numer węzła (tabela 3) poprzedzającego węzeł B na ścieżce od A do B Wstępna analiza działania algorytmu etapowego Porównanie algorytmu etapowego ze znanymi algorytmami dla przykładu 1 Jednym z najważniejszych kryteriów oceny algorytmu jest szybkość jego działania. Stąd dla danych z przykładu 1 określone zostały pierwsze i średnie czasy pracy algorytmu etapowego na tle szybkości działania wybranych algorytmów (tabela 7). 150 Logistyka 5/2015
7 Rodzaj algorytmu czas (s) działania algorytmu w pierwszym wywołaniu Rodzaj algorytmu Tab. 7 Porównanie czasów działania algorytmów dla danych z przykładu 1 Uzyskane w tabeli 7 dane pokazują, że: 1. Szybkość działania algorytmu etapowego jest porównywalna (przynajmniej dla danych z przykładu 1) z szybkością działania algorytmów dedykowanych znajdowaniu najkrótszych ścieżek dla wszystkich par węzłów. Są one tego samego rzędu wielkości. 2. Metoda wg. algorytmu Dijkstry, wyznaczająca najkrótsze ścieżki osobno dla każdej pary węzłów, wypada znacznie słabiej nawet po wprowadzeniu modyfikacji usprawniających jej pracę. Czas działania pierwszego wywołania algorytmów różni się od czasów uzyskiwanych w wywołaniach kolejnych ze względu na konieczności alokacji przez program odpowiedniej ilości miejsca w pamięci komputera. Ścisłe określenie złożoności obliczeniowej algorytmu etapowego wymaga osobnych badań, które nie są częścią tej pracy. Co więcej, algorytm etapowy umożliwia kontrolowanie i ograniczanie ilości pośredników na ścieżce (szerzej o tym w podrozdziale etapowość algorytmu etapowego). To zaś może znacząco skrócić czas jego działania. Stąd wniosek, że wymagane będzie określenie złożoności obliczeniowej algorytmu etapowego w zależności od z góry przyjętej maksymalnej ilości pośredników. Gdyby w wyniku przeprowadzonych dalszych badań udało się uzyskać wyniki analogiczne jak dla analizowanego przykładu 1, to algorytm etapowy okazałby się interesującą alternatywą dla wcześniej wymienionych algorytmów, a posiadając dodatkowe zalety wymienione poniżej w niektórych zagadnieniach stałby się niezastąpiony. Zalety stosowania algorytmu etapowego Etapowość algorytmu etapowego średni czas (s) działania algorytmu wyciągnięty z 9 wywołań Algorytm etapowy 0, Algorytm etapowy 0, Floyd_Warshall 0, Floyd_Warshall 0, Johnson 0, Johnson 0, Dijkstra_modified 0, Dijkstra_modified 0, Dijkstra 0, Dijkstra 0, Algorytm etapowy na tle innych algorytmów posiada interesującą zaletę. W kolejnych etapach jego przebiegu wyznaczone zostają najkrótsze ścieżki spinające wybrane węzły grafu o z góry ograniczonej ilości węzłów pośrednich. Kontrolę ilości pośredników umożliwia zawarta w kodzie określana przez użytkownika zmienna maxetap. Cecha etapowości może być odzyskana z wyników uzyskiwanych przez inne algorytmy, ale wymaga to ich modyfikacji oraz wydłużenia czasu ich działania. W przeciwieństwie do nich, przyjęcie z góry pewnej wartości za zmienną maxetap w algorytmie etapowym skraca czas jego działania (tym bardziej im mniejszą wartość przyjmie opisywany parametr maxetap). Sama cecha etapowości wymagana jest w niektórych zagadnieniach transportowych. Ograniczenie ilości pośredników bywa warunkiem koniecznym lub istotnym realizowanej tam optymalizacji. Do tego typu zagadnień należą: przewóz dóbr o krótkim terminie trwałości lub narażonych na straty na etapach pośrednich, problemy związane z ilością przesiadek, problemy związane z ilością napotykanych centrów miast, ilością czynności biurokratycznych towarzyszących współpracy pośredników, określanie optymalnego planu obrotu informacjami niejawnymi. Algorytm etapowy dla grafów spójnych nieskierowanych/skierowanych a przestrzenie metryczne/quasimetryczne Stosując algorytm etapowy wyznacza się w spójnym nieskierowanym grafie najkrótsze ścieżki pomiędzy wszystkimi parami węzłów. W ten sposób uzyskuje się przestrzeń metryczną, którą stanowią zbiór wszystkich węzłów grafu oraz funkcja przyporządkowująca każdej parze węzłów odległość pomiędzy nimi (odczytywaną z utworzonej macierzy odleglosci). Tak utworzona przestrzeń metryczna sama w sobie stanowi ciekawe uogólnienie przestrzeni o metryce miasto inaczej zwanej metryką taksówkową. Tam poruszanie odbywa się w sposób wyidealizowany jedynie po prostopadłych odcinkach od A do B i tak też mierzy się odległość pomiędzy nimi. Stąd jeszcze inna nazwa tej metryki Manhattan, gdyż jest to jedno z nielicznych miejsc na ziemi dla których ta metryka jest rzeczywistą miarą odległości. Metryka określona macierzą Logistyka 5/
8 odleglosci uzyskaną poprzez zastosowanie algorytmu etapowego odpowiada dowolnym rzeczywistym odległościom. Co pokazuje, że rozważając codzienne problemy komunikacyjne w istocie rozważamy matematyczne problemy transportu w przestrzeni metrycznej. Prowadzone dotychczas rozważania dotyczyły działania algorytmu etapowego dla grafu nieskierowanego. Założenie nieskierowania może być jednak pominięte (macierz rzadka bezpośrednich odległości między wybranymi węzłami grafu jest wtedy niesymetryczna). Jeśli dopuszcza się, że odległość od A do B może być inna niż od B do A, to podany powyżej kod algorytmu etapowego wymagać będzie nieznacznych modyfikacji. Uzyskuje się wtedy również niesymetryczną macierz odleglosci pomiędzy wszystkimi parami węzłów grafu i przestrzeń quasimetryczną, którą stanowią zbiór wszystkich węzłów grafu oraz funkcja przyporządkowująca każdej uporządkowanej parze węzłów odległość pomiędzy nimi (odczytywaną z utworzonej niesymetrycznej macierzy odleglosci, gdzie kolejność węzłów w parze jest istotna). Kwestia skierowania lub nieskierowania grafu jest istotna w logistyce, gdy np. w zagadnieniach transportowych czas transportu od miejscowości A do B jest inny niż od B do A. Algorytm etapowy dla niespójnych grafów nieskierowanych Założenie spójności grafu również może być pominięte. Co więcej założenie to nie jest warunkiem koniecznym działania zamieszczonego powyżej kodu algorytmu etapowego. I tak jeśli dla danych z przykładu 1 usunie się połączenia pomiędzy Starą Wsią a Tchórzewem oraz pomiędzy Starą Wsią a Borkami, to otrzyma się dwa spójne grafy nie mające pomiędzy sobą połączenia. Jeden o dwóch węzłach (Stara Wieś, Wrzosów) i jeden o trzynastu węzłach (13 miejscowości poza Starą Wsią i Wrzosowem). W wyniku zastosowania algorytmu etapowego dla macierzy zawierającej tak zmodyfikowane odległości otrzymuje się po przesortowaniu macierz odleglosci jak w tabeli 8, gdzie NaN oznacza brak połączenia pomiędzy węzłami. Rozszerzenie działania algorytmu na grafy niespójne jest istotne ze względu na możliwość jego zastosowania w szerszej klasie zagadnień logistycznych. Bowiem podejmowane czynności logistyczne pozwalają przeprowadzać operacje również w ramach grafu niespójnego. R. P. C. T. Bo. St. Wo. B. R. Bi. U. Wi. Su. J. P. S. W. Wr. Radzyń Podlaski 0 14,9 6 1,7 20,9 13,2 6,5 4,8 1,1 24,7 7,5 25,6 24,9 NaN NaN Czemierniki 14,9 0 12,5 16,6 6 15,9 10,4 19,7 16 9,8 9,4 15,1 11,8 NaN NaN Tchórzew 6 12,5 0 4,3 18,5 19,2 12,5 10,8 7,1 22,3 13,5 27,6 24,3 NaN NaN Borki 1,7 16,6 4,3 0 22,6 14,9 8,2 6,5 2,8 26,4 9,2 27,3 26,6 NaN NaN Stoczek 20,9 6 18,5 22,6 0 21,8 15,4 25,7 22 5,7 14,4 11 7,7 NaN NaN Wohyń 13,2 15,9 19,2 14,9 21,8 0 8,4 12,8 14,3 20,6 7,4 24,6 18,6 NaN NaN Branica Radzyńska 6,5 10,4 12,5 8,2 15,4 8,4 0 11,3 7,6 20,2 1 19,1 18,4 NaN NaN Białka 4,8 19,7 10,8 6,5 25,7 12,8 11,3 0 5,9 29,5 12,3 30,4 29,7 NaN NaN Ulan 1,1 16 7,1 2, ,3 7,6 5,9 0 25,8 8,6 26,7 26 NaN NaN Wierzchowiny 24,7 9,8 22,3 26,4 5,7 20,6 20,2 29,5 25,8 0 19,2 5,3 2 NaN NaN Suchowola 7,5 9,4 13,5 9,2 14,4 7,4 1 12,3 8,6 19,2 0 18,1 17,4 NaN NaN Juliopol 25,6 15,1 27,6 27, ,6 19,1 30,4 26,7 5,3 18,1 0 7,3 NaN NaN Parczew 24,9 11,8 24,3 26,6 7,7 18,6 18,4 29, ,4 7,3 0 NaN NaN Stara Wieś NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 0 2,2 Wrzosów NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2,2 0 Tab. 8 Posortowana macierz odleglosci dla niespójnego grafu (składającego się z dwóch spójnych podgrafów) Wnioski 1. Algorytm etapowy wyznacza długość najkrótszej ścieżki pomiędzy każdymi dwoma węzłami grafu spójnego nieskierowanego (macierz odleglosci; tabela 4), nadto ilość pośredników na tej ścieżce (macierz posrednicy; tabela 5) jak i przebieg samej ścieżki (odczytywany z macierz poprzednicy; tabela 6). 2. Algorytm etapowy wykrywa w grafie występowanie ścieżek z pośrednikami krótszych niż ścieżki bezpośrednio łączące węzły. I tak bezpośrednia odległość pomiędzy Suchowolą a Radzyniem Podlaskim wynosi 15,6 km (tabela 3), a wyznaczona przez algorytm i zawarta w macierzy odleglosci (tabela 4 kolor szary) wynosi 7,5 km. 3. Macierz rzadka rzeczywistych odległości bezpośrednich pomiędzy 15 miejscowościami (tabela 3) nie odpowiada minimalnemu grafowi rozpinającemu wszystkie najkrótsze ścieżki. Fakt ten ujawnia poprzedni wniosek. Problem utworzenia minimalnego grafu rozpinającego wszystkie najkrótsze ścieżki należy podjąć w kolejnej pracy. 152 Logistyka 5/2015
9 4. Wstępna analiza czasu działania algorytmu etapowego wskazuje na jego alternatywność względem klasycznie stosowanych algorytmów. Zagadnienie wymaga dalszych pogłębionych badań. 5. Algorytm etapowy posiada cechę etapowości konieczną lub istotną dla pewnej klasy zagadnień transportowych i mogącą skracać czas jego działania. 6. Algorytm etapowy działa również dla grafów niespójnych, zaś dla skierowanych wymaga nieznacznych modyfikacji. Fakty te istotnie poszerzają zakres zastosowań algorytmu także na inne zagadnienia logistyczne. Streszczenie Matematyczne metody optymalizacyjne służą jako narzędzie wykorzystywane przy podejmowaniu decyzji w działalności transportowej. Graf jest powszechnie stosowany do prezentacji problemów logistycznych. Znanym zagadnieniem w literaturze przedmiotu jest wyznaczanie najkrótszej ścieżki w grafie nieskierowanym o nieujemnych wagach na krawędziach pomiędzy dwoma węzłami tej sieci. Odmianą tego zagadnienia jest problem znalezienia najkrótszych ścieżek pomiędzy wszystkimi parami węzłów grafu. Działanie takie w zakresie zagadnień transportowych ma na celu utworzenie pełnej macierzy odległości między wszystkimi węzłami grafu (wyznaczenie najkrótszych odległości między wszystkimi punktami nadania i odbioru towaru). Współczesne techniki informatyczne pozwalają na przechowywanie w pamięci komputera pełnych danych zawierających informację obejmującą odległość między dwoma dowolnymi węzłami sieci i ciąg węzłów opisujących tą najkrótszą ścieżkę. W oparciu o taką istniejącą bazę można dokonywać optymalizacji procesów transportowych. Celem pracy jest wskazanie algorytmu, który na bazie wag przypisanych krawędziom grafu nieskierowanego (interpretowanymi jako odległości między dwoma węzłami) wyznacza macierz najkrótszych odległości między wszystkimi węzłami grafu oraz dodatkowo wyznacza ścieżki najkrótszych połączeń. Proces ten prowadzi m.in. do zastąpienia macierzy rzadkiej przez macierzą pełną. Równocześnie proces modelowania stanowi przejście pomiędzy zagadnieniami z zakresu teorii grafów a teorii przestrzeni metrycznych. Tak utworzona macierz pełna może stanowić podstawę do tworzenia bazy pełnych cykli Hamiltona lub innych zagadnień systemów transportowych. Wstępna analiza zaproponowanego tu algorytmu etapowego wskazuje, że jest on porównywalny ze znanymi algorytmami, a w niektórych przypadkach działa nawet szybciej. Kolejnym krokiem w następnej pracy będą czynności odwrotne do opisanych powyżej. Połączenie obu procedur pozwala na kontrolę procesu tworzenia minimalnego grafu rozpinającego wszystkie najkrótsze ścieżki, ewentualnie tworzenie drzewa rozpinającego ścieżki, w których najkrótsze połączenia różnią się od najkrótszych dróg z zadaną z góry dokładnością. Wskazano możliwość wykorzystania wyników w optymalizacji transportu w przemyśle mleczarskim. Słowa kluczowe: spójny graf nieskierowany, macierz odległości, macierz rzadka, optymalizacja, cykl Hamiltona ALGORITHMIZATION OF THE PROCESS DETERMINING THE LENGTH OF PATHS IN EXPANDED NETWORKS Abstract A well-known issue in the professional literature is how to determine the shortest path in an undirected graph with non-negative weighted edges between two network nodes. A variation of this issue is to find the shortest paths between all the node pairs of a graph. Modern techniques allow one to store in the computer memory complete data containing information about the distance between any two network nodes and a sequence of nodes describing the shortest path. On the basis of such existing databases optimisation of transportation processes can be undertaken. This study aims at showing an algorithm that basing on the weights of an undirected graph edges (interpreted as the distance in some node pairs) determines the shortest distance matrix between all the nodes of the graph and additionally determines paths of shortest connections. This process leads to the replacement of a sparse matrix by a full matrix. The simultaneous modelling process forms transition between issues of the graph theory and the theory of metric spaces. The full matrix formed this way may l itself to create the base of complete Hamilton cycles or other issues in transportation systems. An initial analysis of the stage-form algorithm proposed here indicates that it is comparable with known algorithms, and in some cases it works even faster. The next step in the subsequent study will consist in operations being reversed in comparison to the ones described above. Combining both procedures Logistyka 5/
10 will allow for controlling the process of creating a minimal graph spanning all the shortest paths, and possibly creating a graph spanning paths, whose shortest connections differ from the shortest paths with predetermined accuracy. The possibility of using the results for optimisation of transport in the dairy industry was shown. Keywords: connected undirected graph, distance matrix, optimization, sparse matrix, Hamiltonian cycle Literatura 1. Baryła-Paśnik M., Piekarski W., Ignaciuk Sz., Piecak A., Wawrzosek J., Kuna-Broniowska I., 2014: Przegląd metod optymalizacji procesów transportowych w przemyśle rolno-spożywczym ze szczególnym uwzględnieniem przemysłu mleczarskiego. Logistyka 2014 nr 6 dodatek CD ROM nr 4, s Błażewicz J., Pesch E., Sterna M. 2000: The disjunctive graph machine representation of the job shop scheduling problem. European Journal of Operational Research, 127, Błażewicz J., Pesch E., Sterna M. 2005: A novel representation of graph structures in web mining and data analysis. Omega vol. 33, Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. 2007: Wprowadzenie do algorytmów. WNT. 5. Dijkstra E.W. 1959: A note on two problems in connexion with graphs. In Numerische Mathematik, 1, Fronczak A., Fronczak P. 2009: Świat sieci złożonych : od fizyki do Internetu. Wydawnictwo Naukowe PWN, Warszawa. 7. Held M., Karp R.M. 1970: The traveling-salesman problem and minimum spanning trees, Operations Research 18, Held M., Karp R.M. 1971: The traveling-salesman problem and minimum spanning trees: part II. Mathematical Programming 1, Knasiecki M. 2005: Grafy i ich reprezentacje Kruskal J. B. 1956: On the shortest spanning subtree of a graph and the traveling salesman problem. In Proceedings of the American Mathematical Society, vol. 7, no. 1, Odrzywolek A. 2009: Aproksymacja funkcji wielu zmiennych. Instytut Fizyki UJ Kraków Rydzak R. 2002: Sieciowe problemy optymalizacji Sikora W. (ed.) 2008: Badania operacyjne. PWE, Warszawa. 14. Trzaskalik T. 2008: Wprowadzenie do badań operacyjnych z komputerem. PWE, Warszawa. 15. Wilson R. J. 2012: Wprowadzenie do teorii grafów. Wydawnictwo Naukowe PWN, Warszawa 154 Logistyka 5/2015
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ółowoPoró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ółowoSprawozdanie 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ółowoAlgorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów
Bardziej szczegółowoMatematyczne 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ółowoAlgorytmy 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ółowoZłożoność obliczeniowa klasycznych problemów grafowych
Złożoność obliczeniowa klasycznych problemów grafowych Oznaczenia: G graf, V liczba wierzchołków, E liczba krawędzi 1. Spójność grafu Graf jest spójny jeżeli istnieje ścieżka łącząca każdą parę jego wierzchołków.
Bardziej szczegółowoa) 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ółowoReprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
Bardziej szczegółowoGrafy i sieci w informatyce - opis przedmiotu
Grafy i sieci w informatyce - opis przedmiotu Informacje ogólne Nazwa przedmiotu Grafy i sieci w informatyce Kod przedmiotu 11.9-WI-INFD-GiSwI Wydział Kierunek Wydział Informatyki, Elektrotechniki i Automatyki
Bardziej szczegółowoWykł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ółowoZofia 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ółowoOgó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ółowoProgramowanie 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ółowoG. Wybrane elementy teorii grafów
Dorota Miszczyńska, Marek Miszczyński KBO UŁ Wybrane elementy teorii grafów 1 G. Wybrane elementy teorii grafów Grafy są stosowane współcześnie w różnych działach nauki i techniki. Za pomocą grafów znakomicie
Bardziej szczegółowoMinimalne 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ółowoDrzewa 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ółowoWykł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ółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z zagadnień dotyczących analizy i syntezy algorytmów z uwzględnieniem efektywności
Bardziej szczegółowoPrzykł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ółowoSegmentacja 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ółowoGrafy w MATLABie. LABORKA Piotr Ciskowski
Grafy w MATLABie LABORKA Piotr Ciskowski przykład 1 SIMBIOLOGY MODEL OF A REPRESSILATOR OSCILLATORY NETWORK Repressilator oscillatory network (cokolwiek to znaczy ;-) żródło: http://www.mathworks.com/help/bioinfo/examples/working-with-graph-theory-functions.html
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój
Bardziej szczegółowoZałącznik Nr 5 do Zarz. Nr 33/11/ Kod przedmiotu:aisd2
Załącznik Nr 5 do Zarz. Nr 33/11/12 (pieczęć wydziału) KARTA PRZEDMIOTU Z1-PU7 WYDANIE N1 Strona 1 z 5 1. Nazwa przedmiotu: ALGORYTMY I STRUKTURY DANYCH 2 3. Karta przedmiotu ważna od roku akademickiego:
Bardziej szczegółowoInformatyka 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ółowoAlgorytmy 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ółowoWyznaczanie 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ółowoMODELE 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ółowoDigraf. 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ółowoAiSD 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ółowoTeoria 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ółowoStruktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott
Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html
Bardziej szczegółowoEGZAMIN - 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ółowoTeoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska
Teoria grafów dla małolatów Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka to wiele różnych dyscyplin Bowiem świat jest bardzo skomplikowany wymaga rozważenia
Bardziej szczegółowoZAGADNIENIE TRANSPORTOWE
ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,
Bardziej szczegółowoTEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr 1: Definicja grafu. Rodzaje i części grafów dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 261-83-95-04, p.225/100
Bardziej szczegółowoTEORETYCZNE 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ółowoPodejście zachłanne, a programowanie dynamiczne
Podejście zachłanne, a programowanie dynamiczne Algorytm zachłanny pobiera po kolei elementy danych, za każdym razem wybierając taki, który wydaje się najlepszy w zakresie spełniania pewnych kryteriów
Bardziej szczegółowo. Podstawy Programowania 2. Grafy i ich reprezentacje. Arkadiusz Chrobot. 9 czerwca 2016
Podstawy Programowania 2 Grafy i ich reprezentacje Arkadiusz Chrobot Zakład Informatyki 9 czerwca 2016 1 42 Plan 1 Wstęp 2 Teoria grafów 3 Grafy jako struktury danych 4 Zastosowania grafów 2 42 Wstęp Wstęp
Bardziej szczegółowoMatematyka dyskretna
Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce
Bardziej szczegółowoMATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY
ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych
Bardziej szczegółowoLiteratura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:
Temat: Powtórzenie wiadomości z PODSTAW INFORMATYKI I: Pojęcia: złożoność czasowa algorytmu, rząd funkcji kosztu. Algorytmy. Metody programistyczne. Struktury danych. Literatura. A. V. Aho, J.E. Hopcroft,
Bardziej szczegółowoPodstawy Programowania 2 Grafy i ich reprezentacje. Plan. Wstęp. Teoria grafów Graf skierowany. Notatki. Notatki. Notatki. Notatki.
Podstawy Programowania Grafy i ich reprezentacje Arkadiusz Chrobot Zakład Informatyki 7 maja 09 / 4 Plan Wstęp Zastosowania grafów / 4 Wstęp Grafy są w informatyce strukturami danych stosowanymi w wielu
Bardziej szczegółowoAlgorytm 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ółowo5c. Sieci i przepływy
5c. Sieci i przepływy Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 5c. Sieci i przepływy zima 2016/2017 1 / 40 1 Definicje
Bardziej szczegółowoAlgorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie
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 5 i 6 B. Woźna-Szcześniak (UJD) Algorytmy
Bardziej szczegółowoBadania 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ółowoRozwiązywanie problemów metodą przeszukiwania
Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej
Bardziej szczegółowoTomasz M. Gwizdałła 2012/13
METODY METODY OPTYMALIZACJI OPTYMALIZACJI Tomasz M. Gwizdałła 2012/13 Informacje wstępne Tomasz Gwizdałła Katedra Fizyki Ciała Stałego UŁ Pomorska 149/153, p.523b tel. 6355709 tomgwizd@uni.lodz.pl http://www.wfis.uni.lodz.pl/staff/tgwizdalla
Bardziej szczegółowoOSTASZEWSKI 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ółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Bardziej szczegółowoProgramowanie celowe #1
Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem
Bardziej szczegółowoZASTOSOWANIE 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ółowoUniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z
Bardziej szczegółowoKARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques
KARTA KURSU Nazwa Nazwa w j. ang. Algorytmy, struktury danych i techniki programowania Algorithms, Data Structures and Programming Techniques Kod Punktacja ECTS* 3 Koordynator dr Paweł Pasteczka Zespół
Bardziej szczegółowoMetody 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ółowoProgramowanie dynamiczne i algorytmy zachłanne
Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii
Bardziej szczegółowoMetody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie
Bardziej szczegółowoGrafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Bardziej szczegółowoMarek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1
Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1 G. Wybrane elementy teorii grafów W matematyce teorię grafów klasyfikuje się jako gałąź topologii. Jest ona jednak ściśle związana z algebrą i
Bardziej szczegółowoTEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr : Grafy Berge a dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 6-83-95-0, p.5/00 Zakład Badań Operacyjnych i
Bardziej szczegółowoPlan 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ółowoMarcel 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ółowoWYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
DROGI i CYKLE w grafach Dla grafu (nieskierowanego) G = ( V, E ) drogą z wierzchołka v 0 V do v t V nazywamy ciąg (naprzemienny) wierzchołków i krawędzi grafu: ( v 0, e, v, e,..., v t, e t, v t ), spełniający
Bardziej szczegółowoPodstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Bardziej szczegółowoDWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku
DWA ZDANIA O TEORII GRAFÓW Krawędź skierowana Grafy a routing Każdą sieć przedstawić składającego przedstawiają E, inaczej węzłami). komunikacyjną można w postaci grafu G się z węzłów V (które węzły sieci)
Bardziej szczegółowoAlgorytmy i struktury danych.
Kod przedmiotu: ASD Rodzaj przedmiotu: Wydział: Informatyki Kierunek: Informatyka Specjalność (specjalizacja): - Algorytmy i struktury danych. kierunkowy ; obowiązkowy Poziom studiów: pierwszego stopnia
Bardziej szczegółowoMETODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19
METODY OPTYMALIZACJI Tomasz M. Gwizdałła 2018/19 Informacje wstępne Tomasz Gwizdałła Katedra Fizyki Ciała Stałego UŁ Pomorska 149/153, p.524b tel. 6355709 tomgwizd@uni.lodz.pl http://www.wfis.uni.lodz.pl/staff/tgwizdalla
Bardziej szczegółowoEfektywność algorytmów
Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów
Bardziej szczegółowoWSTĘP DO INFORMATYKI. Grafy i struktury grafowe
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WTĘP DO INFORMATYKI Adrian Horzyk Grafy i struktury grafowe www.agh.edu.pl DEFINICJA GRAFU Graf to
Bardziej szczegółowoGraf. Definicja marca / 1
Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych
Bardziej szczegółowoMatematyka dyskretna - 7.Drzewa
Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja
Bardziej szczegółowoHarmonogramowanie 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ółowoHeurystyki. Strategie poszukiwań
Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja
Bardziej szczegółowodoc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.
doc. dr Beata Pułska-Turyna Zakład Badań Operacyjnych Zarządzanie B506 mail: turynab@wz.uw.edu.pl mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505. Tel.: (22)55 34 144 Mail: student@pgadecki.pl
Bardziej szczegółowoZł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ółowoGrafy i Zastosowania. 5: Drzewa Rozpinające. c Marcin Sydow. Drzewa rozpinające. Cykle i rozcięcia fundamentalne. Zastosowania
Grafy i Grafy i 5: Rozpinające Spis zagadnień Grafy i i lasy cykle fundamentalne i własności cykli i rozcięć przestrzenie cykli i rozcięć* : zastosowanie w sieciach elektrycznych minimalne * algorytm Kruskala*
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
Bardziej szczegółowoTechnologie 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ółowoSchemat 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ółowoSpis 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ółowoModele 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ółowoDrzewa poszukiwań binarnych
1 Drzewa poszukiwań binarnych Kacper Pawłowski Streszczenie W tej pracy przedstawię zagadnienia związane z drzewami poszukiwań binarnych. Przytoczę poszczególne operacje na tej strukturze danych oraz ich
Bardziej szczegółowoSortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
Bardziej szczegółowoAlgorytm 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ółowoAlgorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Bardziej szczegółowoWYKŁAD 9 METODY ZMIENNEJ METRYKI
WYKŁAD 9 METODY ZMIENNEJ METRYKI Kierunki sprzężone. Metoda Newtona Raphsona daje dobre przybliżenie najlepszego kierunku poszukiwań, lecz jest to okupione znacznym kosztem obliczeniowym zwykle postać
Bardziej szczegółowoTEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr 3: Marszruty, łańcuchy, drogi w grafach dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 261-83-95-04, p.225/100
Bardziej szczegółowoOpis przedmiotu. Karta przedmiotu - Badania operacyjne Katalog ECTS Politechniki Warszawskiej
Kod przedmiotu TR.SIK306 Nazwa przedmiotu Badania operacyjne Wersja przedmiotu 2015/16 A. Usytuowanie przedmiotu w systemie studiów Poziom kształcenia Studia I stopnia Forma i tryb prowadzenia studiów
Bardziej szczegółowoMetody 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 ilość zapełnień będzie
Bardziej szczegółowoPrzykład planowania sieci publicznego transportu zbiorowego
TRANSPORT PUBLICZNY Przykład planowania sieci publicznego transportu zbiorowego Źródło: Bieńczak M., 2015 Politechnika Poznańska, Wydział Maszyn Roboczych i Transportu 1 METODYKA ZAŁOśENIA Dostarczanie
Bardziej szczegółowoProjektowanie i Analiza Algorytmów
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNIK INFORMACYJNYCH Projektowanie i Analiza Algorytmów www.pk.edu.pl/~zk/piaa_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład
Bardziej szczegółowoAlgorytmy 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ółowoEgzamin, 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ółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Twierdzenie 2.1 Niech G będzie grafem prostym
Bardziej szczegółowoKlasyczne zagadnienie przydziału
Klasyczne zagadnienie przydziału Można wyodrębnić kilka grup problemów, w których zadaniem jest odpowiednie rozmieszczenie posiadanych zasobów. Najprostszy problem tej grupy nazywamy klasycznym zagadnieniem
Bardziej szczegółowoDigraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV
Graf skierowany (digraf) zbiór wierzchołków i zbiór krawędzi skierowanych łączących (co najwyżej jeden raz) uporządkowane pary wierzchołków. Mówimy wtedy, że krawędź łączy pierwszy wierzchołek z drugim
Bardziej szczegółowoBADANIA OPERACYJNE i teoria optymalizacji. Prowadzący: dr Tomasz Pisula Katedra Metod Ilościowych
BADANIA OPERACYJNE i teoria optymalizacji Prowadzący: dr Tomasz Pisula Katedra Metod Ilościowych e-mail: tpisula@prz.edu.pl 1 Literatura podstawowa wykorzystywana podczas zajęć wykładowych: 1. Gajda J.,
Bardziej szczegółowoAlgorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 2 Przeszukiwanie grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów 3. Spójność grafu,
Bardziej szczegółowo