آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو
TRANSCRIPT
محاسبه انتگرال به کمک شبیه سازی مونت کارلو
:مدرس
آرمان ری بددانشجویی دکتری آمار
دانشگاه بیرجند
1
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
روش های محاسبه انتگرال
روش تحلیلی•براساس قواعد انتگرال گیری–
روش هندسی•براساس تقریب سطح زیر منحنی–
روش ذوزنقه ای•روش نیوتون راپسون••...
روش شبیه سازی•مونت کارلو–زنجیره مارکوف مونت کارلو ––...
2
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
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
روش هندسی
میانینقطهروش•
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
شبیه سازی
.می شودمشخصاحتمالبراساسمقادیرشکهمتغیری:تصادفیمتغیر•
.می افتنداتفاقمثبتاحتمالباکهتصادفیمتغیرمقادیرمجموعه:تصادفیمتغیرگاهتکیه•
.می کندمشخصرااحتمالتصادفیمتغیرمقدارهربرایکهاحتمالیتابع:تصادفیمتغیرتوزیع•
تصادفیمتغیرتوزیعبراساساعدادتولید:خاصتوزیعیکبراساستصادفیاعدادسازیشبیه•
5
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
شبیه سازی مونت کارلو
عادیسازیشبیهباکارلومونتسازیشبیهتفاوت•
توزیعازاعدادیتولید:سکهیکبرایخطیاشیرسازیشبیه:دلخواهتوزیعبراساستصادفیاعدادتولید:سازیشبیه–
.می گیریمنظردرخطاینصورتغیردروشیرراپرتابنتیجهباشد،0.5ازبیشمقداراگر.U(0,1)یکنواخت
ویرهاشتعدادشمارش.است½بابرابرهاپرتابکلبهشیرهانسبتاست؟اریبنابحثموردسکهآیا:کارلومونتروش–
سازیشبیهتوسطتولیدیهایخط
مقادیرازیبعضردو(شیرهاتعداد)مقادیرازبعضیقبول-تصادفیاعدادتولید(کارلومونتروشبهسازیشبیه)ترکیب–
سکهنارایبیتعیین.شدهتولیداعدادکلبهشیرهاتعدادنسبتمحاسبه.(هاخط)
6
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
روش شبیه سازی
Monte-کارلومونت• Carlo
پیعددمحاسبه–
rتا0بیندرتصادفیاعدادایجاد–
(مساحت)دایرهقطاعدروناعدادیتعداد–
(مربعمساحت)نقاطکلبهقطاعدروننقاطتعدادنسبت–
7
2
2
44 r
A,
rA
r
A
r2
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
روش مونت کارلو
rتا0فاصلهدرتصادفیاعدادایجاد•
شدهایجاداعدادردوقبول•
نظرموردمحاسبهانجام•
8
222 ryx
dotstotal
circleindots
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
شبیه سازی
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
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
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبه•
انتگرالحلهدف–
تابعبازنویسی–
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
محاسبه انتگرال به روش مونت کارلو
بزرگاعدادقانون•
میانگیناهآنگباشند،ثابتومتناهیواریانسومیانگینباتوزیعهممستقلتصادفیمتغیرهایازمتناهیدنباله ایاگر–
.می کندمیلتوزیعمیانگینبهدنبالهآنمقادیر
بزرگاعدادقانونانیمیشن•
12
I))X(w(E)x(wN
IpN
i
i
^
1
1
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبه•
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
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبهبرنامه
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
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبه•
U(0,1)توزیعازتصادفیاعدادتولید•
)یکوصفربینهایxبرای)هاW(x)میانگینمحاسبهکمکبهانتگرالبرآورد•
15
1
0
dxe x
1
)x(f
e)x(w x
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبهبرنامه•
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
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبه•
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
محاسبه انتگرال به روش مونت کارلو
کارلومونتروشبهانتگرالمحاسبهبرنامه•
nintegral<-function(n)
{
random=rnorm(n,0,1)
return(mean(random<1))
}
nintegral(1000)
[1] 0.856
18
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
استانداردنرمالتوزیعازتصادفینمونهیکانتخاب:اولروش•
19
3
2
1 2
2
1dxe
x
2
2
1
2
11
x
e)x(f)x(w
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
انتگرالمحاسبهبهمربوطبرنامه•
normintegral<-function(n)
{
random=rnorm(n)
return(mean(random>3))
}
normintegral(1000)
[1] 0.002
20
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
•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
3
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
22
.انتخاب به روش دوم باعث انتخاب داده های مناسب تر می شود•
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org
اهمیت نمونه گیری-محاسبه انتگرال به روش مونت کارلو
انتگرالمحاسبهبهمربوطبرنامه•
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
24
این اسالید ها بر مبنای نکات مطرح شده در فرادرس« آموزش محاسبه انتگرال به کمک شبیه سازی مونت کارلو»
.تهیه شده است
برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه .نمایید
faradars.org/fvst9407
محاسبه انتگرال به کمک کارلوشبیه سازی مونت
faradars.org/fvst9407
فرادرس
FaraDars.org