Wykład 4. Droga i cykl Eulera i Hamiltona

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Wykład 4. Droga i cykl Eulera i Hamiltona"

Transkrypt

1 Wykład 4. i Hamiltona Wykład 4. i Hamiltona 1 / 35

2 Grafy 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. Wykład 4. i Hamiltona 2 / 35

3 Grafy 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. Wykład 4. i Hamiltona 2 / 35

4 Grafy 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. Wykład 4. i Hamiltona 2 / 35

5 Przykład 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 Wykład 4. i Hamiltona 3 / 35

6 Przykład 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 Wykład 4. i Hamiltona 3 / 35

7 Przykład 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 Wykład 4. i Hamiltona 3 / 35

8 Przykład 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 Wykład 4. i Hamiltona 3 / 35

9 Historia 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? Wykład 4. i Hamiltona 4 / 35

10 Historia 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? Wykład 4. i Hamiltona 4 / 35

11 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 + 1 Wykład 4. i Hamiltona 5 / 35

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 + 1 Wykład 4. i Hamiltona 5 / 35

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. Wykład 4. i Hamiltona 6 / 35

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. Wykład 4. i Hamiltona 7 / 35

15 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. Wykład 4. i Hamiltona 8 / 35

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. Wykład 4. i Hamiltona 8 / 35

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) x 4 x 3 Cykl: x 3x 2x 4x 1x 2x 1x 4x 3 x 2 x 1 Wykład 4. i Hamiltona 9 / 35

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 Wykład 4. i Hamiltona 9 / 35

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. 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. Wykład 4. i Hamiltona 10 / 35

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. 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. Wykład 4. i Hamiltona 10 / 35

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. Wykład 4. i Hamiltona 10 / 35

22 Ciąg de Bruijna 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. Wykład 4. i Hamiltona 11 / 35

23 Ciąg de Bruijna 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. Wykład 4. i Hamiltona 11 / 35

24 Ciąg de Bruijna 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. Wykład 4. i Hamiltona 11 / 35

25 Ciąg de Bruijna 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. Wykład 4. i Hamiltona 11 / 35

26 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: Wykład 4. i Hamiltona 12 / 35

27 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: Wykład 4. i Hamiltona 12 / 35

28 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: Wykład 4. i Hamiltona 12 / 35

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: dla n = 4: Dla alfabetu A = {0, 1, 2}) i n = 3: Wykład 4. i Hamiltona 12 / 35

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: Dla alfabetu A = {0, 1, 2}) i n = 3: Wykład 4. i Hamiltona 12 / 35

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: Wykład 4. i Hamiltona 12 / 35

32 Graf de Bruijna 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. Wykład 4. i Hamiltona 13 / 35

33 Graf de Bruijna 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. Wykład 4. i Hamiltona 13 / 35

34 Graf de Bruijna 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. Wykład 4. i Hamiltona 13 / 35

35 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) Wykład 4.Droga i cyklc) Eulera i Hamiltona 14 / 35

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. 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) Wykład 4.Droga i cyklc) Eulera i Hamiltona 14 / 35

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. w w v w z u z u z x y x y x y a) b) Wykład 4.Droga i cyklc) Eulera i Hamiltona 14 / 35

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) Wykład 4.Droga i cyklc) Eulera i Hamiltona 14 / 35

39 Kod Greya 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. Wykład 4. i Hamiltona 15 / 35

40 Kod Greya 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. Wykład 4. i Hamiltona 15 / 35

41 Kod Greya 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. Wykład 4. i Hamiltona 15 / 35

42 Kod Greya 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. Wykład 4. i Hamiltona 15 / 35

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 Wykład 4. i Hamiltona 16 / 35

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

