Zum Inhalt springen

Ich überprüfe das Geburtstagsparadoxon

Bewertung

Das Geburtstagsparadoxon, besprochen von Christian Spannagel, brachte mich auf die Idee, seine theoretischen Berechnungen mit einem Zufallsgenerator zu überprüfen. Hier das Video, welches an dieser Idee schuld ist:

Wir haben 23 Kinder und die Aufgabe ist: Wie wahrscheinlich ist es das mindestens zwei der Kinder am gleichen Tag Geburtstag haben?

Sein Ergebnis: Wahrscheinlichkeit: 0,51.

Das Programm:

Dieses Programm simuliert Klassen mit 23 Schülern und zeigt die Statistik wie oft mindestens zwei Schüler am gleichen Tag Geburtstag haben.

<script>
// Initialberechnung beim Laden der Seite
let gesamtKlassen = 0;
let gesamtGleicheGeburtstage = 0;
berechne();

function berechne() {
  const anzahlKlassen = 100000; // Anzahl der zu simulierenden Klassen
  const klassengroesse = 23;
  let gleicheGeburtstage = 0;

  for (let i = 0; i < anzahlKlassen; i++) {
    const geburtstage = [];
    for (let j = 0; j < klassengroesse; j++) {
      geburtstage.push(Math.floor(Math.random() * 365) + 1);
    }
    if (hatDoppelteGeburtstage(geburtstage)) {
      gleicheGeburtstage++;
    }
  }

  gesamtKlassen += anzahlKlassen;
  gesamtGleicheGeburtstage += gleicheGeburtstage;

  const wahrscheinlichkeit = (gesamtGleicheGeburtstage / gesamtKlassen);
  const prozent = wahrscheinlichkeit * 100;

  const output = document.getElementById("output");
  output.innerHTML = `
${gesamtKlassen} Klassen berechnet.
${gesamtGleicheGeburtstage} Fälle von gemeinsamen Geburtstagen.
Wahrscheinlichkeit: ${wahrscheinlichkeit.toFixed(4)}.
Prozent: ${prozent.toFixed(2)}%.
`;
}

function hatDoppelteGeburtstage(geburtstage) {
// Die Funktion nutzt die Eigenschaften von Sets, 
// um effizient zu prüfen, ob ein Array doppelte Werte enthält. 
// Im Kontext des Geburtstagsparadoxons wird sie verwendet, um festzustellen, 
// ob in einer simulierten Klasse mindestens zwei Schüler am gleichen Tag Geburtstag haben.
  return new Set(geburtstage).size !== geburtstage.length;
}
</script>

Schreibe einen Kommentar