Toutes les méthodes de simulation sont-elles une forme de Monte Carlo?


35

Existe-t-il une méthode de simulation autre que Monte Carlo? Toutes les méthodes de simulation impliquent de substituer des nombres aléatoires à la fonction pour trouver une plage de valeurs pour la fonction. Toutes les méthodes de simulation sont-elles donc des méthodes de Monte Carlo?


2
Je pense que "Stan" était juste le prénom d'Ulam, pas le nom de famille de quelqu'un d'autre.
Nick Cox

Stan est l'abréviation de Stanislas , en effet. C'est pourquoi Andrew Gelman a choisi STAN pour son nouveau langage de simulation.
Xi'an

Compte tenu d'un petit problème combinatoire, peut-être à la limite de la trivialité, une recherche exhaustive serait-elle toujours "Monte Carlo"?
Nick T

3
Ce que je me souviens de mon exposé sur les algorithmes aléatoires, c’est que les méthodes de Monte Carlo ont des résultats stochastiques avec des durées d’exécution connues, contrairement aux méthodes de Las Vegas qui ont des exécutions stochastiques mais des résultats corrects. Aucune référence pour cela, sauf un script manuscrit de cinq ans dans mon tiroir. Edit: Les pages wikipedia sur monte carlo et las vegas semblent être d’accord avec cela.
Bayerj

Une recherche exhaustive serait probablement un calcul de force brute. Les méthodes de Monte Carlo sont extraites d'un espace échantillon. Cet échantillon est généralement un petit sous-ensemble de l'univers des résultats, ce qui rend l'analyse statistique réalisable.
Alex Reynolds

Réponses:


41

Il existe des simulations qui ne sont pas de type Monte Carlo. Fondamentalement, toutes les méthodes de Monte Carlo utilisent la loi (faible) des grands nombres: la moyenne converge vers ses attentes.

Ensuite, il existe des méthodes quasi-Monte Carlo. Celles-ci sont simulées avec un compromis de nombres aléatoires et de grilles équidistantes pour obtenir une convergence plus rapide.

Les simulations qui ne sont pas de type Monte Carlo sont par exemple utilisées dans la dynamique des fluides numérique. Il est facile de modéliser la dynamique des fluides à une "micro-échelle" de portions individuelles du fluide. Ces parties ont une vitesse, une pression et une taille initiales et sont affectées par les forces des parties voisines ou par des corps solides. Les simulations calculent l'ensemble du comportement du fluide en calculant toutes les portions et leurs interactions. Faire cela efficacement en fait une science. Aucun nombre aléatoire n'est nécessaire ici.

En météorologie ou en climatologie, les choses se passent de la même façon. Mais à présent, les valeurs initiales ne sont pas exactement connues: vous n’avez que les données météorologiques à certains points où elles ont été mesurées. Beaucoup de données doivent être devinées.

Comme ces problèmes compliqués ne sont souvent pas continus dans leurs données d'entrée, vous exécutez les simulations avec différentes suppositions. Le résultat final sera choisi parmi les résultats les plus fréquents. C’est ainsi que certaines prévisions météorologiques sont en principe simulées.


5
Une légère correction: les simulations de monte-carlo peuvent utiliser des calculs non aléatoires. Il est valide d'appeler une simulation "monte-carlo" si elle varie les conditions initiales, puis applique des calculs non aléatoires à partir de là. Beaucoup de situations de CFD appellent le monte-carlo car les conditions aux limites sont définies statistiquement.
Cort Ammon - Rétablir Monica

14

La méthode de Monte Carlo a été la première approche à utiliser la simulation sur ordinateur pour résoudre des problèmes statistiques. Il a été développé par l'équipe de John von Neumann, Stanisław Ulam et Nicholas Metropolis des laboratoires de Los Alamos qui travaillait sur le projet Manhattan pendant la Seconde Guerre mondiale. Il a été décrit pour la première fois en 1949 par Metropolis & Ulam et c'était la première fois que son nom paraissait sur papier. C'était possible parce que les scientifiques qui l'ont découvert étaient aussi capables d'utiliser l' un des premiers ordinateurs sur lesquels ils travaillaient. Dans leur travail, ils ont utilisé les méthodes de Monte Carlo pour la simulation de problèmes physiques. L'idée était que vous pouviez simuler un problème compliqué en échantillonnant un certain nombre d'exemples de ce processus. Il existe de nombreux articles intéressants sur l’histoire de Monte-Carlo, par exemple enMetropolis lui - même ou certains plus récents, par exemple de Robert & Casella .

