Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona"

Transkrypt

1 Wykład 4. Droga i cykl Eulera i Hamiltona 1 / 92

2 Grafy Eulera Droga i cykl Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie grafu, to taką drogę nazywamy cyklem Eulera, a graf grafem eulerowskim albo grafem Eulera. 2 / 92

3 Grafy Eulera Droga i cykl Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie grafu, to taką drogę nazywamy cyklem Eulera, a graf grafem eulerowskim albo grafem Eulera. Definicja Jeżeli w grafie G istnieje droga prosta (nie koniecznie zamknięta) zawierająca wszystkie krawędzie grafu G, to taką drogę nazywamy drogą Eulera, zaś graf ten nazywamy grafem półeulerowskim. 3 / 92

4 Grafy Eulera Droga i cykl Eulera Niech G będzie grafem spójnym. Definicja Jeżeli w grafie G istnieje zamknięta droga prosta zawierająca wszystkie krawędzie grafu, to taką drogę nazywamy cyklem Eulera, a graf grafem eulerowskim albo grafem Eulera. Definicja Jeżeli w grafie G istnieje droga prosta (nie koniecznie zamknięta) zawierająca wszystkie krawędzie grafu G, to taką drogę nazywamy drogą Eulera, zaś graf ten nazywamy grafem półeulerowskim. 4 / 92

5 Przykład Droga i cykl Eulera z z y y z y w w w t x t x t x a) b) c) 5 / 92

6 Przykład Droga i cykl Eulera z z y y z y w w w t x t x t x a) b) c) a) graf eulerowski, cykl Eulera - txwzxyz 6 / 92

7 Przykład Droga i cykl Eulera z z y y z y w w w t x t x t x a) b) c) a) graf eulerowski, cykl Eulera - txwzxyz b) graf półeulerowski, droga Eulera - txywtzy 7 / 92

8 Przykład Droga i cykl Eulera z z y y z y w w w t x t x t x a) b) c) a) graf eulerowski, cykl Eulera - txwzxyz b) graf półeulerowski, droga Eulera - txywtzy c) graf nie posiada ani cyklu, ani drogi Eulera 8 / 92

9 Historia Droga i cykl Eulera W Królewcu, na rzece Pregole są dwie wyspy A i B połączone ze sobą, a także z brzegami C i D za pomocą siedmiu mostów. Należy wyruszyć z dowolnej części lądowej miasta: A, B, C lub D, przejść przez każdy z mostów dokładnie jeden raz i powrócić do punktu wyjściowego (bez przepływania przez rzekę). C Brzeg C Rzeka A B Wyspa A Wyspa B Brzeg D D 9 / 92

10 Historia Droga i cykl Eulera W Królewcu, na rzece Pregole są dwie wyspy A i B połączone ze sobą, a także z brzegami C i D za pomocą siedmiu mostów. Należy wyruszyć z dowolnej części lądowej miasta: A, B, C lub D, przejść przez każdy z mostów dokładnie jeden raz i powrócić do punktu wyjściowego (bez przepływania przez rzekę). C Brzeg C Rzeka A B Wyspa A Wyspa B Brzeg D D W 1736 problem został rozwiązany przez szwajcarskiego matematyka Leonharda Eulera ( ). Zbudował on graf przedstawiony na rysunku przyporządkowując obszarom lądu wierzchołki, a mostom - krawędzie. Należało teraz odpowiedzieć na pytanie: Czy tak otrzymany graf ma drogę zamkniętą, która zawiera wszystkie krawędzie tylko raz? 10 / 92

11 Lemat Jeżeli dla każdego wierzchołka grafu G, deg(v) 2, dla v V, wówczas graf zawiera cykl. 11 / 92

12 Lemat Jeżeli dla każdego wierzchołka grafu G, deg(v) 2, dla v V, wówczas graf zawiera cykl. Dowód. Jeżeli graf G zawiera krawędzie wielokrotne lub pętle wówczas twierdzenie jest prawdziwe. Zakładamy dalej, że graf G jest grafem prostym. Niech v 0 będzie dowolnym wierzchołkiem grafu G. Utwórzmy drogę prostą wychodząca z punktu v 0 według algorytmu: 1 v 0 dowolny wierzchołek grafu G, przyjmijmy v 1 = v 0 2 i 1 3 do drogi C dołączamy wierzchołek v 0 4 while droga C nie jest cyklem 5 do 6 niech v i v i 2 będzie sąsiadem wierzchołka v i 1, wybór jest możliwy, ponieważ deg(v i 1 ) 2 7 if v i jest wierzchołkiem należącym do drogi v i 1,..., v 0 8 then droga C zawiera cykl 9 else v i dołączamy do drogi C = v i, v i 1,..., v 0 10 i i / 92

