OBLICZENIA RÓWNOLEGŁE

Podobne dokumenty
Szeregi liczbowe i ich własności. Kryteria zbieżności szeregów. Zbieżność bezwzględna i warunkowa. Mnożenie szeregów.

AM1.1 zadania 8 Przypomn. e kilka dosyć ważnych granic, które już pojawiły się na zajeciach. 1. lim. = 0, lim. = 0 dla każdego a R, lim (

Równania liniowe rzędu drugiego stałych współczynnikach

Systemy operacyjne

Teoria. a k. Wskaźnik sumowania można oznaczać dowolną literą. Mamy np. a j = a i =

Rozsądny i nierozsądny czas działania

Znajdowanie pozostałych pierwiastków liczby zespolonej, gdy znany jest jeden pierwiastek

STATYSTYKA I ANALIZA DANYCH

WYZNACZANIE WSPÓŁCZYNNIKA ZAŁAMANIA ŚWIATŁA METODĄ SZPILEK I ZA POMOCĄ MIKROSKOPU. Wprowadzenie. = =

D. Miszczyńska, M.Miszczyński KBO UŁ, Badania operacyjne (wykład 6 _ZP) [1] ZAGADNIENIE PRZYDZIAŁU (ZP) (Assignment Problem)

I. Podzielność liczb całkowitych

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13. Ciągi.

O liczbach naturalnych, których suma równa się iloczynowi

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

Temat lekcji: Utrwalenie wiadomości dotyczących rozwiązywania równań kwadratowych.

Jarosław Wróblewski Analiza Matematyczna 1, zima 2016/17

Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Badania operacyjne. Temat ćwiczenia: Problemy transportowe cd, Problem komiwojażera

G:\AA_Wyklad 2000\FIN\DOC\Fourier.doc. Drgania i fale II rok Fizyki BC. zawierają fazy i amplitudy.

Analiza algorytmów to dział informatyki zajmujcy si szukaniem najefektywniejszych, poprawnych algorytmów dla danych problemów komputerowych

Prawdopodobieństwo i statystyka

Analiza matematyczna. Robert Rałowski

MACIERZE STOCHASTYCZNE

Rekursja 2. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Metrologia: miary dokładności. dr inż. Paweł Zalewski Akademia Morska w Szczecinie

Estymacja przedziałowa

Ciągi liczbowe wykład 3

ma rozkład złożony Poissona z oczekiwaną liczbą szkód równą λ i rozkładem wartości pojedynczej szkody takim, że Pr( Y

1 Układy równań liniowych

3 Arytmetyka. 3.1 Zbiory liczbowe.

X i. X = 1 n. i=1. wartość tej statystyki nazywana jest wartością średnią empiryczną i oznaczamy ją symbolem x, przy czym x = 1. (X i X) 2.

Relacje rekurencyjne. będzie następująco zdefiniowanym ciągiem:

Trzeba pokazać, że dla każdego c 0 c Mc 0. ) = oraz det( ) det( ) det( ) jest macierzą idempotentną? Proszę odpowiedzieć w

KADD Metoda najmniejszych kwadratów

Wzór Taylora. Matematyka Studium doktoranckie KAE SGH Semestr letni 2008/2009 R. Łochowski

Elementy rach. macierzowego Materiały pomocnicze do MES Strona 1 z 7. Elementy rachunku macierzowego

Zadanie 1 Probówka I: AgNO 3 + NaCl AgCl + NaNO 3 Probówka II: 3AgNO 3 + AlCl 3 3AgCl + Al(NO 3 ) 3 Zadanie 2 Przykłady poprawnych odpowiedzi

Problem. Jak praktycznie badać jednostajną ciągłość funkcji?

I kolokwium z Analizy Matematycznej

MINIMALIZACJA PUSTYCH PRZEBIEGÓW PRZEZ ŚRODKI TRANSPORTU

Zadania z algebry liniowej - sem. I Liczby zespolone

Analiza numeryczna. Stanisław Lewanowicz. Aproksymacja funkcji

Parametryzacja rozwiązań układu równań

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

Jarosław Wróblewski Analiza Matematyczna A1, zima 2011/12. Kresy zbiorów. x Z M R

ZAGADNIENIE ESTYMACJI. ESTYMACJA PUNKTOWA I PRZEDZIAŁOWA

Wykład 11. a, b G a b = b a,

UKŁADY RÓWNAŃ LINOWYCH

5. Zasada indukcji matematycznej. Dowody indukcyjne.

Stwierdzenie 1. Jeżeli ciąg ma granicę, to jest ona określona jednoznacznie (żaden ciąg nie może mieć dwóch różnych granic).

APROKSYMACJA I INTERPOLACJA. funkcja f jest zbyt skomplikowana; użycie f w dalszej analizie problemu jest trudne

POLITECHNIKA OPOLSKA

3. Funkcje elementarne

Estymacja. Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych. Wykład 7

a 1, a 2, a 3,..., a n,...

TESTY LOSOWOŚCI. Badanie losowości próby - test serii.

Analiza I.1, zima wzorcowe rozwiązania

Podprzestrzenie macierzowe

2 n < 2n + 2 n. 2 n = 2. 2 n 2 +3n+2 > 2 0 = 1 = 2. n+2 n 1 n+1 = 2. n+1

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2014/15. n 4n n 1

Charakterystyki liczbowe zmiennych losowych: wartość oczekiwana i wariancja

Lista 5. Odp. 1. xf(x)dx = xdx = 1 2 E [X] = 1. Pr(X > 3/4) E [X] 3/4 = 2 3. Zadanie 3. Zmienne losowe X i (i = 1, 2, 3, 4) są niezależne o tym samym

Internetowe Kółko Matematyczne 2004/2005

Podprzestrzenie macierzowe

Lista 6. Estymacja punktowa

Twierdzenie Cayleya-Hamiltona

Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 1 Algorytmy sortowania (27.02.

Wykład 5 Przedziały ufności. Przedział ufności, gdy znane jest σ. Opis słowny / 2

Wektory Funkcje rzeczywiste wielu. Matematyka Studium doktoranckie KAE SGH Semestr letni 2008/2009 R. Łochowski

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2014/15. n = Rozwiązanie: Stosując wzór na wartość współczynnika dwumianowego otrzymujemy

Wykład 9. Znajdowanie najlepszej drogi

Zdarzenia losowe, definicja prawdopodobieństwa, zmienne losowe

2.27. Oblicz wartość wyrażenia 3 a Wykaż, że jeżeli x i y są liczbami dodatnimi oraz x+ y =16, to ( 1+

8. Optymalizacja decyzji inwestycyjnych

Algorytmy I Struktury Danych Prowadząca: dr Hab. inż. Małgorzata Sterna. Sprawozdanie do Ćwiczenia 3 Algorytmy grafowe ( )

Elementy modelowania matematycznego

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Efektywność Procedur Obliczeniowych. wykład 5

1 Twierdzenia o granicznym przejściu pod znakiem całki

O trzech elementarnych nierównościach i ich zastosowaniach przy dowodzeniu innych nierówności

Statystyczna kontrola procesu karty kontrolne Shewharta.

będą niezależnymi zmiennymi losowymi z rozkładu jednostajnego na przedziale ( 0,

Elementy statystyki opisowej Izolda Gorgol wyciąg z prezentacji (wykład I)

Analiza algorytmów to dział informatyki zajmujcy si szukaniem najefektywniejszych, poprawnych algorytmów dla danych problemów komputerowych.

Dwumian Newtona. Agnieszka Dąbrowska i Maciej Nieszporski 8 stycznia 2011

Matematyka ubezpieczeń majątkowych r.

1.3. Największa liczba naturalna (bez znaku) zapisana w dwóch bajtach to a) b) 210 c) d) 32767

