Przykłady problemów optymalizacyjnych

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

Download "Przykłady problemów optymalizacyjnych"

Transkrypt

1 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 s t

2 Przykłady problemów optymalizacyjnych PROBLEM KOMIWOJAŻERA Dla zadanego zbioru miast i znanych odległości między nimi wyznacz najkrótsza trasę rozpoczynajac a się i kończac a w mieście 1 i odwiedzajac a wszystkie pozostałe miasta dokładnie raz

3 Przykłady problemów optymalizacyjnych PROGRAMOWANIE LINIOWE (PL) max z = c 1 x 1 + c 2 x c n x n a 11 x 1 + a 12 x a 1n x n b 1... a m1 x 1 + a m2 x a mn x n b m x 1,..., x n 0 Przykład: max z = 3x 1 + 5x 2 4x 3 2x 1 + x x 1 x 2 + x x 1, x 2, x 3 0

4 Przykłady problemów optymalizacyjnych PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE max z = c 1 x 1 + c 2 x c n x n a 11 x 1 + a 12 x a 1n x n b 1... a m1 x 1 + a m2 x a mn x n b m x 1,..., x n całkowite Przykład (problem plecakowy): max z = c 1 x 1 + c 2 x c n x n w 1 x 1 + w 2 x w n x n W x 1,..., x n {0, 1}

5 Przykłady problemów optymalizacyjnych ZADANIE PROGRAMOWANIA MATEMATYCZNEGO max z = f (x 1,..., x n ) g 1 (x 1,..., x n )(, =)b 1... g m (x 1,..., x 2 )(, =)b m Zadanie: Pewien element konstrukcyjny ma kształt trapezu równoramiennego. Pole przekroju elementu musi wynosić co najmniej S. Górne i boczne powierzchnie pokrywa się kosztownym materiałem. Należy określić parametry przekroju elementu aby ilość zużytego materiału była najmniejsza.

6 Przykłady problemów optymalizacyjnych PROBLEM SZEREGOWANIA Znajdź najkrótszy dopuszczalny harmonogram wykonywania n prac na m jednakowych maszynach, gdzie praca i musi być wykonywana przez p i jednostek czasu. Przykład: 9 prac z czasami trwania odpowiednio 1, 2, 1, 2, 1, 1, 3, 2, 6 ma być wykonanych na 3 maszynach. Częściowy porza- dek w zbiorze prac określa graf po lewej stronie M1 M M

7 Definicja problemu optymalizacyjnego Każdy problem optymalizacyjny P składa się z: Zbioru danych wejściowych (instancji) D P. Zbioru dopuszczalnych rozwiazań sol(i) dla każdej I D P. Funkcji celu f określajacej koszt (zysk) dla każdego dopuszczalnego rozwiazania x sol(i). Dla zadanej instancji I D P należy znaleźć dopuszczalne rozwiazanie x sol(i), takie że: f (x ) = min f (x) x sol(i) lub f (x ) = max x sol(i) f (x)

8 Algorytmy Problemy optymalizacyjne Problemy optymalizacyjne rozwiazujemy za pomoca algorytmów. ALGORYTM A WE: Opis danych wejściowych WY: Opis wyniku 1: Krok elementarny 2: Krok elementarny... k: Wywołanie innego algorytmu...

9 Rozmiar danych wejściowych Rozmiarem danych wejściowych nazywamy liczbę bitów potrzebnych do ich zakodowania. W praktyce rozmiar ten określamy podajac liczbę elementów prostego typu występujac a w danych wejściowych. Rozmiarem wektora liczb A = [a 1,..., a n ] jest n. Rozmiar grafu G = (V, A) określamy podajac liczbę wierzchołków V i liczbę łuków A w G

10 Czas działania algorytmu Czasem działania algorytmu nazywamy funkcję, która przyporzadkowuje każdemu rozmiarowi danych wejściowych maksymalna liczbę kroków elementarnych wykonywanych na danych o tym rozmiarze.

11 Przykład algorytmu Problemy optymalizacyjne PROBLEM MAX Znajdź największa liczbę w tablicy A = [a 1,..., a n ]. MAX WE: Tablica A = [a 1,..., a n ] WY: Maksymalny element w A 1: max := a 1 2: for i := 2 to n 3: if a i > max then max := a i 4: next i 5: return max Rozmiar danych wejściowych opisuje parametr n. Dla tablicy o rozmiarze n algorytm wykonuje 3(n 1) + 2 kroki elementarne. Oszacowanie to jest zbyt dokładne ponieważ zależy od sposobu zapisu algorytmu.