13 Twierdzenie Eulera Graf spójny ma cykl Eulera gdy każdy wierzchołek ma stopień parzysty. Warunek konieczny. Jeżeli graf G ma cykl Eulera, to ma wszystkie wierzchołki stopnia parzystego. g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y x z b t s g f d k h c y z b t s g f d k h c y z b t s g f d k h c y z b t s g f d k h c y z b t s x t y x d s f c b h g k t y x z d s f c b h g k t y x z d s f c b h g k t Niech C będzie cyklem Eulera (na rysunku C = zyxtsytz. Załóżmy, że startujemy z pierwszego wierzchołka cyklu (na rysunku z), idziemy od wierzchołka do wierzchołka naszego cyklu i odejmujemy krawędź (może to być pętla), po której ostatnio przeszliśmy. Dla każdego wierzchołka cyklu oprócz wierzchołka pierwszego odjęcie dwóch kolejnych krawędzi cyklu incydentnych z tym wierzchołkiem zmniejsza jego stopień o dwa. Gdy powrócimy do wierzchołka startowego (na rysunku z) pozostaną w grafie jedynie wierzchołki stopnia zerowego, co oznacza, że na początku wszystkie wierzchołki miały stopień parzysty. 13 / 92

14 Warunek dostateczny. Jeżeli graf G ma wszystkie wierzchołki stopnia parzystego, to ma cykl Eulera. Dowód oparty o zasadę indukcji matematycznej, ze względu na liczbę krawędzi m grafu. H H Niech m 1. Załóżmy, że twierdzenie jest prawdziwe dla wszystkich grafów posiadających mniej niż m krawędzi. Niech G będzie grafem spójnym, który posiada m krawędzi oraz stopień każdego wierzchołka jest liczbą parzystą. Ponieważ stopień każdego wierzchołka wynosi co najmniej H dwa, więc z poprzedniego lematu wynika, że graf G ma cykl C. Jeśli (V C, E G ) = G wówczas dowód jest zakończony. W przeciwnym razie każda składowa spójności grafu G E C spełnia założenie indukcyjne, więc jest eulerowska. Cykl Eulera w grafie G wyznaczamy następująco: przechodzimy przez kolejne wierzchołki cyklu C. Jeśli bieżący wierzchołek należy do pewnej składowej spójności, to od tego wierzchołka wyznaczamy cykl Eulera w danej składowej, powracając do tego samego wierzchołka cyklu C. 14 / 92

15 Twierdzenie Eulera o drodze Eulera Graf spójny mający dokładnie dwa wierzchołki stopnia nieparzystego ma drogę Eulera. 15 / 92

16 Twierdzenie Eulera o drodze Eulera Graf spójny mający dokładnie dwa wierzchołki stopnia nieparzystego ma drogę Eulera. Wniosek Z ostatniego twierdzenia wynika, że w grafie półeulerowskim, każda droga Eulera musi mieć początek w jednym wierzchołku nieparzystego stopnia, a koniec w drugim takim wierzchołku. 16 / 92

17 Twierdzenie Eulera dla grafów skierowanych Graf skierowany jest grafem Eulera wtedy i tylko wtedy, gdy dla dowolnego wierzchołka v grafu, stopień wejściowy jest równy stopniowi wyjściowemu. indeg(v) = outdeg(v) 17 / 92

18 Twierdzenie Eulera dla grafów skierowanych Graf skierowany jest grafem Eulera wtedy i tylko wtedy, gdy dla dowolnego wierzchołka v grafu, stopień wejściowy jest równy stopniowi wyjściowemu. indeg(v) = outdeg(v) x 4 x 3 Cykl: x 3x 2x 4x 1x 2x 1x 4x 3 x 2 x 1 18 / 92

19 Zadanie chińskiego listonosza Grafy de Bruijna Problem chińskiego listonosza Zadanie to zostało sformułowane przez chińskiego matematyka Mei Ku Kwana. Listonosz wychodząc z budynku poczty musi obejść wszystkie ulice w swoim rejonie i powrócić do budynku, przechodząc jak najkrótszą drogę. W języku teorii grafów należy w grafie spójnym znaleźć drogę zamkniętą z minimalną liczbą krawędzi albo, w przypadku grafu ważonego z najmniejszą sumą wag, która zawiera każdą krawędź co najmniej raz. Jeżeli graf jest eulerowski, to rozwiązanie problemu jest jednoznaczne i jest nim dowolny cykl Eulera. 19 / 92

20 Zadanie chińskiego listonosza Grafy de Bruijna Problem chińskiego listonosza Zadanie to zostało sformułowane przez chińskiego matematyka Mei Ku Kwana. Listonosz wychodząc z budynku poczty musi obejść wszystkie ulice w swoim rejonie i powrócić do budynku, przechodząc jak najkrótszą drogę. W języku teorii grafów należy w grafie spójnym znaleźć drogę zamkniętą z minimalną liczbą krawędzi albo, w przypadku grafu ważonego z najmniejszą sumą wag, która zawiera każdą krawędź co najmniej raz. Jeżeli graf jest eulerowski, to rozwiązanie problemu jest jednoznaczne i jest nim dowolny cykl Eulera. Jeżeli graf jest półeulerowski, to rozwiązaniem problemu jest droga Eulera i najkrótsza droga powrotna do punktu startowego. 20 / 92

21 Zadanie chińskiego listonosza Grafy de Bruijna Problem chińskiego listonosza Zadanie to zostało sformułowane przez chińskiego matematyka Mei Ku Kwana. Listonosz wychodząc z budynku poczty musi obejść wszystkie ulice w swoim rejonie i powrócić do budynku, przechodząc jak najkrótszą drogę. W języku teorii grafów należy w grafie spójnym znaleźć drogę zamkniętą z minimalną liczbą krawędzi albo, w przypadku grafu ważonego z najmniejszą sumą wag, która zawiera każdą krawędź co najmniej raz. Jeżeli graf jest eulerowski, to rozwiązanie problemu jest jednoznaczne i jest nim dowolny cykl Eulera. Jeżeli graf jest półeulerowski, to rozwiązaniem problemu jest droga Eulera i najkrótsza droga powrotna do punktu startowego. Gdy graf nie jest ani eulerowski, ani półeulerowski, to rozważany problem staje się trudny. Rozwiązanie problemu dostarczania poczty polega na wyznaczeniu pewnych krawędzi, którymi trzeba się poruszać kilka razy (innymi słowy rysunek grafu uzupełniamy krawędziami wielokrotnymi, czyniąc go grafem Eulera). Krawędzie, które dorysowujemy wyznacza się używając algorytmów: wyznaczania maksymalnego przepływu i najkrótszych dróg lub stosując algorytm najkrótszych ścieżek i wyznaczania skojarzenia. 21 / 92

22 Ciąg de Bruijna Droga i cykl Eulera Zadanie chińskiego listonosza Grafy de Bruijna Niech dla ustalonego k N A k := {0, 1, 2,..., k 1}. Zbiór A k będziemy nazywać alfabetem złożonym z k liter 0, 1, 2,..., k / 92

23 Ciąg de Bruijna Droga i cykl Eulera Zadanie chińskiego listonosza Grafy de Bruijna Niech dla ustalonego k N A k := {0, 1, 2,..., k 1}. Zbiór A k będziemy nazywać alfabetem złożonym z k liter 0, 1, 2,..., k 1. Definicja Słowem długości n nad alfabetem A k nazywamy każdy ciąg n wyrazowy zbudowany z liter alfabetu A k. 23 / 92

24 Ciąg de Bruijna Droga i cykl Eulera Zadanie chińskiego listonosza Grafy de Bruijna Niech dla ustalonego k N A k := {0, 1, 2,..., k 1}. Zbiór A k będziemy nazywać alfabetem złożonym z k liter 0, 1, 2,..., k 1. Definicja Słowem długości n nad alfabetem A k nazywamy każdy ciąg n wyrazowy zbudowany z liter alfabetu A k. Definicja Słowem cyklicznym długości s nad alfabetem A k nazywamy każdy cykliczny ciąg długości s zbudowany z liter alfabetu A k. 24 / 92

25 Ciąg de Bruijna Droga i cykl Eulera Zadanie chińskiego listonosza Grafy de Bruijna Niech dla ustalonego k N A k := {0, 1, 2,..., k 1}. Zbiór A k będziemy nazywać alfabetem złożonym z k liter 0, 1, 2,..., k 1. Definicja Słowem długości n nad alfabetem A k nazywamy każdy ciąg n wyrazowy zbudowany z liter alfabetu A k. Definicja Słowem cyklicznym długości s nad alfabetem A k nazywamy każdy cykliczny ciąg długości s zbudowany z liter alfabetu A k. Definicja Ciągiem de Bruijna rzędu n nad alfabetem A k nazywamy słowo cykliczne długości k n zawierające wszystkie możliwe słowa długości n. 25 / 92

26 Zadanie chińskiego listonosza Grafy de Bruijna Przykłady Dla alfabetu A = {0, 1} (k = 2) 26 / 92

27 Zadanie chińskiego listonosza Grafy de Bruijna Przykłady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: / 92

28 Zadanie chińskiego listonosza Grafy de Bruijna Przykłady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: / 92

29 Zadanie chińskiego listonosza Grafy de Bruijna Przykłady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: / 92

30 Zadanie chińskiego listonosza Grafy de Bruijna Przykłady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: dla n = 4: / 92

31 Zadanie chińskiego listonosza Grafy de Bruijna Przykłady Dla alfabetu A = {0, 1} (k = 2) dla n = 1: 01 dla n = 2: 0110 dla n = 3: dla n = 4: Dla alfabetu A = {0, 1, 2}) i n = 3: / 92