Ainsi, "Monte Carlo" était le nom de la première méthode décrite dans un but de simulation sur ordinateur pour résoudre des problèmes statistiques. Le nom est ensuite devenu un nom général pour toute une famille de méthodes de simulation et est couramment utilisé de cette manière.

Il existe des méthodes de simulation considérées comme non Monte Carlo . Cependant, bien que Monte Carlo ait été la première utilisation de la simulation par ordinateur, il est courant que "simulation par ordinateur" et "Monte Carlo" soient utilisés de manière interchangeable.

Il existe différentes définitions de ce que la "simulation" est, à savoir

Dictionnaire Merriam-Webster :

3 a: la représentation imitative du fonctionnement d'un système ou d'un processus à l'aide du fonctionnement d'un autre b: examen d'un problème souvent non soumis à une expérimentation directe au moyen d'un simulateur

Dictionnaire Cambridge :

faire ou faire quelque chose qui se comporte ou qui ressemble à quelque chose de réel mais qui n'est pas réel

Wikipedia :

imitation du fonctionnement d'un processus ou système du monde réel au fil du temps

Ce dont la simulation a besoin est une capacité à imiter un système ou un processus. Cela ne nécessite aucune implication aléatoire (comme avec Monte Carlo), cependant si toutes les possibilités sont essayées, alors la procédure est plutôt une recherche exhaustive ou un problème d'optimisation en général . Si l'élément aléatoire est impliqué et qu'un ordinateur est utilisé pour exécuter une simulation d'un modèle, cette simulation ressemble à l'esprit de la méthode de Monte Carlo initiale (par exemple, Metropolis & Ulam, 1949). L’élément aléatoire en tant que partie cruciale de la simulation est mentionné, par exemple, par Ross (2006, Simulation).. Elsevier). Cependant, la réponse à la question dépend fortement de la définition de la simulation que vous supposez. Par exemple, si vous supposez que les algorithmes déterministes qui utilisent l'optimisation ou la recherche exhaustive sont en fait des simulations, nous devons considérer qu'une grande variété d'algorithmes sont des simulations, ce qui rend la définition de la simulation en soi très floue.

Littéralement, chaque procédure statistique utilise un modèle ou une approximation de la réalité, qui est "essayé" et évalué. Ceci est cohérent avec les définitions du dictionnaire de la simulation. Cependant, nous ne considérons pas que toutes les statistiques sont basées sur une simulation. La question et la discussion semblent émerger de l’absence de définition précise de la "simulation". Monte Carlo semble être un exemple archétypique (et un premier exemple) de simulation. Cependant, si nous considérons une définition très générale de la simulation, de nombreuses méthodes non-Monte Carlo entrent dans cette définition. Il existe donc des simulations non-Monte Carlo, mais toutes les méthodes clairement basées sur la simulation ressemblent à l'esprit de Monte Carlo, s'y rapportent ou s'en inspirent. C’est la raison pour laquelle "Monte Carlo" est souvent utilisé comme synonyme de "simulation".


3
Je pense que "Stan" était juste le prénom d'Ulam, pas le nom de famille de quelqu'un d'autre.
Nick Cox

1
Stan est l'abréviation de Stanislas , en effet. C'est pourquoi Andrew Gelman a choisi STAN pour son nouveau langage de simulation.
Xi'an

Compte tenu d'un petit problème combinatoire, peut-être à la limite de la trivialité, une recherche exhaustive serait-elle toujours "Monte Carlo"?
Nick T

6
Je ne comprends pas: comment cela répond-il à la question?
o0 '.

1
@ Xi'an, c'est Stanisław écrit avec "Ł" (lu comme "woo" en anglais).
Tim

13

Toutes les méthodes de simulation impliquent de substituer des nombres aléatoires à la fonction pour trouver une plage de valeurs pour la fonction.

Je n'ai jamais entendu parler de cette définition de la simulation. Par exemple, les articles de Wikipedia sur la simulation et les simulations sur ordinateur ne mentionnent que brièvement des termes tels que aléatoire et stochastique .

Voici un exemple simple de simulation n'impliquant aucun caractère aléatoire et ne constituant donc clairement pas une simulation de Monte Carlo:

Je veux simuler le comportement d'un pendule simple et formuler des hypothèses simplificatrices (cordon sans masse, masse ponctuelle, pas de frottement, pas de forces externes telles que la force de Coriolis). Ensuite, j'obtiens un pendule mathématique et je peux écrire des équations différentielles décrivant son mouvement. Je peux ensuite utiliser un résolveur pour des équations différentielles comme une méthode de Runge – Kutta pour simuler sa trajectoire pour des conditions initiales données. (Je peux aussi théoriquement soutenir que je n'ai pas besoin de considérer d'autres conditions initiales.)

De cette façon, j'obtiens une assez bonne simulation d'un pendule réel sans jamais utiliser un nombre aléatoire. Il ne s’agit donc pas d’une simulation Monte-Carlo.

Dans un autre exemple, considérons la carte logistique , qui est un modèle de population simple et sans caractère aléatoire.


7

La simulation d'une particule sous une force peut être réalisée à l'aide de Runge-Kutta ou d'un autre algorithme déterministe, qui n'est pas du type Monte Carlo.

Monte Carlo est utilisé pour calculer les intégrales (vous pouvez l'appeler une simulation, mais au final, il ne fait que calculer une approximation numérique d'un estimateur). Encore une fois, vous pouvez utiliser une méthode déterministe pour le faire (par exemple, règle trapézoïdale).

De manière générale, vous pouvez séparer des algorithmes pour calculer des intégrales déterministe et non déterministe. Monte Carlo est une méthode non déterministe. Quasi-Monte Carlo en est un autre. La règle trapézoïdale est un algorithme déterministe.


4

Permettez-moi d'essayer une explication simplifiée. Un modèle "what-if" est une simulation (déterministe). Supposons que vous ayez un système complexe, comme une usine de traitement de widgets. Vous voulez pouvoir estimer un paramètre de performance, par exemple le coût. Vous créez un modèle mathématique de l'installation, puis sélectionnez différentes hypothèses pour des facteurs spécifiques du modèle, telles que la vitesse à laquelle les widgets se déplacent dans différentes opérations, les pourcentages correspondant aux différentes directions ou le nombre de widgets que vous allez traiter. Le modèle est une simulation de l'installation et chaque ensemble d'hypothèses vous donne une estimation de ce paramètre de performance.

Introduis maintenant l'incertitude. Vous ne savez pas quelle sera la demande de widgets le mois prochain, mais vous devez en évaluer le coût. Ainsi, au lieu de dire que la demande sera de 1 000 widgets, vous estimez une distribution de probabilité pour la demande. Ensuite, vous échantillonnez de manière aléatoire les valeurs de demande de cette distribution et utilisez celles-ci pour votre hypothèse. Tant que vous y êtes, vous pouvez également utiliser les distributions de probabilité pour d’autres hypothèses. Vous utilisez le modèle encore et encore, en intégrant des hypothèses échantillonnées à partir des diverses distributions de probabilité. Le résultat sera une distribution des estimations de coûts. C'est l'aspect Monte Carlo.

Monte Carlo est une "fonctionnalité" ou un "moteur" superposé à un modèle de simulation. Au lieu de simuler avec un seul ensemble d'hypothèses pour une seule estimation, il effectue une collection de simulations en utilisant des hypothèses choisies au hasard.


2

Dans la théorie des jeux, en particulier, les approches qui utilisent le hasard dans les simulations sont appelées techniques de monte carlo. Il est généralement utilisé dans le cadre des programmes modernes dans le cadre de la recherche dans les arbres de Monte-Carlo (MCTS) .

(La question initiale ne faisait pas de distinction entre " algorithme de monte carlo " et " méthode de monte carlo ", ce qui peut expliquer un désaccord sur certaines des réponses fournies ici.)

Par exemple, dans le jeu de go (et de tous les autres jeux qui utilisent le SCTM dont je suis au courant), les simulations sont appelées playouts. Les lectures aléatoires utilisent le plus strict ensemble de règles. Les diffusions claires sont soit synonymes de diffusions aléatoires, soit filtrent quelques mauvais mouvements facilement détectables. Les playouts lourds utilisent plus d'heuristiques pour filtrer beaucoup plus de coups. (En passant, la lecture va toujours jusqu'à la fin du jeu, donc chaque lecture prend à peu près le même temps.) Mais tous sont considérés comme des simulations "monte carlo".

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.