Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Układ jest w stanie X. Do jakiego stanu przejdzie? wybieramy losowo stan próbny X p z pewnego otoczenia stanu X X p :=X+(  x 1,  x 2,...,  x n ) – 

Podobne prezentacje


Prezentacja na temat: "Układ jest w stanie X. Do jakiego stanu przejdzie? wybieramy losowo stan próbny X p z pewnego otoczenia stanu X X p :=X+(  x 1,  x 2,...,  x n ) – "— Zapis prezentacji:

1 układ jest w stanie X. Do jakiego stanu przejdzie? wybieramy losowo stan próbny X p z pewnego otoczenia stanu X X p :=X+(  x 1,  x 2,...,  x n ) –  x i losowane z przedziału [-d,d] z rozkładem równomiernym możliwości: 1) X p mniej prawdopodobne liczymy r=w(X p )/w(X) jeśli r  1 [ w(X p )  w(X) ] – akceptujemy stan próbny X:=X p jeśli r<1 [w(X p )<w(X) ] akceptujemy punkt próbny z prawdopodobieństwem r losujemy liczbę losową q z przedziału [0,1] jeśli q < r – akceptujemy stan próbny X:=X p jeśli q  r – odrzucamy Algorytm Metropolisa zawsze akceptujemy bardziej prawdopodobny punkt punkt mniej prawdopodobny akceptujemy z pstwem w(X p )/w(X) X XpXp w(X) [rozkład pstwa] X XpXp w(X) X XpXp 2) X p bardziej prawdopodobne

2 N=10 000 wędrowców. rozkład w(x)=C exp(-50x 2 ) kropki: liczba wędrowców w przedziale x-dx/2, x+dx/2 dx=0.01 równowaga w schemacie Metropolisa start: rozkład równomierny niebieska linia łączy punkty dane

3 obliczenia całek MC 3)użycie niejednorodnego rozkładu pstwa g(x)  0 taka aby g(x) mogło być gęstością prawdopodobieństwa wtedy: I = g(x) dla zmiennej losowej x opisanej rozkładem g(x) jeśli g(x) tak wybrana, aby h(x) słabo zmienna w przedziale (a,b) - mamy szanse na niski błąd uwaga: jeśli h(x i )=const – błąd będzie 0 / N

4 Przykład liczenia całek z użyciem a. Metropolisa h(x)=sqrt(5*pi) cos(x) liczba kroków a.Metropolisa start – wędrowcy rozmieszczeni wg rozkładu równomiernego z przedziału [-5,5] czerwona kreska: = niebieska kreska: dokładna wartość całki (1.1355) -5 5 N=1000 wędrowców : amplituda fluktuacji maleje z N C (gdzie C bliskie jedynce)

5 na brzegu u=0 Schemat Metropolisa a równania różniczkowe - wariacyjna metoda MC rozwiązywania równania Poissona x=+1 y=-1 y=+1 x=-1 pokażemy (w swoim czasie), że dla u - rozwiązania r.Poissona minimalna jest całka: rozwiązanie próbne: r. dokładne: C,a – parametry wariacyjne należy wybrać tak aby S - optymalne

6 Aby wyznaczyć stałą normalizacji E: funkcjonał: średnia z ułamka dla zbioru punktów (x,y) o rozkładzie -wariacyjna metoda MC rozwiązywania równania Poissona rozkład pstwa wyznaczony przez rozwiązanie próbne – generowany przy pomocy algorytmu Metropolisa

7 -wariacyjna metoda MC rozwiązywania równania Poissona wyniki: policzone dla a=2.2, C=0.018 (w pobliżu minimum S) – analityczna wartość S= -5.2e-4 dla wybranej funkcji próbnej (wartość dla rozwiązania dokładnego S=-6.27e-4) iteracje M „chwilowa wartość S” średnia wartość S od iteracji 200 (gdy osiągnięta równowaga w rozkładzie wędrowców) błąd (niepewność ) do oszacowania z zakresu fluktuacji wartości chwilowej względem średniej = np. odchylenie standardowe od 200 iteracji N=100