32 Graf de Bruijna Droga i cykl Eulera Zadanie chińskiego listonosza Grafy de Bruijna Definicja n-wymiarowym grafem de Bruijna alfabetu A k, nazywamy skierowany graf G = V, E, którego wierzchołki wzajemnie jednoznacznie odpowiadają słowom o długości n, natomiast E = {((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) : v 1, v 2,..., v n, v A k }. 32 / 92

33 Graf de Bruijna Droga i cykl Eulera Zadanie chińskiego listonosza Grafy de Bruijna Definicja n-wymiarowym grafem de Bruijna alfabetu A k, nazywamy skierowany graf G = V, E, którego wierzchołki wzajemnie jednoznacznie odpowiadają słowom o długości n, natomiast E = {((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) : v 1, v 2,..., v n, v A k }. Krawędziom grafu de Bruijna można przyporządkować wagi. Krawędzi e = ((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) przyporządkowujemy wagę v. 33 / 92

34 Graf de Bruijna Droga i cykl Eulera Zadanie chińskiego listonosza Grafy de Bruijna Definicja n-wymiarowym grafem de Bruijna alfabetu A k, nazywamy skierowany graf G = V, E, którego wierzchołki wzajemnie jednoznacznie odpowiadają słowom o długości n, natomiast E = {((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) : v 1, v 2,..., v n, v A k }. Krawędziom grafu de Bruijna można przyporządkować wagi. Krawędzi e = ((v 1, v 2,..., v n), (v 2, v 3,..., v n, v)) przyporządkowujemy wagę v. Ciąg de Bruijna rzędu n nad alfabetem A k może być skonstruowany przy użyciu cyklu Eulera w (n 1) wymiarowym grafie de Bruijna alfabetu A k. 34 / 92

35 Definicja Drogą Hamiltona nazywamy drogę, która przechodzi przez każdy wierzchołek grafu dokładnie jeden raz. 35 / 92

36 Definicja Drogą Hamiltona nazywamy drogę, która przechodzi przez każdy wierzchołek grafu dokładnie jeden raz. Definicja Cyklem Hamiltona nazywamy cykl przechodzący przez wszystkie wierzchołki grafu. 36 / 92

37 Definicja Drogą Hamiltona nazywamy drogę, która przechodzi przez każdy wierzchołek grafu dokładnie jeden raz. Definicja Cyklem Hamiltona nazywamy cykl przechodzący przez wszystkie wierzchołki grafu. Graf posiadający cykl Hamiltona nazywamy grafem hamiltonowskim, a graf posiadający tylko drogę Hamiltona - grafem półhamiltonowskim. 37 / 92

38 Definicja Drogą Hamiltona nazywamy drogę, która przechodzi przez każdy wierzchołek grafu dokładnie jeden raz. Definicja Cyklem Hamiltona nazywamy cykl przechodzący przez wszystkie wierzchołki grafu. Graf posiadający cykl Hamiltona nazywamy grafem hamiltonowskim, a graf posiadający tylko drogę Hamiltona - grafem półhamiltonowskim. w w v w z u z u z x y x y x y a) b) c) 38 / 92

39 Kod Greya Droga i cykl Eulera Zacznijmy od następującej obserwacji: 39 / 92

40 Kod Greya Droga i cykl Eulera Zacznijmy od następującej obserwacji: Niech ciąg (C 1, C 2,..., C m) zawiera wszystkie ciągi binarne C i długości k (jest ich 2 k ), przy czym C i różni się od C i+1 na dokładnie jednej współrzędnej. Wówczas ciąg C 10, C 20,..., C m0, C m1, C m 11,...C 11 zawiera wszystkie ciągi binarne długości k + 1, przy czym każde dwa sąsiednie ciągi różnią się na dokładnie jednej współrzędnej. 40 / 92

41 Kod Greya Droga i cykl Eulera Zacznijmy od następującej obserwacji: Niech ciąg (C 1, C 2,..., C m) zawiera wszystkie ciągi binarne C i długości k (jest ich 2 k ), przy czym C i różni się od C i+1 na dokładnie jednej współrzędnej. Wówczas ciąg C 10, C 20,..., C m0, C m1, C m 11,...C 11 zawiera wszystkie ciągi binarne długości k + 1, przy czym każde dwa sąsiednie ciągi różnią się na dokładnie jednej współrzędnej. W ten sposób konstruujemy prosty algorytm rekurencyjny generujący wszystkie ciągi binarne długości n. 41 / 92

42 Kod Greya Droga i cykl Eulera Zacznijmy od następującej obserwacji: Niech ciąg (C 1, C 2,..., C m) zawiera wszystkie ciągi binarne C i długości k (jest ich 2 k ), przy czym C i różni się od C i+1 na dokładnie jednej współrzędnej. Wówczas ciąg C 10, C 20,..., C m0, C m1, C m 11,...C 11 zawiera wszystkie ciągi binarne długości k + 1, przy czym każde dwa sąsiednie ciągi różnią się na dokładnie jednej współrzędnej. W ten sposób konstruujemy prosty algorytm rekurencyjny generujący wszystkie ciągi binarne długości n. Otrzymany ciąg C 1, C 2,..., C 2 n nazywamy kodem binarnym Greya rzędu n. 42 / 92

43 Cykl Hamiltona w kostce Q n W kostce n-wymiarowej Q n, kolejność ciągów binarnych, wygenerowanych przez kod Grey a stanowi drogę Hamiltona w tej kostce / 92

44 Warunek konieczny istnienia cyklu Hamiltona Twierdzenie Jeżeli graf o n wierzchołkach jest hamiltonowski, to posiada co najmniej n krawędzi. 44 / 92

45 Warunki wystarczające istnienia cyklu Hamiltona Twierdzenie Każdy graf pełny K n jest grafem Hamiltona. 45 / 92

46 Warunki wystarczające istnienia cyklu Hamiltona Twierdzenie Każdy graf pełny K n jest grafem Hamiltona. K 3 K 4 K 5 46 / 92

47 Warunki wystarczające istnienia cyklu Hamiltona Twierdzenie Ore (1960) Niech graf G = V, E będzie grafem spójnym i niech V = n 3 (tzn. graf G ma co najmniej trzy wierzchołki). Jeżeli deg(u) + deg(w) n dla każdej pary wierzchołków u, w V, które nie są połączone krawędzią, to graf G jest grafem hamiltonowskim. 47 / 92

48 Warunki wystarczające istnienia cyklu Hamiltona Twierdzenie Ore (1960) Niech graf G = V, E będzie grafem spójnym i niech V = n 3 (tzn. graf G ma co najmniej trzy wierzchołki). Jeżeli deg(u) + deg(w) n dla każdej pary wierzchołków u, w V, które nie są połączone krawędzią, to graf G jest grafem hamiltonowskim. u z u z x 6 x 5 w v x 7 X 4 w x 8 x 3 x y x G 1 G 2 G 3 y x 1 x 2 a) b) c) 48 / 92

49 Warunki wystarczające istnienia cyklu Hamiltona Twierdzenie Dirac (1952) Jeżeli w grafie prostym i spójnym G = V, E o n wierzchołkach (n 3) oraz stopień każdego wierzchołka u V spełnia warunek deg(u) 1 n, to 2 graf G jest grafem hamiltonowskim. 49 / 92

50 Warunki wystarczające istnienia cyklu Hamiltona Twierdzenie Dirac (1952) Jeżeli w grafie prostym i spójnym G = V, E o n wierzchołkach (n 3) oraz stopień każdego wierzchołka u V spełnia warunek deg(u) 1 n, to 2 graf G jest grafem hamiltonowskim. Twierdzenie Jeżeli w grafie prostym i spójnym G o n wierzchołkach jest co najmniej (n 1)(n 2) + 2 krawędzi, to graf G jest grafem hamiltonowskim / 92