12 Notacja asymptotyczna O Niech f (n) i g(n), n N, będa danymi funkcjami. Mówimy, że f (n) jest rzędu O(g(n)) jeżeli istnieja liczby c > 0 i n 0 N takie, że: n n0 f (n) cg(n).

13 Notacja asymptotyczna O Fakty: Wielomian a k n k +a k 1 n k a 1 n+a 0 jest rzędu O(n k ). Funkcja wykładnicza 2 n nie jest rzędu O(n k ) dla żadnego k > 1. Funkcja n! nie jest rzędu k n dla żadnego k > 1. Ciag funkcji rosnacych coraz szybciej z dokładnościa do stałego współczynnika i składników niższych rzędów: 1, log n, n, n 2, n 3,..., n k, 2 n, 3 n,..., k n, n!, n n

14 Przykład algorytmu Problemy optymalizacyjne Algorytm MAX działa w czasie O(n) niezależnie od implementacji i sposobu zapisu algorytmu. Zatem PROBLEM MAX może być rozwia- zany w czasie O(n) MAX WE: Tablica A = [a 1,..., a n ] WY: Maksymalny element w A 1: max := a 1 2: for i := 2 to n 3: if a i > max then max := a i 4: next i 5: return max

15 Problem najkrótszej ścieżki Algorytm Dijkstry WE: Graf G = (V, A), c ij, (i, j) A, s WY: Drzewo najkrótszych ścieżek z s 1: S :=, S := N 2: for all i V d(i) := 4: d(s) := 0, pred(s) := 0 3: while S < n 4: Let i S be a node for which d(i) = min{d(j) : j S} 5: S := S {i}, S := S \ {i} 6: for all j such that (i, j) A 7: if d(j) > d(i) + c ij then d(j) := d(i) + c ij, pred(j) := i 8: end for 9: end while Algorytm Dijkstry działa w czasie O(n 2 ). Zatem problem najkrótszej ścieżki może być rozwiazany w czasie O(n 2 )

16 Problem komiwojażera Problem komiwojażera można rozwiazać za pomoca pełnego przegladu (metoda brute force). Niech Π oznacza zbiór wszystkich możliwych tras. Brute force WE: zbiór n miast, odległości między miastami WY: Najkrótsza trasa komiwojażera π 1: π := π 1, f := f (π 1 ) 2: for all π Π {Dla wszystkich tras} 2: if f (π) < f then π := π, f := f (π) 3: next π 4: return π Algorytm musi sprawdzić O(n!) tras, zatem czas działania tego algorytmu wynosi co najmniej O(n!)

17 Problem komiwojażera Załóżmy, że krok elementarny wykonujemy w czasie 10 6 s. n Czas działania Brute force s min godz lata lat Wniosek: Algorytm jest bezużyteczny dla n > 15!

18 Czas działania algorytmu Załóżmy, że krok elementarny wykonujemy w czasie 10 6 s. Oszacowanie czasu działania algorytmów: Algorytm n = 10 n = 20 n = 50 n = 100 O(n) s s s s. O(n 2 ) s s s s. O(n 3 ) s s s. 1 s. O(2 n ) s s. ok lat ok lat O(n!) 3.6 s lat ok lat!! Wniosek: Tylko algorytmy O(n), O(n 2 ) i O(n 3 ) sa efektywne!

19 Algorytmy wielomianowe Algorytm nazywamy wielomianowym jeżeli jego czas działania jest rzędu O(n k ) dla pewnej stałej k, gdzie n oznacza rozmiar problemu. Algorytmy wielomianowe, dla których k jest niewielkie (w praktyce k = 1, 2, 3), sa algorytmami efektywnymi. Działaja szybko dla danych o dużym rozmiarze. Algorytmy ponadwielomianowe (wykładnicze) moga być nieefektywne nawet dla danych o bardzo małym rozmiarze.

20 Problemy łatwe i trudne Problem optymalizacyjny nazywamy łatwym obliczeniowo jeżeli może być rozwiazany za pomoca algorytmu wielomianowego. Problem jest trudny obliczeniowo jeżeli algorytm wielomianowy dla niego nie istnieje lub nie jest znany.

