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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
برای کاربردهای دیگر مونته کارلو به صفحه مونته کارلو (ابهام‌زدایی) بروید.
روش مونته کارلو را می‌توان به بازی نبرد کشتی‌ها تشبیه کرد. ابتدا یکی از بازیکنان شلیک‌های تصادفی را انجام می‌دهد. سپس بازیکن از الگوریتم استفاده می‌کند (مثلاً یک کشتی جنگی به فاصله چهار خانه در جهت عمودی یا افقی قرار گرفته‌است). در نهایت بر اساس خروجی نمونه‌های تصادفی و الگوریتم، بازیگر می‌تواند محل های احتمالی کشتی‌های جنگی بازیکن مقابل را حدس بزند

روش مونت-کارلو (به انگلیسی: Monte Carlo method) یک الگوریتم محاسباتی است که از نمونه‌گیری تصادفی برای محاسبه نتایج استفاده می‌کند. روش‌های مونت-کارلو معمولاً برای شبیه‌سازی سیستم‌های فیزیکی، ریاضیاتی و اقتصادی استفاده می‌شوند.

از طرف دیگر روش مونت کارلو یک طبقه از الگوریتم‌های محاسبه گر می‌باشند که برای محاسبه نتایج خود بر نمونه گیری‌های تکرار شونده ی تصادفی اتکاء می‌کنند. روش‌های مونته کارلو اغلب زمان انجام شبیه سازی یک سامانه ریاضیاتی یا فیزیکی می‌شوند استفاده می‌شوند. به دلیل اتکای آنها بر محاسبات تکراری و اعداد تصادفی یا تصادفی کاذب، روشهای مونته کارو اغلب به گونه‌ای تنظیم می‌شوند که توسط رایانه اجرا شوند. گرایش به استفاده از روش‌های مونته کارلو زمانی بیشتر می‌شود که محاسبه پاسخ دقیق با کمک الگوریتم‌های قطعی ناممکن یا ناموجه باشد..[۱] روش‌های شبیه سازی مونته کارلو مخصوصا در مطالعه سیستمهایی که در آن تعداد زیادی متغیر با درجه آزادی‌های دو به دو مرتبط وجود دارد مفید است، از جمله این سیستمها می‌توان به سیالات، جامداتی که به شدت کوپل شده‌اند، مواد بی نظم و ساختارهای سلولی (مدل سلولی پاتز – Potts- را ببیند) اشاره نمود. از آن گذشته، روشهای مونته کارلو برای شبیه سازی پدیده‌هایی که عدم قطعیت زیادی در ورودی‌های آنها وجود دارد نیز مفید هستند، مثلاً محاسبه ریسک در تجارت. همچنین این روش‌ها به طور گسترده‌ای در ریاضیات مورد استفاده قرار می‌گیرند: یک نمونه استفاده سنتی کاربرد این روشها در برآورد انتگرال‌های معین است، به خصوص انتگرال‌های چند بعدی با محدوده‌های مرزی پیچیده. واژه مونته کارلو در دهه ۱۹۴۰ (دهه ۱۳۱۰ شمسی) به وسیله فیزیکدانانی که روی پروژه ساخت یک سلاح اتمی در آزمایشگاه ملی لوس آلاموس آمریکا کار می‌کردند رایج شده‌است..[۲]

تاریخچه[ویرایش]

ریشه نام «مونت‌کارلو» از زبان ایتالیایی است و به اصلیت اسم شاهزاده کارلو سوم از موناکو بر می‌گردد که زیر نفوذ و حمایت دربار ایتالیا قرار داشت. تا قبل از سال ۱۸۶۱ که موناکو به شکلی خودمختار درآمد، زبان رسمی ایتالیایی بود، اما در یکصد سال گذشته، زبان رسمی به فرانسوی تغییر داده شد.[۳]

مونت‌کارلو (در فرانسوی: Monte-Carlo) نام منطقه‌ای است بسیار مشهور در کشور خودمختار موناکو واقع در اروپای غربی. جمعیت ساکن در مونت‌کارلو در حدود ۳۰۰۰ نفر را شامل می‌شود. منطقه مونت‌کارلو، ثروتمندترین منطقه از کشور خودمختار موناکو است.[۴]