Automatyka i Robotyka Analiza Wykład 14 dr Adam Ćmiel

Nieklasyczne modele kolorowania grafów

Metoda analizy hierarchii Saaty ego Ważnym problemem podejmowania decyzji optymalizowanej jest często występująca hierarchiczność zagadnień.

Przykładowe zadania dla poziomu rozszerzonego

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

UKŁADY REGULACJI NAPIĘCIA

7 Liczby zespolone. 7.1 Działania na liczbach zespolonych. Liczby zespolone to liczby postaci. z = a + bi,

Ekonomia matematyczna - 1.1

TEORETYCZNE PODSTAWY INFORMATYKI

Teoretyczne podstawy informatyki

Zadania z Matematyka 2 - SIMR 2008/ szeregi zadania z rozwiązaniami. n 1. n n. ( 1) n n. n n + 4

a n 7 a jest ciągiem arytmetycznym.

Dyskretna transformata falkowa z wykorzystaniem falek Haara. Alfréd Haar

( ) WŁASNOŚCI MACIERZY

Transkrypt:

OBLICZENIA RÓWNOLEGŁE Temat 1: Algorytm, złożoość - przypomieie Prowadząy: e-mail: http:// dr hab. iż. Zbigiew TARAPATA, prof. WAT pok.57, tel.: 61-83-95-04 Zbigiew.Tarapata@wat.edu.pl tarapata.strefa.pl/p_oblizeia_rowolegle/

PLAN REFERATU Złożoość algorytmu a złożoość problemu (zadaia); Optymalość algorytmu ze względu a dokładość, a optymalość ze względu a złożoość; Złożoość pesymistyza, złożoość ozekiwaa, wrażliwość algorytmów; Problem deyzyjy a optymalizayjy; Klasy złożoośi oblizeiowej problemów; Dowodzeie przyależośi problemu do klasy złożoośi; Metody badaia złożoośi, dokładośi algorytmów; Z.Tarapata, Oblizeia rówoległe, wykład r 1

ALGORYTM - przypomieie podstawowyh pojęć Algorytmika jest dziedzią wiedzy zajmująą się badaiem algorytmów; W iformatye jest oa ieodłązie związaa z algorytmami przetwarzaia struktur dayh; Potozie algorytm jest rozumiay jako pewie przepis a wykoaie jakiegoś zestawu zyośi, prowadząyh do osiągięia ozekiwaego i z góry określoego elu; Mówi się rówież, że: - algorytm jest pewą śiśle określoą proedurą oblizeiową, która dla zestawu właśiwyh dayh wejśiowyh wytwarza żądae dae wyjśiowe; - algorytm jest to zbiór reguł postępowaia umożliwiająyh rozwiązaie określoego zadaia w skońzoej lizbie kroków i w skońzoym zasie. Termi algorytm wywodzi się od zlatyizowaej formy (Algorismus, Algorithmus) azwiska matematyka arabskiego z IX w., Al -Chuwarizmiego. Z.Tarapata, Oblizeia rówoległe, wykład r 1 3

ZŁOŻONOŚĆ ALGORYTMU A ZŁOŻONOŚĆ PROBLEMU (ZADANIA) Złożoość algorytmu lizba kroków algorytmu (zas) potrzeba a rozwiązaie daego problemu dla ajgorszego przypadku dayh ustaloego rozmiaru; Złożoość problemu (zadaia) - złożoość ajlepszego algorytmu rozwiązująego te problem; Z.Tarapata, Oblizeia rówoległe, wykład r 1 4

