Tutti i metodi di simulazione sono una forma di Monte Carlo?


35

Esiste un metodo di simulazione che non è Monte Carlo? Tutti i metodi di simulazione prevedono la sostituzione di numeri casuali nella funzione per trovare un intervallo di valori per la funzione. Quindi, in sostanza, tutti i metodi di simulazione sono metodi Monte Carlo?


2
Penso che "Stan" fosse solo il nome di Ulam, non il cognome di nessun altro.
Nick Cox,

Stan è l'abbreviazione di Stanislas , in effetti. Ecco perché Andrew Gelman ha scelto STAN per il suo nuovo linguaggio di simulazione.
Xi'an,

Dato un piccolo problema, forse marginale, banale, combinatorio, una ricerca esaustiva sarebbe ancora "Monte Carlo"?
Nick T,

3
Quello che ricordo dalla mia lezione sugli algoritmi randomizzati è che i metodi Monte Carlo hanno esiti stocastici con tempi di esecuzione noti, in contrasto con i metodi di Las Vegas che hanno runtime stocastici ma esiti corretti. Nessun riferimento per questo, tranne una sceneggiatura scritta a mano di cinque anni nel mio cassetto. Modifica: le pagine di Wikipedia su Monte Carlo e Las Vegas sembrano concordare con questo.
Bayerj,

Una ricerca esaustiva sarebbe probabilmente un calcolo della forza bruta. I metodi Monte Carlo vengono estratti da uno spazio campione. Questo esempio è di solito un piccolo sottoinsieme dell'universo dei risultati, che rende tracciabile l'analisi statistica.
Alex Reynolds,

Risposte:


41

Ci sono simulazioni che non sono Monte Carlo. Fondamentalmente, tutti i metodi Monte Carlo usano la (debole) legge di grandi numeri: la media converge alle sue aspettative.

Poi ci sono metodi Quasi Monte Carlo. Questi sono simulati con un compromesso di numeri casuali e griglie equidistanti per rendere più veloce la convergenza.

Le simulazioni che non sono Monte Carlo sono ad esempio utilizzate nella fluidodinamica computazionale. È facile modellare la dinamica del fluido su una "microscala" di singole porzioni del fluido. Queste porzioni hanno una velocità, una pressione e una dimensione iniziali e sono influenzate dalle forze delle porzioni vicine o da corpi solidi. Le simulazioni calcolano l'intero comportamento del fluido calcolando tutte le porzioni e la loro interazione. Fare questo in modo efficiente lo rende una scienza. Non sono necessari numeri casuali lì.

Nella meteorologia o nella ricerca sul clima, le cose sono fatte in modo simile. Ma ora, i valori iniziali non sono esattamente noti: hai solo i dati meteorologici in alcuni punti in cui sono stati misurati. Molti dati devono essere indovinati.

Poiché questi problemi complicati spesso non sono continui nei dati di input, si eseguono le simulazioni con ipotesi diverse. Il risultato finale sarà scelto tra i risultati più frequenti. Questo è in realtà il modo in cui alcune previsioni meteorologiche sono simulate in linea di principio.


5
Una leggera correzione: le simulazioni monte-carlo possono utilizzare calcoli non casuali. È valido chiamare una simulazione "monte-carlo" se varia le condizioni iniziali e quindi applica calcoli non casuali da lì. Molte situazioni CFD richiedono monte-carlo perché le condizioni al contorno sono definite statisticamente.
Cort Ammon - Ripristina Monica il

14

Il metodo Monte Carlo è stato il primo approccio per utilizzare la simulazione al computer per problemi statistici. È stato sviluppato dal team John von Neumann, Stanisław Ulam e Nicholas Metropolis dei laboratori Los Alamos che stava lavorando al progetto Manhattan durante la Seconda Guerra Mondiale. Fu descritto per la prima volta nel 1949 da Metropolis & Ulam , ed era la prima volta che il nome appariva in stampa. Era possibile perché gli scienziati che l'hanno scoperto erano anche in grado di utilizzare uno dei primi computer su cui stavano lavorando. Nel loro lavoro hanno usato i metodi Monte Carlo per simulare problemi fisici, e l'idea era che si potesse simulare un problema complicato campionando alcuni esempi di questo processo. Ci sono molti articoli interessanti sulla storia di Monte Carlo, ad esempio diMetropolis stesso o alcuni più recenti, ad esempio di Robert & Casella .

