ALGORYTMY HEURYSTYCZNE DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W SIECIACH PAKIETOWYCH - PROPOZYCJA NOWEGO ROZWIĄZANIA

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

Download "ALGORYTMY HEURYSTYCZNE DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W SIECIACH PAKIETOWYCH - PROPOZYCJA NOWEGO ROZWIĄZANIA"

Transkrypt

1 Artur Żodź, Piotr Zwierzykowski, Politechnika Poznańska, Wydział Elektroniki i Telekomunikacji, ul. Piotrowo 3A, Poznań, arturzodz@o2.pl 2006 Poznańskie Warsztaty Telekomunikacyjne Poznań 7-8 grudnia 2006 ALGORYTMY HEURYSTYCZNE DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W SIECIACH PAKIETOWYCH - PROPOZYCJA NOWEGO ROZWIĄZANIA Streszczenie: W ciągu ostatnich kilkunastu lat zaproponowano wiele algorytmów heurystycznych wyznaczających drzewa połączeń rozgałęźnych. Proponowane metody heurystyczne stanowią jedynie przybliżenie rozwiązania optymalnego i dlatego problem znalezienia lepszego algorytmu jest ciągle aktualny. Głównym celem artykułu jest prezentacja prób znalezienia algorytmu dwukryterialnego bardziej efektywnego od rozwiązań przedstawianych w literaturze. 1. Wprowadzenie Technika multicast polega na równoległym przesyłaniu danych w sieci od węzła nadawczego do grupy węzłów odbiorczych (wcześniej zdefiniowanych) [22]. Na przestrzeni kilku ostatnich lat algorytmy multicast zaczęły odgrywać coraz większą rolę ze względu na specyfikę danych przesyłanych w sieciach transportowych. Wzrost przepustowości współczesnych sieci pozwolił na transmisję danych multimedialnych w czasie rzeczywistym (transmisja radiowa i telewizyjna, video na żądanie, telekonferencje, itp.) [24]. W celu zapewnienia niezawodnej transmisji aplikacje multimedialne stawiają wysokie wymagania parametrom jakościowym (quality-of-service). Wymagania jakościowe dotyczące m.in. stałej gwarantowanej wartości opóźnień związanych z przejściem pakietu pomiędzy węzłem nadawczym i odbiorczym po określonej ścieżce w sieci, ciągle są wyzwaniem dla projektantów aplikacji czasu rzeczywistego. Najprostszym przykładem tego typu aplikacji jest transmisja głosu. Z transmisją głosu w pakietach wiążą się liczne opóźnienia m.in. opóźnienia kolejkowania, opóźnienia propagacji, opóźnienia wprowadzane przez kodeka, oraz opóźnienia serializacji. Opóźnienia kolejkowania zależą głównie od użytych algorytmów planowania, które mogą wyznaczać wartość opóźnienia poprzez określenie maksymalnej wartości (najgorszy przypadek) lub wartości średniej (w sensie statystycznym). Literatura szeroko prezentuje rozwiązania gwarantujące pasmo i opóźnienie dla pojedynczych strumieni, bazujące na najgorszym przypadku (strumienie takie traktowane są osobno) [24]. Grupowanie strumieni usługi, dla której mamy zagwarantowaną wartość opóźnienia, pozwala obniżyć wykorzystanie zasobów sieci, ponieważ czas propagacji może być uważany za stały atrybut łącza, zależny jedynie od odległości między węzłem nadawczym i odbiorczym. Zatory oraz opóźnienia propagacji w łączach znacznie obniżają wydajność sieci Internet. A zatem znając największą wartość opóźnienia kolejkowania (obliczoną na podstawie liczby skoków między węzłami) oraz czas propagacji - można przypisać poszczególnym łączom w sieci pojedynczą metrykę opóźnienia (będącą sumą powyższych parametrów). W ciągu ostatnich kilku lat zaproponowano algorytmy routingu multicast dla aplikacji czasu rzeczywistego [26], [15]. Jednakże nie dokonano porównania wydajności tych algorytmów w identycznych warunkach sieciowych (z wykorzystaniem tych samych topologii sieci). Takie badania są niezbędne w celu określenia czy dane algorytmy są zdolne do konstruowania drzewa multicast z uwzględnieniem parametrów charakterystycznych dla aplikacji czasu rzeczywistego (małe wartości opóźnień między węzłem nadawczym i odbiorczym). W pracach [16], [18] udowodniono, że znalezienie drzewa multicast jest problemem NP-zupełnym dla jednego i większej liczby parametrów QoS. Z uwagi na złożoność problemu prezentowane algorytmy stosują techniki przybliżające rozwiązanie dokładne tj. algorytmy heurystyczne czy algorytmy genetyczne. W artykule zaproponowano modyfikacje znanych algorytmów heurystycznych, których efektywność jest lepsza od rozwiązań oryginalnych. Artykuł podzielono na 10 rozdziałów. Rozdziały 2 zawiera informacje wstępne, natomiast rozdział 3 omawia skrótowo wcześniejsze prace. W rozdziale 4 przedstawiono informacje o topologii sieci, które są wykorzystywane przez algorytmy. Kolejne dwa rozdziały zawierają odpowiednio omówienie algorytmów RSDRC i RDCMA. Rozdziały 7 i 8 przedstawiają topologie testowe i wyniki badań, natomiast rozdział 9 podsumowuje prezentowane badania. 2. Podstawowe pojęcia W dalszej części artykułu zakłada się że sieć, na której testowane będą algorytmy, reprezentowana jest przez spójny, skierowany graf G = (V, E). V jest zbiorem węzłów, a E to zbiór skierowanych krawędzi łą-