8 zakres fluktuacji = funkcja 1/sqrt(N) iteracje M N=100 N=1000 N=10 000

9 wyniki w funkcji parametrów wariacyjnych -wariacyjna metoda MC rozwiązywania równania Poissona N=1000 a=2.2, C=0.018 N=1000 a=2*2.2, C=2*0.018

10 -wariacyjna metoda MC rozwiązywania równania Poissona r.dokładne (dokładna S=-6.27e-4) S= -5.2e-4 1)„pik” niższy 2)słabiej zlokalizowany przy tej funkcji próbnej lepiej być nie może trzeba ją poprawić

11 Algorytm Metropolisa jako generator liczb losowych zaleta: pozwala wygenerować zmienną losową o dowolnym rozkładzie prawdopodobieństwa w dowolnej liczbie wymiarów wada:rozkład musi zostać wyhodowany algorytm, który posiada tę samą zaletę, a nie wymaga hodowli rozkładu: metoda von Neumanna

12 Generacja liczb losowych o zadanym rozkładzie metoda von Neumanna (rejection method) (ze stałą obwiednią) g(x)=[sin(x)/x] 2 /  h= 1/  : fcja obwiedni (pomocnicza) g(x)  h h losujemy x liczbę losową z przedziału [-10:10] rozkładem równomiernym. dla danego x: losujemy drugą liczbę - y z rozkładem równomiernym z [0,1] Jeśli y < g(x)/h akceptujemy punkt x sposób prosty, lecz bywa kosztowny. w naszym przypadku – wydajność 15% [pole pod czerwoną krzywą do pola pod czarną]

13 10 000 losowań x 1500 zmiennych x zaakceptowanych liczba zliczeń / 1500 w przedziale dx=0.01 oczekiwana liczba zliczeń / 1500

14 100 000 losowań x 15 000 zmiennych x zaakceptowanych 1000 000 losowań x 150 000 zmiennych x zaakceptowanych metoda von Neumanna ze zmienną obwiednią wada – bywa niskowydajna u nas – 15% metoda odwróconej dystrybuanty – wydajność 100%

15 x y(x) x-losowany równomiernie gęstość – g(y) tak dobrać y(x), aby odzyskać zadane g(y) metoda odwróconej dystrybuanty g(y) = pożądany rozkład pstwa y(x) = szukana zależność

16 metoda odwróconej dystrybuanty tak dobrać y(x), aby odzyskać zadane g(y) zamiast nieoznaczonej odpada stała całkowania x 1 0 ( x – losowa z rozkładem jednorodnym [0,1])

17 x– losowane równomiernie z przedziału [0,1] chcemy dostać g(y)=exp(-y) dla y od 0 do nieskończoności bierzemy c=1

18 względna częstość zliczeń (częstość zliczeń / częstość losowań) w przedziale o dx=0.01 niebieska-wynik oczekiwany dla exp(-x) [np dla x=0 : około dx ] 1000 000 losowań generacja rozkładu exponencjalnego – metodą odwróconej dystrybuanty - przykład