45 Warunki wystarczające istnienia cyklu Hamiltona Twierdzenie Każdy graf pełny K n jest grafem Hamiltona. K 3 K 4 K 5 Wykład 4. i Hamiltona 18 / 35

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

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. 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) Wykład 4. i Hamiltona 19 / 35

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) Wykład 4. i Hamiltona 19 / 35

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. 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. 1 2 Wykład 4. i Hamiltona 20 / 35

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. 1 2 Wykład 4. i Hamiltona 20 / 35

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 2 1. Wykład 4. i Hamiltona 21 / 35

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. Wykład 4. i Hamiltona 22 / 35

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. 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 ] = Wykład 4. i Hamiltona 23 / 35

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. W grafie K 5 mamy [ ] 5 1 = 2 2 W grafie K 4 mamy [ ] [ 4 1 = 1 1 ] = Wykład 4. i Hamiltona 23 / 35

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 ] = Wykład 4. i Hamiltona 23 / 35

56 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. Wykład 4. i Hamiltona 24 / 35

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 W grafie K 5 mamy (5 1)! 2 = 12 cykli Hamiltona, W grafie K 20 mamy 19! 2 > 1017 różnych cykli Hamiltona. Wykład 4. i Hamiltona 24 / 35

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, W grafie K 20 mamy 19! 2 > 1017 różnych cykli Hamiltona. Wykład 4. i Hamiltona 24 / 35

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. Wykład 4. i Hamiltona 24 / 35

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. 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ę Wykład 4. i Hamiltona 25 / 35

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ę Wykład 4. i Hamiltona 25 / 35

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: 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. Wykład 4. i Hamiltona 26 / 35

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 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. Wykład 4. i Hamiltona 26 / 35

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 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. Wykład 4. i Hamiltona 26 / 35

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. 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. Wykład 4. i Hamiltona 26 / 35

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: 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. Wykład 4. i Hamiltona 26 / 35

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 ), metodę przybliżoną (inaczej nazywaną metodą aproksymacyjną), która generuje rozwiązanie bliskie optymalnemu ale działającą w czasie wielomianowym. Wykład 4. i Hamiltona 26 / 35

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. Wykład 4. i Hamiltona 26 / 35

69 Historia TSP - Travelling salesman problem Wykład 4. i Hamiltona 27 / 35

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. Wykład 4. i Hamiltona 28 / 35

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ść. Wykład 4. i Hamiltona 29 / 35

72 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. Wykład 4. i Hamiltona 30 / 35

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. 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. Wykład 4. i Hamiltona 30 / 35

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). 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. Wykład 4. i Hamiltona 30 / 35

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). 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. Wykład 4. i Hamiltona 30 / 35

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. 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. Wykład 4. i Hamiltona 30 / 35

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. 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. Wykład 4. i Hamiltona 30 / 35

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. W efekcie końcowym mrówki wybierają najkrótszą z dróg. Wykład 4. i Hamiltona 30 / 35

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. Wykład 4. i Hamiltona 30 / 35

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. 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 Wykład 4. i Hamiltona 31 / 35

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. 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 Wykład 4. i Hamiltona 31 / 35

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. 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 Wykład 4. i Hamiltona 31 / 35

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: pij k (τ ij (t)) α (η ij ) β (t) = Σ l N k (τ il (t)) α (η il ) β ) i Wykład 4. i Hamiltona 31 / 35

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 Wykład 4. i Hamiltona 31 / 35

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 ) β ) η 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. Wykład 4. i Hamiltona 32 / 35

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 N k i lista nieodwiedzonych wierzchołków sąsiednich do i. Wykład 4. i Hamiltona 32 / 35

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. Wykład 4. i Hamiltona 32 / 35

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. 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. Wykład 4. i Hamiltona 33 / 35

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. 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. Wykład 4. i Hamiltona 33 / 35

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. Wykład 4. i Hamiltona 33 / 35

91 Algorytm AS 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) Wykład 4. i Hamiltona 34 / 35

92 Dziękuję za uwagę!!! Wykład 4. i Hamiltona 35 / 35

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

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona Wykład 4. Droga i cykl Eulera i Hamiltona 1 / 92 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

Bardziej szczegółowo

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