2 czących węzły grafu (reprezentuje łącza sieci). Z każdą krawędzią grafu e E skojarzona jest metryka kosztu C(e) i metryka opóźnienia D(e). Metryka kosztu opisuje ogólny koszt nawiązania połączenia z wykorzystaniem danego łącza. Na funkcje kosztu składać się mogą: przepustowość łącza, pojemność buforów, stopa błędów (jakość łącza) itp. Metryka opóźnienia reprezentuje opóźnienie propagacji sygnału przesyłanego za pomocą danego łącza. Ścieżka z węzła a do węzła b w grafie skierowanym to sekwencja krawędzi skierowanych prowadzących od węzła a do węzła b i oznaczonych jako P (a, b). Ścieżka P (a, b) spełnia ograniczenie opóźnienia, gdy suma opóźnień wszystkich krawędzi e i należących do danej ścieżki P (a, b) jest mniejsza lub równa : D(e i ). (1) e i P (a,b) W dalszej części pracy całkowite opóźnienie ścieżki oznaczone bedzię przez: D(P (a, b)) = D(e i ). (2) e i P (a,b) Ścieżka P (a, b) jest najkrótszą pod względem kosztu/opóźnienia ścieżką łączącą węzeł a i b, gdy suma kosztów/opóźnień wszystkich krawędzi e i należących do danej ścieżki P (a, b) jest najmniejsza z możliwych: Cost(P (a, b)) = Min. (3) e i P (a,b) Drzewo najkrótszych pod względem kosztu/opóźnienia ścieżek to drzewo łączące węzeł źródłowy s z węzłami docelowymi d i za pomocą najkrótszych pod względem kosztu/opóźnienia ścieżek. Drzewo najkrótszych pod względem kosztu/opóźnienia ścieżek (LPC tree / LPD tree) to drzewo łączące węzeł źródłowy s z węzłami docelowymi d i za pomocą najkrótszych pod względem kosztu/opóźnienia ścieżek. Grupa multicast(węzły docelowe) d i S to zbór węzłów sieci, które są odbiorcami ruchu pochodzącego z jednego lub większej liczby węzłów źródłowych s. Drzewo multicast T (s, S) E o ograniczonym opóźnieniu ścieżki to drzewo, do którego należą ścieżki prowadzące od węzła źródłowego s do każdego z węzłów docelowych d i S. Ponadto każda ścieżka należąca do drzewa T (s, S), łącząca węzeł źródłowy s z dowolnym węzłem docelowym d i spełania ograniczenie opóźnienia : D(P (s, d i )). (4) d i S Drzewo multicast T (s, S) E o ograniczonym opóźnieniu ścieżki jest wynikiem działania każdego badanego w pracy algorytmu. Całkowity koszt drzewa multicast T (s, S) to suma metryk kosztu wszystkich krawędzi e i należących do T (s, S). Minimalizacja całkowitego kosztu drzewa multicast o ograniczonym opóźnieniu jest określana w literaturze jako problem DCLC (Delay Constrained Least Cost) lub problem minimalnego drzewa Steinera o ograniczonym opóźnieniu (Constrained Steiner tree problem) i jest podstawowym zadaniem przedstawionych w pracy algorytmów. 3. Wcześniejsze prace Heurystyka KMB (Kou, Markowsky, Berman) [18] jest jedną z najbardziej znanych heurystyk rozwiązujących problem minimalnego drzewa Steinera. Jest ona również bardzo efektywna pod względem dokładności rozwiązania [11], a jej złożoność obliczeniowa wynosi O( S V 2 ). Na jej podstawie powstał algorytm KPP (Kompella, Pasquale, Polyzos) [17] uwzględniający dodatkowo ograniczenie opóźnienia. W pierwszej fazie KPP konstruowany jest graf pełny 1 P, którego wierzchołkami są węzeł źródłowy s i węzły docelowe d i S, a krawędzie reprezentują ścieżki o najmniejszym koszcie łączące dowolne dwa węzły a i b w grafie pierwotnym G = (V, E), gdzie a, b {S s}. Następnie w grafie P wyznaczane jest minimalne drzewo rozpinające z uwzględnieniem ograniczenia opóźnienia, po czym krawędzie otrzymanego drzewa zamieniane są na ścieżki oryginalnego grafu G. Ewentualnie powstałe pętle w powstałej w ten sposób strukturze usuwane są za pomocą algorytmu najkrótszej ścieżki (np. algorytm Dijkstra [10]). Złożoność obliczeniowa algorytmu wynosi O( V 3 ). Cztery heurystyki zostały zaproponowane przez R.Widyono [26] do rozwiązania problemu minimalnego drzewa Steinera o ograniczonym opóźnieniu. Są to: CIP (Constrained independent paths), CMIC (Constrained minimum incremental cost), CAO (Constrained adaptive routing), CHAO (Constrained hierarchical adaptive routing). Podstawą dla ich powstania były również cztery algorytmy heurystyczne rozwiązujące problem minimalnego drzewa Steinera bez wymuszeń. Pierwsze trzy z wymienionych algorytmów wykorzystują algorytm przeszukiwania w szerz z uwzględnieniem ograniczenia opóźnienia CBF (Constrained Bellman-Ford) [4] o wykładniczej złożoności obliczeniowej. Złożoność obliczeniowa algorytmu CHAO wynosi natomiast O( V 3 ). C. Noronha i F. Tobagi [5] wykazali że problem minimalnego drzewa Steinera o ograniczonym opóźnieniu można przedstawić jako problem całkowitoliczbowy i zaproponowali technikę o wykładniczej złożoności obliczeniowej pozwalającej znaleść optymalne rozwiązanie. Z racji długiego czasu wykonania algorytmu jego praktyczne zastosowanie jest wykluczone, ale może stanowić punkt odniesienia do testowania innych algorytmów. Wykorzystanie algorytmów do wyznaczania minimalnych ścieżek o ograniczonym opóźnieniu w celu konstrukcji efektywnych pod względem kosztu drzew mulicast zaproponowali G. Kumar, N. Narang i C. Ravikumar [14]. Przedstawili oni dwie heurystyki 1 Graf pełny - graf nieskierowany, w którym każda para wierzchołków jest połączona krawędzią

