روش مونت‌کارلو

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