Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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.

Podobne prezentacje


Prezentacja na temat: "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."— Zapis prezentacji:

1 Oznaczenia:

2 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 w najgorszym przypadku. Gwarancja, że algorytm nigdy nie będzie działał dłużej

3 Warto pamiętać! Może się zdarzyć, że algorytm o pesymistycznej złożoności czasowej rzędu nlgn będzie dla większości danych wejściowych działał wolniej niż algorytm o pesymistycznym czasie działania rzędu n 2. Istnieją algorytmy o pesymistycznej złożoności czasowej rzędu wykładniczego, które często działają szybciej niż algorytm o złożoności wielomianowej, a nawet liniowej (np. tzw. metoda simplex programowania liniowego).

4 Miara wrażliwości pesymistycznej algorytmu bada, na ile wielkość T max (n) odzwierciedla rzeczywisty czas działania algorytmu.

5 Zachowanie algorytmu dla losowych danych wejściowych określa średnia (lub oczekiwana) złożoność. Przypomnienie!

6 Podsumowanie: Miara wrażliwości pesymistycznej i miara wrażliwości oczekiwanej informują, jak bardzo zachowanie algorytmu dla rzeczywistych danych wejściowych może odbiegać od zachowania opisanego za pomocą pesymistycznej i oczekiwanej złożoności czasowej. Im większe są te wartości, tym algorytm jest bardziej wrażliwy na dane wejściowe.

7 Przykład: Rozważmy zbiór danych ZDW n jako n -wyrazowych ciągów uporządkowanych liczb naturalnych. Rozważmy dalej typowy algorytm w rodzaju dziel i zwyciężaj sprawdzenia, czy liczba naturalna x jest elementem ciągu zdw ZDW n. Rozwiązanie: Przyjmijmy, że ilość n elementów ciągu {a 1,a 2,…a n } jest potęgą dwójki, czyli n=2 k, gdzie k jest pewną liczba naturalną. Sprawdzamy, czy x==a n/2. Jeśli tak, to algorytm kończy działanie, jeśli nie, to po sprawdzeniu, że x

8 Otrzymujemy: T max (n)=T max (n/2)+2, gdzie 2 stanowią dwa dodatkowe porównania na każdym etapie. Zatem dla Ponieważ k=log 2 n, zatem T max (n)=2*(log 2 n) Dostajemy po rozwinięciu postać funkcji pesymistycznej złożoności czasowej: T max (n)=T max (n/2)+2=T max (2 k-1 )+2=T max (2 k-2 )+2+2=…= =T max (2 k-(k-1) )+(k-1)*2=T max (2)+(k-1)*2=2+(k-1)*2=2*k.

9 Jest to zatem kres górny zbioru liczb, które powstają jako różnice ilości operacji dominujących. Zatem od liczby największej z możliwych należy odjąć najmniejszą z możliwych, żeby otrzymać taki kres górny. Ponieważ najmniejszą ilością porównań dla dowolnego n jest jedno porównanie, a największa ilość wyrażą się obliczoną właśnie T max (n)=2*(log 2 n), to = =2*(log 2 n)-1 Policzmy teraz pesymistyczną wrażliwość tego algorytmu. Przypomnijmy, że Pesymistyczna wrażliwość złożoności czasowej jest zatem duża i możemy się spodziewać dużej zmienności złożoności obliczeniowej.

10 Policzmy teraz typową wartość złożoności obliczeniowej, czyli dla losowo wybranych n liczb. Przypomnijmy: Określmy kolejno elementy tej definicji: n ={zdw ZDW n } – zbiór zdarzeń elementarnych, X n – zmienna losowa, której wartością jest l(zdw)- liczba operacji dominujących na n, p nk –rozkład zmiennej losowej X n, czyli prawdopodobieństwo, że dla danych wejściowych rozmiaru n algorytm wykona k operacji dominujących, tzn. p nk =p{zdw n : l(zdw)=k }, przy k całkowitym, k [1, 2*(log 2 n) ].

11 Ponieważ nasze prawdopodobieństwo p nk nie zależy od k, więc p nk =1/(2*log 2 n) dla każdego całkowitego k [1, 2*(log 2 n)]. Stąd Zauważmy, że T śr (n) jest o ½ większe od połowy T max (n).

12 Obliczmy na koniec miarę wrażliwości oczekiwanej algorytmu. W naszym przypadku sumujemy po całkowitych k [1, 2*(log 2 n)]. Stąd otrzymujemy wyniki:

13 Otrzymane wyniki są może mało czytelne, ale można je przybliżać, wykorzystując oszacowania asymptotyczne. Szczegółowe rachunki na tablicy Takie oszacowania zostaną podane później


Pobierz ppt "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."

Podobne prezentacje


Reklamy Google