3 przybliżające rozwiązanie problemu DCLC. Pierwsza z nich to DCBH (Dynamic Center Based Heuristic), a druga to BERD (Best Effort Residual Delay). Obie wykorzystują zaproponowany przez autorów algorytm minimalnej ścieżki o ograniczonym opóźnieniu [13]. Główną ideą algorytmu DCBH jest znalezienie tzw. węzła centralnego, do którego przyłączane są węzły docelowe z użyciem algorytmu minimalnej ścieżki o ograniczonym opóźnieniu lub ścieżki o minimalnym opóźnieniu. Na wstępie dla każdej pary węzłów docelowych obliczane jest minimalne opóźnienie ścieżki łączącej te węzły i wybierana jest para o największej wartości minimalnego opóźnienia. Węzeł centralny C określany jest jako węzeł w samym środku ścieżki łączącej wybrane dwa węzły docelowe. Algorytm heurystyczny BERD wykorzystuje do działania podobną idee, ale dodatkowo każdy z węzłów posiada parametr określany jako residual delay. G. Feng i T. P. Yum [12] zaproponowali dwa algorytm heurystyczne służące do konstrukcji drzew multicast o ograniczonym opóźnieniu. Pierwszy z nich to DSPMA (Delay-constrained Shortest Path Multicasting Algorithm) o złożoności obliczeniowej O( V 2 ). Podstawową ideą tego algorytmu jest równoległa budowa drzewa minimalnego kosztu o ograniczonym opóźnieniu i drzewa ścieżek minimalnego opóźnienia. Odpowiednie połączenie obu drzew pozwala skonstruować wynikowe drzewo multicast. Drugi algorytm DDMA (Dynamic Delay-constrained Multicasting Algorithm) obsługujący dynamicznie zmiany grupy multicast. Potrafi dodawać kolejne węzły docelowe bez konieczności obliczania całego drzewa multicast od początku. Możliwe jest także ustalenie kompromisu między czasem wykonania, dokładnością obliczeń za pomocą pojedynczego parametru k, a złożoność obliczeniowa algorytmu wynosi O(k V 2 ). A. G. Waters [7] zaproponował heurystykę CCET (Constrained Cheapest Edge Tree). W dalszych pracach A. G. Waters i J. S. Crawford [8] [6] przedstawili modyfikacje algorytmu CCET, a w [9] przedstawili porównanie efektywności algorytów KPP [17], CCET, CCPT (Constrained Cheapest Path Tree) [6] oraz CDKS. W wyniku badań zaobserwowano, że efektywność algorytmu CCET wzrasta wraz ze wzrostem liczebności grupy multicast i może osiągnąć lepsze wyniki niż algorytm KPP. 4. Informacje o topologii sieci wykorzystywane przez algorytm Zakładamy, że dzięki zastosowaniu w sieci protokołu rutingu OSPF [21][1] węzeł źródłowy posiada informacje dotyczące stanu sieci, czyli topologii sieci oraz stanu łączy. Dodatkowo węzeł źródłowy posiada dwa dodatkowe wektory: wektor kosztu i wektor opóźnienia. Obydwa wektory mają długość V 1 i zawierają wpisy dla każdego węzła sieci poza węzłem źródłowym. Informacje zawarte w tych wektorach odpowiadają drzewom minimalnego kosztu i minimalnego opóźnienia obliczanym przez protokół OSPF z wykorzystaniem algorytmu Dijkstra [10]. Pojedynczy wpis wektora opóźnienia dla wierzchołka w j składa się z następujących elementów: ID - oznaczenie węzła; LD lhop - poprzednik węzła w j na ścieżce minimalnego opóźnienia P LD (s, w j ) ze Źródła s do danego węzła w j ; D(P LD (s, w j )) - całkowite opóźnienie ścieżki minimalnego opóźnienia ze Źródła s do danego węzła w j. Pojedynczy wpis wektora kosztu dla wierzchołka w j składa się z następujących elementów: ID - oznaczenie węzła; LC lhop - poprzednik węzła w j na ścieżce minimalnego kosztu P LC (s, w j ) ze Źródła s do danego węzła w j ; D(P LC (s, w j )) - całkowite opóźnienie ścieżki minimalnego kosztu ze Źródła s do danego węzła w j. 5. Algorytm heurystyczny RSDRC dla połączeń punkt-punkt o ograniczonym opóźnieniu Zanim zostanie przedstawiony algorytm RDC- MA dla połączeń multicast zaprezentowany zostanie algorytm heurystyczny RSDCR (Reverse SDRC) dla połączeń punkt-punkt o ograniczonym opóźnieniu. Algorytm RSDRC rozpoczyna poszukiwanie ścieżki minimalnego kosztu o ograniczonym opóźnieniu w węźle docelowym d. Początkowo potencjalnym węzłem zmiany 2 z jest węzeł docelowy. Szukając węzła zmiany algorytm porusza się po ścieżce minimalnego kosztu w kierunku Źródła s, a każdym z węzłów sprawdzany jest warunek: D(P LD (s, a)) + D(P LC (a, d)) ; (5) Jeżeli powyższy warunek jest spełniony i aktualny węzeł a nie jest węzłem Źródłowym, to potencjalnym węzłem zmiany z staje się aktualny węzeł a, a kolejny węzeł na ścieżce minimalnego kosztu w kierunku Źródła zostaje wybrany jako węzeł aktualny. Następnie powyższa nierówność sprawdzana jest ponownie. Jeżeli warunek jest spełniony i aktualny węzeł jest węzłem Źródłowym, to wynikiem algorytmu jest ścieżka minimalnego kosztu P LC (s, d). Gdy warunek nie jest spełniony, poszukiwanie węzła zmiany zostaje zakończone. Dalsza ścieżka od ustalonego węzła zmiany q do Źródła s przebiega po drodze minimalnego opóźnienia P LD (s, q). Poszukując ścieżki od węzła docelowego do Źródła odwiedzonych może zostać maksymalnie V węzłów. Powód, dla którego poszukiwanie ścieżki przeprowadzone jest w odwrotnym kierunku (od węzła docelowego do węzła Źródłowego) wynika z informacji jakie dostępne są w węźle Źródłowym i może być wytłumaczony analogicznie jak w artykule [2] w rozdziale poświęconym SDRC. Lemat 1: Ścieżka otrzymana w wyniku działania algorytmu RSDRC nie zawiera pętli. 2 węzeł zmiany - węzeł, w którym następuje zmiana ścieżki minimalnego opóźnienia na ścieżkę minimalnego kosztu poruszając się od węzła docelowego do węzła Źródłowego

4 Rys. 1. Hipotetyczny scenariusz powstania pętli w algorytmie RSDRC Dowód: Proces poszukiwania ścieżki w algorytmie RSDRC rozpoczyna się od węzła docelowego d. Następnie poruszając się ścieżką minimalnego kosztu w każdym kolejnym węźle sprawdza czy możliwe jest dojście do Źródła s drogą minimalnego opóźnienia. Jeżeli w żadnym z węzłów nie dojdzie do zmiany ścieżki, to wynikiem algorytmu jest ścieżka minimalnego kosztu P LC (s, d), która w sposób oczywisty nie zawiera pętli. Rozpatrzmy przypadek gdy w jakimś węźle zmiany u algorytm zmieni ścieżkę ze ścieżki minimalnego kosztu na ścieżkę minimalnego opoźnienia. Jedynym sposobem na powstanie pętli jest sytuacja, gdy któryś z węzłów na ścieżce P LD (s, u) należy również do ścieżki P LC (u, d), tak ja to pokazano na rysunku 1. Kolejność w jakiej algorytm buduje ścieżke wyklucza taką możliwość. Ponieważ gdy do ścieżki wynikowej dodawana jest ścieżka minimalnego kosztu P LC (u, d), ścieżka minimalnego opóźnienia P LD (s, u) jest znana. Poruszając się po drodze minimalnego kosztu P LC (u, d) algorytm dociera do węzła v i wykrywa, że węzeł v należy do ścieżki P LD (s, u). Węzłem zmiany staje się węzeł v, a dalsza ścieżka wynikowa budowana jest po drodze minimalnego opóźnienia P LD (s, v). Zatem powstanie pętli w ścieżce zwracanej przez algorytm RSDRC jest nie możliwe. 6. Algorytm heurystyczny RDCMA dla połączeń rozsiewczych o ograniczonym opóźnieniu Idea działania algorytmu RDCMA bazuje na wcześniej omówionym algorytmie RSDRC. Niestety wywołanie algorytmu RSDRC dla każdego z m węzłów docelowych i dodanie do siebie tak powstałych ścieżek może utworzyć drzewo zawierające pętle. Również, złożoność obliczeniowa takiego podejścia O(m(2V 1)) przekraczałby złożoność obliczeniową zaproponowanego algorytmu RDCMA. Heurystyka RDCMA wyznacza drzewo minimalnego kosztu T o ograniczonym opóźnieniu łączące węzeł Źródłowy s i zbiór węzłów docelowych S w pięciu głównych fazach. W pierwszej fazie następuje inicjacja algorytmu (pseudokod linie 1-13). Polega ona na sprawdzeniu czy istnieje rozwiązanie, zbudowaniu pomocniczego wektora wynikowego ON i wektora węzłów zmiany Q, posortowaniu węzłów docelowych d i S malejąco pod względem wartości opóźnienia D(P LC (s, d i )) 3 oraz dodaniu węzła Źródłowego 3 D(P LC (s, d i )) - całkowite opóźnienie ścieżki minimalnego kosztu od węzła zródłowego s do każdego z węzłów docelowych d i s do wektora drzewa wynikowego. Celem drugiej fazy algorytmu jest znalezienie węzłów zmiany. Wyszukanie przeprowadzane jest od węzłów docelowych d i do Źródła s z wykorzystaniem ścieżek o minimalnym koszcie i jest wykonywane tylko gdy koszt ścieżki minimalnego kosztu z s do d i jest większy od ograniczenia opóźnienia (linie 14-30). Węzły docelowe d i wybierane są kolejno począwszy od węzła o największej wartości opóźnienia D(P LC (s, d i )). W każdym węźle sprawdzany jest warunek: D(P LD (s, a)) + D(P LC (a, d)). (6) Dopóki jest on spełniony, możliwe jest dalsze poszukiwanie węzła zmiany dla danego węzła docelowego d i poruszając się drogą minimalnego kosztu w kierunku Źródła. Każdy odwiedzony węzeł zapamiętywany jest w wektorze pomocniczego drzewa wynikowego ON. Jeżeli zostanie napotkany węzeł należący już do pomocniczego drzewa wynikowego to poszukiwanie węzeła zmiany z dla danego wierzchołka docelowego d i jest przerywane. (Dzięki posortowaniu węzłów docelowych i wybieraniu kolejno, począwszy od węzła o największym opóźnieniu ścieżki P LC (s, d i ), węzeł zmiany dla danego węzła docelowego został znaleziony wcześniej. Takie podejście pozwala spełnić ograniczenie opóźnienia nałożone na każdą budowaną ścieżkę). Gdy nierówność 6 nie jest spełniona poszukiwanie danego węzła zamiany zostaje zakończone. Znalezione węzły zmiany zapamiętywane są w wektorze Q. W trzeciej fazie algorytmu budowane jest drzewo łączące znalezione węzły zmiany Q ze Źródłem s z wykorzystaniem ścieżek o minimalnym opóźnieniu (linie 31-43). Drzewo budowane jest w kierunku od węzłów zmiany do Źródła, a wynikiem jest drzewo minimalnego opóźnienia łączące węzeł Źródłowy s z węzłami zmiany. Czwarta faza algorytmu polega na przyłączeniu węzłów docelowych d i do drzewa minimalnego opóźnienia zbudowanego podczas trzeciej fazy algorytmu (linie 44-52). Do budowy wspomnianych połączeń wykorzystywane są ścieżeki o minimalnym koszcie prowadzące od węzłów docelowych d i w kierunku węzła Źródłowego s. Ostatnia faza (linie 53-64) nie jest konieczna, a jej celem jest usunięcie zbędnych węzłów z zbudowanego drzewa multicast. Polega ona na przejściu ścieżek od każdego z węzłów docelowych d i w kierunku Źródła s i jednoczesne budowanie drzewa składającego się tylko z odwiedzonych węzłów. Wynikiem algorytmu RDCMA jest wektor ON 2 o rozmiarze V zawierający wpisy dla każdego węzła. Jeżeli ON 2 [w i ] = 0 to węzeł w i nie należy do drzewa wynikowego. Jeżeli ON 2 [w i ] > 0 to węzeł w i należy do drzewa wynikowego, a wartość ON 2 [w i ] wskazuje na poprzednika węzła w i na ścieżce z wierzchołka Źródłowego s do wierzchołka w i. Wektor ON otrzymany po zakończeniu czwartej fazy wykonania algorytmu może być także wynikiem algorytmu RDCMA. Jak już wcześniej wspomniano prócz węzłów tworzących drzewo wynikowe