51 warunek konieczny Twierdzenie Niech G = (V 1 V 2, E) będzie grafem dwudzielnym Jeśli G ma cykl Hamiltona, to V 1 = V 2. Jeśli G ma drogę Hamiltona, to V 1 V / 92

52 pełnych warunek wystarczający Twierdzenie Niech G = (V 1 V 2, E) będzie grafem pełnym dwudzielnym Jeśli V 1 = V 2, to G ma cykl Hamiltona. Jeśli V 1 V 2 1, to G ma drogę Hamiltona. 52 / 92

53 Cykle Hamiltona rozłączne krawędziowo Definicja Dwa cykle są rozłączne krawędziowo, gdy każda krawędź należy tylko do jednego cyklu w grafie. 53 / 92

54 Cykle Hamiltona rozłączne krawędziowo Definicja Dwa cykle są rozłączne krawędziowo, gdy każda krawędź należy tylko do jednego cyklu w grafie. Twierdzenie Graf pełny K n zawiera [ ] n 1 2 rozłącznych krawędziowo cykli Hamiltona. 54 / 92

55 Cykle Hamiltona rozłączne krawędziowo Definicja Dwa cykle są rozłączne krawędziowo, gdy każda krawędź należy tylko do jednego cyklu w grafie. Twierdzenie Graf pełny K n zawiera [ ] n 1 2 rozłącznych krawędziowo cykli Hamiltona. W grafie K 5 mamy [ ] 5 1 = 2 2 W grafie K 4 mamy [ ] [ 4 1 = 1 1 ] = / 92

56 Twierdzenie Graf pełny K n zawiera różnych cykli Hamiltona. (n 1)! 2 56 / 92

57 Twierdzenie Graf pełny K n zawiera różnych cykli Hamiltona. (n 1)! 2 W grafie K 4 mamy (4 1)! 2 = 3 różne cykle Hamiltona 57 / 92

58 Twierdzenie Graf pełny K n zawiera różnych cykli Hamiltona. (n 1)! 2 W grafie K 4 mamy (4 1)! 2 = 3 różne cykle Hamiltona W grafie K 5 mamy (5 1)! 2 = 12 cykli Hamiltona, 58 / 92

59 Twierdzenie Graf pełny K n zawiera różnych cykli Hamiltona. (n 1)! 2 W grafie K 4 mamy (4 1)! 2 = 3 różne cykle Hamiltona W grafie K 5 mamy (5 1)! 2 = 12 cykli Hamiltona, W grafie K 20 mamy 19! 2 > 1017 różnych cykli Hamiltona. 59 / 92

60 Komiwojażer ma odwiedzić kilka miast (każde dokładnie jeden raz) i powrócić do miasta, z którego wyruszył przebywając łącznie najkrótszą (najtańszą, lub najszybciej przebytą) drogę. Znane są odległości (koszty lub czas) przejazdu między każdą parą miast. Należy wyznaczyć komiwojażerowi trasę przejazdu tak, aby mógł odwiedzić każde miasto dokładnie jeden raz i całkowita droga (koszt lub czas) podróży była/był możliwie najkrótsza/najmniejszy. 60 / 92

61 Komiwojażer ma odwiedzić kilka miast (każde dokładnie jeden raz) i powrócić do miasta, z którego wyruszył przebywając łącznie najkrótszą (najtańszą, lub najszybciej przebytą) drogę. Znane są odległości (koszty lub czas) przejazdu między każdą parą miast. Należy wyznaczyć komiwojażerowi trasę przejazdu tak, aby mógł odwiedzić każde miasto dokładnie jeden raz i całkowita droga (koszt lub czas) podróży była/był możliwie najkrótsza/najmniejszy. Problem ten możemy sformułować w teorii n wierzchołkowej sieci pełnej, a następnie znaleźć najkrótszy (najtańszy lub najszybszy) cykl Hamiltona o n wierzchołkach. a b c Przykładowo, w sieci na rysunku cykl a, b, c, d, e, a ma wagę 230, a cykl a, b, e, c, d, a ma wagę / 92

62 Teoretycznie problem komiwojażera można rozwiązać poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejszą sumę wag. 2 Oczywiście, metoda ta jest bardzo nieefektywna. Bowiem, jeśli dysponujemy komputerem sprawdzającym milion permutacji na sekundę, to: 62 / 92

63 Teoretycznie problem komiwojażera można rozwiązać poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejszą sumę wag. 2 Oczywiście, metoda ta jest bardzo nieefektywna. Bowiem, jeśli dysponujemy komputerem sprawdzającym milion permutacji na sekundę, to: n = 10 liczba cykli wynosi (10 1)!/2 = czas obliczeń = 1.8 s 63 / 92

64 Teoretycznie problem komiwojażera można rozwiązać poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejszą sumę wag. 2 Oczywiście, metoda ta jest bardzo nieefektywna. Bowiem, jeśli dysponujemy komputerem sprawdzającym milion permutacji na sekundę, to: n = 10 liczba cykli wynosi (10 1)!/2 = czas obliczeń = 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = czas obliczeń ok lat 64 / 92

65 Teoretycznie problem komiwojażera można rozwiązać poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejszą sumę wag. 2 Oczywiście, metoda ta jest bardzo nieefektywna. Bowiem, jeśli dysponujemy komputerem sprawdzającym milion permutacji na sekundę, to: n = 10 liczba cykli wynosi (10 1)!/2 = czas obliczeń = 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = czas obliczeń ok lat jest NP-zupełny. 65 / 92

66 Teoretycznie problem komiwojażera można rozwiązać poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejszą sumę wag. 2 Oczywiście, metoda ta jest bardzo nieefektywna. Bowiem, jeśli dysponujemy komputerem sprawdzającym milion permutacji na sekundę, to: n = 10 liczba cykli wynosi (10 1)!/2 = czas obliczeń = 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = czas obliczeń ok lat jest NP-zupełny. Rozwiązania problemu komiwojażera, możemy wybrać jedną z dwóch metod: 66 / 92

67 Teoretycznie problem komiwojażera można rozwiązać poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejszą sumę wag. 2 Oczywiście, metoda ta jest bardzo nieefektywna. Bowiem, jeśli dysponujemy komputerem sprawdzającym milion permutacji na sekundę, to: n = 10 liczba cykli wynosi (10 1)!/2 = czas obliczeń = 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = czas obliczeń ok lat jest NP-zupełny. Rozwiązania problemu komiwojażera, możemy wybrać jedną z dwóch metod: metodę dokładną, np. metodę podziału i ograniczeń, która wygeneruje dokładne rozwiązanie, ale działającą w czasie wykładniczym (a więc metoda wolna ), 67 / 92

68 Teoretycznie problem komiwojażera można rozwiązać poprzez wyznaczenie 1 (n 1)! cykli Hamiltona i wybranie tego, który ma najmniejszą sumę wag. 2 Oczywiście, metoda ta jest bardzo nieefektywna. Bowiem, jeśli dysponujemy komputerem sprawdzającym milion permutacji na sekundę, to: n = 10 liczba cykli wynosi (10 1)!/2 = czas obliczeń = 1.8 s n = 20 liczba cykli wynosi (20 1)!/2 = czas obliczeń ok lat jest NP-zupełny. Rozwiązania problemu komiwojażera, możemy wybrać jedną z dwóch metod: metodę dokładną, np. metodę podziału i ograniczeń, która wygeneruje dokładne rozwiązanie, ale działającą w czasie wykładniczym (a więc metoda wolna ), metodę przybliżoną (inaczej nazywaną metodą aproksymacyjną), która generuje rozwiązanie bliskie optymalnemu ale działającą w czasie wielomianowym. 68 / 92