OPTYMALNOŚĆ W SENSIE ZŁOŻONOŚCI, OPTYMALNOŚĆ W SENSIE DOKŁADNOŚCI Algorytm azywamy optymalym ze względu a złożoość jeżeli ie istieje iy algorytm (dla tego samego problemu) o złożoośi lepszej; Algorytm azywamy optymalym ze względu a dokładość (dla daego problemu, przy posiadaej iformaji) jeżeli błąd tego algorytmu jest ajmiejszy spośród błędów wszystkih algorytmów rozwiązująyh day problem; Algorytm A azywamy -aproksymayjym (- przybliżoym) (>1) jeżeli zahodzi astępująa zależość: gdzie S(A(Z)) wartość rozwiązaia problemu Z przez algorytm A, S(Z) wartość optymalego rozwiązaia problemu Z; UWAGA! Optymalość algorytmu ze względu a dokładość oraz złożoość ie musi się pokrywać!!! S( A( Z)) S( Z) Z.Tarapata, Oblizeia rówoległe, wykład r 1 5

PESYMISTYCZNA ZŁOŻONOŚĆ OBLICZENIOWA Nieh: D - zbiór dayh rozmiaru dla rozważaego problemu; ti - lizba operaji podstawowyh wykoayh przez algorytm a dayh ID ; Pesymistyza złożoość oblizeiowa W() defiiowaa jest jako : W t I max : I D Z.Tarapata, Oblizeia rówoległe, wykład r 1 6

