Vous êtes sur la page 1sur 16

Metody Numeryczne 1 Analiza Algorytmw

Tomasz Kapela
Instytut Informatyki, Uniwersytet Jagiellonski, Krakw

Wykad 2, 2009

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

1 / 15

Zadanie

Denicja.
Rozwa amy odwzorowanie z : D Rm , gdzie D Rn Zadanie polega na obliczeniu warto ci (x) dla x D. s

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

2 / 15

Uwarunkowanie zadania
Oznaczenia x - dane wej ciowe s x - przybli ona warto c x z s x = x x - bad danych wej ciowych s
x

x x

bad wzgledny danych wej ciowych s

Bad wej cia powoduje, ze zamiast s y = (x) otrzymujemy y = (x ) Chcemy zbada jaki wpyw na warto c y ma bad c s
x

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

3 / 15

Uwarunkowanie zadania
Denicja.
Zadanie obliczenia warto ci y = (x) jest dobrze uwarunkowane s (numerycznie) je eli niewielkie wzgledne zaburzenia danych z wej ciowych powoduja niewielkie wzgledne zmiany wyniku. s Gdy zmiany wyniku sa du e mwimy o zadaniu zle uwarunkowanym. z Zakadajac, ze C 1 mo emy otrzyma oszacowania na bad wyniku z c y = (y1 , y2 , . . . , ym ) y = D(x)x D(x) jest macierza Jacobiego odwzorowania
n yi

=
j=1

i (x) xj xj i (x)
MN1

xj

Tomasz Kapela (II UJ)

Wykad 2, 2009

4 / 15

Uwarunkowanie zadania

Denicja. Wspczynniki uwarunkowania


j Liczby kij = i (x) i (x) gdzie i = 1, ..., m, j = 1, . . . , n nazywamy xj wspczynnikami uwarunkowania.

Liczba kij okre la w jaki wpyw na bad wyniku yi ma bad xj . s Je eli warto c bezwzgledna ktregokolwiek wspczynnika z s uwarunkowania jest du a to zadanie jest zle uwarunkowane. z

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

5 / 15

Przykady

y = (a, b) = a2 b2 , zle uwarunkowane gdy a2 b2 . Wyznaczanie zer wielomianu: zle uwarunkowane, przykad wielomian Wilkinsona, mae zaburzenia wspczynnikw powoduja du e zmiany miejsc zerowych. z Podstawowe operacje y x xy = xy x xy y xy = x + y x = x y
y

1 2 x

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

6 / 15

Denicja. Wska niki uwarunkowania z