Wykłady z Matematyki Dyskretnej

Wykłady z Matematyki Dyskretnej Wykłady z Matematyki Dyskretnej dla kierunku Informatyka dr Instytut Informatyki Politechnika Krakowska Wykłady na bazie materiałów: dra hab. Andrzeja Karafiata dr hab. Joanny Kołodziej, prof. PK Grafy

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

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI TEORIA GRAFÓW I SIECI Temat nr 3: Marszruty, łańcuchy, drogi w grafach dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 261-83-95-04, p.225/100

Bardziej szczegółowo

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

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

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

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

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

KURS MATEMATYKA DYSKRETNA

KURS MATEMATYKA DYSKRETNA KURS MATEMATYKA DYSKRETNA LEKCJA 28 Grafy hamiltonowskie ZADANIE DOMOWE www.akademia.etrapez.pl Strona 1 Część 1: TEST Zaznacz poprawną odpowiedź (tylko jedna jest prawdziwa). Pytanie 1 Drogę nazywamy

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Opracowanie prof. J. Domsta 1

Opracowanie prof. J. Domsta 1 Opracowanie prof. J. Domsta 1 Algorytm FLEURY'ego: Twierdzenie 6.5 G-graf eulerowski. Wtedy cykl Eulera otrzymujemy nastepująco: a) Start w dowolnym wierzchołku b) Krawędzie w dowolnej kolejności po przebyciu

Bardziej szczegółowo

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Teoria grafów podstawy Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Grafy zorientowane i niezorientowane Przykład 1 Dwa pociągi i jeden most problem wzajemnego wykluczania się Dwa

Bardziej szczegółowo

Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.

Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska. Grafy dla każdego dr Krzysztof Bryś brys@mini.pw.edu.pl Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska www.mini.pw.edu.pl Warszawa, 28 marca 2015 Graf składa się z elementów pewnego zbioru

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

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

Wykªad 4. Droga i cykl Eulera i Hamiltona

Wykªad 4. Droga i cykl Eulera i Hamiltona Wykªad 4. Droga i cykl Eulera i Hamiltona 1 / 92 Grafy Eulera Droga i cykl Eulera Niech G b dzie grafem spójnym. Denicja Je»eli w grae G istnieje zamkni ta droga prosta zawieraj ca wszystkie kraw dzie

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

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

Digraf. 13 maja 2017

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

Bardziej szczegółowo

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

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

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Teoria grafów II Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Graf planarny Graf planarny Graf, który może być narysowany tak, by uniknąć przecinania się krawędzi, nazywamy grafem

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

Algorytmy i Struktury Danych.

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

Bardziej szczegółowo

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

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

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

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

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

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14 Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 1B/14 Drogi w grafach Marszruta (trasa) w grafie G z wierzchołka w do wierzchołka u to skończony ciąg krawędzi w postaci. W skrócie

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

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

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI TEORIA GRAFÓW I SIECI Temat nr : Grafy Berge a dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 6-83-95-0, p.5/00 Zakład Badań Operacyjnych i

Bardziej szczegółowo

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

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

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

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 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych

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

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

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

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2016 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 - 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

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Niech T graf o n wierzchołkach będący

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

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

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

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

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

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

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

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

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

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu

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

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

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

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

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

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

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

Wykłady z Matematyki Dyskretnej

Wykłady z Matematyki Dyskretnej Wykłady z Matematyki Dyskretnej dla kierunku Informatyka dr Instytut Informatyki Politechnika Krakowska Wykłady na bazie materiałów: dra hab. Andrzeja Karafiata dr hab. Joanny Kołodziej, prof. PK Kolorowanie

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

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

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

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

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

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

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny

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

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

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 7,8,9. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 7,8,9. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie Algorytmy Grafowe dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie b.wozna@ujd.edu.pl Wykład 7,8,9 B. Woźna-Szcześniak (UJD) Algorytmy

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

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

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

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

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

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

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

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

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