techniki optymalizacji -...

262
1 Techniki optymalizacji Cz. 1

Upload: phungtuyen

Post on 27-Feb-2019

228 views

Category:

Documents


2 download

TRANSCRIPT

1

Techniki optymalizacji

Cz. 1

2

Przedstawiane metody/rozwiązania

• Rodzaje przedstawianych metod: klasyczne dla dziedziny optymalizacji ciągłej– dawno zdefiniowane

– dokładnie przebadane

• Związki z metodami metaheurystycznymi: metody klasyczne mają zastosowania podrzędne– heurystyczne lub dokładne (w zaleŜności od postaci wyników)

metody lokalne

– potencjalne wykorzystanie: generowanie kolejnych rozwiązań(jako lokalnych ekstremów) w metodach metaheurystycznych

3

Przedstawiane metody/rozwiązania

• Postać problemu– minimalizacja funkcji

– przy (ewentualnie istniejących) ograniczeniach• ograniczenia na zakres zmienności• ograniczenia robocze (właściwe)

• Postaci funkcji celu i ograniczeń– (zawsze) dane analitycznie– (zazwyczaj) dodatkowo uwarunkowane

• liniowe, kwadratowe, ciągłe, gładkie, …

• Generowane rozwiązania– dokładne

– przybliŜone

4

Przedstawiane metody/rozwiązania

• Więcej (na te tematy) m.in. w (klasycznych) ksiąŜkach– Z. Galas i I. Nykowski (red.):

• „Zbiór zadań. Część I. Programowanie liniowe”, PWN, W-wa, 1986• „Zbiór zadań. Część II. Programowanie nieliniowe” , PWN, W-wa, 1988

– S.I. Gass: „Programowanie liniowe”, PWN, W-wa, 1976– R.S. Garfinkel, G.L. Nemhauser: „Programowanie całkowitoliczbowe”– W. Grabowski: „Programowanie matematyczne”, PWE, W-wa, 1980.– I. Nykowski: „Programowanie liniowe”, PWE, W-wa, 1980.– R. Wit: „Metody programowania nieliniowego”, WNT, W-wa, 1986.– W.I. Zangwill: „Programowanie nieliniowe”– T. Trzaskalik: „Wprowadzenie do badań operacyjnych z komputerem”, PWE,

W-wa, 2003– E. Ignasiak (red.): „Badania operacyjne”, PWE, W-wa, 2001,– Z. Jędrzejczak, J. Skrzypek, K. Kukuła, A. Walkost: „Badania operacyjne w

przykładach i zadaniach”, PWN, W-wa, 2002– W. Findeisen, J. Szymanowski, A. Wierzbicki: „Teoria i metody obliczeniowe

optymalizacji”, PWN, 1977,

5

Przedstawiane metody/rozwiązania

• A takŜe w nowszych– Z. Jędrzejczyk, K. Kukuła, J. Skrzypek, A. Walkosz: „Badania operacyjne

w przykładach i zadaniach, PWN, 2011– W. Findeisen, J. Szymanowski, A. Wierzbicki: „Teoria i metody obliczeniowe

optymalizacji”, PWN, 2009,– J. Kusiak, A. Danielewska-Tułecka, P. Oprocha: „Optymalizacja. Wybrane

metody z przykładami zastosowań”, PWN, 2009– A. Ostanin: „Metody optymalizacji z MATLAB. Ćwiczenia laboratoryjne”,

Nakom, 2009

6

Ogólnie stosowane oznaczenia

• Oznaczenia danych– Zmienne

• a, b, c, … – skalary (liczby rzeczywiste/zespolone)

• a, b, c, … – wektory (liczb rzeczywistych/zespolonych), przy czym– przez „wektor” rozumie się zawsze „wektor kolumnowy”– oznaczenie wektorów wierszowych: patrz niŜej– interpretacja wektorów („strzałki” i „punkty”)

• A, B, C, … – macierze (liczb rzeczywistych/zespolonych)

– Stałe• 0 – wektor zer

• 1 – wektor jedynek• O – macierz zerowa

• I – macierz jednostkowa

7

Ogólnie stosowane oznaczenia

• Oznaczenia operacji– Transponowanie macierzy A: AT

• z definicji AT = [aji] dla AT = [aij]

• transponowanie jest wykorzystywane do wyraŜania wektorów wierszowych– (a)T, (b)T, (c)T, … – wektory wierszowe

– Moduł (wartość bezwzględna) skalara x: |x|• z definicji: |x| = sqrt(a2+b2) dla x = a+bi (czyli a = Re(x), b = Im(x))• moduł wyraŜa odległość (euklidesową) skalara x od skalara 0+0i• w szczególności dla skalarów rzeczywistych |x| = sqrt(x2)

– Norma wektora x: ||x||• z definicji ||x|| = sqrt(xTx)

• norma wyraŜa (euklidesową) długość wektora• norma jest wykorzystywana do zapisywania wektorów unormowanych

– a/||a||, b/||b||, c/||c||, … – wektory unormowane

8

Ogólnie stosowane oznaczenia

• Oznaczenia funkcji– Funkcje jednowymiarowe (skalarne od argumentu skalarnego)

• f(x), g(x), h(x), … – funkcje (rzeczywiste/zespolone)

– Funkcje wielowymiarowe (skalarne od argumentu wektorowego)• f(x), g(x), h(x), … – funkcje (rzeczywiste/zespolone)

9

Wymagane (i wykorzystywane) pojęcia

• Podstawowe operacje na wektorach i macierzach– wszędzie ☺

• RóŜniczkowanie funkcji– metody „newtonowskie”

• Szereg Taylora – metody „newtonowskie”

• Gradient i hesjan – metoda Newtona-Raphsona i jej pochodne

• Macierz nieujemnie/niedodatnio określona– metoda Levenberga-Marquarda, metoda MDS

• Wartości własne macierzy– metoda Levenberga-Marquarda, metoda MDS

• …

10

Wizualizacja funkcji

• Problem wizualizacji funkcji – Funkcje/argumenty rzeczywiste

(zbiór liczb rzeczywistych jest obrazowany jako oś liczbowa)• argument wektorowy o rozmiarze 1×1 (lub argument skalarny): dwa wymiary • argument wektorowy o rozmiarze 2×1: trzy wymiary

• argument wektorowy o rozmiarze 3×1: cztery wymiary • …

11

Wizualizacja funkcji

• Wizualizacja funkcji rzeczywistych– argument wektorowy o rozmiarze 1×1 (lub argument skalarny): dwa wymiary – wykres dwuwymiarowy

12

Wizualizacja funkcji

• Wizualizacja funkcji rzeczywistych– argument wektorowy o rozmiarze 2×1: trzy wymiary – wykres trójwymiarowy

13

Wizualizacja funkcji

• Wizualizacja funkcji rzeczywistych– argument wektorowy o rozmiarze 2×1: trzy wymiary – wykres konturowy (bez tła)

-2 0 2-3

-2

-1

0

1

2

3

14

Wizualizacja funkcji

• Wizualizacja funkcji rzeczywistych– argument wektorowy o rozmiarze 2×1: trzy wymiary – wykres konturowy (z tłem)

-2 0 2-3

-2

-1

0

1

2

3

15

Wizualizacja funkcji

• Wizualizacja funkcji rzeczywistych– argument wektorowy o rozmiarze 2×1: trzy wymiary – obraz dwuwymiarowy (ostatnio popularna nazwa ang.: „heat map”)

16

Wizualizacja funkcji

• Problem wizualizacji funkcji – Funkcje/argumenty zespolone

(zbiór liczb zespolonych jest obrazowany jako płaszczyzna liczbowa)• argument wektorowy o rozmiarze 1×1 (lub argument skalarny): cztery wymiary • argument wektorowy o rozmiarze 2×1 (czyli skalarny): sześć wymiarów

• argument wektorowy o rozmiarze 3×1 (czyli skalarny): osiem wymiarów• …

17

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

– np.

Część rzeczywista Część urojonawartości zespolonej wartości zespolonej

18

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

– albo np.

Moduł Fazawartości zespolonej wartości zespolonej

– …

19

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

– liczba zespolona x• czyli x = [ xre, xim ]• dwa wymiary – wizualizacja na płaszczyźnie

– wykorzystujemy definicje• moduł: m = abs(x) = sqrt( (xre)2 + (xim)2 )• faza: f = angle(x) = arctan( xim / xre )

20

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

– funkcja zespolona dla argumentu zespolonego: y = f(x)• zarówno x jak i y są liczbami zespolonymi

– czyli x = [ xre, xim ] oraz y = [ yre, yim ]– moŜe być traktowana jak dwie, dwuargumentowe funkcje rzeczywiste:

» yre = f1(xre,xim), yim = f2(xre,xim)

– jeŜeli wynik chcemy przedstawiać w postaci pary moduł-faza, to po zastosowaniu f(x) trzeba dodatkowo obliczyć moduł i fazę:

» yre = f1(xre,xim), yim = f2(xre,xim)» m = abs(yre,yim), f = angle(yre,yim)łącznie:» m = abs(f1(xre,xim), f2(xre,xim)), f = angle(f1(xre,xim), f2(xre,xim))

– w obu przypadkach wymagane są cztery wymiary (a więc wizualizacja wymaga dwóch płaszczyzn)

21

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

f(x) = x

Moduł? Faza?

22

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

Moduł f(x) = x Faza f(x) = x

-3 -2 -1 0 1 2 3

23

Wizualizacja funkcji

24

Wizualizacja funkcji

25

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

f(x) = x2

Moduł? Faza?

26

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

Moduł f(x) = x2 Faza f(x) = x2

-3 -2 -1 0 1 2 3

27

Wizualizacja funkcji

28

Wizualizacja funkcji

29

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

f(x) = x3

Moduł? Faza?

30

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

Moduł f(x) = x3 Faza f(x) = x3

-3 -2 -1 0 1 2 3

31

Wizualizacja funkcji

32

Wizualizacja funkcji

33

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

f(x) = x1/2+log(x)/2.5(log: podstawa e, tylko wartości główne)

Moduł? Faza?

34

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

Moduł f(x) = x1/2+log(x)/2.5 Faza f(x) = x1/2+log(x)/2.5

-3 -2 -1 0 1 2 3

35

Wizualizacja funkcji

36

Wizualizacja funkcji

37

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

f(x) = x3/2+log(x3)/2.5(log: podstawa e, tylko wartości główne; sqrt: tylko wartości główne)

Moduł? Faza?

38

Wizualizacja funkcji

• Wizualizacja funkcji zespolonych– argument wektorowy o rozmiarze 1×1 (lub arg. skalarny): cztery wymiary – para obrazów dwuwymiarowych

Moduł f(x) = x3/2+log(x3)/2.5 Faza f(x) = x3/2+log(x3)/2.5

-3 -2 -1 0 1 2 31 2 3 4 5 6 7 8 9 10

39

Wizualizacja funkcji

40

Wizualizacja funkcji

41

Optymalizacja w zastosowaniach

• Optymalizacja ma zastosowania w takich dziedzinach jak– fizyka

– technika

– chemia– inŜynieria

– informatyka

– biologia– ekonomia

– ...

42

Optymalizacja w Ŝyciu…

• Problem majątku – dwaj bracia odziedziczyli majątek po ojcu, który przykazał im podzielić

się nim sprawiedliwie, nie podał jednak konkretnie, które dobra mająprzypaść w spadku któremu z braci

– bracia natychmiast pokłócili się o majątek, poniewaŜ kaŜdy z nich proponował inny podział pozostałych po ojcu dóbr na dwie części: kaŜdy dzielił rzeczy w taki sposób, aby wartości obu części nie były równe, oczywiście przydzielając sobie część o większej wartości, a swemu bratu część o mniejszej wartości

43

Optymalizacja w Ŝyciu…

• MoŜliwe rozwiązanie konfliktu – jeden z braci dokonuje podziału dziedziczonych rzeczy na dwie części

– drugi podejmuje decyzję to tym, która część przypadnie komu w udziale

44

Optymalizacja w Ŝyciu…

• Interesujące cechy zaproponowanego rozwiązania– jeŜeli dokonujący podziału podzieli dziedziczone dobra na dwie części

o nierównej wartości, to naraŜa się na to, Ŝe (wskutek decyzji drugiego z braci) przypadnie mu w udziale część mniej wartościowa

– dokonujący podziału powinien więc dąŜyć do tego, aby róŜnica wartości obu części spadku była jak najmniejsza, w rezultacie czego bracia zostaną sprawiedliwie obdzieleni spadkiem

• w idealnym przypadku wartości obu części będą jednakowe, ale taki podział moŜe nie być moŜliwy do zrealizowania

45

Optymalizacja w Ŝyciu…

• Optymalizacyjny punkt widzenia tego problemu i jego rozwiązania– tzw. problem min-max

• osoba dokonująca podziału wie, Ŝe jeŜeli któraś z utworzonych przez niączęści majątku będzie większej wartości, to osoba wybierająca na pewno przydzieli tę część sobie (wniosek: tworzenie jakiejkolwiek części o wartości większej od innych części nie jest korzystne!)

• oznacza to, Ŝe osoba dokonująca podziału powinna minimalizować (min) wartość największej (max) z tworzonych części