69 Historia TSP - Travelling salesman problem 69 / 92

70 Historia TSP - Travelling salesman problem Dla 49 miast wojewódzkich według starego podziału administracyjnego Polski, długość drogi przybliżonej wynosi około 3699 km, a długość drogi optymalnej wynosi około 3580 km. 70 / 92

71 Optymalizacja naturalna. Heurystyki przeszukiwań Heurystyka (gr.heuriskein znaleźć, odkryć) to praktyczna, oparta na doświadczeniu reguła postępowania, która może znacznie uprościć lub skrócić proces rozwiązywania rozważanego problemu, gdy metoda rozwiązania nie jest znana lub jest zawiła i czasochłonna. Dla zadań, w których mamy do czynienia z wieloma rozwiązaniami, ważne jest wczesne odrzucenie nieobiecujących kierunków poszukiwania rozwiązania. Zapewnia to ogromne oszczędności na kosztach obliczeniowych, a w rezultacie przyspiesza znalezienie rozwiązania. Metody heurystyczne pozwalają na znalezienie w akceptowalnym czasie przynajmniej przybliżonego rozwiązania problemu, choć nie gwarantuje tego we wszystkich przypadkach. Skuteczności kroków heurystycznych nie można w pełni udowodnić teoretycznie, można jedynie pokazać doświadczalnie ich trafność. 71 / 92

72 Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszają się z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje się pożywienie). 72 / 92

73 Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszają się z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje się pożywienie). Wracając każda z nich przebywa dokładnie tę samą drogę w przeciwnym kierunku. 73 / 92

74 Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszają się z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje się pożywienie). Wracając każda z nich przebywa dokładnie tę samą drogę w przeciwnym kierunku. Każda z mrówek napotykając na swojej drodze rozgałęzienie dokonuje losowego wyboru drogi (na początku prawdopodobieństwo wyboru każdej z możliwości jest takie samo). 74 / 92

75 Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszają się z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje się pożywienie). Wracając każda z nich przebywa dokładnie tę samą drogę w przeciwnym kierunku. Każda z mrówek napotykając na swojej drodze rozgałęzienie dokonuje losowego wyboru drogi (na początku prawdopodobieństwo wyboru każdej z możliwości jest takie samo). 75 / 92

76 Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszają się z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje się pożywienie). Wracając każda z nich przebywa dokładnie tę samą drogę w przeciwnym kierunku. Każda z mrówek napotykając na swojej drodze rozgałęzienie dokonuje losowego wyboru drogi (na początku prawdopodobieństwo wyboru każdej z możliwości jest takie samo). Mrówki przechodząc trasę pozostawiają za sobą pewną ilość feromonu. 76 / 92

77 Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszają się z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje się pożywienie). Wracając każda z nich przebywa dokładnie tę samą drogę w przeciwnym kierunku. Każda z mrówek napotykając na swojej drodze rozgałęzienie dokonuje losowego wyboru drogi (na początku prawdopodobieństwo wyboru każdej z możliwości jest takie samo). Mrówki przechodząc trasę pozostawiają za sobą pewną ilość feromonu. W efekcie, z upływem czasu krótsze drogi pokryte są większą ilością feromonu. 77 / 92

78 Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszają się z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje się pożywienie). Wracając każda z nich przebywa dokładnie tę samą drogę w przeciwnym kierunku. Każda z mrówek napotykając na swojej drodze rozgałęzienie dokonuje losowego wyboru drogi (na początku prawdopodobieństwo wyboru każdej z możliwości jest takie samo). Mrówki przechodząc trasę pozostawiają za sobą pewną ilość feromonu. W efekcie, z upływem czasu krótsze drogi pokryte są większą ilością feromonu. Kolejne mrówki dokonują wyboru dróg losowo, ale z uwzględnieniem ilości pozostawionego feromonu. 78 / 92

79 Algorytmy mrówkowe, 1992 Marco Dorigo Mrówki poruszają się z mrowiska do ustalonego punktu (np. miejsca, gdzie znajduje się pożywienie). Wracając każda z nich przebywa dokładnie tę samą drogę w przeciwnym kierunku. Każda z mrówek napotykając na swojej drodze rozgałęzienie dokonuje losowego wyboru drogi (na początku prawdopodobieństwo wyboru każdej z możliwości jest takie samo). Mrówki przechodząc trasę pozostawiają za sobą pewną ilość feromonu. W efekcie, z upływem czasu krótsze drogi pokryte są większą ilością feromonu. Kolejne mrówki dokonują wyboru dróg losowo, ale z uwzględnieniem ilości pozostawionego feromonu. W efekcie końcowym mrówki wybierają najkrótszą z dróg. 79 / 92

80 Ant System - AS, zastosowanie do TSP Dany jest graf pełny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchołków (miast), E zbiór krawędzi (bezpośrednich połączeń między miastami). Niech d ij oznacza długością krawędzi (i, j) E, czyli odległością między miastami i i j. 80 / 92

81 Ant System - AS, zastosowanie do TSP Dany jest graf pełny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchołków (miast), E zbiór krawędzi (bezpośrednich połączeń między miastami). Niech d ij oznacza długością krawędzi (i, j) E, czyli odległością między miastami i i j. W algorytmie AS, w każdej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf budując cykl długości n. 81 / 92

82 Ant System - AS, zastosowanie do TSP Dany jest graf pełny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchołków (miast), E zbiór krawędzi (bezpośrednich połączeń między miastami). Niech d ij oznacza długością krawędzi (i, j) E, czyli odległością między miastami i i j. W algorytmie AS, w każdej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf budując cykl długości n. Załóżmy, że w iteracji t k ta mrówka znajduje się w wierzchołku i. 82 / 92

83 Ant System - AS, zastosowanie do TSP Dany jest graf pełny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchołków (miast), E zbiór krawędzi (bezpośrednich połączeń między miastami). Niech d ij oznacza długością krawędzi (i, j) E, czyli odległością między miastami i i j. W algorytmie AS, w każdej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf budując cykl długości n. Załóżmy, że w iteracji t k ta mrówka znajduje się w wierzchołku i. Prawdopodobieństwo wyboru krawędzi do wierzchołka j jest określone za pomocą wzoru: 83 / 92

84 Ant System - AS, zastosowanie do TSP Dany jest graf pełny G = N, E, gdzie: N = {1, 2,..., n} zbiór wierzchołków (miast), E zbiór krawędzi (bezpośrednich połączeń między miastami). Niech d ij oznacza długością krawędzi (i, j) E, czyli odległością między miastami i i j. W algorytmie AS, w każdej iteracji t (1 t t max), k ta mrówka (k = 1,..., m) przechodzi przez graf budując cykl długości n. Załóżmy, że w iteracji t k ta mrówka znajduje się w wierzchołku i. Prawdopodobieństwo wyboru krawędzi do wierzchołka j jest określone za pomocą wzoru: pij k (τ ij (t)) α (η ij ) β (t) = Σ l N k (τ il (t)) α (η il ) β ) i 84 / 92

85 Ant System - AS, zastosowanie do TSP p k ij (t) = gdzie: τ ij (t) ilość feromonu w krawędzi (i, j) (τ ij (t)) α (η ij ) β Σ l N k i (τ il (t) α (η il ) β ) 85 / 92

