Zahlengenerator
Erzeuge zufällige ganze Zahlen in deinem gewünschten Zahlenbereich.
Ein Zahlengenerator erzeugt Zahlen nach vorgegebenen Regeln. Häufig geht es um Zufallszahlen aus einem bestimmten Bereich, etwa von 1 bis 100. Das ist nützlich, wenn eine Reihenfolge ausgelost, ein Spiel vorbereitet oder ein Rechenbeispiel mit wechselnden Werten erstellt werden soll. Im Folgenden erkläre ich, worauf es bei Zahlenbereich, Wiederholungen und Wahrscheinlichkeiten ankommt.
Zahlenbereich und Anzahl festlegen
Die wichtigste Vorgabe ist der Bereich, aus dem der Zahlengenerator wählen soll. Für einen Würfel entspricht er beispielsweise den ganzen Zahlen von 1 bis 6. Sollen auch die Grenzen dazugehören, enthält ein Bereich von a bis b insgesamt b − a + 1 mögliche ganze Zahlen.
| Beispiel | Bereich | Mögliche ganze Zahlen | Beispielausgabe |
|---|---|---|---|
| Würfelzahl | 1 bis 6 | 6 | 4 |
| Zahl für eine Auslosung | 1 bis 100 | 100 | 37 |
| Bereich mit negativen Zahlen | −3 bis 3 | 7 | −2 |
| Drei Ziehungen mit Wiederholung | 1 bis 10 | 10 je Ziehung | 2, 7, 2 |
Die Beispielausgaben in der Tabelle zeigen mögliche Ergebnisse, keine Vorhersagen. Bei mehreren erzeugten Zahlen ist außerdem entscheidend, ob Werte mehrfach vorkommen dürfen. Wenn eine Anwendung die Bereichsgrenzen anders behandelt, ändert sich auch die Anzahl der möglichen Ergebnisse.
Mit oder ohne Wiederholung?
Mit Wiederholung kann jede Zahl bei jeder Ziehung erneut erscheinen. Drei Ziehungen aus 1 bis 10 könnten deshalb 2, 7, 2 ergeben. Werden dagegen verschiedene Zahlen benötigt, muss die Ziehung ohne Wiederholung erfolgen; ein mögliches Ergebnis wäre 2, 7, 9.
Bei einer Ziehung ohne Wiederholung darf die gewünschte Anzahl nicht größer sein als der Zahlenvorrat. Aus dem Bereich 1 bis 10 lassen sich beispielsweise höchstens zehn verschiedene ganze Zahlen ziehen. Für Gruppen, Plätze oder Kennnummern sollte daher vorab klar sein, ob doppelte Ergebnisse zulässig sind.
Wahrscheinlichkeiten berechnen
Wenn alle ganzen Zahlen eines Bereichs gleich wahrscheinlich sind, lässt sich die Chance für einen bestimmten Wert einfach berechnen. Bei einer einzelnen Zahl von 1 bis 6 beträgt die Wahrscheinlichkeit für eine 4 genau 1/6, also rund 16,7 %. Bei einer Zahl von 1 bis 100 beträgt sie für einen zuvor festgelegten Wert 1/100 = 1 %.
Bei mehreren Ziehungen kommt es auf die Regeln an. Werden dreimal unabhängig Zahlen von 1 bis 10 mit Wiederholung gezogen, gibt es 10 × 10 × 10 = 1.000 mögliche geordnete Folgen. Die Chance auf die zuvor festgelegte Folge 2, 7, 2 beträgt damit 1/1.000 = 0,1 %.
Werden dagegen drei verschiedene Zahlen aus 1 bis 10 gezogen und spielt ihre Reihenfolge keine Rolle, gibt es 10 × 9 × 8 ÷ (3 × 2 × 1) = 120 mögliche Zahlengruppen. Für eine bestimmte, vorher festgelegte Dreiergruppe beträgt die Wahrscheinlichkeit dann 1/120, sofern jede Gruppe gleich wahrscheinlich ausgewählt wird.
Was „zufällig“ bei einem Zahlengenerator bedeutet
Ein einzelnes Ergebnis verrät wenig über die Qualität eines Zahlengenerators. Auch bei einer gleichmäßigen Verteilung können gleiche Zahlen kurz hintereinander auftreten oder manche Werte über wenige Ziehungen hinweg fehlen. Zufall bedeutet nicht, dass sich die Ergebnisse schon in einer kleinen Stichprobe gleichmäßig verteilen.
Für Spiele, Übungen oder einfache Auslosungen genügt oft eine gewöhnliche Zufallsauswahl. Für Passwörter, Sicherheitsschlüssel oder andere sicherheitsrelevante Zwecke ist dagegen ein ausdrücklich dafür geeigneter kryptografischer Zufallszahlengenerator erforderlich. Aus der Bezeichnung „Zahlengenerator“ allein lässt sich diese Eignung nicht ableiten.
Den Zahlengenerator passend einsetzen
Vor dem Erzeugen der Zahlen lege ich drei Fragen fest: Welche Werte sind erlaubt, wie viele Ergebnisse werden benötigt und dürfen sie sich wiederholen? Für eine Würfelsimulation lautet die Vorgabe beispielsweise „eine ganze Zahl von 1 bis 6“. Für die Vergabe von fünf unterschiedlichen Startnummern aus 1 bis 20 lautet sie „fünf ganze Zahlen ohne Wiederholung“.
Auf coprozessor.de kann der Zahlengenerator für solche Aufgaben genutzt werden. Bei einer wichtigen Auslosung sollten die Regeln vorab feststehen und für alle Beteiligten nachvollziehbar sein – insbesondere der Zahlenbereich und der Umgang mit doppelten Ergebnissen.