Matek érettségi

Monte Carlo-szimuláció: becslés, ismétlésszám és bizonytalanság

Két bizonytalan feladat időigényén követheted végig a Monte Carlo-modellt. Külön számoljuk az eredmények szóródását és az átlag becslési hibáját, ellenőrizhető elméleti értékekkel.

Dajka Gábor3 perc olvasás

A Monte Carlo-szimuláció sok lehetséges bemenetet sorsol a megadott eloszlásokból, minden esetben kiszámítja az eredményt, majd összesíti a kapott értékeket. Segít megbecsülni például két bizonytalan időtartam összegét. A több ismétlés a szimuláció számszerű ingadozását csökkenti; a feladat tényleges bizonytalansága ettől megmarad.

Két feladat, egyértelmű feltételezésekkel

Szemléltető példánkban az előkészítés 2 és 4 óra, a feldolgozás 3 és 7 óra közötti időt vesz igénybe. Mindkét tartományon egyenletes eloszlást feltételezünk, a két időtartamot pedig függetlennek tekintjük. Az egyenletesség azt jelenti, hogy azonos hosszúságú résztartományokhoz azonos valószínűség tartozik.

A két munka egymás után fut, ezért egy szimulált eset teljes ideje:

T = A + B.

A legkisebb lehetséges összeg 2 + 3 = 5 óra, a legnagyobb 4 + 7 = 11 óra. Az összegek eloszlása már nem egyenletes: a szélső összeghez mindkét bemenetnek ugyanazon széle közelébe kell esnie.

A Monte Carlo-kalkulátorban két tételt adj meg, mindkettő eloszlása uniform legyen, rendre 2–4 és 3–7 határokkal. Az összesítésnél az összeget válaszd. A mode mező a háromszög-eloszlás móduszához tartozik; az egyenletes példában középértékként 3, illetve 5 szerepelhet, az eloszlást a két határ határozza meg.

Számold ki az elméleti ellenőrző értéket

Egy a és b közötti egyenletes eloszlás várható értéke (a + b) / 2, varianciája (b − a)² / 12. Ezeket a NIST egyenletes eloszlásról szóló leírása is megadja.

Az első feladat várható ideje 3 óra, a másodiké 5 óra. A teljes idő várható értéke 8 óra. Függetlenség mellett a varianciákat összeadjuk:

Var(T) = 2² / 12 + 4² / 12 = 20 / 12 = 5 / 3 óra².

A teljes idő szórása √(5 / 3) ≈ 1,291 óra. Ez a modell szerinti egyedi feladatösszegek szóródását jellemzi. Egy konkrét végrehajtás ideje a 8 órás várható értéktől jelentősen eltérhet.

Mi javul tízezer helyett negyvenezer ismétléssel?

Független ismétlések átlagának Monte Carlo-standardhibája:

SE = σ / √N.

Itt N a szimulált esetek száma, σ az egyedi kimenet szórása. Ha σ ismeretlen, a szimulált eredményekből becsült szórást használjuk. A módszer és az ismétlésszám kapcsolata Mike Giles oxfordi egyetemi jegyzetében követhető.

A saját modellünkben 10 000 ismétlésnél az elméleti standardhiba 1,290994 / 100 ≈ 0,01291 óra, vagyis 0,775 perc. 40 000 ismétlésnél körülbelül 0,006455 óra, azaz 0,387 perc. Négyszer annyi eset az átlagbecslés standardhibáját felezi. A feladatösszegek 1,291 órás szórása közben nem feleződik meg.

Ezek elméleti ellenőrző számok, nem egy állítólagosan lefuttatott szimuláció eredményei. A kalkulátor egy futásban kapott átlaga kis mértékben eltérhet a 8 órától.

A modellválasztás nagyobb eltérést is okozhat

Ha a két feladat egyszerre indul és párhuzamosan végezhető, az összeg helyett a maximum írja le az elkészülési időt. Ehhez a kalkulátor külön összesítési módot kínál. A várható maximumot ne helyettesítsd automatikusan a két várható érték maximumával.

Ha ugyanaz a körülmény mindkét munkát lassítja, a függetlenségi feltevés gyenge lehet. Több sorsolás ezt nem javítja ki. Előbb az együttmozgást és a választott minimum–maximum tartományokat vizsgáld meg.

A beállításokkal együtt mentsd el a véletlengenerátor magját és az ismétlésszámot: azonos maggal és azonos modellel megismételhető a számítás. Más maggal futtatva az átlag kisebb ingadozását ellenőrizheted. Ha a döntésedet ez az ingadozás is megváltoztatja, még több ismétlésre vagy pontosabban meghatározott döntési határra van szükséged.

További cikkek

Kapcsolódó olvasnivalók

Gyorskereső

Kalkulátorok és útmutatók keresése

↑↓ választásEnter megnyitásEsc bezárás