5 ON 2, wektor ten zawiera również węzły nie należące do drzewa, ale budując na jego podstawie ścieżkę z dowolnego węzła docelowego do Źródła uzyskany wynik będzie identyczny jak dla wektora ON 2. Takie uproszczenie zmniejsza liczbą koniecznych do wykonania operacji. Złożoność obliczeniowa algorytmu określono w następujący sposób. Sortowanie węzłów docelowych malejąco można zrealizować w czasie mlog(m), gdzie m to liczba węzłów docelowych. Podczas poszukiwania węzłów zmiany algorytm może odwiedzić V 1 węzłów. Następnie budując pomocnicze drzewo wynikowe (w trzeciej i czwartej fazie) algorytm odwiedza każdy węzeł co najwyżej raz dokonując obliczeń nie zależnych od wielkości sieci. W ostatniej fazie algorytmu budowany jest wektor drzewa wynikowego, a każdy węzeł może zostać odwiedzony najwyżej jednokrotnie. Całkowita liczba operacji wykonywanych przez algorytm RDCMA wynosi mlog(m) + 3V 1. Gdy dla każdego z wierzchołków docelowych d i spełniona jest nierówność: D(P LC (s, d i )), to za pomocą algorytmu RDCMA zbudowane zostanie drzewo najkrótszych pod względem kosztu ścieżek łączących węzeł Źródłowy i węzły docelowe. Identyczny wynik można uzyskać używając do konstrukcji drzewa algorytmu Djikstra [10] dla pojedynczej metryki kosztu lub algorytmu DCMA. Lemat 2: Drzewo otrzymane w wyniku działania algorytmu RDCMA nie zawiera pętli. Dowód: W pierwszej kolejności algorytm wyszukuje węzły zmiany. Następnie znalezione węzły zmiany zostają przyłączone do Źródła wykorzystując ścieżki o minimalnym opóźnieniu. Powstałe w ten sposób drzewo nie zawiera pętli. Następnie węzły docelowe, które nie należą jeszcze do drzewa łączą się z nim po ścieżkach minimalnego kosztu. Budowa każdej ścieżki zostaje przerwana gdy algorytm napotka węzeł należący już do drzewa wynikowego, a ścieżki minimalnego kosztu łacząc się ze sobą tworzą strukturę pozbawioną pętli. Zatem drzewo otrzymane w wyniku działania algorytmu RDCMA nie zawiera pętli. Lemat 3: Drzewo będące wynikiem działania algorytmu RDCMA zawsze spełnia ograniczenie opóźnienia jeżeli możliwa jest konstrukcja takiego drzewa. Dowód: Po znalezieniu węzłów zmiany i połączeniu ich z węzłem Źródłowym z wykorzystaniem ścieżek minimalnego opóźnienia należy przyłączyć węzły docelowe. Poruszając się z dowolnego węzła docelowego w kierunku Źródła po ścieżce minimalnego kosztu możliwe są następujące sytuacje: 1. Gdy dla węzła docelowego d spełniony jest warunek D(P LC (s, d)), to zmiana ścieżki minimalnego kosztu na ścieżkę minimalnego opóźnienia może naśtąpić w dowolnym węźle na ścieżce minimalnego kosztu bez naruszenia ograniczenia opóźnienia. 2. Natomiast dla D(P LC (s, d)) > algorytm porusza się w kierunku znalezionego wcześniej węzła zmiany dla danego wierzchoła. Jeżeli dotrze do węzła zmiany to dalsza ścieżka do Źródła prowadzi ścieżką minimalnego opóźnienia i nie narusza ograniczenia opóźnienia. Jeżeli przed dotarciem do węzła zmiany algorytm dotarł do węzła należącego już do drzewa, wtedy dalsza ścieżka do Źródła może prowadzić: (a) bezpośrednio po ścieżce minimalengo opóźnienia, (b) poprzez węzła zmiany po ścieżce minimalengo kosztu skąstruowanej wcześniej dla innego wierzchołka docelowego posiadającego ten sam węzeł zmiany co aktualny wierzchołek docelowy i dalej po ścieżce minimalnego opóźnienia. Oba przypadki nie naruszają ograniczenia opóźnienia, ponieważ nie możliwe jest aby ścieżka minimalnego kosztu wychodząca z danego wierzchołka docelowego prowadziła dalej niż do węzła zmiany danego wierzchołka. 7. Testowe topologie sieci Do generacji losowych sieci użyty został muliplikatywny generator liczb losowych o rozkładzie równomiernym w przedziale P(0, 1) postaci: X n+1 = (A X n ) mod(m) W n+1 = X n+1 / , (7) gdzie: A = 16807, M = , a X n - to aktualne jądro generatora. Dla każdej pary wierzchołków w grafie istnienie krawędzi określone zostało losowo za pomocą generatora muliplikatywnego na podstawie ustalonego z góry (podczas generacji topologii) prawdopodobieństwa. Dla każdej krawędzi losowane były również metryki kosztu i opóźnienia w przedziale od 1 do 100. Prawdopodobieństwa istnienia krawędzi dobierane były tak, aby uzyskać rządany stopień węzła grafu. Stopień węzła grafu (average node degree) określony jest jako: d av = 2m n, (8) gdzie n - liczba węzłów, a m - liczba krawędzi. W badaniach efektywności algorytmu RDCMA wykorzystane zostały również modele Waxmana [25] i Barabasi-Albert [3] wygenerowane za pomocą aplikacji BRITE (Boston University Representative Internet Topology Generator) [19]. Problem generowania topologii służących do efektywnego porównywania algorytmów routingu oraz modele generowane za pomocą aplikacji BRITE zostały szerzej omówione w artykule [23]. Zaimplementowany w aplikacji BRI- TE model Waxmana generuje sieci w sposób losowy i nie modeluje struktury rzeczywistych sieci. Natomiast model Barabasi-Albert uwzględnia występowanie praw potęgowych w rozkładzie węzłów i krawędzi, dzięki czemu topologie wygenerowane z jego pomocą znacznie lepiej odzwierciedlają strukturę Internetu. 8. Wyniki badań Podczas badań porównane zostały algorytmy RDCMA, DCMA [2], CSPT [9], DCSP (zmodyfikowany) [20], BSMA [27]. Parametr k max algorytmu