21 Programowanie liniowe Najważniejszym problemem optymalizacyjnym, który jest łatwy obliczeniowo, jest programowanie liniowe: max z = c 1 x 1 + c 2 x c n x n a 11 x 1 + a 12 x a 1n x n b 1... a m1 x 1 + a m2 x a mn x n b m x 1,..., x n 0 Każdy problem, który można efektywnie zapisać jako powyższy model liniowy jest również łatwy obliczeniowo. Uwaga: algorytm sympleksowy, nie jest algorytmem wielomianowym.

22 Programowanie matematyczne Efektywne algorytmy istnieja dla szczególnej klasy programowania wypukłego, tj. dla problemów w których funkcja celu jest wypukła i zbiór rozwiazań dopuszczalnych jest zbiorem wypukłym (szczególnym przypadkiem jest programowanie liniowe).

23 Model Markowitza Problemy optymalizacyjne Inwestor chce skonstruować portfel składajacy się z akcji n spółek. Znana jest oczekiwana stopa zwrotu µ i z akcji i-tej spółki oraz współczynnik kowariancji σ ij pomiędzy stopami zwrotów dla każdej pary spółek i oraz j (jest to miara liniowej zależności liniowej między stopami zwrotu i oraz j). Inwestor chce skonstruować portfel o najmniejszym ryzyku, zapewniajacy oczekiwany zwrot L.

24 Model Markowitza Problemy optymalizacyjne min z = n n i=1 i=1 σ ijx i x j n µ i x i L i=1 n x i = 1 i=1 x i 0 i [n] Jest to nieliniowe zadanie programowania wypukłego, które można efektywne rozwiazać.

25 Problemy NP-trudne Problemy dla których algorytm wielomianowy nie jest znany (podejrzewa się, że nie istnieje) tworza klasę problemów NPtrudnych. Problemami NP-trudnymi sa, między innymi: 1 Problem komiwojażera. 2 Problem plecakowy. 3 Zadanie programowania liniowego całkowitoliczbowego. 4 Ogólne (niewypukłe) zadanie programowania kwadratowego.

26 Rozwiazywanie problemów NP-trudnych 1 Algorytmy dokładne Model matematyczny + solver. Algorytm podziału i ograniczeń Programowanie dynamiczne (literatura) 2 Algorytmy aproksymacyjne 3 Metaheurystyki Algorytmy ewolucyjne (literatura) Inne (literatura)

27 Model matematyczny dla problemu komiwojażera x ij {0, 1}, gdzie x ij = 1 jeżeli komiwojażer wybiera połaczenie od i j. Funkcja celu: min z = n n c ij x ij i=1 j=1 Komiwojażer odwiedza każde miasto dokładnie raz. n x ij = 1, j = 1,..., n i=1 n x ij = 1, i = 1,..., n j=1 Czy te ograniczenia wystarcza?

28 Model matematyczny dla problemu komiwojażera W wyniku możemy otrzymać rozłaczne cykle (podcykle): 7 3 x 13 = 1 x 34 = 1 x 57 = 1 x 76 = 1 1 x 21 = 1 x 42 = x 65 = Należy dodać ograniczenia eliminujace podcykle

29 Model matematyczny dla problemu komiwojażera Sposób 1: x ij S 1, S V, S, i S j S gdzie V = {1,..., n} jest zbiorem miast. Liczba dodatkowych ograniczeń jest wykładnicza.

30 Model matematyczny dla problemu komiwojażera Sposób 2 (sformułowanie Millera-Zemlina-Tuckera): u 1 = 1 u i u j + 1 (n 1)(1 x ij ) i, j = 2,..., n 2 u i n i = 2,..., n gdzie u i oznacza, pozycje miasta i na trasie. 3 x 13 = 1 x 34 = 1 x 57 = 1 7 u 7 x 76 = 1 1 x 21 = 1 x 42 = u 5 x 65 = 1 u u 5 u 7+1 0, u 7 u , u 6 u Dodajac stronami te nierówności otrzymujemy sprzeczność. Pokaż, że cykl Hamiltona spełnia warunki MZT.