Quindi "Monte Carlo" era il nome del primo metodo descritto ai fini della simulazione al computer per risolvere problemi statistici. Quindi il nome divenne un nome generale per un'intera famiglia di metodi di simulazione e viene comunemente utilizzato in questo modo.

Esistono metodi di simulazione considerati non Monte Carlo , tuttavia, sebbene Monte Carlo sia stato il primo utilizzo della simulazione al computer, è comune che "simulazione al computer" e "Monte Carlo" siano usati in modo intercambiabile.

Esistono diverse definizioni di "simulazione", ad es

Dizionario Merriam-Webster :

3 a: la rappresentazione imitativa del funzionamento di un sistema o processo mediante il funzionamento di un altro b: esame di un problema spesso non soggetto a sperimentazione diretta mediante un dispositivo di simulazione

Dizionario Cambridge :

fare o fare qualcosa che si comporti o assomigli a qualcosa di reale ma che non è reale

Wikipedia :

imitazione del funzionamento di un processo o sistema del mondo reale nel tempo

Ciò che la simulazione deve funzionare è la capacità di imitare alcuni sistemi o processi. Ciò non richiede alcuna casualità (come nel caso di Monte Carlo), tuttavia se si provano tutte le possibilità, la procedura è piuttosto una ricerca esaustiva o un problema generale e di ottimizzazione . Se è coinvolto l'elemento casuale e viene utilizzato un computer per eseguire una simulazione di un modello, questa simulazione ricorda lo spirito del metodo Monte Carlo iniziale (ad esempio Metropolis e Ulam, 1949). L'elemento casuale come parte cruciale della simulazione è citato, ad esempio, da Ross (2006, Simulation. Elsevier). Tuttavia, la risposta alla domanda dipende fortemente dalla definizione di simulazione presunta. Ad esempio, se si presume che gli algoritmi deterministici che utilizzano l'ottimizzazione o la ricerca esaustiva siano in realtà simulazioni, allora dobbiamo considerare una vasta gamma di algoritmi come simulazioni e questo rende la definizione della simulazione di per sé molto sfocata.

Letteralmente ogni procedura statistica utilizza un modello o approssimazione della realtà, che viene "provata" e valutata. Ciò è coerente con le definizioni del dizionario di simulazione. Tuttavia, non consideriamo tutte le statistiche basate sulla simulazione. La domanda e la discussione sembrano emergere dalla mancanza della definizione precisa di "simulazione". Monte Carlo sembra essere l'archetipo (e il primo) esempio di simulazione, tuttavia se consideriamo una definizione molto generale di simulazione, molti metodi non Monte Carlo rientrano nella definizione. Quindi ci sono simulazioni non Monte Carlo, ma tutti i metodi chiaramente basati sulla simulazione assomigliano allo spirito di Monte Carlo, si relazionano in qualche modo con esso o ne sono stati ispirati. Questo è il motivo per cui "Monte Carlo" è spesso usato come sinonimo di "simulazione".


3
Penso che "Stan" fosse solo il nome di Ulam, non il cognome di nessun altro.
Nick Cox,

1
Stan è l'abbreviazione di Stanislas , in effetti. Ecco perché Andrew Gelman ha scelto STAN per il suo nuovo linguaggio di simulazione.
Xi'an,

Dato un piccolo problema, forse marginale, banale, combinatorio, una ricerca esaustiva sarebbe ancora "Monte Carlo"?
Nick T,

6
Non capisco: come risponde alla domanda?
o0 '.

1
@ Xi'an è Stanisław scritto con "Ł" (letto come "woo" in inglese).
Tim

13

Tutti i metodi di simulazione prevedono la sostituzione di numeri casuali nella funzione per trovare un intervallo di valori per la funzione.

Non ho mai sentito parlare di quella definizione di simulazione. Ad esempio, gli articoli di Wikipedia sulla simulazione e le simulazioni al computer menzionano solo brevemente termini come casuale e stocastico .

