Post on 27-Feb-2019
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
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
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
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
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
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!
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)
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)
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
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
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
248
Uogólniona metoda Newtona
Ilustracja problemu: znajdź αk minimalizujące f(αk) = f(xk + αkdk)
±dk
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