19 wydajność = 1 (jedna liczba losowa o zadanym rozkładzie na jedno rand() : metoda odwróconej dystrybuanty g(x) G(x) rozkład prawdopodobieństwa g(x) (na rysunku g(x)=exp(-x), dla x>0, 0 dla x<0) dystrybuanta rozkładu na rysunku G(x)=1-exp(-x) x – zmienna losowa o rozkładzie g i ściśle rosnącej i łatwo odwracalnej dystrybuancie G R–losowana z rozkładem równomiernym na odcinku (0,1) R=G(x) x=G -1 (R) uzyskamy generator o rozkładzie g G(x)=1-exp(-x) =y x= - log (1-y) = log ( 1/(1-y)) wylosujemy y z równomiernego x wyliczymy, podlegać będzie rozkładowi exp(-x)

20 inny przykład: generujemy zmienną losową x o rozkładzie g(x)=cos(x), dla x od 0 do pi/2. G(x)=sin(x) N-względna częstość zliczeń w przedziale o dx=0.01 y=arcsin(x)

21 Metoda = nie nadaje się do zastosowania dla rozkładu którego dystrybuanta nie jest odwracalna g(x)G(x)

22 g(x)=[sin(x)/x] 2 /pi ? Problem z odwracaniem funkcji. Przykład czy możemy zastosować metodę odwróconej dystrybuanty do generacji zmiennej o rozkładzie nie bardzo, bo całka z sin(x)/x jest funkcją specjalną [sine integral], -dostępna w bibliotekach numerycznych, ale trudno odwrócić podobny problem z rozkładem normalnym: metoda odwróconej dystrubuanty – ograniczona stosowalność - metoda wydajna i stosowalna szerzej

23 Generacja liczb losowych o zadanym rozkładzie metodą von Neumanna ze zmienną obwiednią [konwerter rozkładów pstwa (z jednego rozkładu – drugi)] g(x)=[sin(x)/x] 2 /pi h(x)=C f(x) obwiednia rozkład pstwa, który potrafimy wygenerować h(x)  g(x)

24 Generacja liczb losowych o zadanym rozkładzie metodą von Neumanna ze zmienną obwiednią [konwerter rozkładów pstwa, z jednego-drugi]. g(x)=[sin(x)/x] 2 /pi h(x)=C f(x) obwiednia rozkład pstwa 1)losujemy x z rozkładem f(x) [musimy mieć odpowiedni generator]. 2)liczymy r=g(x)/h(x) 3)losujemy q z [0,1] jeśli q<r – akceptujemy punkt [g(x)/h(x)] f(x)=g(x)/C generacja tym bardziej efektywna, im g(x) bliższa wybranej obwiedni

25 Generacja liczb losowych o zadanym rozkładzie metodą von Neumanna ze zmienną obwiednią [ z jednego rozkładu – drugi]. metody ze stała i zmienną obwiednią różnią się użytym generatorem ze stałą = generator równomierny dwa razy użyty zmienną = generator równomierny oraz generator z rozkładem f g(x)=[sin(x)/x] 2 /pi h(x)=C f(x)

26 h(x)=1.5 f(x) 1) wygenerować f(x) 2) wyliczyć r=g(x)/h(x) 3) wylosować q z [0,1], jeśli q<r – bierzemy x Generacja liczb losowych o zadanym rozkładzie metodą von Neumanna ze zmienną obwiednią losowa [0:1] losowa z rozkładem f(x) od –10 do 10 g(x)=[sin(x)/x] 2 /pi

27 N=10 000 6500 – zaakceptowanych N=100 000 65000 – zaakceptowanych wydajność metody von Neumanna podnieśliśmy 5-krotnie stosując zmienną obwiednią

28 Generacja rozkładu normalnego: centralne twierdzenie graniczne f(x,   ) – dowolny rozkład pstwa o wartości średniej 0 i wariancji    x   dla N – nieskończonego rozkład g(y) dąży do normalnego o wariancji   x=rand()-0.5 : średnia 0 wariancja  2= 1/12 [najbardziej prawdopodobne znoszenie x do zera, ogony – tylko gdy x-wartości maxymalne]  sqrt(N)

29 Podsumowanie – generatory liczb losowych o zadanych rozkładach Algorytm Metropolisa zaleta: pozwala wygenerować zmienną losową o dowolnym rozkładzie prawdopodobieństwa w dowolnej liczbie wymiarów wada:rozkład musi zostać wyhodowany metoda von Neumanna ze stałą obwiednią wada: niska wydajność odwróconej dystrybuanty – ograniczona stosowalność (dystrybuanta musi dać się odwrócić) metoda von Neumanna ze zmienną obwiednią same zalety, wymagany podobny do poszukiwanego rozkład prawdopodobieństwa