lub

– tzw. problem max-min• osoba dokonująca podziału wie, Ŝe jeŜeli któraś z utworzonych przez nią

części majątku będzie mniejszej wartości, to osoba wybierająca na pewno przydzieli sobie inną część (wniosek: tworzenie części o wartości mniejszej od innych części nie jest korzystne!)

• oznacza to, Ŝe osoba dokonująca podziału powinna maksymalizować (max) wartość najmniejszej (min) z tworzonych części

46

Elementy ekstremalne w zbiorach uporządkowanych

• W zbiorze X uporządkowanym relacjami ‘≤’, ‘≥’, ‘<‘ oraz ‘>’moŜna zdefiniować

– element najmniejszy: jest nim a ∈ X spełniający

∀a≠x∈X a < x

– element największy: jest nim b ∈ X spełniający

∀b≠x∈X b > x

47

Elementy ekstremalne w zbiorach uporządkowanych

• W zbiorze X uporządkowanym relacjami ‘≤’, ‘≥’, ‘<‘ oraz ‘>’moŜna zdefiniować

– element minimalny: jest nim c ∈ X spełniający

∀x∈X c ≤ x ⇔ ¬(∃x∈X x < c)

– element maksymalny: jest nim d ∈ X spełniający

∀x∈X d ≥ x ⇔ ¬(∃x∈X x > c)

48

Elementy ekstremalne w zbiorach uporządkowanych

• Definicje elementu minimalnego/maksymalnego wykorzystuje się w przypadku problemu optymalizacji funkcji f(x)– zbiorem uporządkowanym jest przeciwdziedzina funkcji f(x)

(która dla funkcji rzeczywistej stanowi podzbiór zbioru liczb rzeczywistych)

– poszukiwany jest argument funkcji (czyli element jej dziedziny D), dla którego wartość tej funkcji jest minimalna(niekoniecznie najmniejsza), czyli x* ∈ D taki, Ŝe ∀x∈D f(x*) ≤ f(x)

– skrócony zapis powyŜszej zaleŜności: x* = argminx∈Df(x)(x* będzie dalej nazywany „rozwiązaniem (funkcji)”)

49

Pochodne funkcji w postaci wektorowo/macierzowej

• Pochodne prostych funkcji w postaci skalarnej (przypomnienie)– afinicznej (popularnie zwanej liniową)

• f(x) = ax + b• ∂f/∂x = a

– kwadratowej:• f(x) = ax2 + bx + c• ∂f/∂x = 2ax + b• ∂2f/∂x2 = 2a

50

Pochodne funkcji w postaci wektorowo/macierzowej

• Pochodne prostych funkcji w postaci skalarnej (przypomnienie)– afinicznej (popularnie zwanej liniową)

• f(x) = ax + b• ∂f/∂x = a • ∂2f/∂x2 = 0 • ∂3f/∂x3 = 0 • …

– kwadratowej:• f(x) = ax2 + bx + c• ∂f/∂x = 2ax + b• ∂2f/∂x2 = 2a• ∂3f/∂x3 = 0• ∂4f/∂x4 = 0• …

51

Pochodne funkcji w postaci wektorowo/macierzowej

• Pochodne prostych funkcji w postaci skalarnej (przypomnienie)– liniowej

• f(x) = ax• ∂f/∂x = a

– (ściśle) kwadratowej:• f(x) = ax2

• ∂f/∂x = 2ax• ∂2f/∂x2 = 2a

52

Pochodne funkcji w postaci wektorowo/macierzowej

• Pochodne prostych funkcji w postaci skalarnej (przypomnienie)– liniowej

• f(x) = ax• ∂f/∂x = a • ∂2f/∂x2 = 0 • ∂3f/∂x3 = 0 • …

– (ściśle) kwadratowej:• f(x) = ax2

• ∂f/∂x = 2ax• ∂2f/∂x2 = 2a• ∂3f/∂x3 = 0• ∂4f/∂x4 = 0• …

53

Pochodne funkcji w postaci wektorowo/macierzowej

• Pochodne prostych funkcji w postaci wektorowo/macierzowej– liniowej:

• f(x) = aTx• ∂f/∂x = a

– formy kwadratowej:• f(x) = xTAx• ∂f/∂x = (A + AT)x• ∂2f/∂x2 = A + AT

w szczególnym przypadku, gdy AT = A (czyli macierz A jest symetryczna)– ∂2f/∂x2 = A + AT = 2AT = 2A

54

Pochodne funkcji w postaci wektorowo/macierzowej

• Pochodne prostych funkcji w postaci wektorowo/macierzowej– afinicznej:

• f(x) = aTx + b• ∂f/∂x = a

– (pełnej) kwadratowej:• f(x) = xTAx + bTx + c• ∂f/∂x = (A + AT)x + b• ∂2f/∂x2 = A + AT

w szczególnym przypadku, gdy AT = A (czyli macierz A jest symetryczna)– ∂2f/∂x2 = A + AT = 2AT = 2A

55

Minimalizacja funkcji

• Niech f(x) będzie daną analitycznie funkcją rzeczywistą określonądla kaŜdego wektora x naleŜącego do jakiegoś ustalonego obszaru zainteresowań S (zawartego w lub równego dziedzinie funkcji), np.:– n-wymiarowej hiperprzestrzeni Vn

– n-wymiarowego hipersześcianu Hn wyznaczonego przez wektory [a1, …, an] oraz [b1, …, bn], gdzie a1 < b1, …, an < bn

• O funkcji f(x) zakładamy w ogólności, Ŝe w obszarze S jest– ciągła

– posiada przynajmniej dwie pierwsze pochodne (dane analitycznie)

– jej dwie pierwsze pochodne są ciągłe

• Niektóre metody zakładają takŜe, Ŝe f(x) w obszarze S jest– wypukła

56

Minimalizacja funkcji

• Przykłady funkcji– sformułowania skalarne

• f([x1,x2,x3,x4]T) = (x1)2 + (x2)2 + (x3)2 + (x4)2

• f([x1,x2,x3]T) = (x1)2 + 2(x2)2 + 3x1

• f([x1,x2]T) = ex1 + ex2

57

Minimalizacja funkcji

• Przykłady funkcji, c.d– sformułowania wektorowe/macierzowe

• f(x) = aTx/||a||/||x||, gdzie – a jest ustalonym wektorem niezerowym

(korelacja wektorów)

• f(x) = xTAx/xTx gdzie – A jest ustaloną macierzą

(współczynnik Rayleigh’a)

• f(x) = xTAx + bTx + c, gdzie – A jest ustaloną niezerową macierzą nieujemnie określoną– b jest ustalonym wektorem– c jest ustalonym skalarem

(postać macierzowej funkcji kwadratowej)

58

Metody „newtonowskie”

• Mętlik terminologiczny– istnieje wiele metod noszących (pełną lub częściową) nazwę Newtona,

z których jedne słuŜą do poszukiwania ekstremów funkcji a inne do poszukiwania miejsc zerowych funkcji

– w ramach wykładu nazewnictwo tych metod będzie następujące• poszukiwanie ekstremów funkcji – metody optymalizacyjne • poszukiwanie miejsc zerowych funkcji – metody aproksymacyjne

– uwaga:• nazywanie metod optymalizacyjnymi (w odróŜnieniu od nazywania

ich aproksymacyjnymi) jest nieco mylące, poniewaŜ takŜe metody aproksymacyjne są starają się znajdować rozwiązania optymalnie (ewentualnie w przybliŜeniu optymalnie) i posługują się nieraz bardzo podobnymi technikami

• lepszą praktyką byłoby nazywanie metod poszukujacych ekstremów funkcji metodami ekstremalizacyjnymi (lub – konkretnie, w zaleŜności od specyfiki metody – minimalizacyjnymi względnie maksymalizacyjnymi)

59

Metody „newtonowskie”

• Mętlik terminologiczny, c.d.– optymalizacyjne metody newtonowskie (m.in.)

• metoda jednowymiarowej optymalizacji Newtona (zwana takŜe metodą Newtona-Raphsona)

• metoda wielowymiarowej optymalizacji Newtona-Raphsona (zwana takŜe metodą Newtona), jest naturalnym uogólnieniem metody (jednowymiarowej optymalizacji) Newtona na wiele wymiarów

• metoda wielowymiarowej optymalizacji uogólniona Newtona(zwana takŜe metodą Cauchy’ego), bezpośrednio wykorzystuje metodę (jednowymiarowej optymalizacji) Newtona

• metoda wielowymiarowej optymalizacji Cauchyego• metoda wielowymiarowej optymalizacji Levenberga-Marquarda• …

– aproksymacyjne metody newtonowskie (m.in.)• metoda jednowymiarowej aproksymacji Newtona• …

60

Metody „newtonowskie”

• W dalszej części wykładu – metoda Newtona

• metoda aproksymacji jednowymiarowej

– metoda Newtona• metoda optymalizacji jednowymiarowej

– metoda Newtona-Raphsona• metoda optymalizacji wielowymiarowej

– modyfikacje metod Newtona-Raphsona (uogólniona metoda Newtona, metoda Cauchy’ego i metoda Levenberga-Marquarda)

• metody optymalizacji wielowymiarowej

61

Metody „newtonowskie”

• Związek pomiędzy metodą (optymalizacyjną) Newtona a metodą (optymalizacyjną) Newtona-Raphsona– metoda Newtona-Raphsona jest naturalnym uogólnieniem

metody Newtona na wiele wymiarów – nie mylić tego uogólnienia z metodą o nazwie „uogólniona metoda Newtona”!

• a więc oczywiście moŜe być stosowana w problemach jednowymiarowych

– metoda Newtona jest naturalnym uszczególnieniem metody Newtona-Raphsona na jeden wymiar

• a więc nie moŜe moŜe być stosowana w problemach wielowymiarowych

62

Dygresja

• Pytanie: w jakim sensie Newtona-Raphsona jest „naturalnym” uogólnieniem metody Newtona?

• Odpowiedź: w takim samym, w jakim zapisany macierzowo układ równań z wieloma niewiadomymi jest uogólnieniem zapisanego skalarnie jednego równania z jedną niewiadomą– zapis skalarny: ax = b– zapis macierzowy: Ax = b

63

Aproksymacja i optymalizacja: ilustracja problemów

• Przykład funkcji: f(x) = x4 – 50x2 + 300x + 2000

64

Aproksymacja i optymalizacja: ilustracja problemów

• Aproksymacja– problem istnienia rozwiązań (miejsc zerowych)

• brak miejsc zerowych• asymptotyczne zbliŜanie• miejsca zerowe poza granicami przedziału zmienności• ...

65

Aproksymacja i optymalizacja: ilustracja problemów

• Aproksymacja– problem jednoznaczności rozwiązań (miejsc zerowych)

• policzalne liczby miejsc zerowych• niepoliczalne ilości miejsc zerowych• policzalne liczby niepoliczalnych ilości miejsc zerowych• ...

66

Aproksymacja i optymalizacja: ilustracja problemów

• Optymalizacja– problem istnienia rozwiązań

• brak rozwiązań• asymptotyczne zbliŜanie• rozwiązania poza granicami przedziału zmienności• ...

67

Aproksymacja i optymalizacja: ilustracja problemów

• Optymalizacja– problem jednoznaczności rozwiązań (minimów/maksimów)

• policzalne liczby rozwiązań• niepoliczalne ilości rozwiązań• policzalne liczby niepoliczalnych ilości rozwiązań• ...

68

Aproksymacja i optymalizacja: ilustracja problemów

• Ograniczona ilość informacji w aproksymacji/optymalizacji– wartość funkcji

69

Aproksymacja i optymalizacja: ilustracja problemów

• Ograniczona ilość informacji w aproksymacji/optymalizacji– wartość funkcji i wartość jej (pierwszej) pochodnej

70

Aproksymacja i optymalizacja: ilustracja problemów

• Ograniczona ilość informacji w aproksymacji/optymalizacji– bez względu na ilość takich danych, to nie to samo,

co cały przebieg funkcji!

71

Szereg Taylora

• Dane jest wyraŜenie T(x) = ∑k=0..∞ak(x − x0)k

– jest ono zaleŜne od zmiennego argumentu x, ustalonej wartości x0oraz ustalonych wartości ak (dla k=0..∞)

– wyraŜenie to reprezentuje sumę nieskończonego ciągu o elementach ak(x − x0)k (dla k=0..∞)

• T(x) jest więc sumą szeregu

• Przyjmując, Ŝe w0 = 1 dla wszystkich w (takŜe dla w = 0), wyraŜenie T(x) moŜna przedstawić w postaci T(x) = a0 + ∑k=1..∞ak(x − x0)k

– gdy dla wszystkich k większych od pewnego ustalonego n zachodzi ak(x − x0)k = 0, wyraŜenie T(x) moŜna przedstawićw postaci T(x) = a0 + ∑k=1..nak(x − x0)k

– wyraŜenie to reprezentuje wtedy sumę skończonego ciągu o elementach ak(x − x0)k (dla k=1..n)

– T(x) jest wtedy wielomianem stopnia n od argumentu x

72

Szereg Taylora