OCZEKIWANA ZŁOŻONOŚĆ OBLICZENIOWA Nieh: -prawdopodobieństwo występowaia dayh ID ; p X I I - zmiea losowa o wartośiah i rozkładzie ; t p I Ozekiwaa złożoość oblizeiowa A() defiiowaa jest jako : pi ti E X ) A ID ( Z.Tarapata, Oblizeia rówoległe, wykład r 1 7

WRAŻLIWOŚĆ PESYMISTYCZNA I OCZEKIWANA ALGORYTMÓW Wrażliwość pesymistyza: max ti ti : I, I 1 1 D Wrażliwość ozekiwaa: VarX pi ti E X I D Z.Tarapata, Oblizeia rówoległe, wykład r 1 8

DEFINICJE RZĘDÓW ZŁOŻONOŚCI OBLICZENIOWEJ Nieh R* =R + {0}. Mówimy, że fukja f(x):r*r* jest rzędu O(g(x)) (g(x):r*r*), jeśli istieje taka stała >0 oraz x 0 R*, że dla każdego xx 0 zahodzi f(x)g(x) (f ie rośie szybiej iż g). y f(x)=o(g(x)) g(x) f(x) x Z.Tarapata, Oblizeia rówoległe, wykład r 1 x 0 9

DEFINICJE RZĘDÓW ZŁOŻONOŚCI OBLICZENIOWEJ,.d. Nieh R* =R + {0}. Mówimy, że fukja f(x):r*r* jest rzędu (g(x)) (g(x):r*r*), jeśli istieje taka stała >0 oraz x 0 R*, że dla każdego xx 0 zahodzi g(x)f(x) (f ie rośie woliej iż g). y f(x)=(g(x)) f(x) g(x) x Z.Tarapata, Oblizeia rówoległe, wykład r 1 x 0 10

DEFINICJE RZĘDÓW ZŁOŻONOŚCI OBLICZENIOWEJ,.d. Nieh R* =R + {0}. Mówimy, że fukja f(x):r*r* jest rzędu (g(x)) (g(x):r*r*), jeśli istieją takie stałe 1, >0 oraz x 0 R*, że dla każdego xx 0 zahodzi 1 g(x)f(x) g(x) (f rośie tak samo jak g). y f(x)=(g(x)) g(x) f(x) 1 g(x) x Z.Tarapata, Oblizeia rówoległe, wykład r 1 x 0 11

KLASY I TYPY FUNKCJI ZŁOŻONOŚCI OBLICZENIOWEJ Klasa fukji Typ fukji Przykłady stała e si, 1/ subliiowa polilogarytmiza log log, log liiowa, 11 / quasi-liiowa log, log log wielomiaowa iewielomiaowa kwadratowa superwielomiaowa lg wykładiza,, e, 3, superwykładiza Z.Tarapata, Oblizeia rówoległe, wykład r 1 1

N 1h Wpływ wzrostu prędkośi komputera a maksymaly rozmiar zagadieia, które moża rozwiązać w jedoste zasu Algorytm Maksymaly rozmiar zagadieia przed wzrostem po 100-krotym Symbol Złożoość prędkośi wzrośie prędkośi A 5 N 5 100N 5 A 4 A 3 3 A 5 A 1 A0 4, 4N 4 1h 100 N 4 10 N 4 N 3 4.64 N 3 N 3.5 N N 1 6.64+N 1 log 100N 1 dla N 0 N 0 0 100 10 4 N 1 N11 1h, 1h 100 1 100 1 =log 100=6.64 Z.Tarapata, Oblizeia rówoległe, wykład r 1 13

Związek pomiędzy rzędem złożoośi, stałą proporjoalośi, rozmiarem dayh i rzezywistym zasem oblizeń a miikomputerze i superkomputerze Cray-1 3 3 [s] PENTIUM IV 1.6 GHz 195000 [s] 10 3 μs 300 μs 100 3 ms 3 ms 1 000 3 s 30 ms 10 000 49 mi. 300 ms 1000 000 95 lat 3 s Mimo że algorytm sześiey wystartował z większym impetem, drugi algorytm (liiowy), mająy złożoość o rzędy iższą (O() w stosuku do O( 3 )), dogoił go i okazał się szybszy dla 100. Z.Tarapata, Oblizeia rówoległe, wykład r 1 14

SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Metody szaowaia złożoośi algorytmów Aby oszaować złożoość algorytmu zliza się tzw. operaje podstawowe dla badaego problemu lub klasy rozważayh algorytmów, tj. takie, które są ajzęśiej wykoywae (igorują pozostałe operaje pomoize, takie jak istrukje iijalizaji, istrukje orgaizaji pętli itp.). Tabela 1 Przykłady operaji podstawowyh dla typowyh problemów oblizeiowyh Lp. Problem Operaja 1.. 3. 4. Zalezieie x a liśie azwisk. Możeie dwóh maierzy lizb rzezywistyh. Porządkowaie lizb. Wyzazaie drogi ajkrótszej w grafie zadaym w postai listy sąsiadów. Porówaie x z pozyją a liśie. Możeie dwóh maierzy lizb typu real (lub możeie i dodawaie). Porówaie dwóh lizb (lub porówaie i zamiaa). Operaja a wskaźiku listy. Zalety zlizaia operaji podstawowyh: - Uiezależieie się od rodzaju i lizby proesorów; - Możliwość przewidywaia zahowaia się algorytmu dla różyh dayh; - Swoboda wyboru operaji podstawowej; Z.Tarapata, Oblizeia rówoległe, wykład r 1 15

SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Przykłady praktyze mierzeia złożoośi oblizeiowej Przykład 4 Przykład 4: Prosta pętla for (i=sum=0; i<; i++) sum+=a[i]; Powyższa pętla powtarza się razy, podzas każdego jej przebiegu realizuje dwa przypisaia: aktualizująe zmieą sum i zmiaę wartośi zmieej i. Mamy zatem przypisań podzas ałego wykoaia pętli; jej asymptotyza złożoość wyosi O(). Czy możemy zapisać, rówież ()? TAK Zatem możemy zapisać (). Z.Tarapata, Oblizeia rówoległe, wykład r 1 16

SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Przykłady praktyze mierzeia złożoośi oblizeiowej Przykład 5 Przykład 5: Pętla zagieżdżoa for (i=0; i<; i++) { for (j=1, sum=a[0]; j<=i; j++) sum+=a[j]; } Na samym pozątku zmieej i adawaa jest wartość pozątkowa. Pętla zewętrza powtarza się razy, a w każdej jej iteraji wykouje się wewętrza pętla oraz istrukja przypisaia wartośi zmieym i, j, sum. Pętla wewętrza wykouje się i razy dla każdego i e {1,...,-1}, a a każdą iteraje przypadają dwa przypisaia:jedo dla sum, jedo dla j. Mamy zatem 1 + 3 + (1++...+-1) = 1 + 3 + (-1) = O() + O( ) = O( ) przypisań wykoywayh w ałym programie. Jej asymptotyza złożoość wyosi O( ). Czy możemy zapisać rówież ( ), ( )? TAK Pętle zagieżdżoe mają zwykle większą złożoość iż pojedyze, jedak ie musi tak być zawsze. Z.Tarapata, Oblizeia rówoległe, wykład r 1 17

SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Przykłady praktyze mierzeia złożoośi oblizeiowej Przykład 6 Aaliza tyh dwóh przypadków była stosukowo prosta poieważ lizba iteraji ie zależała od wartośi elemetów tabliy. Wyzazeie złożoośi asymptotyzej jest trudiejsze jeżeli lizba iteraji ie jest zawsze jedakowa. Przykład 6: Zajdź ajdłuższą podtablię zawierająą lizby uporządkowae rosąo. for (i=0; le=1; i<-1; i++) { for (i1=i=k=i; k<-1 && a[k]<a[k+1]; k++,i++); if(le < i-i1+1) le=i-i1+1; } => Jeśli lizby w tabliy są uporządkowae malejąo, to pętla zewętrza wykouje się -1 razy, a w każdym jej przebiegu pętla wewętrza wykoa się tylko raz. Złożoość algorytmu wyosi wię wtedy O(). Z.Tarapata, Oblizeia rówoległe, wykład r 1 18

SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Przykłady praktyze mierzeia złożoośi oblizeiowej Przykład 6,.d. Aaliza tyh dwóh przypadków była stosukowo prosta poieważ lizba iteraji ie zależała od wartośi elemetów tabliy. Wyzazeie złożoośi asymptotyzej jest trudiejsze jeżeli lizba iteraji ie jest zawsze jedakowa. Przykład 6: Zajdź ajdłuższą podtablię zawierająą lizby uporządkowae rosąo. for (i=0; le=1; i<-1; i++) { for (i1=i=k=i; k<-1 && a[k]<a[k+1]; k++,i++); if(le < i-i1+1) le=i-i1+1; } => Jeśli lizby w tabliy są uporządkowae rosąo, to pętla zewętrza wykouje się -1 razy, a w każdym jej przebiegu pętla wewętrza wykoa się i razy dla i {1,...,-1}. Złożoość algorytmu wyosi wię wtedy O( ). Poieważ złożoość algorytmu jest mierzoa dla przypadku ajgorszyh dayh zatem złożoość algorytmu wyosi O( ). Z.Tarapata, Oblizeia rówoległe, wykład r 1 19

SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Przykłady praktyze mierzeia złożoośi oblizeiowej Przykład 6,.d. Aaliza tyh dwóh przypadków była stosukowo prosta poieważ lizba iteraji ie zależała od wartośi elemetów tabliy. Wyzazeie złożoośi asymptotyzej jest trudiejsze jeżeli lizba iteraji ie jest zawsze jedakowa. Przykład 6: Zajdź ajdłuższą podtablię zawierająą lizby uporządkowae rosąo. for (i=0; le=1; i<-1; i++) { for (i1=i=k=i; k<-1 && a[k]<a[k+1]; k++,i++); if(le < i-i1+1) le=i-i1+1; } => Z reguły dae ie są uporządkowae i oea złożoośi algorytmu jest rzezą iełatwą, ale bardzo istotą. Staramy się wyzazy złożoość w przypadku optymistyzym, przypadku pesymistyzym oraz przypadku średim. Często posługujemy się wtedy przybliżeiami opartymi o otaje duże O, i. Z.Tarapata, Oblizeia rówoległe, wykład r 1 0

SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Przykłady praktyze mierzeia złożoośi oblizeiowej Przykład 7 Przykład 7: Algorytm sortowaia Isertio-Sort(A) 1. for j:= to legth[a]. do key:=a[j] /* Wstaw A[i] w posortoway iąg A[1..j-1].*/ 3. i:= j-1 4. while i>0 i A[i] > key 5. do A[i+1] := A[i] 6. i:= i-1 7. A[i+1] := key Przykład działaia algorytmu 5 4 6 1 3 5 4 6 1 3 4 5 6 1 3 4 5 6 1 3 1 4 5 6 3 1 3 4 5 6 Z.Tarapata, Oblizeia rówoległe, wykład r 1 1

SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Przykłady praktyze mierzeia złożoośi oblizeiowej Przykład 7,.d. Isertio-Sort(A) koszt lizba wykoań 1. for j:= to legth[a] 1. do key:=a[i] -1 3. i:= j-1 3-1 4. while i>0 i A[i] > key 4 5. do A[i+1] := A[i] 5 6. i:= i-1 6 7. A[i+1] := key 7-1 t j j j j ( t ( t j j 1) 1) Z.Tarapata, Oblizeia rówoległe, wykład r 1

Z.Tarapata, Oblizeia rówoległe, wykład r 1 3 SZACOWANIE ZŁOŻONOŚCI OBLICZENIOWEJ Przykłady praktyze mierzeia złożoośi oblizeiowej Przykład 7,.d. 1) ( 1) ( 1) ( 1) ( 1) ( ) ( 7 6 5 4 3 1 t t t T j j j j j j 1 1) ( j j 1) ( 1) ( j j 1) ( 1) ( 1) ( 1 1) ( 1) ( 1) ( ) ( 7 6 5 4 3 1 T ) ( 7 4 3 7 6 5 4 3 1 6 5 4 ( ) ( ) T a b O

SPOSOBY BADANIA OPTYMALNOŚCI ALGORYTMÓW Istieje pewa graia zwaa wewętrzą złożoośią problemu (ag. iheret problem omplexity), tz. miimala ilość pray iezbędej do wykoaia w elu rozwiązaia zadaia, której ie moża przekrozyć, poprawiają złożoość algorytmu; Aby pokazać, że algorytm jest optymaly ze względu a złożoość ajzęśiej dowodzi się, że istieje pewe dole oszaowaie lizby operaji podstawowyh potrzebyh do rozwiązaia problemu. Z.Tarapata, Oblizeia rówoległe, wykład r 1 4

SPOSOBY BADANIA OPTYMALNOŚCI ALGORYTMÓW Aby zbadać, zy algorytm jest optymaly ależy: 1. Zaprojektować możliwie ajlepszy algorytm, powiedzmy A. Następie przeaalizować algorytm A, otrzymują złożoość ajgorszego przypadku W.. Dla pewej fukji F udowodić twierdzeie mówiąe, że dla dowolego algorytmu w rozważaej klasie istieją dae rozmiaru takie, że algorytm musi wykoać przyajmiej F() kroków. 3. Jeśli fukje W i F są rówe, to algorytm A jest optymaly (dla ajgorszego przypadku). Z.Tarapata, Oblizeia rówoległe, wykład r 1 5

SPOSOBY BADANIA OPTYMALNOŚCI ALGORYTMÓW Przykład Problem: Zajdowaie ajwiększej wśród lizb. Klasa algorytmów: Algorytmy, które porówują lizby i przepisują je. Operaja podstawowa: Porówaie dwóh wielkośi. Z.Tarapata, Oblizeia rówoległe, wykład r 1 6

SPOSOBY BADANIA OPTYMALNOŚCI ALGORYTMÓW, PRZYKŁAD C.D. Algorytm_ Dae: L,, gdzie L jest tablią -elemetową. Wyiki: max, ajwiększy elemet w L. begi ed; 1. max:= L[1];. for idex:= to do 3. if max < L[idex] the max:= L[idex] Oszaowaie góre: Przypuśćmy, że lizby zapisae są w tabliy L. Porówaia są realizowae w liii 3, która jest wykoywaa -1 razy. Zatem -1 jest górą graią lizby porówań koiezyh do zalezieia maksimum w ajgorszym przypadku dayh. Oszaowaie dole: Przypuśćmy, że ie ma dwóh jedakowyh lizb w L. Założeie takie jest dopuszzale, poieważ dole oszaowaie w tym szzególym przypadku jest rówież dolym oszaowaiem w przypadku ogólym. Gdy mamy różyh lizb, to -1 z ih ie są ajwiększymi. Ale żeby stwierdzić, że jakiś elemet ie jest maksymaly, trzeba go porówać z przyajmiej jedym z pozostałyh. Zatem -1 elemetów musi być wyelimiowayh drogą porówaia z pozostałymi. Poieważ w każdym porówaiu biorą udział tylko elemety, wię trzeba wykoać przyajmiej -1 porówań. Zatem F()=-1 jest poszukiwaym dolym oszaowaiem i a tej podstawie wioskujemy, że algorytm_ jest optymaly. Z.Tarapata, Oblizeia rówoległe, wykład r 1 7

SPOSOBY BADANIA OPTYMALNOŚCI ALGORYTMÓW, PRZYKŁAD Przykład Problem: Dae są dwie maierze A a ij B b ij rozmiaru. Oblizyć maierz C A B. Klasa algorytmów: Algorytmy wykoująe dodawaia, odejmowaia, możeia i dzieleia a elemetah maierzy. Operaja podstawowa: Możeie i dodawaie. Oszaowaie góre: Jak wiadomo, zwykły algorytm wykouje 3 możeń, zatem 3 jest oszaowaiem z góry. Oszaowaie dole: Jak wiadomo, złożoość pamięiowa wyosi, wię możeń jest iezbędyh. Z.Tarapata, Oblizeia rówoległe, wykład r 1 8

SPOSOBY BADANIA OPTYMALNOŚCI ALGORYTMÓW, PRZYKŁAD C.D. Wiosek: Nie ma możliwośi stwierdzeia a tej podstawie, zy algorytm klasyzy jest optymaly, zy ie. Dlatego włożoo wiele wysiłku w poprawieie oszaowaia dolego, jak dotąd bezskutezie. Z drugiej stroy szuka się owyh, lepszyh algorytmów. Obeie ajlepszy zay algorytm możeia dwóh maierzy kwadratowyh wykouje około,376 możeń. Czy jest to algorytm optymaly? Nie wiadomo, iągle bowiem oszaowaie góre przewyższa oszaowaie dole. Z.Tarapata, Oblizeia rówoległe, wykład r 1 9

PRZYKŁAD POSTĘPU, JAKI DOKONAŁ SIĘ W DZIEDZINIE PROJEKTOWANIA ALGORYTMÓW BADAJĄCYCH PLANARNOŚĆ GRAFU Algorytm Symbol Autor [rok] Złożoość Kuratowski A 1 [1930] Goldstei A [1963] Lempel et al. A 3 [1967] Hoproftlog A 4 Tarja [1971] A 5 Hoproft- Tarja [1974] Czas oblizeń dla 10 ms 100 Rozmiar aalizowaego grafu w przypadku udostępiaia komputera a okres miuty godziy 6 35 lat 4 8 3.8 godzi 18 71 100 sekud 77 6 000 7 sekud 643 4 673 4 1 sekuda 6 000 36 10 Z.Tarapata, Oblizeia rówoległe, wykład r 1 30

PROBLEM DECYZYJNY A PROBLEM OPTYMALIZACYJNY Problem deyzyjy taki, dla którego odpowiedź brzmi tak albo ie. Problem optymalizayjy polega a wyzazaiu takiego elemetu zbioru rozwiązań dopuszzalyh, dla którego fukja elu osiąga ekstremum a tym zbiorze. Przykład Optymalizayjy problem załaduku moża sformułować astępująo: * x S B xe : x 0,1, j 1, wyzazyć taki, że gdzie oraz *, x max,x max xs S xb : j1 j - wartość towaru typu a j x j xs d j j1 j, j 1,, a j - objętość towaru typu j, j 1,, d - pojemość środka trasportu. j x j Związay z tym problemem problem deyzyjy sformułujemy w postai b) zy istieje x B spełiająy ograizeia, x y, xs Z.Tarapata, Oblizeia rówoległe, wykład r 1 31

