Algorytmizacja procesu wyznaczania długości ścieżek w sieci rozbudowanej podstawą optymalizacji zagadnień transportowych

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

Download "Algorytmizacja procesu wyznaczania długości ścieżek w sieci rozbudowanej podstawą optymalizacji zagadnień transportowych"

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

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

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

Algorytmy 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 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ół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

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

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

Zł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ół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

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

Reprezentacje 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ółowo

Grafy i sieci w informatyce - opis przedmiotu

Grafy 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ół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

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

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

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

G. Wybrane elementy teorii grafów

G. 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ół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

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

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK 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ół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

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

Grafy w MATLABie. LABORKA Piotr Ciskowski

Grafy 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ółowo

Matematyczne Podstawy Informatyki

Matematyczne 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ółowo

Załącznik Nr 5 do Zarz. Nr 33/11/ Kod przedmiotu:aisd2

Załą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ół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

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

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

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

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

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

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

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Struktury 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ół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

Teoria 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 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ółowo

ZAGADNIENIE TRANSPORTOWE

ZAGADNIENIE 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ółowo

TEORIA GRAFÓW I SIECI

TEORIA 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ół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

Podejście zachłanne, a programowanie dynamiczne

Podejś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. 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ółowo

Matematyka dyskretna

Matematyka 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ółowo

Matematyczne Podstawy Informatyki

Matematyczne 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ółowo

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

MATEMATYKA 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ółowo

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Literatura. 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ółowo

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

Podstawy 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ół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

5c. Sieci i przepływy

5c. 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ółowo

Algorytmy 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. 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ół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

Rozwiązywanie problemów metodą przeszukiwania

Rozwią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ółowo

Tomasz M. Gwizdałła 2012/13

Tomasz 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ół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

Struktury 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 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ółowo

Programowanie celowe #1

Programowanie 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ółowo

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

Uniwersytet 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 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ółowo

KARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques

KARTA 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ół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

Programowanie dynamiczne i algorytmy zachłanne

Programowanie 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ółowo

Metody Programowania

Metody 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ółowo

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Grafem 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ółowo

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

Marek 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ółowo

TEORIA GRAFÓW I SIECI

TEORIA 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ół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

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

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

WYŻ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ółowo

Podstawy Informatyki. Sprawność algorytmów

Podstawy 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ółowo

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

DWA 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ółowo

Algorytmy i struktury danych.

Algorytmy 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ółowo

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

METODY 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ółowo

Efektywność algorytmów

Efektywność 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ółowo

WSTĘP DO INFORMATYKI. Grafy i struktury grafowe

WSTĘ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ółowo

Graf. Definicja marca / 1

Graf. 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ółowo

Matematyka dyskretna - 7.Drzewa

Matematyka 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ół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

Heurystyki. Strategie poszukiwań

Heurystyki. 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ółowo

doc. 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 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ół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

Grafy i Zastosowania. 5: Drzewa Rozpinające. c Marcin Sydow. Drzewa rozpinające. Cykle i rozcięcia fundamentalne. Zastosowania

Grafy 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ółowo

Algorytmiczna teoria grafów

Algorytmiczna 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ół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

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

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

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

Drzewa poszukiwań binarnych

Drzewa 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ółowo

Sortowanie - wybrane algorytmy

Sortowanie - 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ół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

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy 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ółowo

WYKŁAD 9 METODY ZMIENNEJ METRYKI

WYKŁ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ółowo

TEORIA GRAFÓW I SIECI

TEORIA 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ółowo

Opis przedmiotu. Karta przedmiotu - Badania operacyjne Katalog ECTS Politechniki Warszawskiej

Opis 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ół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 ilość zapełnień będzie

Bardziej szczegółowo

Przykład planowania sieci publicznego transportu zbiorowego

Przykł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ółowo

Projektowanie i Analiza Algorytmów

Projektowanie 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ół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

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

Matematyczne Podstawy Informatyki

Matematyczne 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ółowo

Klasyczne zagadnienie przydziału

Klasyczne 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ółowo

Digraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV

Digraf 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ółowo

BADANIA 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 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ółowo

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Algorytmy 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