روش مونت کارلو
مقدمه
روش مونت-کارلو (به انگلیسی: Monte Carlo method) یک الگوریتم محاسباتی است که از نمونهگیری تصادفی برای محاسبه نتایج استفاده میکند. روشهای مونت-کارلو معمولاً برای شبیهسازی سیستمهای فیزیکی، ریاضیاتی و اقتصادی استفاده میشوند.
از طرف دیگر روش مونت کارلو یک طبقه از الگوریتمهای محاسبه گر میباشند که برای محاسبه نتایج خود بر نمونه گیریهای تکرار شونده ی تصادفی اتکاء میکنند. روشهای مونته کارلو اغلب زمان انجام شبیه سازی یک سامانه ریاضیاتی یا فیزیکی میشوند استفاده میشوند. به دلیل اتکای آنها بر محاسبات تکراری و اعداد تصادفی یا تصادفی کاذب، روشهای مونته کارو اغلب به گونهای تنظیم میشوند که توسط رایانه اجرا شوند. گرایش به استفاده از روشهای مونته کارلو زمانی بیشتر میشود که محاسبه پاسخ دقیق با کمک الگوریتمهای قطعی ناممکن یا ناموجه باشد. روشهای شبیه سازی مونته کارلو مخصوصا در مطالعه سیستمهایی که در آن تعداد زیادی متغیر با درجه آزادیهای دو به دو مرتبط وجود دارد مفید است، از جمله این سیستمها میتوان به سیالات، جامداتی که به شدت کوپل شدهاند، مواد بی نظم و ساختارهای سلولی (مدل سلولی پاتز – Potts- را ببیند) اشاره نمود. از آن گذشته، روشهای مونته کارلو برای شبیه سازی پدیدههایی که عدم قطعیت زیادی در ورودیهای آنها وجود دارد نیز مفید هستند، مثلاً محاسبه ریسک در تجارت. همچنین این روشها به طور گستردهای در ریاضیات مورد استفاده قرار میگیرند: یک نمونه استفاده سنتی کاربرد این روشها در برآورد انتگرالهای معین است، به خصوص انتگرالهای چند بعدی با محدودههای مرزی پیچیده. واژه مونته کارلو در دهه ۱۹۴۰ (دهه ۱۳۱۰ شمسی) به وسیله فیزیکدانانی که روی پروژه ساخت یک سلاح اتمی در آزمایشگاه ملی لوس آلاموس آمریکا کار میکردند رایج شدهاست.
تاریخچه
ریشه نام «مونتکارلو» از زبان ایتالیایی است و به اصلیت اسم شاهزاده کارلو سوم از موناکو بر میگردد که زیر نفوذ و حمایت دربار ایتالیا قرار داشت. تا قبل از سال ۱۸۶۱ که موناکو به شکلی خودمختار درآمد، زبان رسمی ایتالیایی بود، اما در یکصد سال گذشته، زبان رسمی به فرانسوی تغییر داده شد.
مونتکارلو (در فرانسوی: Monte-Carlo) نام منطقهای است بسیار مشهور در کشور خودمختار موناکو واقع در اروپای غربی. جمعیت ساکن در مونتکارلو در حدود ۳۰۰۰ نفر را شامل میشود. منطقه مونتکارلو، ثروتمندترین منطقه از کشور خودمختار موناکو است.
نام روش مونت کارلو توسط تحقیقات فیزیکدانانی چون استنیسواف اولام، انریکو فرمی و جان فون نیومن شهرت فراوان یافت. این اسم مبدایی به یک کازینو ای در موناکو است که عموی اولام برای قمار پول قرض میکردهاست.تصادفی بودن و تکرار طبیعی فرایندها مشابه فعالیتهای در کازینوها است.
کاربرد
روشهای تصادفی برای محاسبه و آزمایش (که عموماً به عنوان شبیه سازی تصادفی شناخته میشوند) را بدون تردید میتوان تا اولین پیشگامان نظریه احتمال دنبال کرد (سوزن بافون، کار جزیی روی نمونهها توسط ویلیام گوست)، ولی به طور ویژه میتوان آن را در دوران قبل از محاسبات الکترونیکی دنبال کرد. تفاوت اساسی که معمولاً دربارهٔ روش شبیه سازی مونت کارلو بیان میشود این است که به طور اصولی نوع روش شبیه سازی را وارون میکند و نظر مسایل را با یافتن مدل مشابه احتمالی به خود جلب میکند. روشهای پیشین برای شبیه سازی و مدل سازی آماری عموماً عکس این کار را انجام میدادند: استفاده از شبیه سازی برای امتحان کردن مسایل مشخص قطعی.
به هر حال همان طور که میدانیم مثالهای دیدگاه «وارون» به صورت تاریخی نیز وجود دارند، آنها تا قبل از آمدن روش مونت کارلو به عنوان یک روش عمومی در نظر گرفته نمیشدند.
شاید معروفترین استفادهٔ اخیر از این روش توسط انریکو فرمی در سال۱۹۳۰ باشد، هنگامی که او از یک روش تصادفی برای دستیابی به خواص نوترون تازه کشف شده، استفاده کرد. همچنین روشهای مونت کارلو مرکزیت شبیه سازی مورد نیاز در پروژهٔ منهتن را داشتند اگرچه که در آن زمان در استفاده از ابزارهای محاسباتی در محدودیت جدی قرار داشتند. بنابراین مونت کارلو در زمانی مورد مطالعه و بررسی توسط دانشمندان قرار گرفت که کامپیوترهای الکترونیکی برای اولین بار پا به عرصه گذاشتند.(از سال ۱۹۴۵ تا امروز)
در ۱۹۵۰ در لوس آلاموس برای تحقیقات جدیدی که دربارهٔ بمبهای هیدروژنی آغاز شده بود مورد استفاده قرار گرفت و در رشتههای فیزیک و شیمی فیزیک و تحقیق در عملیات مشهور شد.
شرکت رند(Rand) و نیروی هوایی ایالات متحده دو سازمان مرتبط برای جمعآوری و ارسال اطلاعات دربارهٔ روشهای مونت کارلو در طول این زمان بودهاست، و کاربردهای گستردهٔ این روش را یافتهاند.
استفاده از روش مونت کارلو نیاز به استفادهٔ مقادیر زیادی اعداد تصادفی دارد و این استفاده باعث کنار رفتن و عدم گسترش زایندههای اعداد شبه تصادفی بود.
نگاه کلی
تنها یک روش مونته کارلو وجود ندارد، بلکه این واژه به گستره وسیعی از روشهایی که بسیار به کار گرفته میشوند اطلاق میگردد. به هر حال، این رویکردها یک الگوی مشخصی را پیروی میکنند:
- محدودهای از ورودیهای ممکن را تعریف میکنند.
- از آن محدوده ورودیهای تصادفی را تولید میکنند.
- با استفاده از ورودیهای بدست آمده یک سری محاسبات مشخص را انجام میدهند.
- نتایج هر یک از اجراهای محاسباتی را در پاسخ نهایی ادغام میکنند.
مثال:روش مونت کارلو برای تخمین عدد π
برای مثال میتوان مقدار عدد π (پی) را با استفاده از روش مونته کارلو محاسبه نمود.
یک مربع روی صفحه ترسیم کنید، سپس یک دایره را درون آن محاط کنید. در ادامه چندین شکل با اندازه یکسان را روی آن به طور یکنواختپخش کنید(برای مثال، دانههای شن یا برنج) در سرتاسر مربع.
سپس تعداد اشیاء درون دایره را بشمارید، در چهار ضرب کنید و عدد به دست آمده را بر تعداد کل اشیاء درون مربع تقسیم نمایید.
نسبت اشیاء درون دایره در مقابل اشیاء درون مربع تقریباً برابر خواهد بود با ۴/π، که همان نسبت سطح دایرهاست به سطح مربع. بنابراین شما تخمینی از عدد π را به دست آوردهاید. توجه داشته باشید که چگونه تخمین عدد π از یک الگوی مشخص شده در روش مونته کارلو پیروی میکند.
ابتدا ما یک محدوده از متغیرها را تعریف کردیم که یک مربع بود که دایره ما را محاط کرده بود. سپس ورودیها را به طور تصادفی تولید کردیم (پخش دانهها به طور یکنواخت درون مربع)، سپس محاسبات را برای هر ورودی انجام دادیم (بررسی کردیم که آیا دانه درون دایره هست یا نه). در آخر، تمام جوابها را در جواب نهایی ادغام نمودیم. همچنین به این نکته توجه داشته باشید که دو ویژگی مشترک دیگر روشهای مونته کارلو این است:
اتکای محاسبات بر اعداد تصادفی خوب
همگرایی تدریجی به سمت تخمینهای بهتر در زمانی که دادههای بیشتری شبیه سازی میشوند.
محاسبه عدد پی با روش مونت کارلو
کاربرد ها
شبیه سازی مونت کارلو به طور ویژهای در مطالعهٔ سیستمها با درجه آزادی زوج متعدد مورد استفاده قرار میگیرد مثل مایعات، مواد متخلخل، مایعات شدیداً زوج و ساختارهای حفره دار(مانند ساختار حفره دار پات). روشهای مونت کارلو به صورت وسیعی در مدل سازی پدیدهها با مقادیر قابل توجهی عدم اطمینان در ورودیها مورد استفاده قرار میگیرد مثل:
محاسبهٔ ریسک در تجارت (نمونه کاربرد آن در اقتصاد، مدل سازی تصادفی است)استفادهٔ کلاسیک از این روشها برای ارزیابی و محاسبهٔ انتگرالهای معین، به طور خاص برای انتگرالهای چند بعدی باشد با شرایط مرزی پیچیده، استفاده میشود.
روشهای مونت کارلو همچنین برای محاسبهٔ ارزش سرمایه شرکتها، ارزیابی سرمایهٔ پروژهها نیز استفاده میشود.
همچنین روشهای مونت کارلو در فیزیک محاسباتی، شیمی فیزیک و زمینههای مرتبط با این دو کاربرد فراوان دارد.
مونت کارلو علاوه بر این، تحت تاثیر بسزای خود را در حل معادله دیفرانسیلهای زوج انتگرالی در زمینهٔ تشعشع و انتقال انرژی ثابت کردهاست پس بنا براین این روش برای آشکار سازی جهانی محاسبات که مدلهای مجازی سه بعدی تصاویر فوتوریالیستیک را تولید میکند، مورد استفاده قرار میگیرد.
روشهای مونت کارلو در زمینههای بسیاری نیز در ریاضیات محاسباتی مورد استفاده قرار میگیرد، که فقط یک خوش شانس میتواند نتیجهٔ صحیح بگیرد. یک مثال کلاسیک، الگوریتم رابین است که برای آزمایش اول بودن اعداد مورد استفاده قرار میگیرد.
همچنین الگوریتم لاس وگاس نیز به همین موضوع میپردازد ولی با ایدهای متفاوت.
- زمینههای کاربرد مونت کارلو
- گرافیک، به طور خاص خط اثر پرتو
- مدل سازی جا به جایی نور در رشتههای بیولوژیک
- مونت کارلو در اقتصاد
- مهندسی اطمینان
- در شبیه سازی پیچش برای پیش بینی ساختار پروتین
- در تخقیقات تجهیزات نیم رسانا، برای مدل سازی جا به جایی حاملهای کنونی
- در محیط زیست، بررسی آلایندهها
- کاربرد مونت کارلو در فیزیک استاتیک
- در طراحی احتمالاتی برای شبیه سازی و درک تغییرپذیری
- در شیمی فیزیک، به طور خاص برای شبیه سازی قالبهای اتمهای درگیر
- در علوم کامپیوتر:
- الگوریتم لاس وگاس
- LURCH
- Computer Go
- بازیها
- کاربردهای گسترده در فیزیک هستهای
ریاضیات
کاربرد روش مونت-کارلو در ریاضیات و آمار بسیار گستردهاست. با استفاده از این روش، با انتخاب تصادفی یک یا تعداد محدودی پاسخ از میان پاسخهای موجود، تلاش میشود تا به راه حل قابل قبولی دست یافت. این تکنیک زمانی ارزش پیدا میکند، که مجموعه آلترناتیوهای موجود برای پاسخ یک مساله بسیار بزرگ باشد و عملاً امکان آزمودن تمامی آنها وجود نداشته باشد؛ یک نمونه کلاسیک در این زمینه، الگوریتم رابین برای تست اول بودن یک عدد میباشد. الگوریتم رابین بیان میدارد که با داشتن یک عدد مانند n که غیر اول است، یک عدد تصادفی مانند x، دارای احتمال ۷۵٪ است تا ثابت کند عدد n عددی غیر اول است. بنابراین، با داشتن عدد غیر اولی مانند n اگر عددی تصادفی مانند x یافت شود، بطوری که ثابت کند n احتمالاً عددی اول است، ما موفق به آزمودن گزینههایی شدهایم که احتمال رخداد آنها ۱ به ۴ است. حال با یافتن ۱۰ عدد دیگر مانند x که ثابت کند n احتمالاً عددی اول است، موفق به یافتن مجموعهای شدهایم که احتمال وقوع آنها ۱ به میلیون است. الگوریتم لاس وگاس نیز از روش مونت-کارلو بهره میبرد. یکی از رایج ترین کاربرد مونت کارلو، انتگرال گیری مونت کارلو است.
انتگرال گیری
روشهای قطعی انتگرال گیری عددی به وسیله دریافت عدد نمونههای فاصله دار یکنواخت از یک تابع است. به طور کلی، این روش برای توابع یک متغیری بسیار خوب جواب میدهد. در حالی که برای تابعی از بردارها، روشهای تربیع قطعی بی تاثیراند.ہ(مثلاً برای محاسبهی انتگرال 2X اعداد تصادفی تولید شده توسط توابع گاوس را در صفحهای مشخص میریزد و با استفاده از نسبت نقاط داخل و خارج تابع مساحت محاسبه میشود)
برای انتگرال گیری عددی از یک تابع دو متغیره از بردارها، نقاط فاصله دار به صورت چهارخانه به طور مساوی روی صفحه دو بعدی مورد نیاز است.
برای نمونه یک صفحهٔ ۱۰x۱۰ نیاز به ۱۰۰ نقطه دارد. اگر بردار ما ۱۰۰ بعدی باشد، تقسیم بندی مورد نیاز روی صفحه، نیاز به
10100
(عدد گوگول)نقطه دارد که برای محاسبه بسیار بزرگ است.
روش مونت کارلو روشی را برای خروج از این رشد نمایی پیشنهاد میکند. تا زمانی که تابع مورد سوال یک تابع خوش رفتار است، به وسیله انتخاب تصادفی نقاط در فضای ۱۰۰ بعدی و گرفتن نوعی میانگین از مقادیر تابع در این نقاط، میتواند تخمین زده شود. با به کار گیری قانون اعداد بزرگ، این روش همگرایی به 1/{\sqrt {N}} را نشان میدهد.
روشهای انتگرال گیری:
مدل نمونه برداری مستقیم
نمونه برداری با اهمیت
نمونه برداری طبقه به طبقه
نمونه برداری طبقه به طبقهٔ بازگشتی
الگوریتم وگاس
راه تصادفی مونت کارلو شامل زنجیرهای مارکوو
الگوریتم متروپولیس-هاستینگ
مدل سازی گیبس
فیزیک
یکی از مهمترین کاربردهای روش مونت-کارلو در زمینههای فیزیک محاسباتی، شیمیفیزیک و کرومودینامیک کوانتومی جهت انجام محاسبات پیچیده مربوط به ساخت پوشش گرمایی مورد استفاده بر روی یک فضاپیما یا موشک بالستیک میباشد.
شیمی
همچنین از کاربردهای عملی این روش در دانش شیمیفیزیک، میتوان به ساخت و بررسی مدل مولکولی اشاره نمود که به عنوان جایگزینی برای روش محاسباتی دینامیک مولکولی و شیمی کوانتومی مطرح میشود.
هدف اصلی روش مونت کارلو یا دینامیک مولکولی محاسبه خواص تعادلی یک سیستم است. در این روش پس از حصول اطمینان از بودن در حالت تعادل، با تغییر تصادفی موقعیت و جهت گیری ذرات موجود در سیستم، پیکربندیهایی از سیستم تولید میشود. منظور از پیکربندی مجموعهای از موقعیت و جهت گیری همهٔ ذرات در یک حالت از تمام حالتهای ممکن سیستم است. پیکربندی تولید شده در هر مرحله با احتمالی که توسط قوانین ترمودینامیک آماری تعیین میگردد، رد یا تأیید میشود. این احتمال به انرژی پتانسیل بین دو ذره بستگی دارد. در هر پیکربندی خاصیت ترمودینامیکی مورد نظر اندازه گیری میشود. با نمونه برداری صحیح از این پیکربندیها و میانگین گیری، میتوان مفدار آن خاصیت را در حال تعادل به دست آورد.
مزیت این روش به دینامیک مولکولی، نیاز نداشتن به محاسبهٔ اندازه حرکت برای هر ذرهاست که باعث کاهش زمان محاسبات رابانهای میشود. از معایب این روش میتوان به دست نیاوردن اطلاعات راجع به دینامیک سیستم اشاره کرد.
اقتصاد
یکی از مهمترین کاربردهای روش مونت-کارلو، حل معادله موسوم به بلک-اسکولس در مورد مدل سازی بازار سهام دارای نرخهای تصادفی است. حل این معادله منجر به ساخت یک مدل شبیه سازی شده اقتصادی میگردد. این مدل اقتصادی برای پیشبینی تغییرات در یک بازار بورس مورد استفاده قرار میگیرد.