نام روش مونت کارلو توسط تحقیقات فیزیکدانانی چون استنی‌سواف اولام، انریکو فرمی و جان فون نیومن شهرت فراوان یافت. این اسم مبدایی به یک کازینو ای در موناکو است که عموی اولام برای قمار پول قرض می‌کرده‌است.تصادفی بودن و تکرار طبیعی فرایندها مشابه فعالیت‌های در کازینوها است.

کاربرد[ویرایش]

روش‌های تصادفی برای محاسبه و آزمایش (که عموماً به عنوان شبیه سازی تصادفی شناخته می‌شوند) را بدون تردید می‌توان تا اولین پیشگامان نظریه احتمال دنبال کرد (سوزن بافون، کار جزیی روی نمونه‌ها توسط ویلیام گوست)، ولی به طور ویژه می‌توان آن را در دوران قبل از محاسبات الکترونیکی دنبال کرد. تفاوت اساسی که معمولاً دربارهٔ روش شبیه سازی مونت کارلو بیان می‌شود این است که به طور اصولی نوع روش شبیه سازی را وارون می‌کند و نظر مسایل را با یافتن مدل مشابه احتمالی به خود جلب می‌کند. روش‌های پیشین برای شبیه سازی و مدل سازی آماری عموماً عکس این کار را انجام می‌دادند: استفاده از شبیه سازی برای امتحان کردن مسایل مشخص قطعی.

به هر حال همان طور که می‌دانیم مثال‌های دیدگاه «وارون» به صورت تاریخی نیز وجود دارند، آنها تا قبل از آمدن روش مونت کارلو به عنوان یک روش عمومی در نظر گرفته نمی‌شدند.

شاید معروفترین استفادهٔ اخیر از این روش توسط انریکو فرمی در سال۱۹۳۰ باشد، هنگامی که او از یک روش تصادفی برای دستیابی به خواص نوترون تازه کشف شده، استفاده کرد. همچنین روشهای مونت کارلو مرکزیت شبیه سازی مورد نیاز در پروژهٔ منهتن را داشتند اگرچه که در آن زمان در استفاده از ابزارهای محاسباتی در محدودیت جدی قرار داشتند. بنابراین مونت کارلو در زمانی مورد مطالعه و بررسی توسط دانشمندان قرار گرفت که کامپیوترهای الکترونیکی برای اولین بار پا به عرصه گذاشتند.(از سال ۱۹۴۵ تا امروز)

در ۱۹۵۰ در لوس آلاموس برای تحقیقات جدیدی که دربارهٔ بمب‌های هیدروژنی آغاز شده بود مورد استفاده قرار گرفت و در رشته‌های فیزیک و شیمی فیزیک و تحقیق در عملیات مشهور شد.

شرکت رند(Rand) و نیروی هوایی ایالات متحده دو سازمان مرتبط برای جمع‌آوری و ارسال اطلاعات دربارهٔ روشهای مونت کارلو در طول این زمان بوده‌است، و کاربردهای گستردهٔ این روش را یافته‌اند.

استفاده از روش مونت کارلو نیاز به استفادهٔ مقادیر زیادی اعداد تصادفی دارد و این استفاده باعث کنار رفتن و عدم گسترش زاینده‌های اعداد شبه تصادفی بود.

نگاه کلی[ویرایش]

تنها یک روش مونته کارلو وجود ندارد، بلکه این واژه به گستره وسیعی از روشهایی که بسیار به کار گرفته می‌شوند اطلاق می‌گردد. به هر حال، این رویکردها یک الگوی مشخصی را پیروی می‌کنند:

  1. محدوده‌ای از ورودی‌های ممکن را تعریف می‌کنند.
  2. از آن محدوده ورودی‌های تصادفی را تولید می‌کنند.
  3. با استفاده از ورودی‌های بدست آمده یک سری محاسبات مشخص را انجام می‌دهند.
  4. نتایج هر یک از اجراهای محاسباتی را در پاسخ نهایی ادغام می‌کنند.
مثال
روش مونت کارلو برای تخمین عدد π