30 Równania różniczkowe: równania opisujące relacje spełniane przez pochodne nieznanej (poszukiwanej) funkcji cząstkowe: funkcja więcej niż jednej zmienna, np.: czas i położenie u x t t+dt np. wychylenie u(x,t) struny w położeniu x i czasie t równania cząstkowe: nie zawsze jedną ze zmiennych jest czas, ale zawsze opisują obiekty rozciągłe druga zasada dynamiki Newtona dla struny

31 równania różniczkowe zwyczajne: jedna zmienna niezależna np. czas dla elementów punktowych, nierozciągłych v(t) RC L napięciowe prawo Kirchoffa równanie liniowe drugiego rzędu r=(x,y) układ równań: ruch w polu centralnym (nieliniowe) równania Lotki-Volterry z – populacja zajęcy, w– wilków  naturalne tempo wzrostu pop. zajęcy (pod nieobecność w),  – zaniku wilków bez z  parametry oddziaływania populacji układ równań nieliniowych 2 rzędu – problem początkowy po zadaniu x(t=0),y(t=0), x’(t=0), y’(t=0). układ r. 1 rzędu nieliniowe

32 zwyczajne zagadnienie brzegowe (zamiast czasu, położenie w 1D -element rozciągły opisany jedną współrzędną) np. równanie Eulera-Bernoulliego: wygięcie jednorodnego elastycznego pręta pod wpływem rozłożonego obciążenia w(x) lewy koniec: zamocowany i podparty prawy koniec: swobodny zwyczajne rzędu drugiego lub wyższego + warunki na funkcje i pochodne na końcach przedziału

33 Zaczynamy od rozwiązywania równań zwyczajnych 1)prostsza analiza niż dla cząstkowych 2)wprowadzimy pojęcia zbieżności, dokładności, stabilności itd. przydatne do metod rozwiązywania równań cząstkowych 3)jedna z metod rozwiązywania równań cząstkowych (metoda linii) - sprowadzamy równanie cząstkowe do układu równań zwyczajnych

34 Metoda linii: układy równań różniczkowych zwyczajnych - po dyskretyzacji przestrzennej cząstkowego równania różniczkowego równanie adwekcji (konwekcji) x x 1 x 2 x 3 x 4 x 5 centralny iloraz na pochodną przestrzenną u n (t)=u(x n,t) xx układ N równań zwyczajnych t

35 Metoda linii: układy równań różniczkowych zwyczajnych - po dyskretyzacji przestrzennej cząstkowego równania różniczkowego równanie adwekcji (konwekcji) x x 1 x 2 x 3 x 4 x 5 centralny iloraz na pochodną przestrzenną u n (t)=u(x n,t) xx układ N równań zwyczajnych t

36 zwyczajne równania różniczkowe rzędu pierwszego [oraz ich układy] warianty: liniowe (układy równań liniowych rozwiązuje się analitycznie) inna forma – nieliniowe  =0 –jednorodne jeśli f=f(t) (nie zależy od y) rozwiązanie – całka nieoznaczona jeśli f=f(y) (nie zależy od t) równanie autonomiczne (nie podlega zaburzeniom zależnym od t)

37 zagadnienie początkowe: równanie różniczkowe + warunek początkowy jeśli f=f(t) rozwiązanie: całka oznaczona

38 Równanie różniczkowe zwyczajne dowolnego rzędu można sprowadzić do układu równań pierwszego rzędu wystarczy jeśli potrafimy efektywnie rozwiązać układ równań rzędu pierwszego Przykład: Zmiana oznaczeń Definicja traktowana jako jedno z równań do rozwiązania Równanie na najwyższą pochodną - jedyne „niedefinicyjne” Układ równań do rozwiązania