• Dzięki podobieństwu do wielomianu, wyraŜenie T(x) moŜe być róŜniczkowane (operacja jest analogiczna do róŜniczkowania wielomianów)

• Tzn. jeŜeli:T(x) = a0 + a1(x − x0) + a2(x − x0)2 + a3(x − x0)3 + a4(x − x0)4 + …• to:T’(x) = 0 + a1 + 2a2(x − x0) + 3a3(x − x0)2 + 4a4(x − x0)3 + …T’’(x) = 0 + 0 + 2a2 + 3·2a3(x − x0) + 4·3a4(x − x0)2 + …T’’’(x) = 0 + 0 + 0 + 3·2a3 + 4·3·2a4(x − x0) +…

73

Szereg Taylora

• WyraŜenie T(x) moŜe zostać uŜyte do wyraŜania (w przybliŜony lub dokładny sposób) wartości pewnej funkcji f(x) (czyli funkcji zaleŜnej od argumentu x)– wyraŜanie to ma szanse powodzenia, gdy moŜliwe jest znalezienie

wartości x0 oraz ak (dla k=0..∞), które gwarantują f(x) = T(x) (dla wszystkich x naleŜących do dziedziny funkcji f(x))

• mówimy wtedy, Ŝe dokonano rozwinięcia wartości funkcji f(x)

– często operacji tej dokonuje się najpierw ustalając wartość x0, a potem dopiero wartości ak (dla k=0..∞)

• mówimy wtedy, Ŝe dokonano rozwinięcia wartości funkcji f(x) wokół wartości x0

– operacja ta jest bardzo łatwa dla funkcji wielokrotnie róŜniczkowalnych

74

Szereg Taylora

• Niech dana będzie wielokrotnie róŜniczkowalna funkcja f(x), której wartość ma być wyraŜona z uŜyciem T(x), a więcf(x) = a0 + a1(x − x0) + a2(x − x0)2 + a3(x − x0)3 + a4(x − x0)4 + …

75

Szereg Taylora

• Proces poszukiwania współczynników ak– współczynnik a0

• równanie f(x) = T(x) ma postaćf(x) = a0 + a1(x − x0) + a2(x − x0)2 + a3(x − x0)3 + a4(x − x0)4 + …

• niech x = x0, wtedy f(x0) = a0 + a1(x0 − x0) + a2(x0 − x0)2 + a3(x0 − x0)3 + a4(x0 − x0)4 + …f(x0) = a0 + a1·0 + a2·02 + a3·03 + a4·04 + …f(x0) = a0

• a więc a0 moŜna ustalić obliczając f(x0)

76

Szereg Taylora

• Proces poszukiwania współczynników ak– współczynnik a1

• w rezultacie jednokrotnego zróŜniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemyf’(x) = a1 + 2a2(x − x0) + 3a3(x − x0)2 + 4a4(x − x0)3 + …

• niech x = x0, wtedy f’(x0) = a1 + 2a2(x0 − x0) + 3a3(x0 − x0)2 + 4a4(x0 − x0)3 + …f’(x0) = a1 + 2a2·02 + 3a3·03 + 4a4·04 + …f’(x0) = a1

• a więc a1 moŜna ustalić obliczając f’(x0)

77

Szereg Taylora

• Proces poszukiwania współczynników ak– współczynnik a2

• w rezultacie dwukrotnego zróŜniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemyf’’(x) = 2a2 + 3·2a3(x − x0) + 4·3a4(x − x0)2 + …

• niech x = x0, wtedy f’’(x0) = 2a2 + 3·2a3(x0 − x0) + 4·3a4(x0 − x0)2 + …f’’(x0) = 2a2 + 3·2a3·0 + 4·3a4·02 + …f’’(x0) = 2a2

• a więc a2 moŜna ustalić obliczając f’’(x0)/2

78

Szereg Taylora

• Proces poszukiwania współczynników ak– współczynnik a3

• w rezultacie trzykrotnego zróŜniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemyf’’’(x) = 3·2a3 + 4·3·2a4(x − x0) + …

• niech x = x0, wtedy f’’’(x0) = 3·2a3(x0 − x0) + 4·3a4(x0 − x0)2 + …f’’’(x0) = 3·2a3·0 + 4·3a4·02 + …f’’’(x0) = 3·2a3

• a więc a3 moŜna ustalić obliczając f’’’(x0)/(2·3)

79

Szereg Taylora

• Proces poszukiwania współczynników ak– współczynnik a4

• w rezultacie czterokrotnego zróŜniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemyf’’’’(x) = 4·3·2a4 + …

• niech x = x0, wtedy f’’’’(x0) = 4·3·2a4 + …f’’’’(x0) = 4·3·2a4

• a więc a4 moŜna ustalić obliczając f’’’’(x0)/(2·3·4)

80

Szereg Taylora

• Proces poszukiwania współczynników ak– współczynnik ak (w ogólności)

• w rezultacie k-krotnego zróŜniczkowania (ze względu na x) obu stron równania f(x) = T(x) otrzymujemyf(k)(x) = k·(k−1)·…·2·ak + …

• niech x = x0, wtedy f(k)(x) = k·(k−1)·…·2·ak = k!·ak

• a więc ak moŜna ustalić obliczając f(k)(x0)/(k!)

81

Szereg Taylora

• Czyli dla wielokrotnie róŜniczkowalnej f(x) mamyf(x) = f(x0) + f’(x0)(x − x0) + f’’(x0)/2·(x − x0)2 + f’’’(x0)/3!·(x − x0)3 + …

• Wykorzystując 0! = 1! = 1 mamy:

f(x) = ∑k=0..∞f(k)(x0)/k!·(x − x0)k

– gdzie • f(0)(x) ≡ f(x)• f(1)(x) ≡ f’(x)• f(2)(x) ≡ f’’(x)• …

82

Szereg Taylora

• Dzięki temu, Ŝe k! szybko rośnie, w wielu przypadkach, dla odpowiednio duŜych k zachodzi

f(k)(x0)(x − x0)k << k!

• Oczywiście wtedy:

f(k)(x0)(x − x0)k/k! << 1 czy wręcz f(k)(x0)(x − x0)k/k! ≈ 0

• Dzięki temu moŜliwe jest „skrócenie” szeregu do kilku (np. n) początkowych elementów (czyli tych, dla których nie zachodzi f(k)(x0)(x − x0)k/k! ≈ 0)

f(x) ≈ ∑k=0..nf(k)(x0)/k!·(x − x0)k

83

Szereg Taylora

• Szereg T(x) nosi nazwę szeregu Taylora– gdy x0 = 0, szereg Taylora nazywa się szeregiem MacLaurina

• Wiele znanych funkcji posiada rozwinięcia w szereg Taylora (względnie MacLaurina)

• Szereg Taylora moŜe być zapisany w sposób pozwalający na wyróŜnienie tzw. reszty (Rn+1)f(x) = ∑k=0..∞f(k)(x0)/k!·(x − x0)k = ∑k=0..nf(k)(x0)/k!·(x − x0)k + Rn+1

84

Szereg Taylora

• Przykład: sześcioelementowe T6(x) rozwinięcie funkcji ex w szereg Taylora wokół wartości x0 = 0– funkcja i jej pochodne:

• (ex)(0) = ex

• (ex)(1) = (ex)’ = ex

• (ex)(2) = (ex)’’ = ex

• (ex)(3) = (ex)’’’ = ex

• (ex)(4) = (ex)’’’’ = ex

• (ex)(5) = (ex)’’’’’ = ex

• ...

– współczynniki ak• a0 = f(0)(x0)/(0!) = e0/1 = 1/1 = 1• a1 = f(1)(x0)/(1!) = e0/1 = 1/1 = 1• a2 = f(2)(x0)/(2!) = e0/2 = 1/2• a3 = f(3)(x0)/(3!) = e0/6 = 1/6• a4 = f(4)(x0)/(4!) = e0/24 = 1/24• a5 = f(5)(x0)/(5!) = e0/120 = 1/120• ...

85

Szereg Taylora

• Ostateczny wzór:

– rozwinięcie nieskończone

ex = T(x) = ∑k=0..∞f(k)(x0)/k!·(x − x0)k = 1 + x + x2/2! + x3/3! + x4/4! + x5/5! + ...

– rozwinięcie skończone, sześcioelementowe:

ex ≈ T6(x) = ∑k=0..5f(k)(x0)/k!·(x − x0)k = 1 + x + x2/2! + x3/3! + x4/4! + x5/5!

86

-1 -0.5 0 0.5 10

0.5

1

1.5

2

2.5

3

87

Szereg Taylora

• Kolory wykresów: – f(x) – w(x) = 1– w(x) = 1 + x– w(x) = 1 + x + x2/2!– w(x) = 1 + x + x2/2! + x3/3!– w(x) = 1 + x + x2/2! + x3/3! + x4/4!– w(x) = 1 + x + x2/2! + x3/3! + x4/4! + x5/5!

88

Szereg Taylora

• Inny przykład: dwunastoelementowe T6(x) rozwinięcie funkcji sin(x) w szereg Taylora wokół wartości x0 = 0

sin(x) ≈ T(x) = ∑k=0..∞f(k)(x0)/k!·(x − x0)k == 0 + x + 0 − x3/3! + 0 + x5/5! + 0 − x7/7! + 0 + x9/9! + 0 − x11/11! + ...

89

Szereg Taylora

• Ostateczny wzór (rozwinięcie skończone, pięcioelementowe):

-4 -3 -2 -1 0 1 2 3 4-4

-3

-2

-1

0

1

2

3

4

90

Szereg Taylora

• PrzybliŜanie funkcji f(x) szeregiem Taylora– niech dane będą

• ustalony obszar S• funkcja f(x) określona w obszarze S i posiadająca wszystkie pochodne

określone w obszarze S

– rozwinięcie T(x) funkcji f(x) w szereg Taylora wokół punktu y ∈ S dane jest następującym wzorem

T(x) = f(0)(y)/(0!)·(x–y)0 + f(1)(y)/(1!)·(x–y)1 + f(2)(y)/(2!)·(x–y)2 + …

– uwaga: rozwinięcie moŜe obejmować nieskończoną lub skończonąliczbę (niezerowych) składników (w przypadku liczby skończonej ostatni element szeregu jest innej postaci /i stanowi tzw. resztę/)

– zastosowana notacja: • f(k)(x) – oznaczenie k-tej pochodnej funkcji f(x)• w szczególności

– f(0)(x) ≡ f(x) – funkcja– f(1)(x) ≡ f’(x) – jej pierwsza pochodna– f(2)(x) ≡ f’’(x) – jej druga pochodna– …

91

Współczynnik i rząd zbieŜności ciągu

• Idea współczynnika i rzędu zbieŜności ciągu skalarów– niech s0, s1, s2, … będzie ciągiem skalarów zbieŜnym do skalara

s = limk→∞sk

– niech p ≥ 1 będzie maksymalną wartością, dla której istnieje granica β = limk→∞|sk+1 – s|/|sk – s|p

– wtedy• wartość p nazywamy rzędem zbieŜności• wartość β nazywamy współczynnikiem zbieŜności p-tego rzędu

– jeŜeli• p = 1 i β ∈ (0,1), to ciąg ma zbieŜność liniową• p = 1 i β = 0 lub p > 1, to ciąg ma zbieŜność superliniową

(w znaczeniu: lepszą od liniowej)

92

Współczynnik i rząd zbieŜności ciągu

• Idea współczynnika i rzędu zbieŜności ciągu wektorów– niech w0, w1, w2, … będzie ciągiem wektorów zbieŜnym do wektora

w = limk→∞wk

– niech p ≥ 1 będzie maksymalną wartością, dla której istnieje granica β = limk→∞||wk+1 – w||/||wk – w||p,

– wtedy• wartość p nazywamy rzędem zbieŜności• wartość β nazywamy współczynnikiem zbieŜności p-tego rzędu

– jeŜeli• p = 1 i β ∈ (0,1), to ciąg ma zbieŜność liniową• p = 1 i β = 0 lub p > 1, to ciąg ma zbieŜność superliniową

(w znaczeniu: lepszą od liniowej)

93

Metoda Newtona (aproksymacyjna)

• Metoda (aproksymacyjna) Newtona– metoda aproksymacji jednowymiarowej bez ograniczeń

(z ewentualnymi ograniczeniami na zakres zmienności zmiennej)

• Dane– jednowymiarowy obszar S

• (obszar musi spełniać kilka dodatkowych załoŜeń)

– określona w obszarze S funkcja f(x)• (funkcja musi spełniać kilka dodatkowych załoŜeń)

• Cel metody – znaleźć x0 ∈ S taki, Ŝe f(x0) = 0

(poszukiwanie miejsc zerowych funkcji f(x) w obszarze S)

94

Metoda Newtona (aproksymacyjna)

• Idea metody Newtona (aproksymacji jednowymiarowej)– niech będzie dana analitycznie jednowymiarowa funkcja f(x), dla której

poszukujemy minimum w pewnym obszarze (w praktyce: w przedziale), i o której zakładamy, Ŝe w tym właśnie przedziale

• jest ciągła• posiada pierwszą pochodną (daną analitycznie), która jest ciągła

