9752256903

9752256903



Niech liczby wi,, u>2k+i będą zdefiniowane w następujący sposób:

= (13 “i*') • (13 w)-

i=0    i=0

Łatwo sprawdzić, źe wt = Y?j=ocjV ■ Otrzymaliśmy więc układ 2k + 1 równań z 2/c + 1 niewiadomymi cq, c\, ..., c2k- Fakt ten możemy zapisać jako

U ■ [co,Ci,...)C2fc-l,C2*:]T = [wi,W2,...,W2k,W2k+l]T,

gdzie elementy macierzy U = Uij są równe Uij = P (dla i = 1,..., 2/c+l oraz j = 0,..., 2/c). Ponieważ U jest macierzą nieosobliwą (jest macierzą Vandermonde’a), istnieje rozwiązanie powyższego układu. Jeśli w\,... ,w2k+i potraktujemy jako wartości symboliczne, to rozwiązując ten układ wyrazimy Cj jako kombinacje liniowe tych wartości. To stanowi podstawę dla następującego algorytmu:

1.    Oblicz rekurencyjnie wartości w\,..., w2k+i-

2.    Oblicz wartości co,..., c2k.

3.    return £20Ci2in/fc.

Fakt 3 Powyższy algorytm działa w czasie 0(nlogfc(2fc+1)).

Pomijamy formalny dowód tego faktu. Wynika on z tego, źe w kroku 1 wywołujemy 2k + 1 razy rekurencyjnie funkcję dla danych o rozmiarze n/k oraz z tego, źe kroki 2 i 3 wykonują się w czasie liniowym.

Jakkolwiek zwiększając k możemy z wykładnikiem nad n dowolnie blisko przybliżyć się do 1, to jednak zauważmy, źe otrzymane algorytmy mają znaczenie czysto teoretyczne. Stałe występujące w kombinacjach obliczanych w punkcie 2 juź dla niewielkich wartości są bardzo duże i sprawiają, źe algorytm działa szybciej od klasycznego mnożenia pisemnego dopiero dla danych o astronomicznie wielkich rozmiarach.

10.3 Równoczesne znajdowanie minimum i maksimum w zbiorze.

Problem:    Minmax

Dane:    zbiór S = {a\,a2,..., an} 1

Wynik: min{ai \ i = 1,..., n}    max{ai \ i = 1,..., n}

Komentarz: Ograniczamy się do klasy algorytmów, które danych wejściowych używają jedynie w operacjach porównania. Interesują nas dwa zagadnienia:

•    znalezienie algorytmu z tej klasy, który rozwiązuje problem Minmax, używając jak najmniejszej liczby porównań.

•    dokładne wyznaczenie dolnej granicy na liczbę porównań.

1Termin ”zbiór” jest użyty tu w dość swobodnym znaczeniu. W zasadzie S jest multizbiorem - elementy mogą się w nim powtarzać. O ile jednak nie będzie to "xródłem dwuznaczności, w przyszłości termin "zbiór” będziemy stosować także w odniesieniu do multizbiorów.

19



Wyszukiwarka

Podobne podstrony:
dziedziny atrybutu a. Jest zdefiniowana w następujący sposób: Split(Sa) = Zl S’ gdzie Sj jest
img099 99 Rozdział 8. Sieci pamięci skojarzeniowej Niech ciąg ten zostanie zapisany w następujący sp
img099 99 Rozdział 8. Sieci pamięci skojarzeniowej Niech ciąg ten zostanie zapisany w następujący sp
DSC00132 (11) Przykład akonemlosny 2 Niech iiinl.il ceny będą etale. Jeśli zdefiniujemy U(Pi,ib,m)i«
CCF20090321038 my z kolei zdefiniować takie a, którego wskaźnikiem byłoby bi, i tak dalej. Ale licz
top10 22 I Podstawowe pojęcia V « {tak, nie} lub {prawda, fałsz} w następujący sposób. Niech X będzi
Zadanie 9. (Twierdzenie o indeksie) Niech L C A*. Relację ~£,C A* x A* definiujemy w następujący spo
Niech języki Ljw i L/w będą zdefiniowane jak w Zadaniach 31 - 33. Zadanie 64. Załóżmy, że L jest CFL
pto11 4. Problem maksymalizacji liczby zapamiętanych programów (MLZP) zdefiniowany jest następująco:
KIF37 213. Niech A będzie dowolnym zbiorem dwu- lub wi^. •elementowym: odpowiedz na następując
Sieci CP str099 99 Rozdział 8. Sieci pamięci skojarzeniowej Niech ciąg ten zostanie zapisany w nastę

więcej podobnych podstron