Un semplice esempio di simulazione che non comporta alcuna casualità e quindi chiaramente non è una simulazione Monte Carlo sarebbe il seguente:

Voglio simulare il comportamento di un semplice pendolo e fare alcune ipotesi semplificanti (cavo senza massa, massa puntuale, nessun attrito, nessuna forza esterna come la forza di Coriolis). Quindi ottengo un pendolo matematico e posso scrivere le equazioni differenziali descrivendone il movimento. Posso quindi usare un risolutore per equazioni differenziali come un metodo Runge-Kutta per simulare la sua traiettoria per determinate condizioni iniziali. (Posso anche teoricamente sostenere che non ho bisogno di considerare ulteriori condizioni iniziali.)

In questo modo ottengo una simulazione piuttosto buona di un pendolo reale senza mai usare un numero casuale. Pertanto, questa non è una simulazione Monte-Carlo.

In un altro esempio, considera la mappa logistica , che è un semplice modello di popolazione senza casualità.


7

No. La simulazione di una particella sotto una forza può essere fatta usando Runge-Kutta o un altro algoritmo deterministico, che non è Monte Carlo.

Monte Carlo viene utilizzato per calcolare gli integrali (è possibile definirlo una simulazione, ma alla fine calcola solo un'approssimazione numerica di uno stimatore). Ancora una volta, potresti usare un metodo deterministico per farlo (ad es. Regola trapezoidale).

In linea di massima, è possibile separare gli algoritmi per calcolare gli integrali in deterministico e non deterministico. Monte Carlo è un metodo non deterministico. Quasi-Monte Carlo è un altro. La regola trapezoidale è un algoritmo deterministico.


4

Vorrei dare una pugnalata a una spiegazione semplificata. Un modello "what-if" è una simulazione (deterministica). Supponi di avere un sistema complesso, come un impianto di elaborazione di widget. Volete essere in grado di stimare alcuni parametri di prestazione, diciamo costo. Costruisci un modello matematico dell'impianto e quindi selezioni vari presupposti per fattori specifici nel modello, come la velocità con cui i widget si muovono attraverso diverse operazioni, o quali percentuali scorrono in varie direzioni o quanti widget elaborerai. Il modello è una simulazione dell'impianto e ogni serie di ipotesi fornisce una stima di quel parametro prestazionale.

Ora introdurre l'incertezza. Non sai quale sarà la domanda di widget il prossimo mese, ma devi stimare i costi. Quindi, invece di dire che la domanda sarà di 1.000 widget, si stima una distribuzione di probabilità per la domanda. Quindi campionate casualmente i valori della domanda da quella distribuzione e li usate per la vostra ipotesi. Mentre ci sei, puoi usare le distribuzioni di probabilità anche per altre ipotesi. Si utilizza il modello più e più volte, inserendo i presupposti campionati dalle varie distribuzioni di probabilità. Il risultato sarà una distribuzione delle stime dei costi. Questo è l'aspetto di Monte Carlo.

Monte Carlo è una "caratteristica" o "motore" sovrapposta a un modello di simulazione. Invece di simulare con una singola serie di ipotesi per una singola stima, esegue una raccolta di simulazioni utilizzando ipotesi selezionate casualmente.


2

Nella teoria dei giochi, in particolare, gli approcci che usano la casualità nelle simulazioni sono chiamati tecniche di monte carlo. Viene generalmente utilizzato come parte di Monte Carlo Tree Search (MCTS) nei programmi moderni.

(La domanda originale non faceva una distinzione tra " algoritmo monte carlo " e " metodo monte carlo ", il che può spiegare il disaccordo su alcune delle risposte qui.)

Ad esempio nel gioco di go (e tutti gli altri giochi di cui sono a conoscenza che usano MCTS), le simulazioni si chiamano playout. I playout casuali utilizzano il set di regole più scarso. I playout leggeri sono sinonimo di playout casuali o filtrano alcune mosse sbagliate facilmente rilevabili. I playout pesanti usano più euristica per filtrare molte più mosse. (A proposito, il playout arriva sempre alla fine del gioco, quindi ogni playout richiede all'incirca la stessa quantità di tempo.) Ma tutti vengono definiti simulazioni "monte carlo".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.