6 DCSP wynosił 20. Dla algorytmu BSMA maksymalna liczba ścieżek sprawdzana po usunięciu superkrawędzi k max = 1. Sprawdzono również skuteczność połączenia algorytmów DCMA i RDCMA oznaczonego dalej jako BEST. Połączenie to polega na tym, że drzewa wygenerowane dla danej topologii przez algorytmy DCMA i RDCMA są porównywane pod względem kosztu. Dla BEST wybierane jest drzewo o mniejszym koszcie. Wszystkie wykresy przedstawiają efektowność algorytmów. Pod pojęciem efektywności algorytmu rozumieć należy stosunek sumy kosztów drzew multicast, otrzymanych za pomocą danego algorytmu, do sumy kosztów drzew ścieżek minimalnego opóźnienia (LPD) otrzymanych dla badanych topologii. Generując topologie sieci zaproponowaną metodą losową bardzo trudno uzyskać grafy o niskim stopniu węzła d av. W badaniach średni stopień węzła użytych topologii wynosił w przybliżeniu d av = 9. Wynikowe drzewo multicast otrzymane za pomocą algorytmów DCMA, RDCMA, BEST, CSPT, i DCSP dla wartości ograniczenia opóźnienia większego lub równego LC max (opóźnienie najdłuższej ścieżki w drzewie najkrótszych pod względem kosztu ścieżek) jest identyczne jak drzewo najkrótszych pod względem kosztu ścieżek. Dlatego przy testowaniu algorytmów jako górną granicę ograniczenia opóźnienia przyjęto opóźnienie LC max. Dolną granicą jest opóźnienie najdłuższej ścieżki w drzewie najkrótszych pod względem opóźnienia ścieżek, czyli LD max. Na rysunkach 2(a) i 2(b) przedstawiono średni koszt drzewa multicast w stosunku do kosztu drzewa najkrótszych pod względem opóźnienia ścieżek (LPD) w zależności od wartości ograniczenia opóźnienia dla różnych wielkości grupy multicast m oraz N = 150. Do generacji topologii użyto metody omówionej wcześniej metody losowej. Z badań wynika, że zaproponowany algorytm RDCMA uzyskuje lepsze wyniki niż algorytm DCMA dla większych liczebności grup multicast i niskich wartości ograniczenia opóźnienia (zbliżonych do LD max ). Połączenie algorytmów DCMA i RDCMA w BEST skutkuje 2-3% poprawą efektywności w stosunku do DCMA co przedstawia rysunek 4(a). Efektywność BEST jest bliska efektywności heurystki DCSP, której głównym zadaniem jest minimalizacja średniego kosztu ścieżki. Należy zwrócić uwagę, że teoretyczna złożoność obliczeniowa BEST jest niższa niż DCSP. Heurystyka BSMA prezentuje najlepsze wyniki, ale jej czas wykonania jest wielokrotnie dłuższy niż pozostałych algorytmów. Najniższą efektywność osiąga najprostszy z algorytmów CSPT. Wpływ średniego stopnia węzła d av na efektywność algorytmów przedstawiony został na wykresie 3(a). Wraz ze wzrostem gęstości połączeń w sieci efektywność wszystkich badanych algorytmów wzrasta. Dla niższych wartości d av algorytmy DCMA, RDC- MA, BEST, CDKS i DSCP wykazują bardzo niską efektywność i bardzo podobny średni koszt zbudowanych drzew multicast. Wynika to mniejszej z różnicy między kosztem drzewa ścieżek minimalnego kosztu LP C i drzewa ścieżek minimalnego opóźnienia LP D dla niższych d av. W topologiach sieci wygenerowanych za pomocą aplikacji BRITE metryki kosztu i opóźnienia są zależne od siebie. Dla takiego modelu sieci algorytmy DCMA, RDCMA, CSPT i DCSP wspólnie oznaczone dalej jako REST generują drzewa multicast, których różnica kosztu względem drzewa LP D jest rzędu 0-0, 1% zarówno dla topologii Waxmana jaki i Barabasi-Albert. Wynika to z faktu, że różnica kosztu między drzewami ścieżek minimalnego opóźnienia LP D i minimalnego kosztu LP C wynosi również 0-0, 1%. Można powiedzieć, że heurystyki REST są całkowicie nieskuteczne dla topologii wygenerowany przez BRITE, dlatego nie przedstawiono żadnych wykresów efektywności dla takiego modelu sieci. Wykresy 4(b) i 3(b) przedstawiają efektywność algorytmów w stosunku do liczebności grupy multicast oraz średniego stopnia węzła d av dla topologii otrzymanych za pomocą aplikacji BRITE z wygenerowanymi losowo metrykami opóźnienia krawędzi. Algorytm BSMA jest znacznie skuteczniejszy dla topologii Waxmana niż Barabasi-Albert. Wpływ liczebności grupy multicast na efektywność drzewa zbudowanego na podstawie heurystyki BSMA jest znaczący jedynie dla topologii Waxman. Dla modelu Barabasi-Albert efektywność BSMA ulega nieznacznym wahaniom. Zwiększanie średniego stopnia węzła d av zwiększa efektywność algorytmu BSMA dla obu modeli topologii. Pozostałe algorytmy (REST) wykazują niską efektywność, mimo zastosowania losowych metryk opóźnienia. Jedynie dla małych grup multicast efektywność REST jest podobna do BSMA. Wraz ze wzrostem liczebności grupy mulicast efektywność wszystkich algorytmów spada. Dla topologii wygenerowanego za pomocą zaproponowanej metody losowej, zależność ta jest odwrotna. 9. Podsumowanie W wyniku przeprowadzonych badań porównawczych algorytmów, wykazano kluczowy wpływ topologii na jakich testowane były heurystyki na efektywność otrzymanych rozwiązań. Dla sieci, wygenerowanych na podstawie modelu Barabasi-Albert, algorytmy DCMA, RDCMA, CSPT i DCSP wykazują brak skuteczności gdy metryki kosztu oraz opóźnienia są zależne od siebie i odpowiadają wygenerowanym przez aplikacje BRITE. Dla metryk wygenerowanych losowo opóźnienia skuteczność wspomnianych algorytmów jest niska dla średniego stopnia węzła cechującego rzeczywiste sieci (d av od 3 do 5) i rośnie wraz ze wzrostem d av. Jedynym z testowanych algorytmów, który potrafił budować efektywne pod względem kosztu drzewa we wszystkich badanych modelach sieci okazał się BSMA. Niestety z powodu bardzo dużej złożoności obliczeniowej heurystyka ta nie nadaje się do praktycznego zastosowania. Natomiast zaproponowany algorytm RDCMA z powodu małej złożoności obliczeniowej może być wykorzystywany w dużych, gęstych, sieciach o wysokim średnim stopniu węzła d av.

