Metody obliczeniowe

Transkrypt

Metody obliczeniowe
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