Metodi Monte Carlo

Wikipedia: Metodo Monte Carlo


L’algoritmo Monte Carlo è un metodo numerico che viene utilizzato per trovare le soluzioni di problemi matematici che non possono essere risolti facilmente.

Il metodo è molto usato in varie discipline: fisica, ingegneria, economia e finanza, ottica, chimica…

Stima della superficie di un lago

Sia data una zona rettangolare o quadrata di cui la lunghezza dei lati è conosciuta.
Al centro di quest’area si trova un lago la cui superficie è sconosciuta.
Grazie alle misure dei lati della zona, si conosce l’area del rettangolo, A_r.

Per determinare l’area del lago, A_l, si chiede ad una truppa armata di tirare N_r colpi di cannone in modo aleatorio su questa zona (rettangolare…).
Contiamo in seguito il numero N_t di palle che sono restate sulla terra, possiamo quindi determinare

N_l = N_r-N_t, il numero di palle che sono finite nel lago

\displaystyle \frac{N_l}{N_r} \approx \frac{A_l}{A_r}, il rapporto tra le palle finite nel lago e quelle sparate nel rettangolo è una stima del rapporto tra la superficie del lago e quella del rettangolo

e quindi

\displaystyle A_l \approx \frac{N_l}{N_r}\cdot A_r

Per esempio, se il terreno ha superficie di 10.000 m2, e supponiamo che l’armata tiri 500 palle e 400 proiettili rimangano a terra allora … la superficie del lago è circa 2.000 m2.

Osservazioni

Naturalmente, la qualità della stima migliora aumentando il numero dei tiri ed assicurandosi che l’artiglieria non miri sempre lo stesso posto ma copra bene la zona.

Questa ultima ipotesi coincide con l’ipotesi di avere un buon generatore di numeri aleatori, questa condizione è indispensabile per avere dei buoni risultati con il metodo Monte Carlo.

Un generatore distorto è un po’ come un cannone il cui tiro tende a indirizzarsi verso alcune zone rispetto ad altre: le informazioni che se ne possono ricavare sono anch’esse distorte.

Il metodo

Non c’è un solo metodo Monte Carlo; il termine descrive invece una classe di approcci molto utilizzati per una larga categoria di problemi.
Tuttavia, questi approcci tendono a seguire un particolare schema:

  1. Definire un dominio di possibili dati in input.
  2. Generare input casuali dal dominio con una certa distribuzione di probabilità determinate.
  3. Eseguire un calcolo deterministico utilizzando i dati in ingresso (input).
  4. Aggregare i risultati dei calcoli singoli nel risultato finale.