– uznaje się, Ŝe przebieg aproksymowanej, jednowymiarowej funkcji f(x)w otoczeniu pewnego ustalonego punktu x0 jest taki sam, jak przebieg pewnej funkcji afinicznej, czyli funkcji postaci g(x) = ax + b, gdzie a ≠ 0, o parametrach a i b tak dobranych, aby „dobrze” odzwierciedlały przebieg funkcji f(x)

• do „jakości” takiego odzwierciedlenia przyczyniają się oczywiście powyŜsze załoŜenia dotyczące funkcji f(x), które (nie przez przypadek, oczywiście) sątakŜe właściwościami funkcji afinicznej postaci g(x) = ax+b, gdzie a ≠ 0

– przybliŜenie funkcji f(x) jest wykonywane z uŜyciem jej pochodnych

95

Metoda Newtona (aproksymacyjna)

• Idea metody Newtona (aproksymacji jednowymiarowej), c.d.– za miejsce zerowe funkcji f(x) uznaje się miejsce zerowe funkcji g(x),

przy czym:• jeŜeli znaleziony punkt (czyli miejsce zerowe afinicznej funkcji g(x)) stanowi

miejsce zerowe optymalizowanej funkcji f(x), to zadanie jest zakończone – powyŜsze sprawdzenie moŜe nie być trywialne– ogólne rozwiązanie tego problemu stanowi osobne zagadnienie (warunek stopu)

• jeŜeli znaleziony punkt (czyli miejsce zerowe afinicznej funkcji g(x)) nie stanowi miejsca zerowego aproksymowanej funkcji f(x), to przyjmuje się, Ŝe stanowi on lepsze przybliŜenie poszukiwanego miejsca zerowego i powtarza się całe postępowanie

– powyŜsze przyjęcie moŜe być błędne– ogólne rozwiązanie tego problemu stanowi osobne zagadnienie (niezbieŜność)

96

Metoda Newtona (aproksymacyjna)

• Idea metody Newtona (aproksymacji jednowymiarowej), c.d.– funkcja afiniczna i jej pochodna

• funkcja: g(x) = ax + b, gdzie a ≠ 0 • jej pierwsza pochodna: g’(x) = a

– połoŜenie miejsca zerowego funkcji afinicznej• przyrównanie funkcji do zera: ax + b = 0• miejsce zerowe: x = –b/a

– poniewaŜ (z załoŜenia) a ≠ 0, więc miejsce zerowe istnieje• uwaga: w zaleŜności od a i b, funkcja g(x) = ax + b moŜe mieć róŜne liczby

miejsc zerowych, a konkretnie:– ma jedno miejsce zerowe, gdy a ≠ 0 – nie ma miejsc zerowych, gdy a = 0 i b ≠ 0– ma nieskończenie wiele miejsc zerowych, gdy a = 0 i b = 0

97

Metoda Newtona (aproksymacyjna)

• PrzybliŜanie funkcji f(x) funkcją afiniczną z uŜyciem pochodnych– jeŜeli odpowiednie pochodne funkcji f(x) istnieją w pewnym obszarze S,

to w tym obszarze moŜliwe jest przybliŜenie tej funkcji wykorzystujące jej rozwinięcie w szereg Taylora

– wykorzystując dwuelementowe przybliŜenie q(x) rozwinięcia funkcji f(x) wokół punktu y ∈ S mamy dla kaŜdego x ∈ Sf(x) ≈ q(x) = f(y) + f’(y)(x–y)

– funkcja q(x)• stanowi przybliŜenie funkcji f(x)• jest dwuelementowym rozwinięciem f(x) w szereg Taylora wokół punktu y• ma postać g(x) = ax + b poniewaŜ

q(x) = f(y) + f’(y)(x–y) = f(y) + f’(y)x – f’(y)y = f’(y)x + (f(y) – f’(y)y) a więc: a = f’(y), b = f(y) – f’(y)y

98

Metoda Newtona (aproksymacyjna)

• Poszukiwanie przybliŜenia miejsca zerowego– zakładamy, Ŝe dla kaŜdego x ∈ S spełniony jest warunek f’(x) ≠ 0– powyŜsze załoŜenie oraz zaleŜności a = f’(y) i b = f(y) – f’(y)y pozwalają

na następujące określenie rozwiązania funkcji

x = –b/a == –(f(y) – f’(y)y)/f’(y) == (f’(y)y – f(y))/f’(y) == y – f(y)/f’(y)

– jeŜeli y jest dowolnym punktem ustalonego obszaru S, to (zgodnie z zasadą przybliŜania funkcji f(x) funkcją afiniczną) punkt x = y – f(y)/f’(y) jest miejscem zerowym funkcji f(x) lub lepszym przybliŜeniem tego miejsca zerowego niŜ punkt y

99

Metoda Newtona (aproksymacyjna)

• Schemat iteracyjny metody– zasada ustalania następnego punktu na podstawie poprzedniego

pozwala na sformułowanie następującego schematu iteracyjnego

xk+1 = xk – f(xk)/f’(xk)

Algorytm1. ustal punkt x0 i podstaw k = 02. dopóki nie zachodzi warunek stopu, wykonuj:

• oblicz xk+1 = xk – f(xk)/f’(xk)• podstaw k = k + 1

100

Metoda Newtona (aproksymacyjna)

• Interpretacja geometryczna metody

• Dane: funkcja f(x) wraz z pochodną f’(x), a dla nich– xk (punkt na osi poziomej)– f(xk) (punkt na osi pionowej)– f’(xk) (tangens kąta zawartego pomiędzy osią poziomą

a prostą styczną do wykresu funkcji w punkcie xk)

101

Metoda Newtona (aproksymacyjna)

• Interpretacja geometryczna metody

• Więcej informacji o funkcji (w tym przypadku dość skomplikowanej)

102

Metoda Newtona (aproksymacyjna)

• Interpretacja geometryczna metody

• Poszukiwane: xk+1 (przybliŜenie miejsca zerowego)

103

Metoda Newtona (aproksymacyjna)

• Interpretacja geometryczna metody

• Wykorzystując f’(xk) = tg(α) oraz tg(α) = f(xk)/(xk – xk+1) otrzymujemy zaleŜność f(xk)/(xk – xk+1) = f’(xk)

104

Metoda Newtona (aproksymacyjna)

• Interpretacja geometryczna metody

• Przekształcenie zaleŜności f(xk)/(xk – xk+1) = f’(xk) dajef(xk)/f’(xk) = xk – xk+1

i ostateczniexk+1 = xk – f(xk)/f’(xk)

105

Metoda Newtona (aproksymacyjna)

• Mocno uproszczona wersja metody (sytuacja f’(x) ≈ 1)

xk+1 = xk – f(xk) – gdy f(x) > 0, to xk+1 < xk

– gdy f(x) = 0, to koniec– gdy f(x) < 0, to xk+1 > xk

106

Metoda Newtona (aproksymacyjna)

• Potencjalne warunki stopu metody– osiągnięcie miejsca zerowego

• teoretycznie badamy: f(xk) = 0 • praktycznie badamy: |f(xk)| ≤ ε

– ustabilizowanie wyniku• teoretycznie badamy: xk+1 = xk

• praktycznie badamy: |xk+1 – xk| ≤ ε– przekroczenie maksymalnej liczby iteracji

• k > k0

gdzie– ε jest małą, dodatnią wartością rzeczywistą (dokładność obliczeń)– k0 jest duŜą, dodatnią wartością całkowitą (maksymalna liczba iteracji)

107

Metoda Newtona (aproksymacyjna)

• ZbieŜność metody– metoda nie gwarantuje zbieŜności dla kaŜdego wektora początkowego– przyczyny ewentualnej niezbieŜności

• zerowość pierwszej pochodnej (a więc nie istnieje jej odwrotność)rezultat: nie moŜna obliczyć xk+1

• niewłaściwy krok metody (choć prawidłowo obliczony) rezultat: |f(xk+1)| ≥ |f(xk)|

– w przypadkach zbieŜnych: zbieŜność rzędu drugiego (czyli wysoka!)

108

Metoda Newtona (aproksymacyjna)

• Czy są moŜliwe sytuacje, w których (aproksymacyjna) metoda Newtona nie działa wcale?– tak

– przyczyny• pochodna nieokreślona (nie moŜna zainicjować ciągu {xk}) • pochodna dla pewnego xk zerowa (nie moŜna utworzyć elementu xk+1)

• ciąg {xk} jest niezbieŜny, a więc np.:– ciąg {xk} dąŜy do +∞– ciąg {xk} dąŜy do –∞– ciąg {xk} jest cykliczny– ciąg {xk} przejawia inne powody niezbieŜności

» np.: +1, –2, +4, –8, +16, –32, +64, –128, +256, …

109

Metoda Newtona (aproksymacyjna)

• Czy są moŜliwe sytuacje, w których (aproksymacyjna) metoda Newtona nie działa jednoznacznie (w jakimś sensie)?– tak

– przyczyna• istnienie wielu miejsc zerowych

– z których róŜne mogą zostać osiągnięte (zaleŜnie od doboru punktu startowego)

110

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300 – miejsce zerowe funkcji: xz = –6.10598343090539…– przyjęty warunek stopu: |f(x)| ≤ 10–6

111

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300, |f(x)| ≤ 10–6, x0 = 1

– osiągnięto warunek stopu

112

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300, |f(x)| ≤ 10–6, x0 = –5

– osiągnięto warunek stopu

113

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300, |f(x)| ≤ 10–6, x0 = –1000

– osiągnięto warunek stopu

114

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300, |f(x)| ≤ 10–6, x0 = 1000

– osiągnięto warunek stopu