31 Model matematyczny dla problemu komiwojażera Sposób 3 (model przepływowy): j V y ij j V y ji = y ij (n 1)x ij, i, j V { n 1 jeżeli i = 1 1 jeżeli i 1, i V 7 3 x 13 = 1 x 34 = 1 x 57 = 1 x 76 = 1 1 x 21 = 1 x 42 = x 65 = Nie można wysłać towaru z wierzchołka 1 do 5, 6 i 7 ponieważ sieć określona przez x ij = 1 nie jest spójna.

32 Heurystyka dla problemu komiwojażera Heurystyka najbliższego sasiada: zaczynajac od miasta 1 wybierz jako kolejne miasto najbliższe z nieodwiedzonych miast Trasa heurystyczna:

33 Heurystyka dla problemu komiwojażera Heurystyka może zwrócić dowolnie zła trasę: K Trasa heurystyczna: ma koszt K. Optymalna trasa ma koszt nie większy niż 5. Liczba K może być dowolnie duża.

34 Algorytm podziału i ograniczeń 1 Algorytm sukcesywnie dzieli zbiór dopuszczalnych rozwiazań S 0 = sol(i) na rozłaczne podzbiory S 1, S 2, S 3, Dla każdego podzbioru S i efektywnie oblicza: Dolne ograniczenie B(S i ) na koszt rozwiazania w S i. Dopuszczalne rozwiazanie x i S i. 3 Niech x będzie najlepszym znalezionym rozwiazaniem dopuszczalnym. Jeżeli B(S i ) f (x ), to S i nie może zawierać lepszego rozwiazania niż x i można S i odciać. 4 Algorytm kończy pracę jeżeli nie istnieje podzbiór S i, taki że B(S i ) < f (x ). Wówczas x jest rozwiazaniem optymalnym.

35 Algorytm Algorytm podziału podziału i ograniczeń i ograniczeń (problem min) S 0 x 0 podziel S 1 S 3 S 2 x 1 x 2 x 3 odetnij B(S 1 ) f (x ) S S 5 4 x x 5 4 podziel B(S 2 ) < f (x )......

36 Problem komiwojażera Problem dla 5 miast z macierza odległości: M - bardzo duża liczba M M M M M

37 Problem komiwojażera Każda trasa komiwojażera jest pewnym przyporzadkowaniem: Ale nie każde przyporzadkowanie jest trasa komiwojażera:

38 Problem komiwojażera Koszt optymalnego przyporzadkowania jest niewiększy od kosztu optymalnej trasy komiwojażera. Rozwiazuj ac problem minimalnego przyporzadkowania otrzymujemy dolne ograniczenie na koszt optymalnej trasy komiwojażera. Minimalne przyporzadkowanie można efektywnie wyznaczyć algorytmem Węgierskim w czasie O(n 3 ). Dopuszczalna trasę można wyznaczyć za pomoca heurystyki najbliższego sasiada.

39 Problem komiwojażera B(S 0 )=652 π 0 =(1, 5, 2, 4, 3) f (π 0 )=855 Koszt minimalnego przyporzadkowania wynosi 652. Koszt minimalnego przyporzadkowania wynosi 652. Heurystyka najbliższego sasiada daje trasę Heurystyka najbliższego sasiada daje trasę π π 0 =(1, 5, 2, 4, 3) o koszcie 855. Koszt π 0 jest co najwyżej 0 = (1, 5, 2, 4, 3) o koszcie 855. Koszt π ( )/ % =31.1% 0 jest co najwyżej ( )/652 większy od optimum. 100% = 31.1% większy od optimum. Minimalne przyporzadkowanie (rysunek) nie jest trasa więc musimy Minimalne dokonaćprzyporz podziałuadkowanie rozrywaj ac np: (rysunek) cykl nie jest trasa więc musimy dokonać podziału rozrywajac np: cykl Adam Kasperski Optymalizacja 2009/2010

40 Problem komiwojażera Problem komiwojażera B(S 0 )=652 π 0 =(1, 5, 2, 4, 3) f (π 0 )=855 c 25 = M c 52 = M B(S 1 )=682 π 1 =(1, 5, 2, 4, 3) f (π 1 )=855 B(S 2 )=668 π 2 =(1, 3, 4, 2, 5) f (π 2 )=668 OPTIMUM

41 Algorytm podziału i ograniczeń - podsumowanie 1 Algorytm może działać w czasie wykładniczym. Może również zużywać dużo pamięci do przechowywania wierzchołków drzewa podziału i ograniczeń. 2 Efektywna implementacja algorytmu wymaga dużej wiedzy i doświadczenia programistycznego. 3 Algorytm można przerwać w dowolnym momencie. Wówczas najlepsze znalezione rozwiazanie jest rozwiazaniem przybliżonym. Zazwyczaj potrafimy oszacować jak daleko od optimum to rozwiazanie się znajduje.

42 Sasiedztwo i ruch Problemy optymalizacyjne Sasiedztwem rozwiazania x nazywamy funkcję N, która przypisuje każdemu rozwiazaniu x pewien podzbiór dopuszczalnych rozwiazań N(x). Ruchem nazywamy przejście od rozwiazania x do innego rozwiazania z N(x). Rozwiazanie x jest minimum lokalnym względem sasiedztwa N jeżeli f (x ) f (x) dla każdego x N(x).

43 Sasiedztwo i ruch Problemy optymalizacyjne 1 Definicja sasiedztwa zależy od problemu i reprezentacji rozwia- zań w problemie. 2 Rozwiazania z N(x) powinny być lekko zmodyfikowanymi wersjami rozwiazania x. 3 Dla każdych dwóch rozwiazań x i y powinien istnieć ciag ruchów prowadzacych od x do y. 4 Ruch powinien być łatwy do zaimplementowania. 5 Rozmiar sasiedztwa nie powinien być wykładniczy względem rozmiaru x. 6 Lokalne minimum może być bardzo odległe od minimum globalnego.

44 Problem komiwojażera Rozwiazania kodujemy jako zbiory krawędzi tworzacych cykl Hamiltona. Sasiedztwo 2-opt N(π) = {π : π \ π = 2} Sasiedztwo to składa się z tras różniacych się od trasy π dokładnie dwoma krawędziami. Ruch polega na usunięciu dwóch krawędzi z trasy π i dodaniu dwóch nowych krawędzi. π = {(1, 4), (4, 6), (6, 5), (5, 2), (2, 3), (3, 1)}, π = {(1, 4), (4, 2), (2, 5), (5, 6), (6, 3), (3, 1)}

45 Algorytm największego spadku Algorytm NS 1: Wygeneruj rozwiązanie początkowe x 2: stop := false 3: while stop = false 4: Znajdź y N(x) o najmniejszej wartości f (y) 5: if f (y) < f (x) then x := y {Wykonaj ruch} 6: else stop := true 6: end while 7: return x Algorytm zwraca lokalne minimum względem zadanego sasiedztwa.

46 Zalety i wady algorytmu NS 1 Algorytm jest przeważnie szybki i prosty w implementacji. W wielu przypadkach daje dobre rozwiazania. 2 Algorytm zawsze zwraca lokalne minimum, które może być odległe od globalnego. 3 Jakość zwróconego rozwiazania silnie zależy od rozwiazania poczatkowego. Możliwe ulepszenie: uruchom algorytm wiele razy dla różnych (losowych) rozwiazań poczatkowych. 4 Algorytm przeszukuje mała część przestrzeni rozwiazań. 5 W pewnych przypadkach pełny przeglad sasiedztwa jest nieefektywny.

47 Symulowane wyżarzanie (problem min) 1 Rezygnuje się z przegladania całego sasiedztwa N(x) bieżacego rozwiazania x. Zamiast tego kolejne rozwiazanie y N(x) jest wybierane w sposób losowy. 2 Ruch z x do y N(x) jest wykonywany z prawdopodobieństwem: } f (x) f (y) P(x, y) = min {1, e T. Parametr T > 0 nazywamy temperatura. Jeżeli f (y) f (x), to P(x, y) = 1 i ruch z x do y jest wykonywany automatycznie. Jeżeli f (y) > f (x), to P(x, y) (0, 1). Algorytm może wiêc przejść do gorszego rozwiazania y z prawdopod. tym większym im lepsze jest rozwiazanie y i im większa jest temperatura.

48 Symulowane wyżarzanie (problem min) Symulowane wyżarzanie 1: Wygeneruj rozwiązanie początkowe x 2: x best := x, T := T max 3: while T T min 4: i 1 5: for i := 1 to max_iter 6: Wybierz losowo y N(x) 7: l rand[0, 1] {Wylosuj liczbę z [0,1]} 8: if l P(x, y) then x := y {Wykonaj ruch} 9: if f (x) < f (x best ) then x best := x 10: end for 11: T := T T /(T + βt ) {Obniż temperaturę} 12: end while 11: return x best Parametry T min, T max, max_iter, β należy ustalić eksperymentalnie.

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

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

PROGRAMOWANIE NIELINIOWE

PROGRAMOWANIE NIELINIOWE PROGRAMOWANIE NIELINIOWE Maciej Patan Uniwersytet Zielonogórski WSTEP Zadanie programowania nieliniowego (ZPN) min f(x) g i (x) 0, h i (x) = 0, i = 1,..., m g i = 1,..., m h f(x) funkcja celu g i (x) i

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

Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ

Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZŁOŻONOŚĆ OBLICZENIOWA ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ dr hab. Krzysztof SZKATUŁA, prof. PAN Instytut Badań Systemowych PAN Uniwersytet

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

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

Podstawy Informatyki. Sprawność algorytmów

Podstawy Informatyki. Sprawność algorytmów Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych

Bardziej szczegółowo

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

Sieć (graf skierowany)

Sieć (graf skierowany) Sieć (graf skierowany) Siecia (grafem skierowanym) G = (V, A) nazywamy zbiór wierzchołków V oraz zbiór łuków A V V. V = {A, B, C, D, E, F}, A = {(A, B),(A, D),(A, C),(B, C),...,} Ścieżki i cykle Ciag wierzchołków

Bardziej szczegółowo

Optymalizacja. Przeszukiwanie lokalne

Optymalizacja. Przeszukiwanie lokalne dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Maciej Hapke Idea sąsiedztwa Definicja sąsiedztwa x S zbiór N(x) S rozwiązań, które leżą blisko rozwiązania x

Bardziej szczegółowo

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP) & Zagadnienie komowojażera 1 Modele całkowitoliczbowe zagadnienia komiwojażera (TSP) Danych jest miast oraz macierz odległości pomiędzy każdą parą miast. Komiwojażer wyjeżdża z miasta o numerze 1 chce

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

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

