Définition d'une expérience aléatoire
Dans cette étape, nous explorerons comment définir une expérience aléatoire à l'aide de la simulation de Monte Carlo en C. Une expérience aléatoire est un processus aux résultats incertains qui peut être simulé à l'aide de techniques de probabilité.
Comprendre les expériences aléatoires
Créons un simple programme C pour démontrer une expérience aléatoire de base : la simulation du lancer d'une pièce.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM_ESSAIS 1000
int main() {
// Initialiser le générateur de nombres aléatoires
srand(time(NULL));
// Compteur de faces
int nb_faces = 0;
// Simuler les lancers de pièce
for (int i = 0; i < NUM_ESSAIS; i++) {
// Générer un nombre aléatoire 0 ou 1
int lancer = rand() % 2;
// Comptabiliser les faces
if (lancer == 0) {
nb_faces++;
}
}
// Calculer la probabilité d'obtenir face
double probabilité = (double)nb_faces / NUM_ESSAIS;
printf("Expérience de lancer de pièce :\n");
printf("Nombre total d'essais : %d\n", NUM_ESSAIS);
printf("Nombre de faces : %d\n", nb_faces);
printf("Probabilité estimée d'obtenir face : %.2f\n", probabilité);
return 0;
}
Exemple de sortie :
Expérience de lancer de pièce :
Nombre total d'essais : 1000
Nombre de faces : 502
Probabilité estimée d'obtenir face : 0,50
Concepts clés expliqués
-
Génération de nombres aléatoires :
srand(time(NULL)) initialise le générateur de nombres aléatoires
rand() % 2 génère soit 0 soit 1 avec une probabilité égale
-
Conception de l'expérience :
- Nous définissons le lancer d'une pièce comme notre expérience aléatoire
- Exécuter plusieurs essais (1000 dans ce cas)
- Comptabiliser le nombre de résultats favorables (faces)
-
Estimation de la probabilité :
- Probabilité = (Nombre de résultats favorables) / (Nombre total d'essais)
- Dans ce cas, nous nous attendons à une probabilité proche de 0,5 pour obtenir face.
Compilation et exécution du programme
## Créer le fichier source
nano ~/project/coin_flip_experiment.c
## Compiler le programme
gcc ~/project/coin_flip_experiment.c -o ~/project/coin_flip_experiment
## Exécuter l'expérience
~/project/coin_flip_experiment
Exemple de compilation et de sortie d'exécution :
## Compilation
gcc ~/project/coin_flip_experiment.c -o ~/project/coin_flip_experiment
## Exécution
~/project/coin_flip_experiment
Expérience de lancer de pièce :
Nombre total d'essais : 1000
Nombre de faces : 502
Probabilité estimée d'obtenir face : 0,50