Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 1 Metody obliczeniowe wykład nr 5 – metody Monte Carlo –zastosowanie metod do obliczenia całek wielokrotnych Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 2 Obliczanie całek wielokrotnych ∫ ...∫∫ f ( x ,..., x )dx ...dx 1 n 1 n =? Ω • kubatury - wielowymiarowe odpowiedniki kwadratur złoŜonych • dla funkcji n- zmiennych podział na n-wymiarowe obszary regularne w których znane są wzory kwadratur prostych dla funkcji n-zmiennych dokonując podziału odcinka [ai,bi] (i=1,...,n) na m części otrzymujemy mn n-wymiarowych kostek 30 25 20 Z 15 10 5 0 0 -5 1 2 3 -10 0 1 5 2 3 Y 4 5 6 6 ∫ ...∫∫ f ( x ,..., x )dx ...dx 1 4 X Ω n 1 n = Ω ⋅ f ( X śr ) ? Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 3 Prawo wielkich liczb ilustracja Przy dostatecznie duŜej liczbie prób częstość wystąpienia danego zdarzenia losowego będzie się dowolnie mało róŜniła od jego prawdopodobieństwa. (Bernoulli 1713) • X– zmienna losowa: – zdarzenie losowe – rzut monetą – moŜliwe wartości zmiennej {0,1} • x1=0 : wyrzucenie reszki • x2=1: wyrzucenie orła • EX – wartość oczekiwana zmiennej X (= p1x1+ p2x2 =1/2) • Sn=X(1)+...+X(n) – suma wartości n realizacji zmiennej losowej X • przeprowadzając duŜą liczbę rzutów symetryczną monetą, moŜemy oczekiwać Ŝe stosunek liczby "wyrzuconych" orłów do liczby wszystkich rzutów będzie bliski 0,5 • tym większe są na to szanse im większa jest liczba rzutów Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 4 Prawo wielkich liczb zasada metody Monte Carlo Z prawdopodobieństwem dowolnie bliskim 1 moŜna się spodziewać iŜ przy dostatecznie duŜej liczbie prób średnia wartość zmiennej losowej będzie się dowolnie mało róŜniła od wartości oczekiwanej tej zmiennej. • X(i) – realizacje zmiennej losowej X o rozkładzie normalnym • Definiując zmienną losową Sn= X(1)+...+ X(n) wnioskujemy iŜ dla dowolnych ε>0, δ>0 : Sn P (| − EX |< ε ) < 1 − δ n dla n→∞ Mówimy Ŝe ciąg zmiennych losowych Sn/n jest zbieŜny (wg prawdopodobieństwa) do wartości oczekiwanej zmiennej losowej X Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 5 Przykład wykorzystywanie zjawisk losowych w procesach obliczeniowych – Igła Buffona • obliczenie wartości liczby π za pomocą losowych rzutów igły na płaszczyznę długość igły (l<d) odległość pomiędzy równoległymi liniami odległość środka igły od najbliŜszej prostej mniejszy z kątów pomiędzy igłą a prostopadłą do linii – M liczba wszystkich wykonanych rzutów – N liczba rzutów w których igła przecięła jedną z linii – kaŜdy rzut – realizacja zmiennej losowej 2wymiarowej (x,ϕ ϕ) (x, ϕ)∈ ∈[0,d/2]× ×[0,π/2] – – – – l d x ϕ igła przecina jedną z prostych jeśli x < ϕ l cos ϕ 2 Zmienna losowa: zdarzenie losowe (rzut igłą) ⇒ (x,ϕ ϕ)∈ ∈[0,d/2]× ×[0,π/2] Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 6 Przykład– Igła Buffona • dystrybuanta zmiennej losowej X F ( x) = P ( X < x) lim F ( x ) = 1 x →∞ oznacza prawdopodobieństwo, Ŝe zmienna losowa X jest mniejsza od pewnej liczby rzeczywistej x. • gęstość prawdopodobieństwa zmiennej losowej ciągłej X - funkcja f(x) spełniająca warunek: x F ( x) = ∫ f (t )dt −∞ lim F ( x, ϕ ) = 1 x →∞ ϕ →∞ Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 7 Przykład– Igła Buffona • dystrybuanta zmiennej losowej X F ( x) = P ( X < x) lim F ( x ) = 1 x →∞ oznacza prawdopodobieństwo, Ŝe zmienna losowa X jest mniejsza od pewnej liczby rzeczywistej x. • gęstość prawdopodobieństwa zmiennej losowej ciągłej X - funkcja f(x) spełniająca warunek: x F ( x) = ∫ f (t )dt −∞ • dystrybuanta zmiennej losowej (x,ϕ ϕ) lim F ( x, ϕ ) = 1 F ( x, ϕ ) = P ( X < x , Φ < ϕ ) x →∞ ϕ →∞ • gęstość prawdopodobieństwa zmiennej losowej ciągłej(x,ϕ ϕ) F ( x, ϕ ) = x ϕ ∫ ∫ f (t , u )dtdu − ∞− ∞ Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 8 Przykład– Igła Buffona P ( X < 0 lub ϕ < 0) = 0 PoniewaŜ (x,ϕ ϕ)∈ ∈[0,d/2]× ×[0,π/2] P ( X > d / 2 lub ϕ > π / 2) = 0 1.2 F ( x, ϕ ) = d/2 1 lim F ( x, ϕ ) = 1 x →∞ ϕ →∞ 0.6 0.4 0.2 π /2 0 0 -0.2 ∫ ∫ f (t , u )dtdu − ∞− ∞ 0.8 -0.2 x ϕ 0.2 0.4 0.6 0.8 1 1.2 Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 9 Przykład– Igła Buffona P ( X < 0 lub Φ < 0) = 0 PoniewaŜ (x,ϕ ϕ)∈ ∈[0,d/2]× ×[0,π/2] P ( X > d / 2 lub Φ > π / 2) = 0 1.2 F ( x, ϕ ) = d/2 1 x ϕ ∫ ∫ f (t , u )dtdu − ∞− ∞ lim F ( x, ϕ ) = 1 0.8 x →∞ ϕ →∞ 0.6 0.4 0.2 π /2 0 -0.2 0 -0.2 0.2 0.4 0.6 0.8 1 1.2 4 f ( x , ϕ ) = πd 0 0≤ x≤ d π ,0 ≤ ϕ ≤ 2 2 p. p. Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 10 Przykład– Igła Buffona PoniewaŜ (x,ϕ ϕ)∈ ∈[0,d/2]× ×[0,π/2] 4 f ( x , ϕ ) = πd 0 0≤ x≤ F ( x, ϕ ) = d π ,0 ≤ ϕ ≤ 2 2 p. p. x ϕ ∫ ∫ f (t , u )dtdu − ∞− ∞ F ( x, ϕ ) = P ( X < x , Φ < ϕ ) igła przecina jedną z prostych jeśli l π φ ∈ [0, ], x < cos ϕ 2 2 prawdopodobieństwo iŜ igła przetnie jedną z prostych wynosi: π l p = F ( , cos ϕ ) 2 2 Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 11 Przykład– Igła Buffona PoniewaŜ 4 f ( x , ϕ ) = πd 0 (x,ϕ ϕ)∈ ∈[0,d/2]× ×[0,π/2] 0≤ x≤ F ( x, ϕ ) = d π ,0 ≤ ϕ ≤ 2 2 p. p. x ϕ ∫ ∫ f (t , u )dtdu − ∞− ∞ F ( x, ϕ ) = P ( X < x , Φ < ϕ ) igła przecina jedną z prostych jeśli l π φ ∈ [0, ], x < cos ϕ 2 2 prawdopodobieństwo iŜ igła przetnie jedną z prostych wynosi: π l π l p = F ( , cos ϕ ) = ∫ 2 2 0 2 2 cos ϕ π l 2 2 cos ϕ ∫ f ( x, ϕ ) dϕdx = ∫ ∫ 0 0 0 4 2l dϕdx = πd πd Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 12 Przykład– Igła Buffona • prawdopodobieństwo iŜ igła przetnie jedną z prostych wynosi p= 2l πd Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 13 Przykład– Igła Buffona prawdopodobieństwo iŜ igła przetnie jedną z prostych wynosi p= 2l πd p(M) – prawdopodobieństwo empiryczne zdarzenia - igła przetnie jedną z prostych, wyznaczone na podstawie M rzutów p( M ) ≈ N M porównujemy wartości p i p(M): p ≈ p (M ) 2l N ≈ πd M π≈ 2l M d N Zadanie: zapisz kod programu wyznaczający liczbę π opisaną metodą, wykorzystaj funkcję SciLaba rand() do generowania liczb losowych. Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 14 Obliczenie całki wielokrotnej metodą Monte Carlo y = f ( x1 ,..., xm ) • Dana funkcja całkowalna po obszarze domkniętym i ograniczonym S. • Obliczamy całkę I = ∫ ...∫∫ f ( x1 ,..., xm )dx1...dxm S • geometrycznie liczba I przedstawia m-wymiarową objętość walcoidu prostego w przestrzeni Rm+1, zbudowanego nad podstawą S, ograniczonego z góry daną powierzchnią • Czy ∫ ...∫∫ f ( x ,..., x 1 S m )dx1...dxm = S ⋅ f ( X śr ) ? Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 15 Obliczenie całki wielokrotnej metodą Monte Carlo y = f ( x1 ,..., xm ) • Dana funkcja całkowalna po obszarze domkniętym i ograniczonym S. • Obliczamy całkę I = ∫ ...∫∫ f ( x1 ,..., xm )dx1...dxm S • geometrycznie liczba I przedstawia m-wymiarową objętość walcoidu prostego w przestrzeni Rm+1, zbudowanego nad podstawą S, ograniczonego z góry daną powierzchnią • Czy ∫ ...∫∫ f ( x ,..., x 1 m )dx1...dxm = S ⋅ f ( X śr ) ? S • Określam zmienną losową X: • zdarzenie losowe: wybór punktu z obszaru S • wartość zmiennej losowej: wartość funkcji f w wybranym punkcie Całka z funkcji f moŜe być określona jako ∫ ...∫∫ f ( x ,..., x 1 S m ) dx1...dxm = S ⋅ EX Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 16 Obliczenie całki wielokrotnej metodą Monte Carlo • Całkę I = ∫ ...∫∫ f ( x1 ,..., xm )dx1...dxm przekształcamy w ten S sposób, by obszar całkowania zawarty był w całości wewnątrz nwymiarowego prostopadłościanu o boku jednostkowym – obszar S ograniczamy m-wymiarowym równoległobokiem ai ≤ xi ≤ Ai i = 1,2,..., m – dokonujemy zamiany zmiennych: xi = ai + ( Ai − ai )ξ i ⇒ i = 1,2,..., m Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 17 Obliczenie całki wielokrotnej metodą Monte Carlo • obliczamy Jacobian przekształcenia A1 − a1 0 ... 0 = ( A − a )( A − a )...( A − a ) 1 1 2 2 m m ... ... ... Am − am 0 ... A2 − a2 ... ... 0 0 0 • otrzymujemy całkę I = ∫ ...∫∫ F (ξ1 ,..., ξ m )dξ1...dξ m σ F (ξ1 ,..., ξ m ) = ( A1 − a1 ) ⋅ ( A2 − a2 ) ⋅ ... ⋅ ( Am − am ) ⋅ f ( a1 + ( A1 − a1 )ξ1 ,..., am + ( Am − am )ξ m ) Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 18 Obliczenie całki wielokrotnej metodą Monte Carlo • wybieramy m ciągów losowych o rozkładzie równoprawdopodobnym w przedziale [0,1] (1) (1) (1) {ξ1 , ξ 2 ,..., ξ n ,...} {ξ1 , ξ 2 ,..., ξ n ,...} ( 2) (2) ( 2) ... {ξ1 (m) ,ξ2 ( m) ,..., ξ n ( m) ,...} • punkty moŜemy rozpatrywać jako punkty losowe (1) ( 2) ( m) M i = (ξ i , ξ i ,..., ξ i ) i = 1,2,... • bierzemy N punktów (dostatecznie duŜą liczbę): M1,M2,...,MN • sprawdzamy które z nich naleŜą do obszaru σ • niech (dla wygody zmieniamy wskaźniki): M i ∈σ dla i = 1,2,..., N 0 M i ∉σ dla i = N 0 + 1, N 0 + 2,..., N Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 19 Obliczenie całki wielokrotnej metodą Monte Carlo • biorąc dostatecznie duŜą liczbę punktów M1,M2,...,MN0 naleŜących do obszaru σ moŜemy przybliŜyć wartość oczekiwaną EX zmiennej losowej X przez średnią arytmetyczną (prawo wielkich liczb) 1 N y śr = F (M i ) ∑ N 0 i =1 0 • szukana całka wyraŜa się wzorem (σ σ oznacza m-wymiarową objętość obszaru całkowania σ) σ N I = σy śr = F (M i ) ∑ N 0 i =1 0 • jeśli objętość σ trudno obliczyć, moŜemy przyjąć N σ≈ 0 N ⇒ 1 I≈ N N0 ∑ F (M ) i =1 i Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 20 Obliczenie całki wielokrotnej metodą Monte Carlo przykład obliczeniowy • obliczamy całkę I = ∫∫ ( x 2 + y 2 ) dxdy S • obszar całkowania określony jest nierównościami 1 ≤ x ≤ 1, 2 0 ≤ y ≤ 2x −1 • generujemy N punktów losowych, leŜących w [0,1]× ×[0,1] Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 21 Obliczenie całki wielokrotnej metodą Monte Carlo przykład obliczeniowy N liczba wygenerowanych punktów losowych N0 liczba punktów naleŜących do obszaru całkowania średnia wartość N0/N przybliŜone pole obszaru całkowania I przybliŜona wartość całki błąd procentowy 100 17 0.901... 0.17 0.153... 30.1 1000 268 0.851... 0.268 0.2281... 4.3 10000 2487 0.8736... 0.2487 0.2173... 0.7 100000 24825 0.8729... 0.2482 0.2167... 0.9 100000 24854 0.8773... 0.2485 0.2181... 0.3 wartość dokładna całki 0.21875 Zadanie: zapisz kod programu obliczający metodą Monte Carlo wartość całki z funkcji f(x,y,z)=x+2y+z po toroidzie powstałym w wyniku obrotu kwadratu o boku = 1, punktem obrotu – środek układu współrzędnych, promień obrotu = 5. Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 22 Zasady metody Monte Carlo Postępowanie • opisanie danego zadania obliczeniowego w języku rachunku prawdopodobieństwa poprzez wprowadzenie zmiennej losowej • w oparciu o generatory liczb losowych wielokrotna realizacja zmiennej losowej • na podstawie otrzymanych wyników, przy uŜyciu metod statystycznych uzyskanie pewnych informacje o rozkładzie tej zmiennej losowej (najczęściej oszacowanie wartości oczekiwanej rozwaŜanej zmiennej losowej) Nr: 23 Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Zasada metody Monte Carlo Rozwiązanie klasycznego problemu obliczeniowego • algorytm (ciąg działań obliczeniowych) – znalezienie szukanej wielkości f dokładnie albo z zadanym błędem – proces ściśle zdeterminowany: kaŜda realizacja algorytmu przy bezbłędnym wykonaniu daje ten sam wynik Metody Monte Carlo • proces obliczeniowy niezdeterminowany – określają go wyniki prób losowych, róŜne realizacje algorytmu mogą dawać róŜne wyniki – skonstruowanie klasycznego algorytmu jest praktycznie niemoŜliwe – algorytm jest bardzo złoŜony, lub wymaga długotrwałych obliczeń Nr: 24 Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Niektóre zastosowania metody Monte Carlo • • • • rozwiązywanie układów równań liniowych odwracanie macierzy obliczanie całek wielokrotnych zadania związane z ruchem (sieci kolejowe, sterowanie sygnalizacją uliczną) • symulacja zjawisk fizycznych Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 25 Zastosowanie metody Monte Carlo określenie prawdopodobieństwa awarii obiektu budowlanego • N nośność : moŜliwość przejęcia przez obiekt (fundament) obciąŜeń zewnętrznych (wypadkowa wszystkich sił utrzymujących konstrukcję w równowadze) • S oddziaływanie (obciąŜenie – wypadkowa wszystkich sił dąŜących do utraty stateczności przez konstrukcję) Funkcja stanu granicznego G = N – S oddziela strefę bezpieczną od strefy zagroŜenia ≥ 0 G= < 0 stan bezpieczny stan zagroŜenia • prawdopodobieństwo awarii (niespełnienia warunku granicznego) p = P{G < 0} Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 26 Zastosowanie metody Monte Carlo określenie prawdopodobieństwa awarii obiektu budowlanego • N nośność : fundament palowy N = Sp ⋅ Sp π ⋅ D2 4 ⋅ q + ∑ S si ⋅ Asi ⋅ ti i : współczynnik technologiczny = 1,3 D[m] : średnica pala = 1,5 m q [kPa]: jednostkowa wytrzymałość gruntu pod podstawą pala = 1560 kPa Ssi : współczynnik technologiczny Asi[m2] : pole pobocznicy ti [kPa]:jednostkowa wytrzymałość gruntu wzdłuŜ pobocznicy i – indeks warstwy gruntu Parametry Sp,q,ti określono jako zmienne losowe o rozkładzie normalnym i współczynniku zmienności = 0,10 Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 27 Zastosowanie metody Monte Carlo określenie prawdopodobieństwa awarii obiektu budowlanego Rozkład normalny N(µ µ,σ σ) (σ = współczynnik zmienności • µ) - funkcja gęstości prawdopodobieństwa (krzywa Gaussa) b P ( a < x ≤ b) = ∫ f (t ) dt a // losowa wartość zmiennej losowej // o rozkładzie normalnym N(0,1) rand(1,1,”normal”) Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 28 Zastosowanie metody Monte Carlo określenie prawdopodobieństwa awarii obiektu budowlanego Parametry Sp,q,ti określono jako zmienne losowe o rozkładzie normalnym i współczynniku zmienności = 0,10 Przy uŜyciu funkcji SciLaba rand() wygenerowanie wartości (realizacji) dla rozkładu N(0,1) dla kaŜdej zmiennej losowej q0 = 1560 kPa q = q0·wsp_zm·rand(N,1,”normal”) + q0 Rozkład normalny N(0,1) Rozkład normalny dla parametru q (1560 kPa) Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 29 Zastosowanie metody Monte Carlo określenie prawdopodobieństwa awarii obiektu budowlanego Obliczenia: • wykorzystano program komputerowy napisany w języku Scilab • w algorytmie uŜyto metody Monte Carlo odpowiednio dla N = 10000 prób losowych N - liczba prób losowych N0- liczba prób losowych w których G<0 N0 P{G < 0} ≈ N Zadanie: obliczyć, wykorzystując opisaną metodę, oraz podane wyŜej dane prawdopodobieństwo awarii fundamentu, przyjmując iŜ fundament znajduje się w jednej warstwie gruntu o parametrach: Ss1=0,8; t1=64 kPa; As1=141 m2. Przyjąć obciąŜenie S=8500 kN ObciąŜenie Sj [kN] 5000 5500 6000 6500 7000 7500 8000 Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 30 Zastosowanie metody Monte Carlo określenie prawdopodobieństwa awarii obiektu budowlanego Prawdo po do bie ńs two awarii 0,6 0,5 0,4 0,3 0,2 0,1 0 5000 5500 6000 6500 7000 7500 8000 83 pa le 84 pale o bcią Ŝ e nie na pa l [kN] 84 pale - pierwotny 77 pali 79 pali 81 pali Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 42 funkcje SciLaba • rand() – generator liczb losowych Metody obliczeniowe - Budownictwo semestr 2 - wykład nr 5 Nr: 43 Podsumowanie Zastosowanie metod Monte-Carlo • Istota i załoŜenia metody Monte Carlo – pojęcie zbieŜności stochastycznej – wnioski z prawa wielkich liczb • • Igła Buffon’a Obliczenie całki wielokrotnej metodą Monte Carlo – przekształcenie obszaru całkowania – wykorzystanie generatora liczb losowych – obliczenie wartości przybliŜonej całki