115

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300, |f(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

116

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300, |f(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

117

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300, |f(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

118

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = 4x3 – 100x + 300, |f(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

119

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x – 5– miejsce zerowe funkcji: xz = 5– przyjęty warunek stopu: |f(x)| ≤ 10–6

120

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x – 5, |f(x)| ≤ 10–6, x0 = 1

– osiągnięto warunek stopu

121

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x – 5, |f(x)| ≤ 10–6, x0 = –1

– osiągnięto warunek stopu

122

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x – 5, |f(x)| ≤ 10–6, x0 = 1000

– osiągnięto warunek stopu

123

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x – 5, |f(x)| ≤ 10–6, x0 = –1000

– osiągnięto warunek stopu

124

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2

– miejsce zerowe funkcji: xz = 0– przyjęty warunek stopu: |f(x)| ≤ 10–6

125

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2, |f(x)| ≤ 10–6, x0 = 1

– osiągnięto warunek stopu (uwaga: zbieŜność rzędu pierwszego)

126

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2, |f(x)| ≤ 10–6, x0 = –1

– osiągnięto warunek stopu (uwaga: zbieŜność rzędu pierwszego)

127

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2, |f(x)| ≤ 10–6, x0 = 1000

– osiągnięto warunek stopu (uwaga: zbieŜność rzędu pierwszego)

128

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2, |f(x)| ≤ 10–6, x0 = –1000

– osiągnięto warunek stopu (uwaga: zbieŜność rzędu pierwszego)

129

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2, |f(x)| ≤ 10–6, x0 = 0

– osiągnięto warunek stopu

130

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x3 – 2x + 2– miejsce zerowe funkcji: xz = –1.76929235424336…– przyjęty warunek stopu: |f(x)| ≤ 10–6

131

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x3 – 2x + 2, |f(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

132

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x3 – 2x + 2, |f(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

133

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x3 – 2x + 2, |f(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

134

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x3 – 2x + 2, |f(x)| ≤ 10–6, x0 = 1

– nie osiągnięto warunku stopu (problem: brak zbieŜności)

135

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x1/3

– miejsce zerowe funkcji: xz = 0– przyjęty warunek stopu: |f(x)| ≤ 10–6

136

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x1/3, |f(x)| ≤ 10–6, x0 = 1

– nie osiągnięto warunku stopu (problem: brak zbieŜności)

137

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2 + 1– miejsce zerowe funkcji: brak (∀x∈(–∞,+∞): f(x) > 0)– przyjęty warunek stopu: |f(x)| ≤ 10–6

138

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2 + 1, |f(x)| ≤ 10–6, x0 = 1

– nie osiągnięto warunku stopu (problem: dzielenie przez zero)

139

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2 – 6x + 100– miejsce zerowe funkcji: brak (∀x∈(–∞,+∞): f(x) > 0)– przyjęty warunek stopu: |f(x)| ≤ 10–6

140

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x2 – 6x + 100, |f(x)| ≤ 10–6, x0 = 1

– nie osiągnięto warunku stopu (problem: brak zbieŜności)

141

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – uzasadnienia niektórych niezbieŜności

142

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x3 – 2x + 2– czy moŜna wyjaśnić niezbieŜność dla x0 = 0?

143

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x3 – 2x + 2– pochodna: f’(x) = 3x2 – 2– schemat: xn+1 = xn – f(xn)/f’(xn) = xn – ((xn)3 – 2xn + 2)/(3(xn)2 – 2) – iteracja:

• x0 = 0• x1 = 0 – (03 – 2·0 + 2)/(3·02 – 2) = –2/(–2) = 1• x2 = 1 – (13 – 2·1 + 2)/(3·12 – 2) = 1 – 1/1 = 0• ...

144

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x1/3

– czy moŜna wyjaśnić niezbieŜność dla x0 ≠ 0?

145

Metoda Newtona (aproksymacyjna)

• Przykład poszukiwania zer funkcji, c.d. – f(x) = x1/3

– pochodna: f’(x) = (1/3)·x1/3–1 = (1/3)·x–2/3

– schemat: xn+1 = xn – f(xn)/f’(xn) = xn – ((xn)1/3)/((1/3)·(xn)–2/3) = xn – 3(xn)1/3–(–2/3) = xn – 3(xn)3/3 = xn – 3xn = –2xn

– iteracja:• x0 = 1• x1 = –2·1 = –2 • x2 = –2·(–2) = 4 • x3 = –2·4 = –8 • ...

146

Przykład ciekawego zastosowania metody Newtona

• Pierwiastki rzeczywiste z (rzeczywistych) liczb nieujemnych– pytanie: jak obliczyć pierwiastek kwadratowy z 1000? – odpowiedź: skorzystać z kalkulatora! ☺– pytanie: jak kalkulator moŜe obliczyć pierwiastek kwadratowy z 1000? – odpowiedź: moŜe skorzystać z (aproksymacyjnej) metody Newtona

147

Przykład ciekawego zastosowania metody Newtona

• Aproksymacyjna metoda Newtona w poszukiwaniu pierwiastków kwadratowych z rzeczywistych liczb nieujemnych– dla nieujemnych p zachodzi x = sqrt(p) ⇔ x2 = p ⇔ x2 – p = 0– wniosek: sqrt(p) jest miejscem zerowym funkcji f(x) = x2 – p

148

Przykład ciekawego zastosowania metody Newtona

• Aproksymacyjna metoda Newtona w poszukiwaniu pierwiastków kwadratowych z rzeczywistych liczb nieujemnych, c.d.– wyprowadzenie (aproksymacyjnego) schematu iteracyjnego

• funkcja: f(x) = x2 – p• pochodna: f’(x) = 2x

• schemat: xk+1 = xk – f(xk)/f’(xk) == xk – ((xk)2 – p)/(2xk) == xk – (xk)2/(2xk) + p/(2xk) == xk – xk/2 + p/(2xk) == (1/2)·xk + (p/2)/xk == (1/2)·xk + (1/2)·p/xk == (1/2)·(xk + p/xk)

(średnia arytmetyczna z xk oraz p/xk)• załoŜenie: xk ≠ 0 dla wszystkich k, w szczególności x0 ≠ 0 • po przyjęciu x0 > 0, wobec nieujemności p, mamy

gwarancję, Ŝe dla wszystkich k zachodzi xk ≠ 0

149

Przykład ciekawego zastosowania metody Newtona

• Aproksymacyjna metoda Newtona w poszukiwaniu pierwiastków kwadratowych z rzeczywistych liczb nieujemnych, c.d.– algorytm (wejscie p, wyjscie y)

if (p < 0) y = „error”

elseif (p = 0)y = 0

else x0 = pfor k=0 to 19

xk+1 = (1/2)·(xk + p/xk)end y = x20

– uwagi• liczba iteracji dostosowana do kalkulatora 9-cio pozycyjnego• demonstrowane wyniki nie uwzględniają tego faktu

(zostały wygenerowane w arytmetyce typu double)

150

Przykład ciekawego zastosowania metody Newtona

xk

• p = 1000 /20 iteracji/• y = 31.6227766

151

Przykład ciekawego zastosowania metody Newtona

xk

• p = 2 /20 iteracji/• y = 1.41421356

152

Przykład ciekawego zastosowania metody Newtona

xk

• p = 9 /20 iteracji/• y = 3

153

Przykład ciekawego zastosowania metody Newtona

xk

• p = 0.12345678 /20 iteracji/• y = 0.35136417

154

Przykład ciekawego zastosowania metody Newtona

xk

• p = 999999999 (dziewięć dziewiątek) /20 iteracji/• y = 31622.7765

155

Przykład ciekawego zastosowania metody Newtona

• Co się dzieje, gdy załoŜenie p ≥ 0 nie jest spełnione ale schemat iteracyjny zostanie uruchomiony?

156

Przykład ciekawego zastosowania metody Newtona

xk

• p = –1 (wbrew załoŜeniu!) /2 iteracje/• x0 = –1, x1 = 0, czyli jest x2 nieokreślone (formalny wynik: y = „error”)

157

Przykład ciekawego zastosowania metody Newtona

xk

• p = –3 (wbrew załoŜeniu!) /20 iteracji/• cykliczność ciągu {xk} (formalny wynik: y = „error”)

158

Przykład ciekawego zastosowania metody Newtona

xk

• p = –10 (wbrew załoŜeniu!) /20 iteracji/• niezbieŜność ciągu {xk} (formalny wynik: y = „error”)

159

Przykład ciekawego zastosowania metody Newtona

xk

• p = –10 (wbrew załoŜeniu!) /200 iteracji/• niezbieŜność ciągu {xk} (formalny wynik: y = „error”)

160

Przykład ciekawego zastosowania metody Newtona

xk

• p = –10 (wbrew załoŜeniu!) /2000 iteracji/• niezbieŜność ciągu {xk} (formalny wynik: y = „error”)

161

Przykład ciekawego zastosowania metody Newtona

xk

• p = –10 (wbrew załoŜeniu!) /2000 iteracji/• niezbieŜność ciągu {xk} (formalny wynik: y = „error”)

162

Przykład ciekawego zastosowania metody Newtona

xk

• p = –10 (wbrew załoŜeniu!) /2000 iteracji/, zawęŜone wartości• niezbieŜność ciągu {xk} (formalny wynik: y = „error”)

163

Metoda Newtona (optymalizacyjna)

• Metoda (optymalizacyjna) Newtona– metoda optymalizacji jednowymiarowej bez ograniczeń

(z ewentualnymi ograniczeniami na zakres zmienności zmiennej)

• Dane– jednowymiarowy obszar S

• (obszar musi spełniać kilka dodatkowych załoŜeń)

– określona w obszarze S funkcja f(x)• (funkcja musi spełniać kilka dodatkowych załoŜeń)

• Cel metody – znaleźć x* ∈ S taki, Ŝe ∀x∈S f(x*) ≤ f(x)

(minimalizacja funkcji f(x) w obszarze S)

164

Metoda Newtona (optymalizacyjna)

• Idea metody Newtona (optymalizacji jednowymiarowej)– niech będzie dana analitycznie jednowymiarowa funkcja f(x), dla której

poszukujemy minimum w pewnym obszarze (w praktyce: w przedziale), i o której zakładamy, Ŝe w tym właśnie przedziale

• jest ciągła• jest wypukła• posiada pierwszą i drugą pochodną (dane analitycznie), które są ciągłe

– uznaje się, Ŝe przebieg optymalizowanej, jednowymiarowej funkcji f(x) w otoczeniu pewnego ustalonego punktu x0 jest taki sam, jak przebieg pewnej funkcji kwadratowej, czyli funkcji postaci g(x) = ax2 + bx + c, gdzie a > 0, o parametrach a, b i c tak dobranych, aby „dobrze”odzwierciedlały przebieg funkcji f(x)

• do „jakości” takiego odzwierciedlenia przyczyniają się oczywiście powyŜsze załoŜenia dotyczące funkcji f(x), które (nie przez przypadek, oczywiście) sątakŜe właściwościami funkcji kwadratowej postaci g(x) = ax2 + bx + c, gdzie a > 0

– przybliŜenie funkcji f(x) jest wykonywane z uŜyciem jej pochodnych

165

Metoda Newtona (optymalizacyjna)

• Idea metody Newtona (optymalizacji jednowymiarowej), c.d.– za rozwiązanie funkcji f(x) uznaje się rozwiązanie funkcji g(x),

przy czym:• jeŜeli znaleziony punkt (czyli rozwiązanie kwadratowej funkcji g(x)) stanowi

rozwiązanie optymalizowanej funkcji f(x), to zadanie jest zakończone – powyŜsze sprawdzenie moŜe nie być trywialne– ogólne rozwiązanie tego problemu stanowi osobne zagadnienie (warunek stopu)

• jeŜeli znaleziony punkt (czyli rozwiązanie kwadratowej funkcji g(x)) nie stanowi rozwiązania optymalizowanej funkcji f(x), to przyjmuje się, Ŝe stanowi on lepsze przybliŜenie poszukiwanego rozwiązania i powtarza się całe postępowanie

– powyŜsze przyjęcie moŜe być błędne– ogólne rozwiązanie tego problemu stanowi osobne zagadnienie (niezbieŜność)

166

Metoda Newtona (optymalizacyjna)

• Idea metody Newtona (optymalizacji jednowymiarowej), c.d.– funkcja kwadratowa i jej dwie pierwsze pochodne

• funkcja: g(x) = ax2 + bx + c, gdzie a > 0 • jej pierwsza pochodna: g’(x) = 2ax + b• jej druga pochodna: g’’(x) = 2a

– połoŜenie rozwiązania funkcji kwadratowej: punkt zerowania się (pierwszej) pochodnej

• przyrównanie pierwszej pochodnej do zera: 2ax + b = 0• rozwiązanie: x = –b/2/a

– pierwsza pochodna jest funkcją afiniczną, która zmienia znak w punkcie x = –b/2/a (jest ujemna dla x < –b/2/a i dodatnia dla x > –b/2/a), z czego wynika, Ŝe funkcja g(x) posiada ekstremum w punkcie x = –b/2/a

– poniewaŜ (z załoŜenia) a > 0, więc takŜe 2a > 0, a zatem ekstremum funkcji g(x) jest typu minimum

• uwaga: w zaleŜności od a, funkcja g(x) = ax2 + bx + c moŜe mieć minima, maksima albo punkty przegięcia, a konkretnie:

– funkcja ma minimum, gdy a > 0– funkcja ma punkt przegięcia, gdy a = 0– funkcja ma maksimum, gdy a < 0

167

Metoda Newtona (optymalizacyjna)

• PrzybliŜanie funkcji f(x) funkcją kwadratową z uŜyciem pochodnych– jeŜeli wszystkie pochodne funkcji f(x) istnieją w pewnym obszarze S,

to w tym obszarze moŜliwe jest przybliŜenie tej funkcji wykorzystujące jej rozwinięcie w szereg Taylora

168

Metoda Newtona (optymalizacyjna)

• PrzybliŜanie funkcji f(x) funkcją kwadratową z uŜyciem pochodnych– niech dane będą

• ustalony obszar S• funkcja f(x) określona w obszarze S i posiadająca wszystkie pochodne

określone w obszarze S

– rozwinięcie T(x) funkcji f(x) w szereg Taylora wokół punktu y ∈ S dane jest następującym wzorem

T(x) = f(0)(y)(x–y)0/(0!) + f(1)(y)(x–y)1/(1!) + f(2)(y)(x–y)2/(2!) + …= f(y)·1/1 + f’(y)(x–y)/1 + f’’(y)(x–y)2/2 + …= f(y) + f’(y)(x–y) + f’’(y)(x–y)2/2 + …

(rozwinięcie obejmuje nieskończoną liczbę składników)– zastosowana notacja:

• f(k)(x) – oznaczenie k-tej pochodnej funkcji f(x)• w szczególności

– f(0)(x) ≡ f(x) – funkcja– f(1)(x) ≡ f’(x) – jej pierwsza pochodna– f(2)(x) ≡ f’’(x) – jej druga pochodna– …

169

Metoda Newtona (optymalizacyjna)

• PrzybliŜanie funkcji f(x) funkcją kwadratową z uŜyciem pochodnych– dla dowolnej funkcji f(x)

• dla kaŜdego x ∈ S wykorzystując – nieskończoną liczbę składników rozwinięcia otrzymujemy T(x) = f(x)– skończoną liczbę składników rozwinięcia otrzymujemy T(x) ≈ f(x)

– dla szczególnej funkcji, spełniającej f(k)(x) = 0 dla wszystkich k ≥ 3• dla kaŜdego x ∈ S wykorzystując

– trzy pierwsze składniki rozwinięcia otrzymujemy T(x) = f(x)

• przykładem takiej funkcji jest g(x) = ax2 + bx + c, poniewaŜ:– g’(x) = 2ax + b– g’’(x) = 2a– g’’’(x) = 0– g’’’’(x) = 0– itd.

170

Metoda Newtona (optymalizacyjna)

• PrzybliŜanie funkcji f(x) funkcją kwadratową z uŜyciem pochodnych– wykorzystując trzyelementowe przybliŜenie q(x) rozwinięcia

funkcji f(x) wokół punktu y ∈ S mamy dla kaŜdego x ∈ Sf(x) ≈ q(x) = f(y) + f’(y)(x–y) + f’’(y)(x–y)2/2

– funkcja q(x)• stanowi przybliŜenie funkcji f(x)• jest trzyelementowym rozwinięciem f(x) w szereg Taylora wokół punktu y• ma postać g(x) = ax2 + bx + c poniewaŜ

q(x) = f(y) + f’(y)(x–y) + f’’(y)(x–y)2/2 = = f(y) + f’(y)x – f’(y)y + f’’(y)(x–y)2/2 = = f(y) + f’(y)x – f’(y)y + f’’(y)(x2–2xy+y2)/2 = = f(y) + f’(y)x – f’(y)y + f’’(y)x2/2 – 2f’’(y)xy/2 + f’’(y)y2/2 = = f(y) + f’(y)x – f’(y)y + f’’(y)x2/2 – f’’(y)xy + f’’(y)y2/2 = = f’’(y)x2/2 + f’(y)x – f’’(y)xy + f(y) – f’(y)y + f’’(y)y2/2 = f’’(y)/2·x2 + (f’(y) – f’’(y)y)·x + (f(y)–f’(y)y+f’’(y)y2/2)

a więc: a = f’’(y)/2, b = f’(y) – f’’(y)y, c = f(y) – f’’(y)y+f’’(y)y2/2

171

Metoda Newtona (optymalizacyjna)

• Schemat iteracyjny metody– zakładamy, Ŝe dla kaŜdego x ∈ S spełniony jest warunek f’’(x) ≠ 0– powyŜsze załoŜenie oraz zaleŜności a = f’’(y)/2 i b = f’’(y) – f’(y)y

pozwalają na następujące określenie rozwiązania funkcji

x = –b/2/a == –(f’(y) – f’’(y)y)/2/(f’’(y)/2) = –(f’(y) – f’’(y)y)/f’’(y) == –(f’(y)/f’’(y) – f’’(y)y/f’’(y)) = –(f’(y)/f’’(y) – y) == y – f’(y)/f’’(y)

– jeŜeli y jest dowolnym punktem ustalonego obszaru S, to (zgodnie z zasadą przybliŜania funkcji f(x) funkcją kwadratową) punkt x = y – f’(y)/f’’(y) jest rozwiązaniem funkcji f(x) lub lepszym przybliŜeniem tego rozwiązania niŜ punkt y

172

Metoda Newtona (optymalizacyjna)

• Schemat iteracyjny metody– zasada ustalania następnego punktu na podstawie poprzedniego

pozwala na sformułowanie następującego schematu iteracyjnego

xk+1 = xk – f’(xk)/f’’(xk)

Algorytm1. ustal punkt x0 i podstaw k = 02. dopóki nie zachodzi warunek stopu, wykonuj:

• oblicz xk+1 = xk – f’(xk)/f’’(xk)• podstaw k = k + 1

173

Metoda Newtona (optymalizacyjna)

• Potencjalne warunki stopu metody– osiągnięcie minimum

• teoretycznie badamy: f’(xk) = 0 • praktycznie badamy: |f’(xk)| ≤ ε

– ustabilizowanie wyniku• teoretycznie badamy: xk+1 = xk

• praktycznie badamy: |xk+1 – xk| ≤ ε– przekroczenie maksymalnej liczby iteracji

• k > k0

gdzie– ε jest małą, dodatnią wartością rzeczywistą (dokładność obliczeń)– k0 jest duŜą, dodatnią wartością całkowitą (maksymalna liczba iteracji)

174

Metoda Newtona (optymalizacyjna)

• ZbieŜność metody– metoda nie gwarantuje zbieŜności dla kaŜdego wektora początkowego– przyczyny ewentualnej niezbieŜności

• zerowość drugiej pochodnej (a więc nie istnieje jej odwrotność)rezultat: nie moŜna obliczyć xk+1

• niewłaściwy krok metody (choć prawidłowo obliczony) rezultat: f(xk+1) ≥ f(xk)

– w przypadkach zbieŜnych: zbieŜność rzędu drugiego (czyli wysoka!)

175

Metoda Newtona (optymalizacyjna)

• Czy są moŜliwe sytuacje, w których (optymalizacyjna) metoda Newtona nie działa wcale?– tak

– przyczyny• druga pochodna nieokreślona (nie moŜna zainicjować ciągu {xk}) • druga pochodna dla pewnego xk zerowa (nie moŜna utworzyć elementu xk+1)

• ciąg {xk} jest niezbieŜny, a więc np.:– ciąg {xk} dąŜy do +∞– ciąg {xk} dąŜy do –∞– ciąg {xk} jest cykliczny– ciąg {xk} przejawia inne powody niezbieŜności

» np.: +1, –2, +4, –8, +16, –32, +64, –128, +256, …

176

Metoda Newtona (optymalizacyjna)

• Czy są moŜliwe sytuacje, w których (optymalizacyjna) metoda Newtona nie działa jednoznacznie (w jakimś sensie)?– tak

– przyczyna• istnienie wielu minimów

– z których róŜne mogą zostać osiągnięte (zaleŜnie od doboru punktu startowego)

177

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000 – minimum funkcji: x* = –6.10598343090539…– przyjęty warunek stopu: |f’(x)| ≤ 10–6

178

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000, |f’(x)| ≤ 10–6, x0 = 1

– osiągnięto warunek stopu

179

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000, |f’(x)| ≤ 10–6, x0 = –5

– osiągnięto warunek stopu

180

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000, |f’(x)| ≤ 10–6, x0 = –1000

– osiągnięto warunek stopu

181

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000, |f’(x)| ≤ 10–6, x0 = 1000

– osiągnięto warunek stopu

182

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000, |f’(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

183

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000, |f’(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

184

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000, |f’(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

185

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = x4 – 50x2 + 300x + 2000, |f’(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

186

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.5x2 – 5x + 50– minimum funkcji: x* = 5– przyjęty warunek stopu: |f(x)| ≤ 10–6

187

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.5x2 – 5x + 50, |f’(x)| ≤ 10–6, x0 = 1

– osiągnięto warunek stopu

188

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.5x2 – 5x + 50, |f’(x)| ≤ 10–6, x0 = –1

– osiągnięto warunek stopu

189

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.5x2 – 5x + 50, |f’(x)| ≤ 10–6, x0 = 1000

– osiągnięto warunek stopu

190

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.5x2 – 5x + 50, |f’(x)| ≤ 10–6, x0 = –1000

– osiągnięto warunek stopu

191

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = (1/3)x3

– minimum funkcji: x*: brak (limx→–∞x3 = –∞)– przyjęty warunek stopu: |f(x)| ≤ 10–6

192

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = (1/3)x3, |f’(x)| ≤ 10–6, x0 = 1

– osiągnięto warunek stopu (problem: wynik nie jest minimum!)(uwaga: zbieŜność rzędu pierwszego)

193

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = (1/3)x3, |f’(x)| ≤ 10–6, x0 = –1

– osiągnięto warunek stopu (problem: wynik nie jest minimum!)(uwaga: zbieŜność rzędu pierwszego)

194

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = (1/3)x3, |f’(x)| ≤ 10–6, x0 = 1000

– osiągnięto warunek stopu (problem: wynik nie jest minimum!)(uwaga: zbieŜność rzędu pierwszego)

195

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = (1/3)x3, |f’(x)| ≤ 10–6, x0 = –1000

– osiągnięto warunek stopu (problem: wynik nie jest minimum!)(uwaga: zbieŜność rzędu pierwszego)

196

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = (1/3)x3, |f’(x)| ≤ 10–6, x0 = 0

– osiągnięto warunek stopu (problem: wynik nie jest minimum)

197

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.25x4 – x2 + 2x + 10– minimum funkcji: x* = –1.76929235424336…– przyjęty warunek stopu: |f(x)| ≤ 10–6

198

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.25x4 – x2 + 2x + 10, |f’(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

199

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.25x4 – x2 + 2x + 10, |f’(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

200

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.25x4 – x2 + 2x + 10, |f’(x)| ≤ 10–6, x0 losowy z rozkladu N(0,1)

– osiągnięto warunek stopu

201

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.25x4 – x2 + 2x + 10, |f’(x)| ≤ 10–6, x0 = 1

– nie osiągnięto warunku stopu (problem: brak zbieŜności)

202

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.75x4/3

– minimum funkcji: x* = 0– przyjęty warunek stopu: |f(x)| ≤ 10–6

203

Metoda Newtona (optymalizacyjna)

• Przykład poszukiwania minimów funkcji, c.d. – f(x) = 0.75x4/3, |f(x)| ≤ 10–6, x0 = 1

– nie osiągnięto warunku stopu (problem: brak zbieŜności)

204

Metody Newtona: porównanie

• Porównanie: optymalizacyjna a aproksymacyjna metoda Newtona– dzięki odpowiednim załoŜeniom dotyczącym funkcji f(x) optymalizacyjny

schemat iteracyjny xk+1 = xk – f’(xk)/f’’(xk) dla funkcji f(x) prowadzi do:

• znalezienia rozwiązania funkcji f(x) (argumentu zapewniającego minimum) – a jednocześnie –

• znalezienia miejsca zerowego funkcji f’(x) (argumentu zapewniającego zerowość)

a więc jest jednocześnie schematem aproksymacyjnym dla funkcji f’(x)– przez analogię:

schematem aproksymacyjnym dla funkcji f(x) jest więc xk+1 = xk – f(xk)/f’(xk)(reszta algorytmu jest takŜe analogiczna)

205

Metoda Newtona-Raphsona

• Metoda Newtona-Raphsona– metoda optymalizacji wielowymiarowej bez ograniczeń

(z ewentualnymi ograniczeniami na zakres zmienności zmiennych)

• Dane– wielowymiarowy obszar S– określona w obszarze S funkcja f(x)

• Cel metody – znaleźć x* ∈ S taki, Ŝe ∀x∈S f(x*) ≤ f(x)

(minimalizacja funkcji f(x) w obszarze S)

206

Metoda Newtona-Raphsona

• Naturalne uogólnienie metody Newtona n wymiarów– niech

• x = [x1, x2, …, xn]T będzie wektorem o rozmiarze n×1• f(x) będzie funkcją jednowymiarową od wektora x

– trzyelementowe rozwinięcie q(x) funkcji f(x) w szereg Taylora wokółwektora y ∈ S dane jest następującym wzorem

q(x) = f(y) + (∇∇∇∇f(y))T(x–y) + 1/2·(x–y)THf(y)(x–y)• gdzie

– ∇∇∇∇f(y) – gradient funkcji f(x) od wektora y– Hf(y) – hesjan funkcji f(x) od wektora y

207

Metoda Newtona-Raphsona

• Definicja gradientu ∇∇∇∇f funkcji f(x) dla x = [x1, x2, …, xn]T

– gradient (wektor o rozmiarze n×1)

∂f/∂x1

∇∇∇∇f = ∂f/∂x2

∂f/∂xn

(istnieje, gdy f(x) posiada wszystkie pierwsze pochodne)

208

Metoda Newtona-Raphsona

• Cechy gradientu ∇∇∇∇f funkcji f(x) dla x = [x1, x2, …, xn]T

– gradient ∇∇∇∇f funkcji f(x) jest w ogólności wektorem pierwszych pochodnych funkcji f(x) (po odpowiednich elementach wektora x)

– gradient ∇∇∇∇f(y) funkcji f(x) od wektora y jest wektorem wartości pierwszych pochodnych funkcji f(x) obliczonych dla wektora y

– interpretacja graficzna: gradient funkcji w punkcie (o ile istnieje i jest niezerowy) jest wektorem wskazującym kierunek, w którym wzrost wartości tej funkcji w otoczeniu tego punktu jest maksymalny

• w punktach ekstremalnych (ale nie tylko) gradient jest wektorem zerowym (dlatego jest naturalnie wykorzystywany w warunkach stopu)

209

Metoda Newtona-Raphsona

Graficzna interpretacja gradientu

210

Metoda Newtona-Raphsona

• Definicja hesjanu Hf funkcji f(x) dla x = [x1, x2, …, xn]T

– hesjan (macierz o rozmiarach n×n)

∂f2/(∂x1∂x1) ∂f2/(∂x1∂x2) … ∂f2/(∂x1∂xn)

Hf = ∂f2/(∂x2∂x1) ∂f2/(∂x2∂x2) … ∂f2/(∂x2∂xn)

… … … …

∂f2/(∂xn∂x1) ∂f2/(∂xn∂x2) … ∂f2/(∂xn∂xn)

(istnieje, gdy f(x) posiada wszystkie drugie pochodne)

211

Metoda Newtona-Raphsona

• Cechy hesjanu Hf funkcji f(x) dla x = [x1, x2, …, xn]T

– hesjan Hf funkcji f(x) jest w ogólności macierzą drugich pochodnych funkcji f(x) (po odpowiednich parach elementów wektora x)

– hesjan Hf(w) funkcji f(x) od wektora w jest macierzą wartości drugich pochodnych funkcji f(x) obliczonych dla wektora w

– uwaga: interpretacja graficzna hesjanu jest bardziej złoŜona niŜinterpretacja graficzna gradientu, poniewaŜ gradient jest wektorem (który posiada naturalną interpretację graficzną w postaci strzałki), podczas gdy hesjan jest macierzą (wiele strzałek?)

212

Metoda Newtona-Raphsona

• Pewne właściwości hesjanu Hf funkcji f(x) – poniewaŜ dla wszystkich i oraz j zachodzi ∂f2/(∂xi∂xj) = ∂f2/(∂xj∂xi),

więc hesjan Hf(w) dla kaŜdego wektora w jest macierzą symetryczną• tw. Schwarza (jeŜeli pochodne istnieją i są ciągłe, to są sobie równe)

– jeŜeli dwukrotnie róŜniczowalna funkcja f(x) jest wypukła w obszarze S, to jej hesjan Hf(s) jest dla kaŜdego wektora s z obszaru S macierząnieujemnie określoną (prawdziwe jest takŜe stwierdzenie odwrotne)

213

Metoda Newtona-Raphsona

• Uogólnienie schematu iteracyjnego na n wymiarów, c.d.– analogiczna do przypadku jednowymiarowego zasada ustalania

następnego wektora na podstawie poprzedniego pozwala na sformułowanie następującego schematu iteracyjnego

xk+1 = xk – (Hf(xk))–1∇∇∇∇f(xk)

Algorytm

1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• oblicz xk+1 = xk – (Hf(xk))–1∇∇∇∇f(xk)• podstaw k = k + 1

214

Metoda Newtona-Raphsona

• Potencjalne warunki stopu metody– osiągnięcie minimum

• teoretycznie badamy: ∇∇∇∇f(xk) = 0• praktycznie badamy: ||∇∇∇∇f(xk)|| ≤ ε

– ustabilizowanie wyniku• teoretycznie badamy: xk+1 = xk

• praktycznie badamy: ||xk+1 – xk|| ≤ ε– przekroczenie maksymalnej liczby iteracji

• k > k0

gdzie– ε jest małą, dodatnią wartością rzeczywistą (dokładność obliczeń)– k0 jest duŜą, dodatnią wartością całkowitą (maksymalna liczba iteracji)

215

Metoda Newtona-Raphsona

• ZbieŜność metody– metoda nie gwarantuje zbieŜności dla kaŜdego wektora początkowego– przyczyny ewentualnej niezbieŜności

• osobliwość hesjanu (a więc nie istnieje jego odwrotność)rezultat: nie moŜna obliczyć xk+1

• niewłaściwy krok metody (choć prawidłowo obliczony) rezultat: f(xk+1) ≥ f(xk)

– w przypadkach zbieŜnych: zbieŜność rzędu drugiego (czyli wysoka!)

216

Metoda Newtona-Raphsona

• Idea kroku metody– wektor dodawany do wektora xk w celu przekształcenia go w wektor xk+1

nosi nazwę kroku metody i jest oznaczany przez sk

– w metodzie Newtona-Raphsona sk = –(Hf(xk))–1∇∇∇∇f(xk)(ale w innych metodach wektor ten moŜe być ustalany inaczej)

217

Ilustracja kroku metody sk = – (Hf(xk))–1∇∇∇∇f(xk)

(reprezentowany strzałką)

Metoda Newtona-Raphsona

xkxk+1

sk

218

Metoda Newtona-Raphsona

• Metoda Newtona jest szczególnym przypadkiem metody Newtona-Raphsona, poniewaŜ gdy x jest wektorem jednoelementowym, czyli x = [x] (rozmiar 1x1), to – f(x) = f([x]) jest funkcją jednowymiarową,

którą moŜna zapisywać jako f(x)– ∇∇∇∇f(x) = ∇∇∇∇f([x]) = [∂f/∂x1] = [f’(x)] jest wektorem jednoelementowym,

który moŜna zapisywać jako f’(x)– Hf(x) = Hf([x]) = [∂f2/(∂x1∂x1)] = [f’’(x)] jest macierzą jednoelementową,

którą moŜna zapisywać jako f’’(x)• A więc

– zapisxk+1 = xk – (Hf(y))–1∇∇∇∇f(y)

– sprowadza się doxk+1 = xk – (f’’(x))–1f’(x)

– czyli doxk+1 = xk – f’(x)/f’’(x)

219

Metoda Newtona-Raphsona

• Przykład minimalizacji funkcji od argumentu dwuwymiarowego (argumenty mają postać x = [x1, x2]T)– funkcja f(x) = (x1)2 + 2(x2)2 + 3x1

– gradient

∇∇∇∇f = ∂f/∂x1 = 2x1 + 3 ∂f/∂x2 4x2

– hesjan

Hf = ∂f2/(∂x1∂x1) ∂f2/(∂x1∂x2) = 2 0

∂f2/(∂xn∂x1) ∂f2/(∂xn∂x2) 0 4

220

Metoda Newtona-Raphsona

• Przykład minimalizacji, c.d.– gradient w kolejnych iteracjach

• poniewaŜ gradient nie jest wektorem stałych, więc będzie musiałbyć wyliczany w kaŜdej iteracji

– hesjan w kolejnych iteracjach• poniewaŜ hesjan jest macierzą stałych, więc będzie taki sam

we wszystkich iteracjach• odwrotność hesjanu (takŜe identyczna we wszystkich iteracjach)

(Hf)–1 = 1/2 0

0 1/4

– przyjęty warunek stopu: ∇∇∇∇f(xk) = 0

221

Metoda Newtona-Raphsona

• Przykład minimalizacji, c.d.– rozwiązanie początkowe x0 = 1

2

222

Metoda Newtona-Raphsona

• Przykład minimalizacji, c.d.– x0 = 1

2 – pierwsza iteracja

∇∇∇∇f (x0) = 2·1 + 3 = 5

4·2 8

– poniewaŜ warunek stopu nie jest spełniony, więc obliczamy x1 = x0 – (Hf(y))–1∇∇∇∇f(y)x1 = 1 – 1/2 0 5 = 1 – 5/2 = –3/2

2 0 1/4 8 2 2 0

223

Metoda Newtona-Raphsona

• Przykład minimalizacji, c.d.– x1 = –3/2

0

– druga iteracja∇∇∇∇f (x1) = 2·(–3/2) + 3 = 0

4·0 0

– poniewaŜ warunek stopu jest spełniony, więc wektor x1jest rozwiązaniem (stanowi minimum funkcji f(x))

• uwaga: dzięki temu, Ŝe ∇∇∇∇f (x1) = 0, kolejne rozwiązania, tzn. x2, x3, …, spełniałyby x1 = x2 = x3 = …

224

Przykład zastosowania metody Newtona-Raphsona

• Problem najmniejszych kwadratów (PMK) i jego rozwiązanie– problem najmniejszych kwadratów moŜe (i zazwyczaj jest )

rozwiązywany tzw. metodą najmniejszych kwadratów (MNK) ☺

• PNK jest problemem dopasowania prostej/płaszczyzny/… do zbioru pewnych punktów, czyli problemem odkrycia zaleŜności liniowej pomiędzy ustalonymi zmiennymi wejściowymi a wyjściowymi

• PNK jest (typowym) problemem optymalizacyjnym, jednak na tyle prostym, ze posiada jawne rozwiązanie analityczne

225

Przykład zastosowania metody Newtona-Raphsona

• Wywód PNK startujacy od rozwiązania układu równań– niec dany będzie układ Xb = y, gdzie X, b i y są macierzami/wektorami

o wymiarach Xmxn, bnx1, ymx1, w którym X i y są (odpowiednio) macierząoraz wektorem stałych, natomiast b jest wektorem zmiennych

– rozwiązanie układu polega na znalezieniu wektora b zapewniającego równość: Xb = y

– w ogólności, róŜne moŜliwe przypadki opisuje twierdzenie Kroneckera-Capelli’ego; w szczególności (dla X będącego macierzą pełnego rzędu) moŜliwe są następujące sytuacje

• gdy m < n, to Xb = y moŜe mieć nieskończenie wiele rozwiązań• gdy m = n, to Xb = y moŜe mieć jedno rozwiązanie• gdy m > n, to Xb = y moŜe mieć zero rozwiązań

– co oznacza, Ŝe nie istnieje wektor b zapewniający równość Xb = y

226

Przykład zastosowania metody Newtona-Raphsona

• Wywód PNK startujący od rozwiązania układu równań, c.d.• RozwaŜamy sytuację, w której nie istnieje wektor b zapewniający

równość Xb = y– wtedy moŜna szukać x takiego, aby wektor Xb był jak

najbardziej „bliski” wektorowi y, tzn. aby wektor Xb – ybył jak najbardziej „bliski” wektorowi 0

– formalnie: szukamy wektora b minimalizującego wartość wyraŜenia (skalarnego) ||Xb – y||2

• uwaga: znane jest optymalne rozwiązanie analityczne tego problemu, mające postać: b = (XTX)–1XTy (jest wynik tzw. metody najmniejszych kwadratów, MNK)

227

Przykład zastosowania metody Newtona-Raphsona

• Rozwiązywanie PNK metodą Newtona-Raphsona • Niech s(b) = ||Xb – y||2

– poniewaŜ dla rzeczywistych w zachodzi ||w||2 ≡ wTw, więc takŜe ||Xb – y||2 = (Xb – y)T(Xb – y)

– przekształcając to wyraŜenie otrzymujemy:||Xb – y||2 = (Xb – y)T(Xb – y) = ((Xb)T – yT)(Xb – y) == (bTXT – yT)(Xb – y) = bTXT(Xb – y) – yT(Xb – y) == bTXTXb – bTXTy – (yTXb – yTy) = bTXTXb – bTXTy – yTXb + yTy == bTXTXb – 2bTXTy + yTy

228

Przykład zastosowania metody Newtona-Raphsona

• Rozwiązywanie PNK metodą Newtona-Raphsona, c.d.• Ustalamy następujące składowe:

– gradient: ∇∇∇∇s(b) = 2XTXb – 2XTy = 2(XTXb – XTy) (zaleŜy liniowo od b)– hesjan: Hs(b) = 2XTX (nie zaleŜy od b)

• zatem (Hs(bk))–1 = (1/2)(XTX)–1 (nie zaleŜy od b)

• A więc (Hs(b))–1∇∇∇∇s(b) = (1/2)(XTX)–1·2(XTXb – XTy) = = (XTX)–1(XTXb – XTy) = (XTX)–1XTXb – (XTX)–1XTy == Ib – (XTX)–1XTy = b – (XTX)–1XTy

229

Przykład zastosowania metody Newtona-Raphsona

• Rozwiązywanie PNK metodą Newtona-Raphsona, c.d.• Po zaadaptowaniu schematu iteracyjnego

metody Newtona-Raphsona xk+1 = xk – (Hf(xk))–1∇∇∇∇f(xk) do funkcji s(b) (zmienną jest wektor b) powstaje schemat:bk+1 = bk – (Hs(bk))–1∇∇∇∇s(bk)

• Wykorzystując równość (Hs(b))–1∇∇∇∇s(b) = b – (XTX)–1XTyotrzymujemy ostatecznie:bk+1 = bk – (bk – (XTX)–1XTy) = bk – bk + (XTX)–1XTy = (XTX)–1XTy

• Czyli dla dowolnego b0 zachodzi:b1 = b0 – (b0 – (XTX)–1XTy) = b0 – b0 + (XTX)–1XTy = (XTX)–1XTy

230

Przykład zastosowania metody Newtona-Raphsona

• Rozwiązywanie PNK metodą Newtona-Raphsona, c.d.• Uzyskany wynik w postaci b1 = (XTX)–1XTy

– powstaje w wyniku wykonania jednego (pierwszego) kroku– nie zaleŜy od b0 (tzn. dla kaŜdego b0 wektor b1 będzie taki sam) – stanowi rozwiązanie optymalne (czyli wynik wygenerowany przez MNK)

• Wniosek: dla kaŜdego rozwiązania początkowego metoda Newtona-Raphsona znajduje optymalne rozwiązanie PNK w jednym kroku

231

Więcej o metodach iteracyjnych

• Krok (wielowymiarowej) metody iteracyjnej– wektor dodawany do wektora xk w celu przekształcenia go w wektor xk+1

nosi nazwę kroku metody i jest oznaczany przez sk

232

Więcej o metodach iteracyjnych

• Ogólna postać (wielowymiarowych) metod iteracyjnych wyraŜona z jawnym wykorzystaniem kroku metody

Algorytm

1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• znajdź sk

• oblicz xk+1 = xk + sk

• podstaw k = k + 1

233

Więcej o metodach iteracyjnych

• Wersja algorytmu Newtona-Raphsona z jawnym wykorzystaniem kroku metody

Algorytm

1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• oblicz sk = –(Hf(xk))–1∇∇∇∇f(xk)• oblicz xk+1 = xk + sk

• podstaw k = k + 1

234

Więcej o metodach iteracyjnych

• Wyznaczając krok metody moŜliwe jest rozwaŜenie osobno – kierunku poszukiwań: dk

• wektor (zasadniczo niezerowy)

• reprezentuje wyłącznie kierunek (tzn. kierunek kroku metody)

• jeŜeli jest niezerowy, to jest zwykle przedstawiany postaci unormowanej (tzn. o długości 1)

– długości kroku: αk

• skalar (zasadniczo niezerowy)

• specyfikuje wyłącznie długość (tzn. długość kroku metody)

• moŜe być wyznaczany tylko wtedy, gdy dk ≠ 0

– wtedy: krok metody sk = αkdk

235

Więcej o metodach iteracyjnych

• Kierunek poszukiwań i długość kroku na podstawie wektora kroku– mając sk (który w metodzie Newtona-Raphsona obliczamy jako

sk = –(Hf(xk))–1∇∇∇∇f(xk)) moŜna (o ile sk ≠ 0) zawsze znaleźć kierunek poszukiwań dk i długość kroku αk wykorzystując zaleŜności

• dk = sk/||sk||• αk = ||sk||

(choć tak naprawdę nie są juŜ wtedy one metodzie potrzebne)• uwaga: krok metody, a tym samym kierunek poszukiwań i długość kroku

mogą nie istnieć!

– w niektórych innych metodach kolejność pozyskiwania tych elementów moŜe być jednak inna (najpierw kierunek i długość, a potem krok), co pozwala tym metodom pokonywać pewne słabości metody Newtona-Raphsona

236

Więcej o metodach iteracyjnych

• Ogólna postać (wielowymiarowych) metod iteracyjnych wyraŜona z jawnym wykorzystaniem kierunku poszukiwańoraz długości kroku

Algorytm1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• znajdź dk

• znajdź αk

• oblicz sk = αkdk

• oblicz xk+1 = xk + sk

• podstaw k = k + 1

237

Problemy metody Newtona-Raphsona

• Potencjalne problemy– kierunek poszukiwań

• nie istnieje• jest bliski wektorowi zerowemu• nie jest właściwy

– w szczególności: nie tworzy kata rozwartego z gradientem

– długość kroku • jest bliska zeru• jest niewłaściwa

• Problemy te nie są wynikiem jakiegoś błędu postepowania, lecz wynikiem stosowania w metodzie (zawsze skończonego) przybliŜania funkcji f(x))

238

Idea niezaleŜnego kierunku poszukiwań i długości kroku

• Problem długości kroku w metodzie Newtona-Raphsona– obserwacja: dla znalezionego kroku metody sk = –(Hf(xk))–1∇∇∇∇f(xk)

długość tego kroku αk = ||sk|| moŜe być nieoptymalna, tzn. moŜe się okazać, Ŝe lepsze przybliŜenie muminum funkcji otrzymuje siędla długości kroku większej lub mniejszej od obliczonej

239

Idea niezaleŜnego kierunku poszukiwań i długości kroku

• Inna metoda poszukiwania kroku metody sk

– ustal dk ≠ 0– znajdź αk ≥ 0 minimalizujące funkcję f(αk) = f(xk + αkdk)

• w praktyce interesują nas wartości αk > 0

– oblicz sk = αkdk

• Metoda ta zawiera wewnętrzny problem optymalizacji – jest to zawsze problem optymalizacji jednowymiarowej

z ograniczeniem na zakres zmiennej (zmienna nieujemna)

– jako taki moŜe być rozwiązywany np. metodą Newtona (z modyfikacją uwzględniającą nieujemność zmiennej)

240

Uogólniona metoda Newtona

Ilustracja problemu: znajdź αk ≥ 0 minimalizujące f(αk) = f(xk + αkdk)

xk

241

Uogólniona metoda Newtona

Ilustracja problemu: znajdź αk ≥ 0 minimalizujące f(αk) = f(xk + αkdk)

dk

242

Ilustracja problemu: znajdź αk ≥ 0 minimalizujące f(αk) = f(xk + αkdk)

243

Ilustracja problemu: znajdź αk ≥ 0 minimalizujące f(αk) = f(xk + αkdk)

Uogólniona metoda Newtona

αk0

244

Idea niezaleŜnego kierunku poszukiwań i długości kroku

• Przykład tworzenia (jednowymiarowej) funkcji f(αk) = f(xk + αkdk)– funkcja: f(x) = (x1)2 + 2(x2)2 + 3x1

– xk = 1

2

– dk = –5/2

–2

– wtedy– xk + αkdk = 1 – 5/2·αk

2 – 2αk

– f(αk) = (1 – 5/2·αk)2 + 2(2 – 2αk)2 + 3(1 – 5/2·αk) == 57/4·(αk)2 – 57/2·αk + 12

245

Idea niezaleŜnego kierunku poszukiwań i długości kroku

• WaŜna implikacja warunku „ znajdź αk ≥ 0 …”: – dk musi być tak dobrany, Ŝe aby dotrzeć do minimum funkcji z wektora

xk naleŜy poruszać się w stronę wyznaczoną wektorem dk („do przodu”)

– a więc przyjęcie np. • dk = –∇∇∇∇f(xk) jest dopuszczalne

– bo wektor –∇∇∇∇f(xk) wskazuje kierunek maksymalnego spadku funkcji– znalezione αk będzie potencjalnie dodatnie

• dk = ∇∇∇∇f(xk) jest niedopuszczalne– bo wektor ∇∇∇∇f(xk) wskazuje kierunek maksymalnego wzrostu funkcji– znalezione αk będzie zawsze zerem

• Sytuacje szczególne (powinny być uwzględnione w warunkach stopu metod)– dk = 0– αk = 0

246

Idea niezaleŜnego kierunku poszukiwań i długości kroku

• Poszukiwanie dowolnej (niekoniecznie nieujemnej) długości kroku metody sk

– ustal dk ≠ 0– znajdź αk minimalizujące funkcję f(αk) = f(xk + αkdk)

(zamiast: „znajdź αk ≥ 0 minimalizujące funkcję f(αk) = f(xk + αkdk)”)– oblicz sk = αkdk

• Metoda ta zawiera wewnętrzny problem optymalizacji – jest to zawsze problem optymalizacji jednowymiarowej bez ograniczeń

– jako taki moŜe być rozwiązywany np. (optymalizacyjną) metodąNewtona

247

Uogólniona metoda Newtona

Ilustracja problemu: znajdź αk minimalizujące f(αk) = f(xk + αkdk)

xk

248

Uogólniona metoda Newtona

Ilustracja problemu: znajdź αk minimalizujące f(αk) = f(xk + αkdk)

±dk

249

Ilustracja problemu: znajdź αk minimalizujące f(αk) = f(xk + αkdk)

250

Ilustracja problemu: znajdź αk minimalizujące f(αk) = f(xk + αkdk)

Uogólniona metoda Newtona

αk0

251

Idea niezaleŜnego kierunku poszukiwań i długości kroku

• WaŜna implikacja warunku „ znajdź αk …”: – dk moŜe być tak dobrany, Ŝe aby dotrzeć do minimum funkcji z wektora

xk naleŜy poruszać się po linii wyznaczonej wektorem dk („do przodu”lub „do tyłu”)

– a więc przyjęcie np. • dk = –∇∇∇∇f(xk) jest dopuszczalne

– wektor –∇∇∇∇f(xk) wskazuje kierunek maksymalnego spadku funkcji– znalezione αk będzie wtedy potencjalnie dodatnie

• dk = ∇∇∇∇f(xk) jest dopuszczalne– wektor ∇∇∇∇f(xk) wskazuje kierunek maksymalnego wzrostu funkcji– znalezione αk będzie wtedy potencjalnie ujemne

• Sytuacje szczególne (powinny być uwzględnione w warunkach stopu metod)– dk = 0– αk = 0

252

Idea niezaleŜnego kierunku poszukiwań i długości kroku

• Modyfikacja metody Newtona-Raphsona wykorzystująca optymalizacyjne poszukiwanie długości kroku metody

Algorytm

1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• ustal dk

• znajdź αk ≥ 0 minimalizujące funkcję f(αk) = f(xk + αkdk)

• oblicz sk = αkdk

• oblicz xk+1 = xk + sk

• podstaw k = k + 1

(podstawowy algorytm tzw. uogólnionych metod newtonowskich)

253

Metoda Newtona-Raphsona

• Metoda Newtona-Raphsona

Algorytm

1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• oblicz sk = –(Hf(xk))–1∇∇∇∇f(xk)• oblicz xk+1 = xk + sk

• podstaw k = k + 1

254

Popularne modyfikacje (w skrócie)

• Uogólniona metoda Newtona

Algorytm

1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• oblicz dk = –(Hf(xk))–1∇∇∇∇f(xk)

• znajdź αk ≥ 0 minimalizujące funkcję f(αk) = f(xk + αkdk)

• oblicz sk = αkdk

• oblicz xk+1 = xk + sk

• podstaw k = k + 1

(metoda charakteryzuje się ulepszoną zbieŜnością)

255

Popularne modyfikacje (w skrócie)

• Metoda Cauchy’ego

Algorytm

1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• oblicz dk = –∇∇∇∇f(xk)

• znajdź αk ≥ 0 minimalizujące funkcję f(αk) = f(xk + αkdk)

• oblicz sk = αkdk

• oblicz xk+1 = xk + sk

• podstaw k = k + 1

(metoda nie wymaga znajomości hesjanu ani drugich pochodnych)

256

Popularne modyfikacje (w skrócie)

• Metoda Levenberga-Marquarda (ujednolicona)

Algorytm

1. ustal wektor x0 i podstaw k = 0

2. dopóki nie zachodzi warunek stopu, wykonuj:• znajdź ε ≥ 0 gwarantujące dodatnią określoność macierzy Hf(xk) + εI• oblicz dk = –(Hf(xk) + εI)–1∇∇∇∇f(xk)

• znajdź αk ≥ 0 minimalizujące funkcję f(αk) = f(xk + αkdk)• oblicz sk = αkdk

• oblicz xk+1 = xk + sk

• podstaw k = k + 1

(metoda gwarantuje zbieŜność dla kaŜdego wektora początkowego)

257

Ujednolicona a nieujednolicona metoda Levenberga-Marquarda

• Podsumowując: w klasycznym sformułowaniu metody Levenberga-Marquarda kierunek poszukiwań dk, zadany równością dk = –(Hf(xk) + εI)–1∇∇∇∇f(xk), znajduje się rozwiązując układ równań(Hf(xk) + εI)dk = –∇∇∇∇f(xk),co prowadzi do uzyskania identycznego wektora dk(o ile taki istnieje)

• Stosowane w ramach wykładu ujednolicenie (w sensie: ujednolicenie zapisu) tej metody oznacza przede wszystkim, Ŝe obliczanie kierunku poszukiwań dk zapisuje się jako „oblicz dk = –(Hf(xk) + εI)–1∇∇∇∇f(xk)”, (co ujednolica ten zapis z opisami pozostałych metod)a nie jako „znajdź dk rozwiązując układ rownań (Hf(xk) + εI)dk = –∇∇∇∇f(xk)”, (co jest znacznie praktyczniejsze z obliczeniowego punktu widzenia)

258

Ujednolicona a nieujednolicona metoda Levenberga-Marquarda

• Dodatkowa uwaga: obliczanie wektora zadanego równaniem x = A–1b poprzez rozwiązanie układu równań Ax = b moŜna stosować takŜe w pozostałych metodach– np. w metodzie Newtona-Raphsona krok metody sk, dany jako

sk = –(Hf(xk))–1∇∇∇∇f(xk), moŜna obliczać rozwiązając układ równań(Hf(xk))sk = –∇∇∇∇f(xk), gdzie sk oznacza wektor zmiennych (dzięki czemu nie ma potrzeby znajdowania odwrotności hesjanu)

259

Parametryzacja metody Levenberga-Marquarda (ujednoliconej)

• Rola parametru ε > 0 przy ustalaniu wartości macierzy Hf(xk) + εI– jakie wartości moŜe (w ekstremalnych sytuacjach)

przyjmować parametr ε?

260

Parametryzacja metody Levenberga-Marquarda (ujednoliconej)

• Oznaczenia – d ≡ dk

– g ≡ ∇∇∇∇f(xk) – P ≡ Hf(xk) + εI

(gdzie wartość ε ≥ 0 jest tak dobrana, Ŝe P jest dodatnio określona)• Przy tych oznaczeniach kierunek poszukiwań przedstawia się jako

d = –P–1g

261

Parametryzacja metody Levenberga-Marquarda (ujednoliconej)

• Rola parametru ε przy ustalaniu wartości macierzy P ≡ Hf(xk) + εI– niech ε → 0

• wtedy P → Hf(xk) oraz d = –P–1g = –(Hf(xk))–1g(stosując pełne oznaczenia: dk = –(Hf(xk))–1∇∇∇∇f(xk))

– wniosek: (ujednolicona) metoda Levenberga-Marquarda sprowadza sięw tym przypadku do uogólnionej metody Newtona

262

Parametryzacja metody Levenberga-Marquarda (ujednoliconej)

• Rola parametru ε przy ustalaniu wartości macierzy P ≡ Hf(xk) + εI– niech ε → ∞

• wtedy P → εI oraz d = –P–1g = –(εI)–1g = –(1/ε)I–1g = –(1/ε)Ig = –(1/ε)g(stosując pełne oznaczenia: dk = –(1/ε)∇∇∇∇f(xk))

– uwaga: poniewaŜ wektor dk definiuje jedynie kierunek poszukiwań, jego długośćjest nieistotna, a więc kaŜdy dodatni skalar s w wyraŜeniu dk = –s∇∇∇∇f(xk) moŜe byćpominięty

– wobec powyŜszej uwagi i warunku ε ≥ 0, kierunek poszukiwań moŜna zapisaćjako dk = –∇∇∇∇f(xk)

– wniosek: (ujednolicona) metoda Levenberga-Marquarda sprowadza sięw tym przypadku do metody Cauchy’ego