Чи існує метод моделювання, який не є Монте-Карло? Усі методи моделювання передбачають підстановку випадкових чисел у функцію, щоб знайти діапазон значень для функції. Чи всі методи моделювання по суті є методами Монте-Карло?
Чи існує метод моделювання, який не є Монте-Карло? Усі методи моделювання передбачають підстановку випадкових чисел у функцію, щоб знайти діапазон значень для функції. Чи всі методи моделювання по суті є методами Монте-Карло?
Відповіді:
Є симуляції, які не є Монте-Карло. В основному всі методи Монте-Карло використовують (слабкий) закон великих чисел: середнє сходить до його очікування.
Потім є методи Квазі Монте-Карло. Вони моделюються компромісом випадкових чисел і однаково розташованими сітками, щоб отримати швидше збіжність.
Симулятори, які не є Монте-Карло, застосовуються, наприклад, для обчислювальної динаміки рідини. Легко моделювати динаміку рідини на "мікро шкалі" окремих порцій рідини. Ці ділянки мають початкову швидкість, тиск і розмір і на них впливають сили сусідніх ділянок або твердих тіл. Симулятори обчислюють всю поведінку рідини шляхом обчислення всіх порцій та їх взаємодії. Це ефективно робить це наукою. Ніяких випадкових чисел там не потрібно.
У метеорології чи кліматичних дослідженнях все робиться аналогічно. Але тепер початкові значення точно не відомі: метеорологічні дані ви маєте лише в деяких точках, де вони були виміряні. Дуже багато даних треба вгадати.
Оскільки ці складні проблеми часто не є постійними у своїх вхідних даних, ви запускаєте симуляції різними здогадами. Кінцевий результат буде обраний серед найбільш частих результатів. Насправді в принципі моделюються деякі прогнози погоди.
Метод Монте-Карло був першим підходом до використання комп'ютерного моделювання для статистичних проблем. Він був розроблений командою Джона фон Неймана, Станіслава Улама та Ніколя Метрополіса з лабораторій Лос-Аламоса, яка працювала над проектом Манхеттена під час Другої світової війни. Він був вперше описаний у 1949 році Metropolis & Ulam , і це вперше назва з'явилася у друку. Це було можливо тому, що вчені, які виявили це, також змогли використовувати один з перших комп'ютерів , над якими працювали. У своїй роботі вони використовували методи Монте-Карло для імітації фізичних проблем, і ідея полягала в тому, що ви можете змоделювати складну проблему з вибіркою певної кількості прикладів цього процесу. Є чимало цікавих статей з історії Монте-Карло, наприклад, відСам Метрополіс або деякі новітні, наприклад, Роберт і Казелла .
Отже, "Монте-Карло" - це назва першого методу, описаного для комп'ютерного моделювання для вирішення статистичних задач. Тоді назва стала загальною назвою для цілого сімейства методів моделювання і зазвичай використовується в цій формі.
Існують методи моделювання, які вважаються не Монте-Карло , однак, хоча Монте-Карло було першим використанням комп'ютерного моделювання, загальноприйняте, що "комп'ютерне моделювання" та "Монте-Карло" використовуються взаємозамінно.
Існують різні визначення, що таке "моделювання", тобто
Словник Мерріам - Вебстер :
3 a: імітаційне представлення функціонування однієї системи чи процесу за допомогою функціонування іншої b: вивчення проблеми, часто не підлягає прямому експериментуванню, за допомогою імітаційного пристрою
Кембриджський словник:
робити або робити щось, що поводиться або виглядає як щось справжнє, але що не є реально
імітація функціонування реального світу процесу чи системи в часі
Для моделювання потрібно працювати - це здатність наслідувати якусь систему чи процес. Для цього не потрібні випадкові випадки (як у Монте-Карло), однак якщо всі можливості випробувані, то процедура є досить вичерпним пошуком або загалом і проблемою оптимізації . Якщо задіяний випадковий елемент і використовується комп'ютер для моделювання якоїсь моделі, то це моделювання нагадує дух початкового методу Монте-Карло (наприклад, Metropolis & Ulam, 1949). Випадковий елемент як найважливіша частина моделювання згадується, наприклад, Россом (2006, Simulacija). Ельзев'є). Однак відповідь на запитання сильно залежить від визначення імітаційного моделювання. Наприклад, якщо ви припускаєте, що детерміновані алгоритми, які використовують оптимізацію або вичерпний пошук, насправді є моделюванням, то нам потрібно розглянути широке розмаїття алгоритмів як імітації, і це робить визначення моделювання як таке дуже розмитим.
Буквально кожна статистична процедура використовує певну модель або наближення реальності, тобто "випробувана" та оцінена. Це узгоджується зі словниковими визначеннями моделювання. Однак ми не вважаємо, що всі статистичні дані базуються на симуляції. Питання та дискусія, здається, виникають через відсутність точного визначення поняття "моделювання". Монте-Карло, здається, є архетипним (і першим) прикладом моделювання, однак, якщо ми розглянемо дуже загальне визначення моделювання, тоді багато методів Монте-Карло потрапляють у визначення. Тож існують не-Монте-Карло-симуляції, але всі чітко засновані на моделюванні методи нагадують дух Монте-Карло, певним чином стосуються його чи надихалися ним. Саме тому "Монте-Карло" часто використовується як синонім "симуляції".
Усі методи моделювання передбачають підстановку випадкових чисел у функцію, щоб знайти діапазон значень для функції.
Я ніколи не чув про таке визначення моделювання. Наприклад, статті Вікіпедії про моделювання та комп'ютерне моделювання лише коротко згадують такі терміни, як випадкові та стохастичні .
Простим прикладом моделювання, яке не передбачає випадковості і, очевидно, не є моделюванням Монте-Карло, було б наступне:
Я хочу імітувати поведінку простого маятника і зробити кілька спрощуючих припущень (безшпильний шнур, пунктуальна маса, відсутність тертя, ніякі зовнішні сили, як сила Коріоліса). Потім я отримую математичний маятник і можу записати диференціальні рівняння, що описують його рух. Тоді я можу використовувати деякий розв'язувач для диференціальних рівнянь, як метод Рунге-Кутти, щоб імітувати його траєкторію для заданих початкових умов. (Я також теоретично можу стверджувати, що не потрібно враховувати подальші початкові умови.)
Таким чином я отримую досить хороше моделювання реального маятника, не використовуючи жодного випадкового числа. Тому це не моделювання Монте-Карло.
В іншому прикладі розглянемо логістичну карту , яка є простою сукупною моделлю без будь-якої випадковості.
Ні. Моделювання частинки під дією сили може бути здійснено за допомогою Runge-Kutta або іншого детермінованого алгоритму, який не є Монте-Карло.
Монте-Карло використовується для обчислення інтегралів (ви можете назвати це імітацією, але врешті-решт він просто обчислює числове наближення оцінки). Знову ж таки, ви можете використовувати детермінований метод для цього (наприклад, трапецієподібне правило).
Загалом, можна розділити алгоритми для обчислення інтегралів у детермінованих та недетермінованих. Монте-Карло - це недетермінований метод. Квазі-Монте-Карло - ще одна. Трапецієподібне правило - це детермінований алгоритм.
Дозвольте мені зробити спрощений пояснення. Модель "що робити" якщо є детермінованим моделюванням. Скажімо, у вас складна система, наприклад, завод з обробки віджетів. Ви хочете мати можливість оцінити якийсь параметр продуктивності, скажімо, вартість. Ви будуєте математичну модель рослини, а потім вибираєте різні припущення для конкретних факторів моделі, наприклад, як швидко рухаються віджети за допомогою різних операцій, або відсотки, що протікають в різних напрямках, або скільки віджетів ви будете обробляти. Модель являє собою моделювання заводу, і кожен набір припущень дає оцінку цього параметра продуктивності.
Тепер введіть невизначеність. Ви не знаєте, який буде попит на віджети наступного місяця, але вам потрібно оцінити вартість. Тож замість того, щоб говорити, що попит буде 1000 віджетів, ви оцінюєте розподіл ймовірностей для попиту. Потім ви випадково вибираєте значення попиту з цього розподілу і використовуєте їх для вашого припущення. Поки ви перебуваєте на цьому, ви можете також використовувати розподіли ймовірностей для інших припущень. Ви використовуєте модель знову і знову, підключаючи припущення, відібрані з різних розподілів ймовірностей. Результатом цього стане розподіл кошторисів витрат. Це аспект Монте-Карло.
Монте-Карло - це "особливість" або "двигун", який розшаровується поверх імітаційної моделі. Замість моделювання за допомогою єдиного набору припущень для однієї оцінки він виконує набір моделювання з використанням випадково вибраних припущень.
Особливо в теорії ігор підходи, що використовують випадковість у моделюванні, називаються методами monte carlo. Зазвичай він використовується як частина пошуку Монте-Карло дерева (MCTS) у сучасних програмах.
(Оригінальне запитання не розмежовувало " алгоритм Монте Карло " та " метод Монте Карло ", що може пояснити незгоду щодо деяких відповідей тут.)
Наприклад, у грі go (і в усіх інших іграх, які я знаю, що використовують MCTS), симуляції називаються ігровими. Випадкові розігрування використовують найпростіший набір правил. Легкі розігрування є або синонімом випадкових ігор, або відфільтрують кілька легко виявлених поганих рухів. Для важких ігор використовується більше евристики, щоб відфільтрувати набагато більше рухів. (До речі, гра завжди проходить до кінця гри, тому кожен матч займає приблизно однакову кількість часу.) Але всі називаються моделюванням "monte carlo".