WIELOMIANOWA TRANSFORMOWALNOŚĆ (SPROWADZALNOŚĆ) PROBLEMÓW Defiija Problem deyzyjy 1 jest wielomiaowo trasformowaly (sprowadzaly, redukowaly) do problemu deyzyjego (o zapisujemy 1 ) jeśli dla dowolego łańuha dayh x problemu 1 moża w wielomiaowym zasie (wielomia zależy od x ) zbudować łańuh y dayh problemu taki, że x jest łańuhem dayh kokretego problemu 1 z odpowiedzią tak wtedy i tylko wtedy, gdy y jest łańuhem dayh kokretego problemu z odpowiedzią tak. Z.Tarapata, Oblizeia rówoległe, wykład r 1 3

KLASY ZŁOŻONOŚCI OBLICZENIOWEJ PROBLEMÓW Defiija Klasą P azywamy klasę wszystkih problemów deyzyjyh, któryh złożoość oblizeiowa jest wielomiaowa tz. takih, które DTM rozwiązuje w zasie ograizoym od góry przez wielomia. Defiija Klasą NP azywamy klasę wszystkih problemów deyzyjyh, które są rozwiązywale w zasie wielomiaowym przez NDTM. lub rówoważie Defiija Mówimy, że problem deyzyjy ależy do NP jeśli istieje wielomia p() od rozmiaru tego problemu oraz algorytm (algorytm weryfikaji potwierdzeia) takie, że dla każdego kokretego problemu z DΠ z odpowiedzią tak i łańuhem dayh x(z) istieje łańuh (potwierdzeie) (x) symboli alfabetu wejśiowego taki, że: x z p x z, - - algorytm po otrzymaiu a wejśiu sekweji z#xz x (# ozaza koie dayh i pozątek potwierdzeia) dohodzi do odpowiedzi tak po ie więej iż p x z krokah. P NP Z.Tarapata, Oblizeia rówoległe, wykład r 1 33