برای مثال می‌توان مقدار عدد π (پی) را با استفاده از روش مونته کارلو محاسبه نمود.

  1. یک مربع روی صفحه ترسیم کنید، سپس یک دایره را درون آن محاط کنید. در ادامه چندین شکل با اندازه یکسان را روی آن به طور یکنواختپخش کنید(برای مثال، دانه‌های شن یا برنج) در سرتاسر مربع.
  2. سپس تعداد اشیاء درون دایره را بشمارید، در چهار ضرب کنید و عدد به دست آمده را بر تعداد کل اشیاء درون مربع تقسیم نمایید.
  3. نسبت اشیاء درون دایره در مقابل اشیاء درون مربع تقریباً برابر خواهد بود با ۴/π، که همان نسبت سطح دایره‌است به سطح مربع. بنابراین شما تخمینی از عدد π را به دست آورده‌اید. توجه داشته باشید که چگونه تخمین عدد π از یک الگوی مشخص شده در روش مونته کارلو پیروی می‌کند.

ابتدا ما یک محدوده از متغیرها را تعریف کردیم که یک مربع بود که دایره ما را محاط کرده بود. سپس ورودی‌ها را به طور تصادفی تولید کردیم (پخش دانه‌ها به طور یکنواخت درون مربع)، سپس محاسبات را برای هر ورودی انجام دادیم (بررسی کردیم که آیا دانه درون دایره هست یا نه). در آخر، تمام جوابها را در جواب نهایی ادغام نمودیم. همچنین به این نکته توجه داشته باشید که دو ویژگی مشترک دیگر روش‌های مونته کارلو این است:

  • اتکای محاسبات بر اعداد تصادفی خوب
  • همگرایی تدریجی به سمت تخمین‌های بهتر در زمانی که داده‌های بیشتری شبیه سازی می‌شوند.

کاربرد ها[ویرایش]

شبیه سازی مونت کارلو به طور ویژه‌ای در مطالعهٔ سیستم‌ها با درجه آزادی زوج متعدد مورد استفاده قرار می‌گیرد مثل مایعات، مواد متخلخل، مایعات شدیداً زوج و ساختارهای حفره دار(مانند ساختار حفره دار پات). روش‌های مونت کارلو به صورت وسیعی در مدل سازی پدیده‌ها با مقادیر قابل توجهی عدم اطمینان در ورودی‌ها مورد استفاده قرار می‌گیرد مثل:

محاسبهٔ ریسک در تجارت (نمونه کاربرد آن در اقتصاد، مدل سازی تصادفی است)استفادهٔ کلاسیک از این روش‌ها برای ارزیابی و محاسبهٔ انتگرال‌های معین، به طور خاص برای انتگرال‌های چند بعدی باشد با شرایط مرزی پیچیده، استفاده می‌شود.

روش‌های مونت کارلو همچنین برای محاسبهٔ ارزش سرمایه شرکت‌ها، ارزیابی سرمایهٔ پروژه‌ها نیز استفاده می‌شود.

همچنین روش‌های مونت کارلو در فیزیک محاسباتی، شیمی فیزیک و زمینه‌های مرتبط با این دو کاربرد فراوان دارد.

مونت کارلو علاوه بر این، تحت تاثیر بسزای خود را در حل معادله دیفرانسیل‌های زوج انتگرالی در زمینهٔ تشعشع و انتقال انرژی ثابت کرده‌است پس بنا براین این روش برای آشکار سازی جهانی محاسبات که مدل‌های مجازی سه بعدی تصاویر فوتوریالیستیک را تولید می‌کند، مورد استفاده قرار می‌گیرد.

روش‌های مونت کارلو در زمینه‌های بسیاری نیز در ریاضیات محاسباتی مورد استفاده قرار می‌گیرد، که فقط یک خوش شانس می‌تواند نتیجهٔ صحیح بگیرد. یک مثال کلاسیک، الگوریتم رابین است که برای آزمایش اول بودن اعداد مورد استفاده قرار می‌گیرد.

همچنین الگوریتم لاس وگاس نیز به همین موضوع می‌پردازد ولی با ایده‌ای متفاوت.

زمینه‌های کاربرد مونت کارلو[ویرایش]

ریاضیات[ویرایش]