86 Ant System - AS, zastosowanie do TSP p k ij (t) = gdzie: τ ij (t) ilość feromonu w krawędzi (i, j) (τ ij (t)) α (η ij ) β Σ l N k i (τ il (t) α (η il ) β ) η ij wartość heurystyczna określająca atrakcyjność wyboru krawędzi (i, j) np. η ij = 1 d ij 86 / 92

87 Ant System - AS, zastosowanie do TSP p k ij (t) = gdzie: τ ij (t) ilość feromonu w krawędzi (i, j) (τ ij (t)) α (η ij ) β Σ l N k i (τ il (t) α (η il ) β ) η ij wartość heurystyczna określająca atrakcyjność wyboru krawędzi (i, j) np. η ij = 1 d ij N k i lista nieodwiedzonych wierzchołków sąsiednich do i. 87 / 92

88 Ant System - AS, zastosowanie do TSP Po przejściu grafu przez k tą mrówkę ustalana jest ilość feromonu τ k ij (t), jaki pozostawi ona na każdej krawędzi (i, j) cyklu. 88 / 92

89 Ant System - AS, zastosowanie do TSP Po przejściu grafu przez k tą mrówkę ustalana jest ilość feromonu τ k ij (t), jaki pozostawi ona na każdej krawędzi (i, j) cyklu. Wielkość ta może być zdefiniowana np. jako τij k (t) = Q L k (t) gdzie Q jest tzw. współczynnikiem dawki feromonu a L k (t) długości znalezionej drogi. 89 / 92

90 Ant System - AS, zastosowanie do TSP Po przejściu grafu przez k tą mrówkę ustalana jest ilość feromonu τ k ij (t), jaki pozostawi ona na każdej krawędzi (i, j) cyklu. Wielkość ta może być zdefiniowana np. jako τij k (t) = Q L k (t) gdzie Q jest tzw. współczynnikiem dawki feromonu a L k (t) długości znalezionej drogi. Aby zapewnić zapominanie przez algorytm dłuższych cykli uwzględnia się występujące w naturze zjawisko parowania feromonu. W efekcie, po zakończeniu iteracji (czyli przejściu m mrówek) ustalana jest ostateczna ilość feromonu na poszczególnych krawędziach, która będzie wykorzystana w następnej iteracji zgodnie z zależnością: τ ij (t + 1) = γτ ij (t) + τ ij (t) gdzie τ ij (t) = Σ m k=1 τ k ij (t) i m jest ilością mrówek, natomiast γ odpowiada za wyparowywanie feromonu. 90 / 92

91 Algorytm AS Droga i cykl Eulera AS(t max) 1 for t 1 to t max 2 do 3 for każda mrówka k = 1,..., m 4 do 5 wybierz dowolne miasto 6 for każde nieodwiedzone miasto i 7 do 8 wybierz miasto j z listy Ni k, zgodnie z wartością pij k (t) 9 for każda krawędź (i, j) 10 do 11 wyznacz przyrost τij k (t) na drodze T k (t) 12 for każda krawędź (i, j) 13 do 14 przelicz ilość feromonu τ ij (t + 1) = γτ ij (t) + τ ij (t) 91 / 92

92 Dziękuję za uwagę!!! 92 / 92

Suma dwóch grafów. Zespolenie dwóch grafów

Suma dwóch grafów. Zespolenie dwóch grafów Suma dwóch grafów G 1 = ((G 1 ), E(G 1 )) G 2 = ((G 2 ), E(G 2 )) (G 1 ) i (G 2 ) rozłączne Suma G 1 G 2 graf ze zbiorem wierzchołków (G 1 ) (G 2 ) i rodziną krawędzi E(G 1 ) E(G 2 ) G 1 G 2 G 1 G 2 Zespolenie

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

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 Twierdzenie 2.1 Niech G będzie grafem prostym

Bardziej szczegółowo

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz? DROGI i CYKLE EULERA w grafach Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz? Czy można narysować podaną figurę nie odrywając ołówka od papieru

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

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

Grafy. Jeżeli, to elementy p i q nazywamy końcami krawędzi e. f a b c d e γ f {1} {1,2} {2,3} {2,3} {1,3}

Grafy. Jeżeli, to elementy p i q nazywamy końcami krawędzi e. f a b c d e γ f {1} {1,2} {2,3} {2,3} {1,3} Grafy Definicja grafu nieskierowanego. Grafem nieskierowanym nazywamy uporządkowaną trójkę: gdzie: V- niepusty zbiór wierzchołków grafu G E- zbiór wszystkich krawędzi grafu G - funkcja ze zbioru E w zbiór

Bardziej szczegółowo

Podstawowe własności grafów. Wykład 3. Własności grafów

Podstawowe własności grafów. Wykład 3. Własności grafów Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza 165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie

Bardziej szczegółowo

Elementy teorii grafów Elementy teorii grafów

Elementy teorii grafów Elementy teorii grafów Spis tresci 1 Spis tresci 1 Często w zagadnieniach praktycznych rozważa się pewien zbiór obiektów wraz z zależnościami jakie łączą te obiekty. Dla przykładu można badać pewną grupę ludzi oraz strukturę

Bardziej szczegółowo

Algorytmy mrówkowe (ang. Ant Colony Optimization)

Algorytmy mrówkowe (ang. Ant Colony Optimization) Algorytmy mrówkowe (ang. Ant Colony Optimization) 1. Wprowadzenie do ACO a) mrówki naturalne b) mrówki sztuczne c) literatura (kilka pozycji) 2. ACO i TSP 1. Wprowadzenie do ACO a) mrówki naturalne ślepe,

Bardziej szczegółowo

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

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA DRZEWA i LASY Drzewem nazywamy graf spójny nie zawierający cykli elementarnych. Lasem nazywamy graf nie zawierający cykli elementarnych. Przykłady drzew i lasów takie krawędzie są wykluczone drzewo las

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane podstawowe rodzaje algorytmów Wybrane podstawowe rodzaje algorytmów 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 informatycznych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Algorytmika Problemów Trudnych

Algorytmika Problemów Trudnych Algorytmika Problemów Trudnych Wykład 9 Tomasz Krawczyk krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2016/17 plan wykładu Algorytmy aproksymacyjne: Pojęcie algorytmu aproksymacyjnego i współczynnika aproksymowalności.

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

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie Wykład 8. Kolorowanie 1 / 62 Kolorowanie wierzchołków - definicja Zbiory niezależne Niech G będzie grafem bez pętli. Definicja Mówimy, że G jest grafem k kolorowalnym, jeśli każdemu wierzchołkowi możemy

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

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 10 - Mrówki w labiryntach Jarosław Miszczak IITiS PAN Gliwice 05/05/2016 1 / 48 Na poprzednim wykładzie 1... 2... 3... 2 / 48 1 Motywacja biologiczna Podstawowe mechanizmy

Bardziej szczegółowo

OPTYMALIZACJA W LOGISTYCE

OPTYMALIZACJA W LOGISTYCE OPTYMALIZACJA W LOGISTYCE Optymalizacja zadań bazy transportowej ( część 1 ) Opracowano na podstawie : Stanisław Krawczyk, Metody ilościowe w logistyce ( przedsiębiorstwa ), Wydawnictwo C. H. Beck, Warszawa

Bardziej szczegółowo

6a. Grafy eulerowskie i hamiltonowskie