7 (a) m = 10 (b) m = 90 Rys. 2. Efektywność algorytmów w zależności od wartości ograniczenia opóźnienia, dla różnych wielkości grupy multicast m, N = 150, d av = 9, 2, topologie wygenerowane metodą losową, (a) d av, N = 80, m = 40, topologie losowe (b) N = 100, m = 50, BRITE, losowe opóźnienie Rys. 3. Efektywność algorytmów heurystycznch w zależności od stopnia węzła (a) N = 150, d av = 9, 2, topologie losowe (b) N = 100, d av = 4, BRITE, losowe opóźnienie Rys. 4. Efektywność algorytmów heurystycznch w zależności od wielkości grupy 10. Pseudo kod algorytmu RDCMA Legenda: a - aktualny węzeł d - aktualny węzeł docelowy z - aktualny węzeł zmiany ON - wektor wynikowy pomocniczy ON 2 - wektor wynikowy Dane wejściowe: s - węzeł Źródłowy; S - zbiór węzłów docelowych (d i S); - maksymalne opóźnienie ścieżki; V D - wektor opóźnienia, który zawiera: V D [x] D(P LD (s, x)); LD lhop[x] - poprzednik węzła x na ścieżce minimalnego opóźnienia P LD (s, x) V C - wektor kosztu, który zawiera: V C [x] D(P LC (s, x))); LC lhop[x] - poprzednik węzła x na ścieżce minimalnego kosztu P LC (s, x) indent=2em 1: for i 1 to S do 2: if V D [d i ] > then 3: Znalezienie drzewa nie możliwe. Zakończ działanie; 4: end if 5: end for 6: for i 1 to V do 7: ON[i] 0; 8: end for 9: for i 1 to S do 10: Q[i] 0; 11: end for 12: Sort(S); 13: ON[s] s; 14: for i 1 to S do 15: a d i ; d d i ; 16: D(P LC (a, d)) 0; 17: if V C [d] > then 18: while V D [a] + D(P LC (a, d)) do 19: if ON[a] 0 then 20: z 0; 21: break; 22: end if 23: z a; 24: ON[z] 1; 25: a LC lhop[a]; 26: D(P LC (a, d)) V C [d] V C [a]; 27: end while 28: Q[d] z; 29: end if 30: end for 31: for i 1 to V do

8 32: ON[i] 0; 33: end for 34: ON[s] s; 35: for i 1 to S do 36: if Q[i] > 0 then 37: a Q[i]; 38: while ON[a] = 0 do 39: ON[a] LD lhop[a]; 40: a LD lhop[a]; 41: end while 42: end if 43: end for 44: for i 1 to S do 45: if Q[i] > 0 then 46: a d i ; 47: while ON[a] = 0 do 48: ON[a] LC lhop[a]; 49: a LC lhop[a]; 50: end while 51: end if 52: end for 53: for i 1 to V do 54: ON 2 [i] 0; 55: end for 56: ON 2 [s] s; 57: for i 1 to S do 58: a d i ; 59: while ON 2 [a] = 0 do 60: ON 2 [a] ON[a]; 61: a ON[a]; 62: end while 63: end foron 2 ; SPIS LITERATURY [1] P. Almquist. Type of service in the internet protocol suite. RFC 1349, IETF, [2] Marwan Krunz Baoxian Zhang, Changjia Chen. A fast delay-constrained multicast routing algorithm. Proceedings of ICC. IEEE, Helsinki, Finland, [3] A. L. Barabasi, R. Albert. Emergence of scaling in random networks. Science, strony , [4] R. Bellman. On a routing problem. Quarterly of Applied Mathematics, 16(1):87 90, [5] F. Tobagi C. Noronha. Optimum routing of multicast streams. INFOCOM, strony , [6] J. S. Crawford. Multicast routing: Evaluation of a new heuristic. Master s thesis, Computer Science, University of Kent at Canterbury, [7] J. S. Crawford, A. G. Waters. A new heuristic for ATM multicast routing. Proceedings of 2nd IFIP Workshop on Performance Modeling and Evaluation of ATM Networks, strony 8/1 8/9, July [8] J. S. Crawford, A. G. Waters. Low-cost atm multimedia routing with constrained delays. Multimedia Telecommunications and Applications (3rd COST 237 Workshop, Barcelona, Spain), strony 23 40, Nov [9] J. S. Crawford, A. G. Waters. Heuristics for ATM Multicast Routing. Proceedings of 6th IFIP Workshop on Performance Modeling and Evaluation of ATM Networks, strony 5/1 5/18, July [10] E. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1: , [11] M. Doar, I. Leslie. How bad is naive multicast routing? IEEE INFOCOM 1993, strony 82 89, [12] T.P. Yum G. Feng. Efficient multicast routing with delay constraints. International Journal of Communication Systems, strony , [13] C. Ravikumar G. Kumar, N. Narang. Efficient algorithms for delay-bounded minimum cost path problem in communication networks. 5th International Conference on High Performance Computing, strony , [14] C. Ravikumar G. Kumar, N. Narang. Effcient algorithms for delay bounded multicast tree generation for multimedia applications. 6th International Conference on High Performance Computing, strony , [15] A. Juttner, B. Szviatovszki, I. Mecs, Z. Rajko. Lagrange Relaxation Based Method for the QoS Routing Problem. IEEE INFOCOM 2001, [16] R. Karp. Reducibility among combinatorial problems. Complexity of Computer Computations, strony , [17] Vachaspathi P. Kompella, Joseph Pasquale, George C. Polyzos. Multicasting for Multimedia Applications. INFO- COM, strony , [18] L. Kou, G. Markowsky, L. Berman. A fast algorithm for Steiner trees. Acta Informatica, (15): , [19] A. Medina, A. Lakhina, I. Matta, J.Byers. BRITE: An Approach to Universal Topology Generation. IEEE/ACM MASCOTS, strony , [20] Mohamed F. Mokbel. New Algorithms for Multicast Routing in Real Time Networks, [21] J. Moy. Ospf version 2. RFC 1583, IETF, [22] Carlos A. S. Oliveira, Panos M. Pardalos. A survey of combinatorial optimization problems in multicast routing. Computers & Operations Research, 32: , [23] Maciej Piechowiak, Piotr Zwierzykowski. Modelowanie topologii internetu. Poznańskie Warsztaty Telekomunikacyjne 2004, Poznań, Grudzień [24] Z. Wang, J. Crowcroft. Quality-of-service routing for supporting multimedia applications. IEEE Journal on Selected Area in Communications, 14(7): , [25] B. Waxmann. Routing of multipoint connections. IE- EE Journal on Selected Area in Communications, 6: , [26] R. Widyono. The design and evaluation of routing algorithms for realtime channels. Technical Report TR , University of California at Berkely, [27] Qing Zhu, M. Parsa, J. J. Garcia-Luna-Aceves. A sourcebased algorithm for delay-constrained minimum-cost multicasting. INFOCOM 95: Proceedings of the Fourteenth Annual Joint Conference of the IEEE Computer and Communication Societies (Vol. 1)-Volume, strona 377. IEEE Computer Society, 1995.