Wykład 4. Droga i cykl Eulera i Hamiltona

Wykład 4. Droga i cykl Eulera i Hamiltona Wykład 4. i Hamiltona Wykład 4. i Hamiltona 1 / 35 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ą

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

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

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

Sieć (graf skierowany)

Sieć (graf skierowany) Sieci Sieć (graf skierowany) Siecia (grafem skierowanym) G = (V, A) nazywamy zbiór wierzchołków V oraz zbiór łuków A V V. V = {A, B, C, D, E, F}, A = {(A, B), (A, D), (A, C), (B, C),..., } Ścieżki i cykle

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

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

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

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html

Bardziej szczegółowo

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

Metody przeszukiwania lokalnego

Metody przeszukiwania lokalnego Metody przeszukiwania lokalnego Literatura [1] F. Glover, T. Laguna, Tabu search, Kluwer Academic Publishers, 1997. [2] R. Ahuja, O. Ergun, J. Orlin, A. Punnen, A survey of very large-scale neighborhood

Bardziej szczegółowo

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej

Bardziej szczegółowo

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

Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Metody konstrukcji algorytmów: Siłowa (ang. brute force), Dziel i zwyciężaj (ang. divide-and-conquer), Zachłanna (ang.

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu

Bardziej szczegółowo

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa

Bardziej szczegółowo

etody programowania całkowitoliczboweg

etody programowania całkowitoliczboweg etody programowania całkowitoliczboweg Wyróżnia się trzy podejścia do rozwiazywania zagadnień programowania całkowitoliczbowego metody przegladu pośredniego (niebezpośredniego), m.in. metody podziału i

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 Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawy optymalizacji Plan prezentacji 1 Podstawy matematyczne 2 3 Eliminacja ograniczeń Metody

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

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

Przykªady problemów optymalizacji kombinatorycznej

Przykªady problemów optymalizacji kombinatorycznej Przykªady problemów optymalizacji kombinatorycznej Problem Komiwoja»era (PK) Dane: n liczba miast, n Z +, c ji, i, j {1,..., n}, i j odlegªo± mi dzy miastem i a miastem j, c ji = c ij, c ji R +. Zadanie:

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

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

Algorytmy metaheurystyczne podsumowanie

Algorytmy metaheurystyczne podsumowanie 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 i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

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

Bardziej szczegółowo

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1 2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań

Bardziej szczegółowo

Algorytmy stochastyczne laboratorium 03

Algorytmy stochastyczne laboratorium 03 Algorytmy stochastyczne laboratorium 03 Jarosław Piersa 10 marca 2014 1 Projekty 1.1 Problem plecakowy (1p) Oznaczenia: dany zbiór przedmiotów x 1,.., x N, każdy przedmiot ma określoną wagę w(x i ) i wartość

Bardziej szczegółowo

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Podstawowe algorytmy i ich implementacje w C. Wykład 9 Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny

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

Programowanie liniowe metoda sympleks

Programowanie liniowe metoda sympleks Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2009 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 13

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

Tomasz M. Gwizdałła 2012/13

Tomasz M. Gwizdałła 2012/13 METODY METODY OPTYMALIZACJI OPTYMALIZACJI Tomasz M. Gwizdałła 2012/13 Informacje wstępne Tomasz Gwizdałła Katedra Fizyki Ciała Stałego UŁ Pomorska 149/153, p.523b tel. 6355709 tomgwizd@uni.lodz.pl http://www.wfis.uni.lodz.pl/staff/tgwizdalla

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model

Bardziej szczegółowo

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład): może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład): 1 Narysuj na płaszczyźnie zbiór dopuszczalnych rozwiazań. 2 Narysuj funkcję