کاربرد روش مونت-کارلو در ریاضیات و آمار بسیار گسترده‌است. با استفاده از این روش، با انتخاب تصادفی یک یا تعداد محدودی پاسخ از میان پاسخهای موجود، تلاش می‌شود تا به راه حل قابل قبولی دست یافت. این تکنیک زمانی ارزش پیدا می‌کند، که مجموعه آلترناتیوهای موجود برای پاسخ یک مساله بسیار بزرگ باشد و عملاً امکان آزمودن تمامی آنها وجود نداشته باشد؛ یک نمونه کلاسیک در این زمینه، الگوریتم رابین برای تست اول بودن یک عدد می‌باشد. الگوریتم رابین بیان می‌دارد که با داشتن یک عدد مانند n که غیر اول است، یک عدد تصادفی مانند x، دارای احتمال ۷۵٪ است تا ثابت کند عدد n عددی غیر اول است. بنابراین، با داشتن عدد غیر اولی مانند n اگر عددی تصادفی مانند x یافت شود، بطوری که ثابت کند n احتمالاً عددی اول است، ما موفق به آزمودن گزینه‌هایی شده‌ایم که احتمال رخداد آنها ۱ به ۴ است. حال با یافتن ۱۰ عدد دیگر مانند x که ثابت کند n احتمالاً عددی اول است، موفق به یافتن مجموعه‌ای شده‌ایم که احتمال وقوع آنها ۱ به میلیون است. الگوریتم لاس وگاس نیز از روش مونت-کارلو بهره می‌برد. یکی از رایج ترین کاربرد مونت کارلو، انتگرال گیری مونت کارلو است.

انتگرال گیری[ویرایش]

روش‌های قطعی انتگرال گیری عددی به وسیله دریافت عدد نمونه‌های فاصله دار یکنواخت از یک تابع است. به طور کلی، این روش برای توابع یک متغیری بسیار خوب جواب می‌دهد. در حالی که برای تابعی از بردارها، روش‌های تربیع قطعی بی تاثیراند.ہ(مثلاً برای محاسبه‌ی انتگرال 2X اعداد تصادفی تولید شده توسط توابع گاوس را در صفحه‌ای مشخص می‌ریزد و با استفاده از نسبت نقاط داخل و خارج تابع مساحت محاسبه می‌شود)

برای انتگرال گیری عددی از یک تابع دو متغیره از بردارها، نقاط فاصله دار به صورت چهارخانه به طور مساوی روی صفحه دو بعدی مورد نیاز است.

برای نمونه یک صفحهٔ ۱۰x۱۰ نیاز به ۱۰۰ نقطه دارد. اگر بردار ما ۱۰۰ بعدی باشد، تقسیم بندی مورد نیاز روی صفحه، نیاز به

(عدد گوگول)نقطه دارد که برای محاسبه بسیار بزرگ است.

روش مونت کارلو روشی را برای خروج از این رشد نمایی پیشنهاد می‌کند. تا زمانی که تابع مورد سوال یک تابع خوش رفتار است، به وسیله انتخاب تصادفی نقاط در فضای ۱۰۰ بعدی و گرفتن نوعی میانگین از مقادیر تابع در این نقاط، می‌تواند تخمین زده شود. با به کار گیری قانون اعداد بزرگ، این روش همگرایی به 1/\sqrt{N} را نشان می‌دهد.

روش‌های انتگرال گیری:

فیزیک[ویرایش]

یکی از مهمترین کاربردهای روش مونت-کارلو در زمینه‌های فیزیک محاسباتی، شیمی‌فیزیک و کرومودینامیک کوانتومی جهت انجام محاسبات پیچیده مربوط به ساخت پوشش گرمایی مورد استفاده بر روی یک فضاپیما یا موشک بالستیک می‌باشد.

شیمی[ویرایش]

همچنین از کاربردهای عملی این روش در دانش شیمی‌فیزیک، می‌توان به ساخت و بررسی مدل مولکولی اشاره نمود که به عنوان جایگزینی برای روش محاسباتی دینامیک مولکولی و شیمی کوانتومی مطرح می‌شود.

هدف اصلی روش مونت کارلو یا دینامیک مولکولی محاسبه خواص تعادلی یک سیستم است. در این روش پس از حصول اطمینان از بودن در حالت تعادل، با تغییر تصادفی موقعیت و جهت گیری ذرات موجود در سیستم، پیکربندی‌هایی از سیستم تولید می‌شود. منظور از پیکربندی مجموعه‌ای از موقعیت و جهت گیری همهٔ ذرات در یک حالت از تمام حالت‌های ممکن سیستم است. پیکربندی تولید شده در هر مرحله با احتمالی که توسط قوانین ترمودینامیک آماری تعیین می‌گردد، رد یا تأیید می‌شود. این احتمال به انرژی پتانسیل بین دو ذره بستگی دارد. در هر پیکربندی خاصیت ترمودینامیکی مورد نظر اندازه گیری می‌شود. با نمونه برداری صحیح از این پیکربندی‌ها و میانگین گیری، می‌توان مفدار آن خاصیت را در حال تعادل به دست آورد.[۵]