6a. Grafy eulerowskie i hamiltonowskie 6a. Grafy eulerowskie i hamiltonowskie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny6a. w Krakowie) Grafy eulerowskie i hamiltonowskie

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

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja 2011. Instytut Informatyki Uniwersytetu Wrocławskiego

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja 2011. Instytut Informatyki Uniwersytetu Wrocławskiego Algorytmy Mrówkowe Instytut Informatyki Uniwersytetu Wrocławskiego 11 maja 2011 Opis Mrówki w naturze Algorytmy to stosunkowo nowy gatunek algorytmów optymalizacyjnych stworzony przez Marco Dorigo w 1992

Bardziej szczegółowo

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

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne y mrówkowe P. Oleksyk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne 14 kwietnia 2015 1 Geneza algorytmu - biologia 2 3 4 5 6 7 8 Geneza

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

Obliczenia Naturalne - Algorytmy Mrówkowe

Obliczenia Naturalne - Algorytmy Mrówkowe Plan Literatura Obliczenia Naturalne - Algorytmy Mrówkowe Paweł Paduch Politechnika Świętokrzyska 8 maja 2014 Paweł Paduch Obliczenia Naturalne - Algorytmy Mrówkowe 1 z 43 Plan wykładu Plan Literatura

Bardziej szczegółowo

Matematyka dyskretna - 5.Grafy.

Matematyka dyskretna - 5.Grafy. Matematyka dyskretna - 5.Grafy. W tym rozdziale zajmiemy się grafami. Są to wykresy zawierające rozmaite informacje, przedstawiające połączenia pomiędzy różnymi swoimi elementami. Algorytmy na nich oparte

Bardziej szczegółowo

Algorytm chińskiego listonosza Katarzyna Ignaszewska SPI51. Temat: Problem chińskiego listonosza, czyli jak obejść miasto najmniejszym nakładem sił.

Algorytm chińskiego listonosza Katarzyna Ignaszewska SPI51. Temat: Problem chińskiego listonosza, czyli jak obejść miasto najmniejszym nakładem sił. Scenariusz lekcji Temat: Problem chińskiego listonosza, czyli jak obejść miasto najmniejszym nakładem sił. W roku 1962 chioski matematyk Mei-Ko Kwan zaproponował następujący problem: Listonosz roznosząc

Bardziej szczegółowo

Przykłady problemów optymalizacyjnych

Przykłady problemów optymalizacyjnych Przykłady problemów optymalizacyjnych NAJKRÓTSZA ŚCIEŻKA W zadanym grafie G = (V, A) wyznacz najkrótsza ścieżkę od wierzchołka s do wierzchołka t. 2 7 5 5 3 9 5 s 8 3 1 t 2 2 5 5 1 5 4 Przykłady problemów

Bardziej szczegółowo

Algorytmy mrówkowe w dynamicznych problemach transportowych

Algorytmy mrówkowe w dynamicznych problemach transportowych y w dynamicznych problemach transportowych prof. dr hab Jacek Mandziuk MiNI, PW 3 czerwca 2013 Cel pracy Zbadanie zachowania algorytmu go zwykłego oraz z zaimplementowanymi optymalizacjami dla problemów

Bardziej szczegółowo

Wstęp do informatyki dr Adrian Horzyk, paw. H Wykład TEORIA GRAFÓW

Wstęp do informatyki dr Adrian Horzyk, paw. H Wykład TEORIA GRAFÓW TEORIA GRAFÓW W osiemnastym wieku mieszkańcy Królewca lubili spacerować po mostach na rzece Pregole, których mieli w mieście siedem. Plan mostów pokazuje rysunek. Ale takie zwykłe spacerowanie po jakimś

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

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

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Algorytmy metaheurystyczne Wykład 6. Piotr Syga Algorytmy metaheurystyczne Wykład 6 Piotr Syga 10.04.2017 Wprowadzenie Inspiracje Wprowadzenie ACS idea 1 Zaczynamy z pustym rozwiązaniem początkowym 2 Dzielimy problem na komponenty (przedmiot do zabrania,

Bardziej szczegółowo

Problem Komiwojażera - algorytmy metaheurystyczne

Problem Komiwojażera - algorytmy metaheurystyczne Problem Komiwojażera - algorytmy metaheurystyczne algorytm mrówkowy algorytm genetyczny by Bartosz Tomeczko. All rights reserved. 2010. TSP dlaczego metaheurystyki i heurystyki? TSP Travelling Salesman

Bardziej szczegółowo

SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Skojarzeniem w grafie G nazywamy dowolny podzbiór krawędzi parami niezależnych.

SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Skojarzeniem w grafie G nazywamy dowolny podzbiór krawędzi parami niezależnych. SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Rozważamy graf G = (V, E) Dwie krawędzie e, e E nazywamy niezależnymi, jeśli nie są incydentne ze wspólnym wierzchołkiem. Skojarzeniem w grafie G nazywamy dowolny

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

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

Kolorowanie wierzchołków grafu

Kolorowanie wierzchołków grafu Kolorowanie wierzchołków grafu Niech G będzie grafem prostym. Przez k-kolorowanie właściwe wierzchołków grafu G rozumiemy takie przyporządkowanie wierzchołkom grafu liczb naturalnych ze zbioru {1,...,

Bardziej szczegółowo

E ' E G nazywamy krawędziowym zbiorem

E ' E G nazywamy krawędziowym zbiorem Niech G będzie grafem spójnym. Wierzchołek x nazywamy rozcinającym, jeśli G\{x} jest niespójny. Niech G będzie grafem spójnym. V ' V G nazywamy zbiorem rozcinającym jeśli G\V' jest niespójny Niech G będzie

Bardziej szczegółowo

Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków

Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków Wykłady popularne z matematyki Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków Joanna Jaszuńska Politechnika Warszawska, 6 maja 2010 Grafy Wykłady popularne z matematyki,

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 14/15 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

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

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

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

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

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki. SPÓJNOŚĆ Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja równoważna: Graf jest spójny, gdy każde dwa wierzchołki są połączone ścieżką

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

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka Grafy planarne Przemysław Gordinowicz Instytut Matematyki, Politechnika Łódzka Grafy i ich zastosowania Wykład 12 Plan prezentacji 1 Wprowadzenie 2 Podstawy 3 Fundamentalne twierdzenie 4 Kolorowanie grafów

Bardziej szczegółowo

Graf to nie tylko tytuł szlachecki

Graf to nie tylko tytuł szlachecki Kàcik olimpijski Grafy Graf to nie tylko tytuł szlachecki karta pracy Graf to nie tylko tytuł szlachecki Graf co to takiego? Pojęcie grafu wprowadził szwajcarski matematyk Leonhard Euler (707 783). Grafem

Bardziej szczegółowo

Matematyka od zaraz zatrudnię

Matematyka od zaraz zatrudnię Uniwersytet Jagielloński Gdzie jest matematyka? Soczewka, 26-28 listopada 2010 Kolorowanie grafów Dobre kolorowanie wierzchołków grafu, to nadanie im kolorów w taki sposób, że każde dwa wierzchołki połaczone

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

Kolorowanie wierzchołków

Kolorowanie wierzchołków Kolorowanie wierzchołków Mając dany graf, pokolorować jego wierzchołki w taki sposób, aby każde dwa wierzchołki sąsiednie miały inny kolor. Każda krawędź łączy wierzchołki różnych kolorów. Takie pokolorowanie

Bardziej szczegółowo

Optymalizacja. Wybrane algorytmy

Optymalizacja. Wybrane algorytmy dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

Algorytmy z powracaniem

Algorytmy z powracaniem Algorytmy z powracaniem Materiały Grafem nazywamy zbiór G = (V, E), gdzie: V jest zbiorem wierzchołków (ang. vertex) E jest zbiorem krawędzi (E można też określić jako podzbiór zbioru nieuporządkowanych

Bardziej szczegółowo

Teoria grafów dla małolatów

Teoria grafów dla małolatów Teoria grafów dla małolatów Andrzej P.Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka w szkole podstawowej kojarzy się przede wszystkim z arytmetyką, ale współcześni matematycy rzadko

Bardziej szczegółowo

Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie

Algorytmy mrówkowe. Plan. » Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji» Testowanie Algorytmy mrówkowe w środowiskach dynamicznych Dariusz Maksim, promotor: prof. nzw. dr hab. Jacek Mańdziuk 1/51 Plan» Algorytm mrówkowy» Warianty» CVRP» Demo» Środowisko dynamiczne» Pomysł modyfikacji»

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

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

MATEMATYKA DYSKRETNA - KOLOKWIUM 2 1 MATEMATYKA DYSKRETNA - KOLOKWIUM 2 GRUPA A RACHUNKI+KRÓTKIE WYJAŚNIENIA! NA TEJ KARTCE! KAŻDA DODATKOWA KARTKA TO MINUS 1 PUNKT! Imię i nazwisko...... Nr indeksu... 1. (3p.) Znajdź drzewo o kodzie Prufera

Bardziej szczegółowo

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

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

Bardziej szczegółowo

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

Matematyka Dyskretna - zadania

Matematyka Dyskretna - zadania zad. 1. Chcemy zdefiniować rekurencyjnie zbiór Z wszystkich trójkątów równoramiennych ABC, gdzie współrzędne wierzchołków będą liczbami całkowitymi, wierzchołek A zawsze będzie leżeć w początku układu

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

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

Algorytmy i Struktury Danych.

Algorytmy i Struktury Danych. Algorytmy i Struktury Danych. Grafy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 8 1 / 39 Plan wykładu

Bardziej szczegółowo

Algorytmy Mrówkowe. Daniel Błaszkiewicz 11 maja 2011

Algorytmy Mrówkowe. Daniel Błaszkiewicz 11 maja 2011 Algorytmy Mrówkowe Daniel Błaszkiewicz 11 maja 2011 1 Wprowadzenie Popularnym ostatnimi laty podejściem do tworzenia nowych klas algorytmów do szukania rozwiązań problemów nie mających algorytmów rozwiązujących

Bardziej szczegółowo

6. Wstępne pojęcia teorii grafów

6. Wstępne pojęcia teorii grafów 6. Wstępne pojęcia teorii grafów Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w Krakowie) 6. Wstępne pojęcia teorii grafów zima 2016/2017

Bardziej szczegółowo

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n i inne cykle Hamiltona na szachownicy n x n Uniwersytet Warszawski 15 marca 2007 Agenda 1 2 naiwne Prosty algorytm liniowy 3 Problem znany był już od bardzo dawna, jako łamigłówka logiczna. Był też stosowany

Bardziej szczegółowo

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego

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

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

Ilustracja S1 S2. S3 ściana zewnętrzna

Ilustracja S1 S2. S3 ściana zewnętrzna Grafy płaskie G=(V,E) nazywamy grafem płaskim, gdy V jest skończonym podzbiorem punktów płaszczyzny euklidesowej, a E to zbiór krzywych Jordana (łamanych) o końcach w V i takich, że: 1) rożne krzywe mają

Bardziej szczegółowo

Techniki optymalizacji

Techniki optymalizacji Techniki optymalizacji Dokładne algorytmy optymalizacji Maciej Hapke maciej.hapke at put.poznan.pl Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem minimalizacji

Bardziej szczegółowo

Matematyka dyskretna - 6.Grafy

Matematyka dyskretna - 6.Grafy Matematyka dyskretna - 6.Grafy W tym rozdziale zajmiemy się grafami. Są to wykresy zawierające rozmaite informacje, przedstawiające połączenia pomiędzy różnymi swoimi elementami. Algorytmy na nich oparte

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

6d. Grafy dwudzielne i kolorowania

6d. Grafy dwudzielne i kolorowania 6d. Grafy dwudzielne i kolorowania Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny w6d. Krakowie) Grafy dwudzielne i kolorowania zima