NOWY ALGORYTM GENETYCZNY DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W SIECIACH PAKIETOWYCH

NOWY ALGORYTM GENETYCZNY DLA POŁĄCZEŃ ROZGAŁĘŹNYCH W SIECIACH PAKIETOWYCH POZNAN UNIVERSITY OF TECHNOLOGY ACADEMIC JOURNALS Adam CHOJNACKI* Maciej PIECHOWIAK* Piotr ZWIERZYKOWSKI* 2007 Poznańskie Warsztaty Telekomunikacyjne Poznań 6-7 grudnia 2007 NOWY ALGORYTM GENETYCZNY DLA

Bardziej szczegółowo

RECENZJA rozprawy doktorskiej mgr. inż. Macieja Piechowiaka

RECENZJA rozprawy doktorskiej mgr. inż. Macieja Piechowiaka Prof. dr hab. inż. Wojciech Kabaciński Katedra Sieci Telekomunikacyjnych i Komputerowych Politechnika Poznańska Poznań, dnia 10 maja 2010 r. RECENZJA rozprawy doktorskiej mgr. inż. Macieja Piechowiaka

Bardziej szczegółowo

Badania algorytmów heurystycznych dla połaczeń rozgałęźnych w sieciach pakietowych

Badania algorytmów heurystycznych dla połaczeń rozgałęźnych w sieciach pakietowych POLITECHNIKA POZNAŃSKA WYDZIAŁ ELEKTRONIKI I TELEKOMUNIKACJI Katedra Sieci Telekomunikacyjnych i Komputerowych Autoreferat rozprawy doktorskiej Badania algorytmów heurystycznych dla połaczeń rozgałęźnych

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

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

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

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

Routing. mgr inż. Krzysztof Szałajko

Routing. mgr inż. Krzysztof Szałajko Routing mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu do sieci Wersja 1.0

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Algorytmy Komunikacyjne dla Trójwymiarowych Sieci Opartych na Plastrze Miodu. Ireneusz Szcześniak. Politechnika Śląska 20 czerwca 2002 r.

Algorytmy Komunikacyjne dla Trójwymiarowych Sieci Opartych na Plastrze Miodu. Ireneusz Szcześniak. Politechnika Śląska 20 czerwca 2002 r. Algorytmy Komunikacyjne dla Trójwymiarowych Sieci Opartych na Plastrze Miodu Ireneusz Szcześniak Politechnika Śląska 20 czerwca 2002 r. 2 Plan prezentacji Wprowadzenie Prezentacja trójwymiarowych sieci

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

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

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze

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

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

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

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 równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010 Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność

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

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

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2013/14 Znajdowanie maksimum w zbiorze

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

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

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

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2018/19 Problem: znajdowanie

Bardziej szczegółowo

Multicasty w zaawansowanych usługach Internetu nowej generacji

Multicasty w zaawansowanych usługach Internetu nowej generacji PREZENTACJA PRACY MAGISTERSKIEJ Multicasty w zaawansowanych usługach Internetu nowej generacji Autor : Bogumił Żuchowski Kierujący pracą: dr inż. Maciej Stroiński PLAN PREZENTACJI Wprowadzenie Cel pracy

Bardziej szczegółowo

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

Sortowanie topologiczne skierowanych grafów acyklicznych

Sortowanie topologiczne skierowanych grafów acyklicznych Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)

Bardziej szczegółowo

Model OSI. mgr inż. Krzysztof Szałajko

Model OSI. mgr inż. Krzysztof Szałajko Model OSI mgr inż. Krzysztof Szałajko Protokół 2 / 26 Protokół Def.: Zestaw reguł umożliwiający porozumienie 3 / 26 Komunikacja w sieci 101010010101101010101 4 / 26 Model OSI Open Systems Interconnection

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Algorytmy na tablicach Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. III Jesień 2013 1 / 23 Dwadzieścia pytań Zasady 1 Osoba 1 wymyśla hasło z ustalonej

Bardziej szczegółowo

t i L i T i

t i L i T i Planowanie oparte na budowaniu modelu struktury przedsięwzięcia za pomocą grafu nazywa sie planowaniem sieciowym. Stosuje się do planowania i kontroli realizacji założonych przedsięwzięć gospodarczych,

Bardziej szczegółowo

Wykorzystanie algorytmów mrówkowych w dynamicznym problem

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

Bardziej szczegółowo

Znajdowanie skojarzeń na maszynie równoległej

Znajdowanie skojarzeń na maszynie równoległej 11 grudnia 2008 Spis treści 1 Skojarzenia w różnych klasach grafów Drzewa Grafy gęste Grafy regularne dwudzielne Claw-free graphs 2 Drzewa Skojarzenia w drzewach Fakt Wybierajac krawędź do skojarzenia

Bardziej szczegółowo

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

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

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network

Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network Grzegorz Rzym AGH, Department of Telecommunications 20-21.10.2016, Poznań www.agh.edu.pl Agenda Motywacja PCE SDN Środowisko

Bardziej szczegółowo

Algorytmy i Struktury Danych, 2. ćwiczenia

Algorytmy i Struktury Danych, 2. ćwiczenia Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów

Bardziej szczegółowo

BADANIE EFEKTYWNOŚCI ALGORYTMÓW ROUTINGU ROZGAEŹNEGO W DU ZYCH SIECIACH

BADANIE EFEKTYWNOŚCI ALGORYTMÓW ROUTINGU ROZGAEŹNEGO W DU ZYCH SIECIACH Maciej Piechowiak 1 Piotr Zwierzykowski Politechnika Poznańska Wydzia Elektroniki i Telekomunikacji Katedra Sieci Telekomunikacyjnych i Komputerowych ul. Piotrowo 3A, 60-965 Poznań {mpiech,pzwierz}@et.put.poznan.pl

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

Zagadnienie najkrótszej drogi w sieci

Zagadnienie najkrótszej drogi w sieci L L Zagadnienie najkrótszej drogi w sieci 1 Rozważmy sieć, gdzie graf jest grafem skierowanym (digrafem) a jest funkcją określoną na zbiorze łuków. Wartość tej funkcji na łuku!"$#%'&, którą oznaczać będziemy

Bardziej szczegółowo

Harmonogramowanie przedsięwzięć

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

Bardziej szczegółowo

Algorytm 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

Analiza stanów gry na potrzeby UCT w DVRP

Analiza stanów gry na potrzeby UCT w DVRP Analiza stanów gry na potrzeby UCT w DVRP Seminarium IO na MiNI 04.11.2014 Michał Okulewicz based on the decision DEC-2012/07/B/ST6/01527 Plan prezentacji Definicja problemu DVRP DVRP na potrzeby UCB Analiza

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Algorytmy zachłanne, algoritme Dijkstry Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XI Jesień 2013 1 / 25 Algorytmy zachłanne Strategia polegająca na

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Programowanie sieciowe. Tadeusz Trzaskalik

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

