Menu
CoddyTech

Augensummen beim Würfeln

Teil des Abschnitts Statistik für ML der Machine Learning-Journey von Coddy. Lektion 15 von 64.

Wirf zwei Würfel und addiere ihre Augenzahlen: Eine 7 fällt sechsmal so oft wie eine 2. Zähle die Paare der Augenzahlen:

Ein 6-mal-6-Raster mit den Summen zweier Würfel: Der erste Würfel steht an der Seite, der zweite oben. Die sechs Felder, die eine 7 ergeben, verlaufen diagonal von Ecke zu Ecke und sind schattiert; nur ein Feld ergibt 2

Eine Simulation bestätigt das. Addiere die Würfelwürfe paarweise und zähle dann jede Summe; value_counts listet die häufigsten zuerst auf:

rng = np.random.default_rng(2)
first = rng.integers(1, 7, size=3600)
second = rng.integers(1, 7, size=3600)
counts = pd.Series(first + second).value_counts()
print(counts.head(3))

Dies gibt Folgendes aus:

7    605
6    522
8    443
Name: count, dtype: int64

ax.bar(counts.index, counts) zeichnet das ganze Zelt:

Ein Balkendiagramm mit 3600 Würfen von zwei Würfeln: Die Balken steigen von etwa 100 bei einer Summe von 2 auf einen Höchstwert von etwa 600 bei 7 und fallen dann wieder auf etwa 100 bei 12

Ein Balkendiagramm wie dieses gibt dir einen ersten Einblick in jedes Label: Seine seltenen Werte sind diejenigen, die ein Modell kaum lernen wird.

challenge icon

Aufgabe

Mittel

In einem Rollenspiel ist der Schaden die Summe zweier vierseitiger Würfel mit jeweils 1 bis 4 Augen. Das Programm liest ein, wie viele Angriffe es gibt; das Startprogramm würfelt in first und second und beschriftet das Diagramm.

  1. Zähle jede Schadenssumme.
  2. Gib den wahrscheinlichsten Schaden und seinen Anteil an den Angriffen mit 3 Dezimalstellen aus.
  3. Zeichne die Häufigkeiten als Balken, einen pro Summe, und zeige sie an.

Bei 16 Angriffen ist die Anzahl zu gering, um dem Ergebnis zu vertrauen:

Most likely damage: 6, share 0.312

Ein Balkendiagramm mit dem Titel Damage Rolls für 16 Angriffe: Balken bei 3, 5, 6, 7 und 8; der höchste steht bei 6 mit 5 Würfen

Anschließend beschreibt Coddy dein Diagramm. Bei mehr Angriffen stabilisiert sich der Spitzenwert.

Probier es selbst

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

rolls = int(input())

# Ändere die folgenden Zeilen nicht
rng = np.random.default_rng(4)
first = rng.integers(1, 5, size=rolls)
second = rng.integers(1, 5, size=rolls)

fig, ax = plt.subplots()
ax.set_title("Damage Rolls")
ax.set_xlabel("Damage")
ax.set_ylabel("Rolls")

# Schreibe deinen Code darunter
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Statistik für ML

Übe selbstständig: Online-Python-Compiler