Bardziej szczegółowo

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania: ANALIZA ALGORYTMÓW Analiza algorytmów polega między innymi na odpowiedzi na pytania: 1) Czy problem może być rozwiązany na komputerze w dostępnym czasie i pamięci? 2) Który ze znanych algorytmów należy

Bardziej szczegółowo

Zagadnienie transportowe

Zagadnienie transportowe 9//9 Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ALGORYTM MRÓWKOWY (ANT SYSTEM) ALGORYTM MRÓWKOWY. Algorytm mrówkowy

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ALGORYTM MRÓWKOWY (ANT SYSTEM) ALGORYTM MRÓWKOWY. Algorytm mrówkowy PLAN WYKŁADU Algorytm mrówowy OPTYMALIZACJA GLOBALNA Wyład 8 dr inż. Agniesza Bołtuć (ANT SYSTEM) Inspiracja: Zachowanie mrówe podczas poszuiwania żywności, Zachowanie to polega na tym, że jeśli do żywności

Bardziej szczegółowo

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku ( Rozdział 1 Grafy skierowane W tym rozdziale zajmiemy siȩ algorytmami wyszukiwania najkrótszej drogi w grafach skierowanych Każdej krawȩdzi

Bardziej szczegółowo

Teoria Informacji - wykład. Kodowanie wiadomości

Teoria Informacji - wykład. Kodowanie wiadomości Teoria Informacji - wykład Kodowanie wiadomości Definicja kodu Niech S={s 1, s 2,..., s q } oznacza dany zbiór elementów. Kodem nazywamy wówczas odwzorowanie zbioru wszystkich możliwych ciągów utworzonych

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

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

Znajdowanie wyjścia z labiryntu

Znajdowanie wyjścia z labiryntu Znajdowanie wyjścia z labiryntu Zadanie to wraz z problemem pakowania najcenniejszego plecaka należy do problemów optymalizacji, które dotyczą znajdowania najlepszego rozwiązania wśród wielu możliwych

Bardziej szczegółowo

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu

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

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

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

1 Automaty niedeterministyczne

1 Automaty niedeterministyczne Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów

Bardziej szczegółowo

Grafy. Graf ( graf ogólny) to para G( V, E), gdzie:

Grafy. Graf ( graf ogólny) to para G( V, E), gdzie: Graf ( graf ogólny) to para G( V, E), gdzie: V jest zbiorem wierzchołków, ( czasami zwanymi węzłami lub punktami grafu) E jest rodziną ( być może powtarzających się) krawędzi, czyli jedno- i dwu- elementowych

Bardziej szczegółowo

Algebry skończonego typu i formy kwadratowe

Algebry skończonego typu i formy kwadratowe Algebry skończonego typu i formy kwadratowe na podstawie referatu Justyny Kosakowskiej 26 kwietnia oraz 10 i 17 maja 2001 Referat został opracowany w oparciu o prace Klausa Bongartza Criterion for finite

Bardziej szczegółowo

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40 Sprzedaż online Piotr Sankowski Uniwersytet Warszawski Warszawa 18.04.2013 - p. 1/40 Plan wykładu Problem skojarzeń online Algorytm zachłanny Algorytm losowo rankujacy Dolne ograniczenie Problem aukcji

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

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

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