Bardziej szczegółowo

Sterowanie ruchem w sieciach szkieletowych

Sterowanie ruchem w sieciach szkieletowych Sterowanie ruchem w sieciach szkieletowych Transmisja wielościeżkowa Dr inż. Robert Wójcik Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji Kraków, dn. 6 kwietnia 2016 r. Plan

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

ALGORYTMY GENETYCZNE DLA POŁACZEŃ ROZGAŁEŹNYCH

ALGORYTMY GENETYCZNE DLA POŁACZEŃ ROZGAŁEŹNYCH Tomasz Bartczak, Piotr Zwierzykowski Politechnika Poznańska Instytut Elektroniki i Telekomunikacji ul. Piotrowo 3A, 60-965 Poznań e-mail: pzwierz@et.put.poznan.pl 2005 Poznańskie Warsztaty Telekomunikacyjne

Bardziej szczegółowo

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował:

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

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325 PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj

Bardziej szczegółowo

Redukcja kosztów połączeń telekomunikacyjnych przy wykorzystaniu central ISDN PABX

Redukcja kosztów połączeń telekomunikacyjnych przy wykorzystaniu central ISDN PABX Andrzej Białas, Waldemar Fuczkiewicz Aksonet Poznań Wojciech Kabaciński Instytut Elektroniki i Telekomunikacji Politechnika Poznańska Redukcja kosztów połączeń telekomunikacyjnych przy wykorzystaniu central

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Drzewa poszukiwań binarnych 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie studentów

Bardziej szczegółowo

Grafy Alberta-Barabasiego

Grafy Alberta-Barabasiego Spis treści 2010-01-18 Spis treści 1 Spis treści 2 Wielkości charakterystyczne 3 Cechy 4 5 6 7 Wielkości charakterystyczne Wielkości charakterystyczne Rozkład stopnie wierzchołków P(deg(x) = k) Graf jest

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

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

Metody uporządkowania

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

Bardziej szczegółowo

Zastosowanie algorytmów genetycznych do realizacji połączeń rozgałęźnych w sieciach pakietowych

Zastosowanie algorytmów genetycznych do realizacji połączeń rozgałęźnych w sieciach pakietowych Politechnika Poznańska Wydział Elektroniki i Telekomunikacji Katedra Sieci Telekomunikacyjnych i Komputerowych Zastosowanie algorytmów genetycznych do realizacji połączeń rozgałęźnych w sieciach pakietowych

Bardziej szczegółowo

9.9 Algorytmy przeglądu

9.9 Algorytmy przeglądu 14 9. PODSTAWOWE PROBLEMY JEDNOMASZYNOWE 9.9 Algorytmy przeglądu Metody przeglądu dla problemu 1 r j,q j C max były analizowane między innymi w pracach 25, 51, 129, 238. Jak dotychczas najbardziej elegancka

Bardziej szczegółowo

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Zaawansowane programowanie

Zaawansowane programowanie Zaawansowane programowanie wykład 3: inne heurystyki prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Heurystyką nazywamy algorytm (metodę) zwracający rozwiązanie przybliżone.

Bardziej szczegółowo

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST) Drzewa ST i VL Drzewa poszukiwań binarnych (ST) Drzewo ST to dynamiczna struktura danych (w formie drzewa binarnego), która ma tą właściwość, że dla każdego elementu wszystkie elementy w jego prawym poddrzewie

Bardziej szczegółowo

Temat 9. Zabłocone miasto Minimalne drzewa rozpinające

Temat 9. Zabłocone miasto Minimalne drzewa rozpinające Temat 9 Zabłocone miasto Minimalne drzewa rozpinające Streszczenie Nasze życie związane jest z funkcjonowaniem wielu sieci: telefonicznych, energetycznych, komputerowych i drogowych. W przypadku każdej

Bardziej szczegółowo

Systemy uczące się Lab 4

Systemy uczące się Lab 4 Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

Bardziej szczegółowo

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny 41 Rodzaje testów i pomiarów aktywnych ZAGADNIENIA - Jak przeprowadzać pomiary aktywne w sieci? - Jak zmierzyć jakość usług sieciowych? - Kto ustanawia standardy dotyczące jakości usług sieciowych? - Jakie

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

ZiMSK. Routing dynamiczny 1

ZiMSK. Routing dynamiczny 1 ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl Routing dynamiczny 1 Wykład

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

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Metaheurystyki oparte na algorytmach lokalnego przeszukiwania Maciej Hapke maciej.hapke at put.poznan.pl GRASP Greedy Randomized Adaptive Search Procedure T.A. Feo, M.G.C. Resende,

Bardziej szczegółowo

POISSONOWSKA APROKSYMACJA W SYSTEMACH NIEZAWODNOŚCIOWYCH

POISSONOWSKA APROKSYMACJA W SYSTEMACH NIEZAWODNOŚCIOWYCH POISSONOWSKA APROKSYMACJA W SYSTEMACH NIEZAWODNOŚCIOWYCH Barbara Popowska bpopowsk@math.put.poznan.pl Politechnika Poznańska http://www.put.poznan.pl/ PROGRAM REFERATU 1. WPROWADZENIE 2. GRAF JAKO MODEL

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

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz

Seminarium IO. Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem. Michał Okulewicz Seminarium IO Zastosowanie wielorojowej metody PSO w Dynamic Vehicle Routing Problem Michał Okulewicz 26.02.2013 Plan prezentacji Przypomnienie Problem DVRP Algorytm PSO Podejścia DAPSO, MAPSO 2PSO, 2MPSO

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

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

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

Drzewa poszukiwań binarnych

Drzewa poszukiwań binarnych 1 Cel ćwiczenia Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet ielonogórski Drzewa poszukiwań binarnych Ćwiczenie

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

LABORATORIUM SYSTEMY I SIECI TELEKOMUNIKACYJNE CZĘŚĆ 2 MODELOWANIE SIECI Z WYKORZYSTANIEM SYMULATORA NCTUNS

LABORATORIUM SYSTEMY I SIECI TELEKOMUNIKACYJNE CZĘŚĆ 2 MODELOWANIE SIECI Z WYKORZYSTANIEM SYMULATORA NCTUNS LABORATORIUM SYSTEMY I SIECI TELEKOMUNIKACYJNE CZĘŚĆ 2 MODELOWANIE SIECI Z WYKORZYSTANIEM SYMULATORA NCTUNS 1 Warunki zaliczenia części związanej z modelowaniem sieci Zajęcia laboratoryjne z wykorzystaniem

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

router wielu sieci pakietów

router wielu sieci pakietów Dzisiejsze sieci komputerowe wywierają ogromny wpływ na naszą codzienność, zmieniając to, jak żyjemy, pracujemy i spędzamy wolny czas. Sieci mają wiele rozmaitych zastosowań, wśród których można wymienić

Bardziej szczegółowo

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski Podejście memetyczne do problemu DCVRP - wstępne wyniki Adam Żychowski Na podstawie prac X. S. Chen, L. Feng, Y. S. Ong A Self-Adaptive Memeplexes Robust Search Scheme for solving Stochastic Demands Vehicle

Bardziej szczegółowo

Wyszukiwanie binarne

Wyszukiwanie binarne Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie

Bardziej szczegółowo

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może

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

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Lista 4. Kamil Matuszewski 22 marca 2016

Lista 4. Kamil Matuszewski 22 marca 2016 Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce

Bardziej szczegółowo