Definition eines Zufallsexperiments
In diesem Schritt untersuchen wir, wie man ein Zufallsexperiment mithilfe der Monte-Carlo-Simulation in C definiert. Ein Zufallsexperiment ist ein Prozess mit ungewissen Ergebnissen, der mithilfe von Wahrscheinlichkeitstechniken simuliert werden kann.
Verständnis von Zufallsexperimenten
Erstellen wir ein einfaches C-Programm, um ein grundlegendes Zufallsexperiment zu demonstrieren: die Simulation des Münzwurfs.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUM_TRIALS 1000
int main() {
// Den Zufallszahlengenerator initialisieren
srand(time(NULL));
// Anzahl der Kopf-Ergebnisse
int heads_count = 0;
// Simulation der Münzwürfe
for (int i = 0; i < NUM_TRIALS; i++) {
// Zufällige Zahl 0 oder 1 generieren
int flip = rand() % 2;
// Kopf-Ergebnisse zählen
if (flip == 0) {
heads_count++;
}
}
// Wahrscheinlichkeit für Kopf berechnen
double probability = (double)heads_count / NUM_TRIALS;
printf("Münzwurf-Experiment:\n");
printf("Gesamtversuche: %d\n", NUM_TRIALS);
printf("Anzahl Kopf: %d\n", heads_count);
printf("Geschätzte Wahrscheinlichkeit für Kopf: %.2f\n", probability);
return 0;
}
Beispielausgabe:
Münzwurf-Experiment:
Gesamtversuche: 1000
Anzahl Kopf: 502
Geschätzte Wahrscheinlichkeit für Kopf: 0.50
Erläuterung der Schlüsselkonzepte
-
Zufallszahlengenerierung:
srand(time(NULL))
initialisiert den Zufallszahlengenerator
rand() % 2
generiert entweder 0 oder 1 mit gleicher Wahrscheinlichkeit
-
Experimentierdesign:
- Wir definieren einen Münzwurf als unser Zufallsexperiment
- Führen Sie mehrere Versuche durch (in diesem Fall 1000)
- Zählen Sie die Anzahl der erfolgreichen Ergebnisse (Kopf)
-
Wahrscheinlichkeitsschätzung:
- Wahrscheinlichkeit = (Anzahl erfolgreicher Ergebnisse) / (Gesamtzahl der Versuche)
- In diesem Fall erwarten wir eine Wahrscheinlichkeit von nahe 0,5 für Kopf
Kompilieren und Ausführen des Programms
## Erstellen Sie die Quelldatei
nano ~/project/coin_flip_experiment.c
## Kompilieren Sie das Programm
gcc ~/project/coin_flip_experiment.c -o ~/project/coin_flip_experiment
## Führen Sie das Experiment aus
~/project/coin_flip_experiment
Beispielausgabe für die Kompilierung und Ausführung:
## Kompilierung
gcc ~/project/coin_flip_experiment.c -o ~/project/coin_flip_experiment
## Ausführung
~/project/coin_flip_experiment
Münzwurf-Experiment:
Gesamtversuche: 1000
Anzahl Kopf: 502
Geschätzte Wahrscheinlichkeit für Kopf: 0.50