Przykład KLASY ZŁOŻONOŚCI OBLICZENIOWEJ PROBLEMÓW, PRZYKŁAD 1 Klika k-elemetowa: dla daego grafu G o zbiorze wierzhołków V zbadać zy istieje podgraf peły o lizośi zbioru wierzhołków rówej k. V Dla rozwiązaia tego zadaia ależałoby przejrzeć k podzbiorów zbioru V. Nie jest zay algorytm wielomiaowy dla tego zadaia. Istieje atomiast dla kokretego zadaia z odpowiedzią tak potwierdzeie w postai kodu zbioru C elemetów kliki o lizośi k, które moża zweryfikować w zasie wielomiaowym przy pomoy pewego algorytmu sprawdzająego: - zy zbiór C ma lizość k, - zy podgraf zawierająy wierzhołki ze zbioru C jest peły. Z.Tarapata, Oblizeia rówoległe, wykład r 1 34

Przykład KLASY ZŁOŻONOŚCI OBLICZENIOWEJ PROBLEMÓW, PRZYKŁAD Zadaie komiwojażera: dla siei o V wierzhołkah i odległośiah między wierzhołkami zadaymi d zbadać zy istieje ykl ałkowitolizbową maierzą d ij x Hamiltoa o długośi miejszej lub rówej zadaej lizbie L (ałkowitej). Dla kokretego zadaia z odpowiedzią tak wystarzająym potwierdzeiem będzie kod yklu Hamiltoa spełiająy wymagaą długość. Przy pomoy algorytmu wielomiaowego moża sprawdzić zy: - L,d, poprawe dae, d ij - kod przedstawia ykl Hamiltoa, - długość yklu Hamiltoa jest miejsza lub rówa L. Z.Tarapata, Oblizeia rówoległe, wykład r 1 35