39 O konieczności numerycznego rozwiązywania RRZ 1R: analitycznie rozwiązać można układ równań liniowych. nieliniowe: na ogół nie. V2V2 V1V1 r1r1 r2r2 V3V3 r3r3 Układ 2 ciał oddziaływujących grawitacyjnie - analitycznie rozwiązany przez Newtona Układ 3: ciał – nie posiada analitycznego rozwiązania ponadto: automaty mające reagować na otoczenie nie znają postaci analitycznej f : ta jest brana z pomiarów bez wzoru na f skazani jesteśmy na rachunki numeryczne zazwyczaj nie znamy rozwiązań analitycznych równań nieliniowych

40 Numeryczne rozwiązywanie problemu początkowego jeśli potrafimy rozwiązać układ równań rzędu pierwszego -rozwiążemy każdy różniczkowy problem początkowy

41 Dobra metoda ma zapewnić zadaną dokładność przy pomocy minimalnej liczby wywołań f (przy maksymalnym kroku czasowym) przy dyskusji metod– zakłada się, że wyliczenie f jest kosztowne – [jeśli nie jest kosztowne – nie ma problemu] Dyskretyzacja zmiennej czasowej t  t n+1  t n+2 n n+1 n+2 itd. Numeryczne rozwiązywanie problemu początkowego dyskretyzacja zmiennej czasowej sprowadza równania różniczkowe do różnicowych (metoda różnic skończonych)

42 im więcej znamy pochodnych w punkcie t tym większe otoczenie t możemy dobrze przybliżyć obciętym rozwinięciem Taylora tw. Taylora - między t a  t istnieje taki punkt , że ograniczenie na resztę: maksymalna wartość czwartej pochodnej u w okolicy t stąd O(  t 4 )

43 u=exp(-t 2 /2) Rząd błędu obcięcia w rozwinięciu Taylora u(0)=1u=exp(-t 2 /2) rozwijane wokół t=0 [w roz.T.  t=t]

44 błąd lokalny schematu różnicowego: odchylenie wyniku numerycznego od dokładnego uzyskane w pojedynczym kroku Jawny schemat Eulera można wyliczyć bo znamy t i u(t) błąd lokalny jawnego Eulera w kroku t n-1  t n wg tw. Taylora ln =ln = przepis na pojedynczy krok z u(t) do u(t+  t )

45 Jawny schemat Eulera... krok wcale nie musi być taki sam dla każdego n, ale tak przyjmiemy do analizy stosowany wielokrotnie:

46 u t u0u0 jawny Euler krok wykonywany wg nachylenia (wartości f) z początku przedziału t+  t każdy krok wykonywany z nachyleniem branym z chwili, w której krok się zaczyna Zmniejszamy krok  t: Błąd lokalny zmaleje, ale wykonamy więcej kroków. W każdym kroku wprowadzamy nowy błąd. Błędy się akumulują. Czy opłaca się zmniejszać kroki czasowe? Definicja: Błąd globalny e=rozwiązanie dokładne w chwili t minus rozwiązanie numeryczne w chwili t „Czy się opłaca” znaczy: Czy błąd globalny maleje gdy  t maleje ? a jeśli tak - czy maleje do zera? (czy możliwe jest dokładne rozwiązanie równania różniczkowego uzyskane jako granica schematu różnicowego) Jawny schemat Eulera dokładny u(t)=exp(t) dla du/dt=u

47 Jawny schemat Eulera Czy błąd całkowity maleje gdy  t maleje ? Czy maleje do zera? eksperyment numeryczny problem początkowy: u’= u, u(0)=1 z rozwiązaniem dokładnym u(t)=exp( t)   t=0.001 dokładny jawny Euler e (błąd globalny) = dokładny - numeryczny

48 Jawny schemat Eulera Czy błąd globalny maleje gdy  t maleje ? Czy maleje do zera? eksperyment numeryczny problem początkowy: u’= u, u(0)=1 z rozwiązaniem dokładnym u(t)=exp( t) zmniejszajmy krok czasowy, jaki wynik w chwili t=0.01 ? [1/e=.3678794] n  t u n exp(  )  u n 1010 -3 0.348671.920  10 -2 10 2 10 -4 0.366031.847  10 -3 10 3 10 -5 0.367691.840  10 -4 10 4 10 -6 0.367841.839  10 -5 błąd globalny w chwili t=0.01 wydaje się zmieniać liniowo z krokiem czasowym  interpretacja: błąd lokalny rzędu  t 2 popełniony n = t/  t razy daje błąd globalny rzędu  t

