آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو
TRANSCRIPT
![Page 1: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/1.jpg)
محاسبه انتگرال به کمک شبیه سازی مونت کارلو
:مدرس
آرمان ری بددانشجویی دکتری آمار
دانشگاه بیرجند
1
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 2: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/2.jpg)
روش های محاسبه انتگرال
روش تحلیلی•براساس قواعد انتگرال گیری–
روش هندسی•براساس تقریب سطح زیر منحنی–
روش ذوزنقه ای•روش نیوتون راپسون••...
روش شبیه سازی•مونت کارلو–زنجیره مارکوف مونت کارلو ––...
2
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 3: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/3.jpg)
a b
روش تحلیلی
(قواعد انتگرال)محاسبه انتگرال معین با توجه به مفهوم حد جمع •
3
n
abx,dx)x(fx)x(f
b
a
n
i
i
nlim
1
f(xi)
x
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 4: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/4.jpg)
روش هندسی
میانینقطهروش•
4
121021
1
n,...,,,k,/]x)k(a,xka[c
,n
abx,dx)x(fx)c(f
i
n
i
i
a b
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 5: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/5.jpg)
شبیه سازی
.می شودمشخصاحتمالبراساسمقادیرشکهمتغیری:تصادفیمتغیر•
.می افتنداتفاقمثبتاحتمالباکهتصادفیمتغیرمقادیرمجموعه:تصادفیمتغیرگاهتکیه•
.می کندمشخصرااحتمالتصادفیمتغیرمقدارهربرایکهاحتمالیتابع:تصادفیمتغیرتوزیع•
تصادفیمتغیرتوزیعبراساساعدادتولید:خاصتوزیعیکبراساستصادفیاعدادسازیشبیه•
5
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 6: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/6.jpg)
شبیه سازی مونت کارلو
عادیسازیشبیهباکارلومونتسازیشبیهتفاوت•
توزیعازاعدادیتولید:سکهیکبرایخطیاشیرسازیشبیه:دلخواهتوزیعبراساستصادفیاعدادتولید:سازیشبیه–
.می گیریمنظردرخطاینصورتغیردروشیرراپرتابنتیجهباشد،0.5ازبیشمقداراگر.U(0,1)یکنواخت
ویرهاشتعدادشمارش.است½بابرابرهاپرتابکلبهشیرهانسبتاست؟اریبنابحثموردسکهآیا:کارلومونتروش–
سازیشبیهتوسطتولیدیهایخط
مقادیرازیبعضردو(شیرهاتعداد)مقادیرازبعضیقبول-تصادفیاعدادتولید(کارلومونتروشبهسازیشبیه)ترکیب–
سکهنارایبیتعیین.شدهتولیداعدادکلبهشیرهاتعدادنسبتمحاسبه.(هاخط)
6
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 7: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/7.jpg)
روش شبیه سازی
Monte-کارلومونت• Carlo
پیعددمحاسبه–
rتا0بیندرتصادفیاعدادایجاد–
(مساحت)دایرهقطاعدروناعدادیتعداد–
(مربعمساحت)نقاطکلبهقطاعدروننقاطتعدادنسبت–
7
2
2
44 r
A,
rA
r
A
r2
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 8: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/8.jpg)
روش مونت کارلو
rتا0فاصلهدرتصادفیاعدادایجاد•
شدهایجاداعدادردوقبول•
نظرموردمحاسبهانجام•
8
222 ryx
dotstotal
circleindots
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 9: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/9.jpg)
شبیه سازی
Rزبانبهسازیشبیهبرنامه•
odds <- function(n) {
x <- runif(n,0,1)
return(sum(x < 0.5)/n)
}
> odds(1000)
[1] 0.48
9
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 10: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/10.jpg)
Piشبیه سازی و محاسبه عدد
محاسباتیکد•
10
MCPI <- function(N,r) {
x <- runif(N,0,r)
y <- runif(N,0,r)
d2<- (x^2 + y^2)
return(4*sum(d2 < r^2) / N)
}
> MCPI(10000,2)
[1] 3.1628
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 11: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/11.jpg)
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبه•
انتگرالحلهدف–
تابعبازنویسی–
W(x) = h(x).(b-a) f(x) = 1/(b-a) f ~U(a,b)
11
b
a
dx)x(hI
))X(w(Edx)x(f)x(wdx)x(hI f
b
a
b
a
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 12: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/12.jpg)
محاسبه انتگرال به روش مونت کارلو
بزرگاعدادقانون•
میانگیناهآنگباشند،ثابتومتناهیواریانسومیانگینباتوزیعهممستقلتصادفیمتغیرهایازمتناهیدنباله ایاگر–
.می کندمیلتوزیعمیانگینبهدنبالهآنمقادیر
بزرگاعدادقانونانیمیشن•
12
I))X(w(E)x(wN
IpN
i
i
^
1
1
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 13: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/13.jpg)
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبه•
w(x) =x3(1-0)
f(x)= 1/(1-0) =1
U(0,1)یکنواختتوزیعازتصادفیاعدادتولید•
هاw(x)میانگینمحاسبهکمکبهانتگرالبرآورد•
13
1
0
3dxx
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 14: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/14.jpg)
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبهبرنامه
integral<-function(n,a,b)
{
random=runif(n,a,b)
wx=random^3*(b-a)
return(mean(wx))
}
integral(10000,0,1)
[1] 0.2460764
14
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 15: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/15.jpg)
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبه•
U(0,1)توزیعازتصادفیاعدادتولید•
)یکوصفربینهایxبرای)هاW(x)میانگینمحاسبهکمکبهانتگرالبرآورد•
15
1
0
dxe x
1
)x(f
e)x(w x
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 16: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/16.jpg)
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبهبرنامه•
expintegral<-function(n)
{
random=runif(n,0,1)
wx=exp(random)
return(mean(wx))
}
expintegral(1000)
[1] 1.733461
16
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 17: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/17.jpg)
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبه•
N(0,1)توزیعازتصادفیاعدادتولید•
)1ازکمترهایxبرای)هاW(x)میانگینمحاسبهکمکبهانتگرالبرآورد•
17
1
2
1 2
2
1dxe
x
2
2
1
2
11
x
e)x(f)x(w
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 18: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/18.jpg)
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبهبرنامه•
nintegral<-function(n)
{
random=rnorm(n,0,1)
return(mean(random<1))
}
nintegral(1000)
[1] 0.856
18
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 19: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/19.jpg)
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
استانداردنرمالتوزیعازتصادفینمونهیکانتخاب:اولروش•
19
3
2
1 2
2
1dxe
x
2
2
1
2
11
x
e)x(f)x(w
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 20: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/20.jpg)
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
انتگرالمحاسبهبهمربوطبرنامه•
normintegral<-function(n)
{
random=rnorm(n)
return(mean(random>3))
}
normintegral(1000)
[1] 0.002
20
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 21: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/21.jpg)
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
•Importance sampling
.شودسریع ترمحاسبهباعثکهتصادفیداده هایانتخاب•
1واریانسو3میانگینبانرمالتوزیعازتصادفینمونهیکانتخاب:دومروش•
21
3
2
1 2
2
1dxe
x
2
2
2
32
1
32
1
2
1
2
1
2
1
2
1
)x(
)x(
x
e)x(f
e
e
)x(w
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 22: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/22.jpg)
3
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
22
.انتخاب به روش دوم باعث انتخاب داده های مناسب تر می شود•
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 23: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/23.jpg)
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
انتگرالمحاسبهبهمربوطبرنامه•
importance<-function(n)
{
x=rnorm(n,3,1)
wx=dnorm(x)*(x>3)/dnorm(x,3,1)
mean(wx)
}
> importance(1000)
[1] 0.001359719
23
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
![Page 24: آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو](https://reader037.vdocuments.mx/reader037/viewer/2022102620/58a8dc811a28ab5a368b6511/html5/thumbnails/24.jpg)
24
این اسالید ها بر مبنای نکات مطرح شده در فرادرس« آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو»
.تهیه شده است
برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه .نمایید
faradars.org/fvst9407
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org