KLASY ZŁOŻONOŚCI OBLICZENIOWEJ PROBLEMÓW, PRZYKŁAD 3 Przykład Problem SPEŁNIALNOŚCI: zy istieje wektor x B, dla którego formuła alteratywo koiukyja jest rówa 1. Dla kokretego zadaia z odpowiedzią tak dobrym potwierdzeiem jest właśie kod wektora x, dla którego ta formuła przyjmuje wartość 1. Algorytm w zasie wielomiaowym sprawdza zy: - formuła zawiera zmieyh, - wyrażeie jest w poprawej formie, - formuła przyjmuje wartość 1. Z.Tarapata, Oblizeia rówoległe, wykład r 1 36

KLASY ZŁOŻONOŚCI OBLICZENIOWEJ PROBLEMÓW, PROBLEMY NP-ZUPEŁNE Ważą podklasą problemów w NP jest klasa problemów NP zupełyh, które mają między iymi taką własość, że jeśllii którykollwiiek z iih miiałłby wiiellomiiaowy (a DTM) allgorytm rozwiiązaiia,, to iistiiałłby wiiellomiiaowy allgorytm dlla każdego probllemu alleżąego do NP.. Defiija Problem Π NP azywamy NP zupełym jeśli dla każdego Π NP zahodzi Π Π. Z.Tarapata, Oblizeia rówoległe, wykład r 1 37

KLASY ZŁOŻONOŚCI OBLICZENIOWEJ PROBLEMÓW, PROBLEMY NP-ZUPEŁNE Twierdzeie (Cook, 1971) Problem SPEŁNIALNOŚCI jest NP zupeły. Dyspoują takim jedym problemem NP zupełym moża łatwiej wykazać NP zupełość iyh problemów. Przykłady problemów NP zupełyh : klika k-elemetowa, ykl (droga) Hamiltoa, zadaie komiwojażera. Zayh jest około kilku tysięy problemów NP zupełyh. Z.Tarapata, Oblizeia rówoległe, wykład r 1 38

DOWODZENIE NP-ZUPEŁNOŚCI PROBLEMÓW Główą tehiką dowodzeia NP-zupełośi problemów jest tehika ograizaia. W elu wykazaia, że rozpatryway problem Π 1 NP jest NP-zupeły ależy zgodie z tą tehiką udowodić, że zawiera o w sobie zay NP-zupeły problem jako przypadek szzególy problemu 1. Przykład (ajdłuższa droga w grafie) G V, E i lizba aturala k V. Day jest graf Problem 1 : zy graf G zawiera drogę prostą (każdy wierzhołek tylko raz może wystąpić) zawierająą ie miej iż k gałęzi. Przyjmują k V 1 otrzymujemy jako przypadek szzególy problem w postai drogi Hamiltoa, który jest NP-zupeły. Zauważmy poadto, że Π 1 NP gdyż sprawdzalym wielomiaowo potwierdzeiem może być kod takiej drogi. Zahodzi rówież Π Π1o uzyskujemy ograizają problem 1 do tyh z D Π dla któryh k V 1. 1 Z.Tarapata, Oblizeia rówoległe, wykład r 1 39

DOWODZENIE NP-ZUPEŁNOŚCI PROBLEMÓW,.d. Przykład (kostrukja iezawodej siei) Dae są dwie symetryze maierze d - maierz odległośi między wierzhołkami, d ij x r ij r - maierz wielokrotośi połązeń między x wierzhołkami. Problem 1 : zy istieje sieć zawierająa -wierzhołków, w której suma odległośi jest ie większa od L, taka że między i-tym oraz j-tym wierzhołkiem istieje ie miej iż r ij rozłązyh wierzhołkowo dróg. Przyjmują L, d 1, r dla wszystkih r j, jedyym grafem z ij ij wierzhołkami, w którym między dwoma dowolymi wierzhołkami istieją dwie ie mająe wspólyh wierzhołków drogi, jest ykl z wierzhołkami. Zatem szzególy przypadek problemu 1 jest problemem sprowadzająym się do pytaia o istieie yklu Hamiltoa w siei -wierzhołkowej z d 1, r. Problem jest NP-zupeły. Poadto ij Π Π 1 NP oraz Π 1. ij Z.Tarapata, Oblizeia rówoległe, wykład r 1 40