مزیت این روش به دینامیک مولکولی، نیاز نداشتن به محاسبهٔ اندازه حرکت برای هر ذره‌است که باعث کاهش زمان محاسبات رابانه‌ای می‌شود. از معایب این روش می‌توان به دست نیاوردن اطلاعات راجع به دینامیک سیستم اشاره کرد.

اقتصاد[ویرایش]

یکی از مهمترین کاربردهای روش مونت-کارلو، حل معادله موسوم به بلک-اسکولس در مورد مدل سازی بازار سهام دارای نرخهای تصادفی است. حل این معادله منجر به ساخت یک مدل شبیه سازی شده اقتصادی می‌گردد. این مدل اقتصادی برای پیش‌بینی تغییرات در یک بازار بورس مورد استفاده قرار می‌گیرد.

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Monte_Carlo_simulation»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۶ مارس ۲۰۰۸).
  1. Douglas Hubbard «How to Measure Anything: Finding the Value of Intangibles in Business» pg. ۴۶, John Wiley & Sons, ۲۰۰۷
  2. [The beginning of the Monte Carlo method http://library.lanl.gov/la-pubs/00326866.pdf]
  3. About the Principality of Monaco, The Official website of the Principality of Monaco
  4. [http://www.state.gov/r/pa/ei/bgn/3397.htm Monaco (12/08)
  5. شبیه سازی‌های رایانه‌ای، سیف الله جلیلی ISBN ۹۷۸-۹۶۴-۸۷۰۳-۳۹-۹
  • Arnaud Doucet, Nando de Freitas and Neil Gordon, Sequential Monte Carlo methods in practice, ۲۰۰۱, ISBN ۰-۳۸۷-۹۵۱۴۶-۶.
  • P. Kevin MacKeown, Stochastic Simulation in Physics, ۱۹۹۷, ISBN ۹۸۱-۳۰۸۳-۲۶-۳
  • Harvey Gould & Jan Tobochnik, An Introduction to Computer Simulation Methods, Part ۲، Applications to Physical Systems, ۱۹۸۸, ISBN ۰-۲۰۱-۱۶۵۰۴-X
  • C.P. Robert and G. Casella. «Monte Carlo Statistical Methods» (second edition). New York: Springer-Verlag, ۲۰۰۴, ISBN ۰-۳۸۷-۲۱۲۳۹-۶
  • R.Y. Rubinstein and D.P. Kroese (۲۰۰۷). «Simulation and the Monte Carlo Method» (second edition). New York: John Wiley & Sons, ISBN 978-0-470-17793-8.
  • Nicholas Metropolis, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller and Edward Teller, «Equation of State Calculations by Fast Computing Machines», Journal of Chemical Physics, volume ۲۱، p. ۱۰۸۷ (۱۹۵۳) (نشانگر دیجیتالی شی:۱۰٫۱۰۶۳/۱٫۱۶۹۹۱۱۴)
  • N. Metropolis and S. Ulam, «The Monte Carlo Method», Journal of the American Statistical Association, volume ۴۴، number ۲۴۷، pp. ۳۳۵–۳۴۱ (۱۹۴۹) (نشانگر دیجیتالی شی:۱۰٫۲۳۰۷/۲۲۸۰۲۳۲)
  • Fishman, G.S., (۱۹۹۵) Monte Carlo: Concepts, Algorithms, and Applications, Springer Verlag, New York.
  • Judgement under Uncertainty: Heuristics and Biases, ed. D. Kahneman and A. Tversky,(Cambridge University Press, ۱۹۸۲)
  • R. E. Caflisch, Monte Carlo and quasi-Monte Carlo methods, Acta Numerica vol. ۷، Cambridge University Press, ۱۹۹۸، pp. ۱-۴۹. [۱]

پبوند بیرونی[ویرایش]