49 Definicja: Metody różnicowa jest zbieżna jeśli błąd globalny znika do zera w chwili T gdy z  t do 0 zmniejszajmy krok czasowy, jaki wynik w chwili t=0.01 ? [1/e=.3678794] n  t u n exp(  )  u n 1010 -3 0.348671.920  10 -2 10 2 10 -4 0.366031.847  10 -3 10 3 10 -5 0.367691.840  10 -4 10 4 10 -6 0.367841.839  10 -5 błąd globalny w chwili t=0.01 wydaje się zmieniać liniowo z krokiem czasowym

50 czy jawny schemat Eulera jest zbieżny? sprawdźmy analitycznie propagacje błędu (błąd globalny) dla ogólniejszego problemu modelowego. problem modelowy: ogólne liniowe niejednorodne o stałych współczynnikach zmiana y proporcjonalna do wartości y i niejednorodności  rozwiązanie analityczne: warunek początkowy wzmacniany z czynnikiem exp( t) ten sam czynnik [tzw. propagator] wzmacnia niejednorodność  niejednorodność wchodzi do rozwiązania tak jak warunek początkowy – z opóźnieniem odpowiadającym chwili w której się pojawia Zasada Duhamel  t=0 t

51 oznaczenia y n = rozwiązanie równania różnicowego w chwili t n =  t n y(t n ) = rozwiązanie dokładne r. różniczkowego schemat Eulera: odpowiedni wzór dla rozwiązania dokładnego z równania różniczkowego Aby wyliczyć błąd globalny e n+1 =y(t n+1 )-y n+1 odejmujemy stronami podkreślone wzory

52 e n+1 =y(t n+1 )-y n+1 gdzieś między t n a t n+1 błąd globalny w kroku n+1= błąd globalny w kroku n wzmocniony o czynnik (1+  t) i powiększony o nowy błąd lokalny cofnijmy się do chwili początkowej wnwn w n-1 (Euler) (dokładny)

53 dyskretna zasada Duhamel: błąd początkowy wzmacniany jak (1+  t) liczba kroków błąd który pojawia się w kroku i-tym wzmacniany w ten sam sposób, co początkowy Rozwiązanie dokładne równania przybliżonego:

54 Czy metoda zbieżna? ? załóżmy, że potrafimy wstawić warunek początkowy bezbłędnie : e 0 = 0 Zakładamy, że arytmetyka jest dokładna

55 pierwsze dwa wyrazy r.T. reszta +  t 2 | |^2 /2 exp(  n ) ? Pokazaliśmy, że metoda Eulera zbieżna dla problemu modelowego. Można pokazać, że zbieżna jest dla każdej f (ciągłej w sensie Lipschitza) Jej rząd zbieżności (dokładności) pierwszy

56 rząd zbieżności (dokładności) określa jakość metody: jak szybko błąd globalny dla chwili T zmierza do zera w funkcji  t jawna metoda Eulera = pierwszy rząd dokładności O(  t) jest to minimalny rząd dokładności dla użytecznej metody zmniejszajmy krok czasowy, jaki wynik w chwili t=0.01 ? [1/e=.3678794] n  t u n exp(  )  u n 1010 -3 0.348671.920  10 -2 10 2 10 -4 0.366031.847  10 -3 10 3 10 -5 0.367691.840  10 -4 10 4 10 -6 0.367841.839  10 -5

57


Pobierz ppt "Układ jest w stanie X. Do jakiego stanu przejdzie? wybieramy losowo stan próbny X p z pewnego otoczenia stanu X X p :=X+(  x 1,  x 2,...,  x n ) – "

Podobne prezentacje


Reklamy Google