DOWODZENIE NP-ZUPEŁNOŚCI PROBLEMÓW,.d. Wśród problemów NP-zupełyh możemy zaobserwować takie, któryh szzególe przypadki stają się problemami łatwymi i takie, które pozostają trude rówież dla szzególyh przypadków. 1 0. Przypadki łatwe Przykład Maksymala klika w grafie plaarym może mieć ie więej iż 4 wierzhołki. W takim szzególym grafie moża podać algorytm wyzazaia kliki maksymalej o złożoośi 4 O V zyli plaara klika ależy do P. Do klasy P ależy rówież zadaie tzw. -SPEŁNIALNOŚCI tz. zadaie, w którym każdy zyik zawiera tylko literały x i x i lub. WNIOSEK: problemów ie ależy formułować zbyt ogólie, gdyż wtedy jest szasa, że zadaie może mieć wielomiaowy algorytm rozwiązaia, mimo że jego uogólieie ależy do klasy NP- zupełyh. Z.Tarapata, Oblizeia rówoległe, wykład r 1 41

OGÓLNY SCHEMAT ROZWIĄZYWANIA PROBLEMÓW OPTYMALIZACYJNYCH Problem optymalizayjy X wersja deyzyja X d Zbuduj efektywy algorytm dla X X d P? X d NPC? Zbuduj dla X algorytm pseudowielomiaowy X d PseudoP? X d NPC!? Wielomiaowe algorytmy: przybliżoe shematy aproksymayje Tak Zadowalają as przybliżeia? Nie Brak Małe dae: szukaie wyzerpująe (brah & boud) Heurystyki: tabu searh, algorytmy geetyze,... Określ satysfakjoująą restrykję zagadieia X Z.Tarapata, Oblizeia rówoległe, wykład r 1 4

ALGORYTM APROKSYMACYJNY ALGORYTMY APROKSYMACYJNE Z.Tarapata, Oblizeia rówoległe, wykład r 1 43

POKRYCIE WIERZCHOŁKOWE GRAFU, KOLOROWANIE - ALGORYTM APROKSYMACYJNY Problem pokryia wierzhołkowego (NODE COVER) (wierzhołki z NODE COVER tworzą bazę miimalą grafu G) : W grafie G=(V, E) zaleźć taki ajmiejszy (w sesie lizośi) podzbiór CV, że każda krawędź ee jest iydeta z wierzhołkiem z C. Twierdzeie Problem NODE COVER jest NP-zupeły. Wiosek Poieważ wyzazeie wszystkih maksymalyh zbiorów wewętrzie stabilyh grafu ( odpowiadająyh bazom miimalym) jest główym problemem rozwiązywaym przez algorytm kolorowaia grafów (optymaly ze względu a dokładość), wię problem kolorowaia grafu jest NP-zupeły. Z.Tarapata, Oblizeia rówoległe, wykład r 1 44

POKRYCIE WIERZCHOŁKOWE GRAFU algorytm -aproksymayjy Algorytm ANC (approximate ode over): Podstaw C=; WHILE G zawiera przyajmiej jedą krawędź DO wybierz z G dowolą krawędź (u,v); dodaj u i v do C; usuń u i v z G; END WHILE Twierdzeie Algorytm ANC jest -aproksymayjy. Dowód Zauważmy, że C zawiera 0.5 C krawędzi z grafu G, z któryh żade dwie ie mają wspólego wierzhołka (skojarzeie w G). Dowole pokryie wierzhołkowe musi zawierać przyajmiej po jedym wierzhołku z każdej z tyh krawędzi (w p.p. jakaś krawędź ie byłaby pokryta). Z tego wyika, że : OPT(G)>= 0.5 C => C <= * OPT(G),OPT(G) pokryie optymale. Z.Tarapata, Oblizeia rówoległe, wykład r 1 45

SZEREGOWANIE ZADAŃ NA RÓWNOLEGŁYCH PROCESORACH Proesory idetyze, zadaia iezależe Zadaia iepodziele P C max. Problem jest NP-trudy już a dwóh maszyah (P C max ). Jeżeli uwzględimy tylko lizby maszy 1,,3,, to istieje 4536 problemów szeregowaia zadań, z któryh: Dowód. Problem podziału (PP): day jest iąg a 1,...a lizb aturalyh o S= i=1,..., a i parzystej. Czy istieje jego podiąg o sumie S/? Redukja 416 PP wielomiaowe, P C max : bierzemy zadań o p j =a j (j=1,...,), dwie maszyy, pytamy o istieie uszeregowaia z C max S/. 3817 NP trude, 303 otwarte. M 1 M p i...... S/ p j zas wykoaia j-tego zadaia P proesory idetyze C max długość harmoogramu Z.Tarapata, Oblizeia rówoległe, wykład r 1 46

SZEREGOWANIE ZADAŃ NA RÓWNOLEGŁYCH PROCESORACH alg. aproks. Proesory idetyze, zadaia iezależe Zadaia iepodziele P C max. Wielomiaowe algorytmy przybliżoe. Szeregowaie listowe (List Shedulig LS): Z ustaloego iągu zadań wybieraj pierwsze wole (według listy ), przypisują je zawsze do zwaliająego się proesora. Przykład. m=3, =5, p 1,...,p 5 =,,1,1,3. M 1 Z 1 Z 5 M 1 Z 5 M Z M Z 1 Z 3 M 3 Z 3 Z 4 M 3 Z Z 4 5 Uszeregowaie listowe Uszeregowaie optymale Dokładość. LS jest przybliżoe: C max (LS)( m 1 )C max *. Z.Tarapata, Oblizeia rówoległe, wykład r 1 47 3

Dziękuję za uwagę Z.Tarapata, Oblizeia rówoległe, wykład r 1 48