Bardziej szczegółowo

Metody optymalizacji dyskretnej. Metody przybliżone

Metody optymalizacji dyskretnej. Metody przybliżone Metody optymalizacji dyskretnej Metody przybliżone Metody optymalizacji dyskretnej Większość problemów optymalizacji dyskretnej pochodzących z praktyki (szeregowanie, harmonogramowanie, transport, plany

Bardziej szczegółowo

Programowanie liniowe całkowitoliczbowe

Programowanie liniowe całkowitoliczbowe Programowanie liniowe całkowitoliczbowe Jeżeli w zadaniu programowania liniowego pewne (lub wszystkie) zmienne musza przyjmować wartości całkowite, to takie zadanie nazywamy zadaniem programowania liniowego

Bardziej szczegółowo

Metody Optymalizacji: Przeszukiwanie z listą tabu

Metody Optymalizacji: Przeszukiwanie z listą tabu Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 13. PROBLEMY OPTYMALIZACYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska PROBLEMY OPTYMALIZACYJNE Optymalizacja poszukiwanie

Bardziej szczegółowo

Zaawansowane programowanie

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

Bardziej szczegółowo

zadaniem programowania liniowego całkowitoliczbowego. nazywamy zadaniem programowania liniowego 0-1. Zatem, w

zadaniem programowania liniowego całkowitoliczbowego. nazywamy zadaniem programowania liniowego 0-1. Zatem, w Sformułowanie problemu Zastosowania Programowanie liniowe całkowitoliczbowe Jeżeli w zadaniu programowania liniowego pewne (lub wszystkie) zmienne musza przyjmować wartości całkowite, to takie zadanie

Bardziej szczegółowo

Programowanie dynamiczne i algorytmy zachłanne

Programowanie dynamiczne i algorytmy zachłanne Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii

Bardziej szczegółowo

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

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19 METODY OPTYMALIZACJI Tomasz M. Gwizdałła 2018/19 Informacje wstępne Tomasz Gwizdałła Katedra Fizyki Ciała Stałego UŁ Pomorska 149/153, p.524b tel. 6355709 tomgwizd@uni.lodz.pl http://www.wfis.uni.lodz.pl/staff/tgwizdalla

Bardziej szczegółowo

Algorytmy i struktury danych.

Algorytmy i struktury danych. Algorytmy i struktury danych. Wykład 4 Krzysztof M. Ocetkiewicz Krzysztof.Ocetkiewicz@eti.pg.gda.pl Katedra Algorytmów i Modelowania Systemów, WETI, PG Problem plecakowy mamy plecak o określonej pojemności

Bardziej szczegółowo

Wykład 10 Grafy, algorytmy grafowe

Wykład 10 Grafy, algorytmy grafowe . Typy złożoności obliczeniowej Wykład Grafy, algorytmy grafowe Typ złożoności oznaczenie n Jedna operacja trwa µs 5 logarytmiczna lgn. s. s.7 s liniowa n. s.5 s. s Logarytmicznoliniowa nlgn. s.8 s.4 s

Bardziej szczegółowo

[1] E. M. Reingold, J. Nievergelt, N. Deo Algorytmy kombinatoryczne PWN, 1985.

[1] E. M. Reingold, J. Nievergelt, N. Deo Algorytmy kombinatoryczne PWN, 1985. Metody optymalizacji, wykład nr 10 Paweł Zieliński 1 Literatura [1] E. M. Reingold, J. Nievergelt, N. Deo Algorytmy kombinatoryczne PWN, 1985. [2] R.S. Garfinkel, G.L. Nemhauser Programowanie całkowitoliczbowe

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

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Algorytmy zachłanne, programowanie dynamiczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk(Wydział Fizyki) WP w. IX Jesień 2014 1 / 26 Algorytmy zachłanne Strategia polegająca

Bardziej szczegółowo

Metody Rozmyte i Algorytmy Ewolucyjne

Metody Rozmyte i Algorytmy Ewolucyjne mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb

Bardziej szczegółowo

Wykład 2. Poprawność algorytmów

Wykład 2. Poprawność algorytmów Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

9. Schematy aproksymacyjne

9. Schematy aproksymacyjne 9. Schematy aproksymacyjne T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein Wprowadzenie do algorytmów, WNT (2004) O.H. Ibarra, C.E. Kim Fast approximation algorithms for the knapsack and sum of subset

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

Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań

Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań dopuszczalnych. NP-optymalizacyjny problem Π składa się: zbioru instancji D Π rozpoznawalnego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Algorytm selekcji Hoare a. Łukasz Miemus

Algorytm selekcji Hoare a. Łukasz Miemus Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego

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

Algorytmy genetyczne

Algorytmy genetyczne Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Algorytmy genetyczne służą

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

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej

Bardziej szczegółowo

PRÓBNY EGZAMIN MATURALNY

PRÓBNY EGZAMIN MATURALNY PRÓBNY EGZAMIN MATURALNY Z MATEMATYKI ZESTAW PRZYGOTOWANY PRZEZ SERWIS WWW.ZADANIA.INFO POZIOM PODSTAWOWY 25 MARCA 2017 CZAS PRACY: 170 MINUT 1 Zadania zamknięte ZADANIE 1 (1 PKT) Najmniejsza liczba całkowita

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

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Metody teorii gier Cel: Wyprowadzenie oszacowania dolnego na oczekiwany czas działania dowolnego algorytmu losowego dla danego problemu.

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. Organizacja wykładu. Problem Sortowania. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury

Bardziej szczegółowo

Programowanie liniowe

Programowanie liniowe Programowanie liniowe Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2010 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 15 Homo oeconomicus=

Bardziej szczegółowo

Efektywność Procedur Obliczeniowych. wykład 5

Efektywność Procedur Obliczeniowych. wykład 5 Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie

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ść algorytmów. Wstęp do Informatyki

Złożoność algorytmów. Wstęp do Informatyki Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność

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

Algorytmy aproksymacyjne i parametryzowane

Algorytmy aproksymacyjne i parametryzowane Algorytmy aproksymacyjne i parametryzowane Marek Cygan Uniwersytet Warszawski 18 października 2012 Marek Cygan Algorytmy aproksymacyjne i parametryzowane 1/22 Wstęp W algorytmice problemy dzielimy na obliczeniowo

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

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z zagadnień dotyczących analizy i syntezy algorytmów z uwzględnieniem efektywności

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstęp do programowania

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

Bardziej szczegółowo

Wprowadzenie do złożoności obliczeniowej

Wprowadzenie do złożoności obliczeniowej problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów

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 18 stycznia 2013 Przedmiot i cele pracy dyplomowej

Bardziej szczegółowo

Zasady analizy algorytmów

Zasady analizy algorytmów Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania

Bardziej szczegółowo

Algorytmy aproksymacyjne dla problemów stochastycznych

Algorytmy aproksymacyjne dla problemów stochastycznych Algorytmy aproksymacyjne dla problemów stochastycznych Marcin Mucha Uniwersytet Warszawski Warszawa 29.04.2011 - p. 1/44 Plan - Wykład II Boosted sampling: drzewo Steinera, problemy addytywne: lokalizacja

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1 Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem

Bardziej szczegółowo

Podstawy programowania. Podstawy C# Przykłady algorytmów

Podstawy programowania. Podstawy C# Przykłady algorytmów Podstawy programowania Podstawy C# Przykłady algorytmów Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania

Bardziej szczegółowo

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji Badania operacyjne i teoria optymalizacji Instytut Informatyki Poznań, 2011/2012 1 2 3 Teoria optymalizacji Teoria optymalizacji a badania operacyjne Teoria optymalizacji zajmuje się badaniem metod optymalizacji

Bardziej szczegółowo