Liczbe c nazywamy wska nikiem uwarunkowania zadania z (wzgledem norm Rn , Rm ) je eli (dla (x) = 0, x = 0) z (x (x) (x) Rm
Rm

x x Rn x Rn

Przykad. Uwarunkowanie zadania rozwiazania ukadu rwnan liniowych Ay = b o ustalonej macierzy A Rnn , detA = 0. A1 b A1 b y = A1 y y y Wska nik uwarunkowania c = A1 z A . A b b

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

7 / 15

Z
adanie numeryczne polega na wyznaczeniu rozwiazania ukadu rwnan liniowych 2x + 6y 2x + 6.000000001y = 8 = 8.000000001 = x y = 1 = 1

2x + 6y 2x + 5.999999999y
1 0.5 0 -0.5 -1 -1.5 -2 0 2 4 6 8

= 8 = 8.000000002

x y

= 10 = 2

1 0 -1 -2 10 0 2 4 6 8 10

Uwaga: Kapela (II UJ) zszych wykresach sa inne wspczynniki w 2, 2009 na powy Tomasz MN1 Wykad

8 / 15

Algorytm
Zadanie: Wyznaczenie warto ci : D Rm , gdzie D Rn w punkcie x Rn . s Kolejne etapy obliczen skadaja sie z : i : Rki Rki+1 - operacji elementarnej dla etapu i, xi - zbiru argumentw dla etapu i: dane poczatkowe + wyniki po rednie, s yi - zbiru wynikw etapu i: wyniki obliczen + te argumenty etapu i, ktre beda wykorzystywane w dalszych obliczeniach,

Denicja.
Ciag A = (0 , 1 , ..., n ) nazywamy algorytmem i deniujemy A(x) = k 1 0 (x). Algorytm A jest algorytmem obliczania warto ci (x) je eli s z (x) = A(x)
Tomasz Kapela (II UJ) MN1 Wykad 2, 2009 9 / 15

Algorytm
Denicja.
Algorytm A nale y do klasy zadan (, D1 ) je eli jest algorymem z z obliczania (x) dla wszystkich x D1 D. A (, D1 ) x D1 : A(x) = (x)

Denicja. Realizacja numeryczna algorytmu


Przez (A(x)) oznaczamy realizacje numeryczna algorytmu A dla argumentu x. W realizacji takiej:
1 2

zastepujemy liczby ich reprezentacjami zmniennopozycyjnymi, wykonujemy wszystkie operacje w arytmetyce

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

10 / 15

Algorytm

Realizacja numeryczna algorytmu mo e powodowa powstawanie z c bedw zaokraglen w ka dym kroku algorytmu. Bedy te nastepnie sa z propagowane przez algorytm, ktry mo e te bedy wzmacnia lub z c niwelowa . c

Denicja. Wspczynniki wzmocnienia


z Je eli wpyw bedu zaokraglen i na ostateczny bad obliczen wynosi ri i to liczbe ri nazywamy wspczynnikiem wzmocnienia dla i .

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

11 / 15

Przykad algorytmu
Zadanie: obliczenie sumy trzech liczb : (a, b, c) = a + b + c. Kroki algorytmu:
1 2

0 (a, b, c) = (a + b, c), 1 (u, v ) = u + v , x R3 ,

Algorytm: A(x) = 1 0 (x) Realizacja numeryczna:

(A(a, b, c)) = (1 ) (0 (a, b, c)) = (((a + b)(1 + 1 )) + c)(1 + 2 ), gdzie |1 |, |2 | masz Bad wzgledny obliczenia warto ci y = (x): s A(x)y a+b y = y = a+b+c 1 + 12 Wspoczynniki wzmocnienia to 2 .
Tomasz Kapela (II UJ)

a+b a+b+c

oraz 1 odpowiednio dla 1 oraz

MN1

Wykad 2, 2009

12 / 15

Algorytm numerycznie stabilny


Zadanie: Dla funkcji : Rn D Rm chcemy obliczy warto c c s y = (x).

Denicja. Bad nieunikniony


0 y = (|D||x| + |y |)masz

Denicja. Bad nieszkodliwy


Bad zaokraglen i nazywamy nieszkodliwym je eli jego wpyw na z cakowity bad obliczen jest co najwy ej na poziomie 0 y . z

Denicja. Algorytm numerycznie stabilny


Algorytm jest numerycznie stabilny je eli wszystkie jego bedy z sa nieszkodliwe. zaokraglen

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

13 / 15

Algorytm numerycznie u yteczny z


Denicja.
Mwimy, ze w zbiorze X algorytm A1 jest numerycznie u yteczniejszy z od algorytmu A2 (oba wyznaczaja ta sama warto c (x)), je eli dla s z ka dych danych wej ciowych x X cakowity wpyw bedw z s zaokraglen jest mniejszy w algorytmie A1 . Przykad. A1 : y = a2 b2 A2 : y = (a b)(a + b) A2 jest bardziej u yteczny od A1 gdy z 1 |a| |b| 3|a| 3

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

14 / 15

Algorytm numerycznie poprawny


Dla funkcji : Rn D Rm chcemy obliczy warto c y = (x). c s Zakadamy, ze danej precyzji arytmetyki t (liczba bitw mantysy) oraz przyjetej normy istnieja stae x oraz y takie, ze x D : x (x)
n

x x

y (D) : y (y )

y y

Denicja. Algorytm numerycznie poprawny


Algorytm A jest numerycznie poprawny w klasie zadan (, D) je li s Kx , Ky x Dx0 D : x x0
n

Kx x x
m

n, m

(x) (A(x))

Ky y (x)

z Algorytm jest numerycznie poprawny je eli obliczony wynik jest nieco zaburzonym rozwiazaniem dokladnym dla nieco zaburzonych danych wej ciowych. s
Tomasz Kapela (II UJ) MN1 Wykad 2, 2009 15 / 15

J ANINA I M ICHA J ANKOWSCY, Przeglad metod i algorytmw numerycznych, Cz sc I, Warszawa, WNT 1981. e J.H. W ILKINSON, Bedy obliczen w procesach algebraicznych, Warszawa, PWN 1967.

Tomasz Kapela (II UJ)

MN1

Wykad 2, 2009

15 / 15