Metóda Monte Carlo

z Wikipédie, slobodnej encyklopédie
Skočit na navigaci Skočit na vyhledávání

Metóda Monte Carlo je trieda algoritmov na simuláciu systémov. Ide o stochastické metódy používajúce náhodné alebo pseudonáhodné čísla. Typicky sú využívané na výpočet integrálov, najmä viacrozmerných, kde bežné metódy nie sú efektívne.

Metóda Monte Carlo má široké využitie od simulácie experimentov, cez počítanie určitých integrálov, až po riešenie diferenciálnych rovníc. Základná myšlienka metódy je veľmi jednoduchá: chceme určiť strednú hodnotu veličiny, ktorá je výsledkom náhodného deja. Vytvorí sa počítačový model tohto deja a po prebehnutí dostatočného množstva simulácií sa môžu dáta spracovať klasickými štatistickými metódami, napríklad určiť priemer a smerodajnú odchýlku.

Metóda je nazvaná podľa Monte Carla známeho svojimi kasínami a najmä ruletou. Termín prvýkrát použili fyzici v roku 1940 pracujúci na zostrojení americkej atómovej bomby.

Rozlišujú sa dva varianty metódy Monte Carlo, analógový a neanalógový model.

Analógový model[upraviť | upraviť kód]

Musíme vedieť modelovať celú situáciu na počítači, to znamená napríklad poznať všetky pravdepodobnostné rozloženia skúmaných javov a fyzikálne zákonitosti, ktorými sa riadia. Prevedením tejto simulácie získame výsledok, realizáciu akejsi náhodnej veličiny . Túto simuláciu spustíme n-krát a získame súbor histórií x1…xn. Odhad strednej hodnoty sa určí takto

a smerodajná odchýlka sa určí jednoducho ako

.

Neanalógový model[upraviť | upraviť kód]

Tak sa nazýva prípad, keď pri výpočte nepoužívame model reálneho deja. Napríklad výpočet určitého integrálu, prípadne obsahu ohraničeného útvaru.

Integrácia metódou Monte Carlo[upraviť | upraviť kód]

Hlavnou výhodou integrácie touto metódou je jej jednoduchosť. Na druhej strane, presnost výpočtu je veľmi malá, obzvlášť ak má integrovaná funkcia úzke maximá. Ak potrebujeme presný výsledok, je výhodnejšie použiť iné metódy.

Ak určíme hodnotu funkcie f v N náhodných bodoch ležiacich v integračnej oblasti V, potom platí vzťah

kde x označuje náhodný bod v oblasti V, označuje priemer funkčných hodnôt a jednotlivé výsledky.

Integrovanie oblasti V v oblasti V'

Ak budeme tento integrál počítať metódou Monte Carlo, musíme oblasť V uzavrieť do čo najmenšej oblasti V'. Prípadne oblasť V rozdeliť na viac častí a integrovať ich samostatne. Teraz zavedieme funkcie takto

potom vygenerujeme N náhodných bodov ležiacich v oblasti V' a približnú hodnotu integrálu určíme ako

a smerodajná odchýlka sa určí analogicky ako v predchádzajúcom prípade.

Presnosť metódy Monte Carlo[upraviť | upraviť kód]

Na odhad chyby výsledku získaného metódou Monte Carlo sa väčšinou používa stredná kvadratická chyba aritmetického priemeru. Chyba výsledku získaného pomocou n histórií je úmerná . Takže, aby sa zlepšil výsledok o jeden rád, musí sa počet histórií zvýšiť aspoň o dva rády. Aby sme získali výsledok s presnosťou na 6 desatinných miest, musíme získať 1012 histórií.

Ďalšie použitia metódy[upraviť | upraviť kód]

Pozri aj[upraviť | upraviť kód]

Externé odkazy[upraviť | upraviť kód]