Ratgeber · Historie & Tool-Vergleich
Vom Würfel zum Algorithmus: Eine kurze Geschichte des Zufalls
Zufall ist nicht erst seit JavaScript ein Thema. Von antiken Knochen-Würfeln bis zum O(n)-Algorithmus von 1964 zeigt sich, dass die Aufgabe immer dieselbe war: fair und nachvollziehbar mischen.
Wenn du heute im Browser auf einen Button drückst und ein Algorithmus dir einen Namen aus einer Liste zieht, steht das in einer ungebrochenen Linie von Zufallsverfahren, die seit zweieinhalbtausend Jahren denselben Zweck haben: eine faire Entscheidung herbeiführen, die niemand vorhersagen kann. Die Mittel haben sich gewandelt, von Knochen über Würfel über Lostrommeln zu Software. Die Aufgabe ist dieselbe geblieben.
Die Antike: Astragale und das Spiel mit den Knochen
Im antiken Griechenland und Rom waren Astragale das, was heute Würfel sind. Das sind die Sprunggelenk-Knochen von Hammeln, Ziegen und seltener von Rindern. Die Form ist nicht ganz quaderförmig, sondern hat zwei breite und zwei schmalere Seiten plus zwei gerundete Enden, die praktisch nie oben liegen bleiben. Vier Seiten konnten also “gewinnen”, jede hatte einen Namen und einen Punktwert.
Bei den Römern hießen die Werte canis (Hund, 1 Punkt, die schmalste Seite), suppus (3 Punkte), pronus (4 Punkte) und Venus (6 Punkte, die breiteste Seite, der höchste Wurf). Aus mehreren Astragalen entstanden komplexe Würfel-Spiele mit Namen wie Tali, die überall im Reich gespielt wurden. Wer “Venus” warf, hatte gewonnen, wer “Canis” oder “Hund” warf, musste oft einen Einsatz in einen Pott zahlen.
Die Verteilung war nicht gleichmäßig, weil die Knochen nicht symmetrisch waren. Die breiten Seiten kamen häufiger oben raus als die schmalen. Aber das wurde nicht als Problem gesehen, weil alle Spieler mit denselben Knochen spielten und damit denselben Bias hatten. Die Fairness war relativ, nicht absolut. Interessant: die Knochen wurden auch für Orakel-Befragungen verwendet, wo die Verzerrung sogar erwünscht war, weil man “selten gute” Antworten der Göttin Venus zuordnete.
Mittelalter: Der Würfel wird zum Massenartikel
Der klassische sechsseitige Würfel ist nicht in Europa erfunden worden, er kommt aus Indien und dem antiken Persien. Aber im europäischen Mittelalter wurde er zum allgegenwärtigen Spielgerät. Soldaten brachten ihn von Kreuzzügen mit, in jeder Schenke und an jedem Markt wurde damit gespielt.
Die Würfel waren oft nicht ganz symmetrisch, weil sie aus Knochen, Holz oder Bein geschnitzt wurden. Bestimmte Augen-Kombinationen kamen wegen Maßabweichungen oder unterschiedlicher Dichte häufiger vor. Das war einer der Gründe, warum Falschspieler-Anklagen im Mittelalter ein massives juristisches Thema waren. Wer mit “frisierten Würfeln” erwischt wurde, konnte die Hand verlieren oder schlimmeres.
Erst im 19. und 20. Jahrhundert standardisierten Kasinos die Würfel-Produktion. Heute haben Kasinos-Würfel Toleranzen im Bereich von hundertstel Millimetern, mit transparentem Material, damit man keine Gewichte einsetzen kann. Die Augen werden hineingebohrt und mit demselben Material gefüllt, das man weggeschnitten hat, damit kein Gewichtsunterschied entsteht.
Renaissance und frühe Neuzeit: Lotterien werden professionell
Im 15. und 16. Jahrhundert kamen die ersten organisierten Lotterien auf. Die niederländischen Städte nutzten sie, um öffentliche Bauwerke zu finanzieren, vor allem Stadtmauern, Kirchen und Hospitäler. Die “Lotterij” war ein Verkauf von Losen, deren Erlöse zu einem Teil als Preis verlost wurden, der andere Teil ging in die Staatskasse.
Die Ziehung erfolgte mit physischen Lostrommeln oder Beuteln. Lose wurden mit Federkielen beschriftet, in einen Beutel gegeben, gemischt, gezogen. Das Verfahren war öffentlich, oft auf dem Marktplatz mit großem Publikum. Die Transparenz war Teil der Akzeptanz: Wenn alle zusehen, kann niemand betrügen.
Die englische Staatslotterie wurde 1567 unter Elisabeth I. eingerichtet, um die Marine zu finanzieren. Die Ziehung fand in der St. Pauls Cathedral statt. Später folgten Frankreich, Italien, das Heilige Römische Reich. Die mathematische Untermauerung kam aber erst, als Blaise Pascal und Pierre de Fermat 1654 begannen, Wahrscheinlichkeitsrechnung systematisch zu formalisieren. Davor war Zufall ein Phänomen, das man nutzte, ohne es zu verstehen.
20. Jahrhundert: Bingo-Käfige und mechanische Ziehung
Das mechanische Bingo, wie wir es heute kennen, kam in den 1920er und 1930er Jahren in den USA auf. Edwin Lowe, ein Spielwaren-Händler aus New York, sah das Spiel auf einem Karneval in Atlanta und brachte es in die Stadt. Der Bingo-Käfig wurde standardisiert: 75 oder 90 nummerierte Kugeln, rotierender Drahtkäfig, Handkurbel, Auslauf-Röhre.
Das Spiel hat zwei Eigenschaften, die es bis heute populär machen. Erstens: die Ziehung ist visuell transparent. Du siehst die Kugeln im Käfig, du siehst die Drehung, du siehst die Kugel rausfallen. Manipulation ist mechanisch schwierig. Zweitens: die Verteilung ist gut genug, auch wenn nicht perfekt. Kleine Asymmetrien im Käfig oder in den Kugel-Gewichten gleichen sich über lange Spielzeiten aus.
Genau dieses Verfahren kommt bei vielen Lotto-Sendungen im Fernsehen bis heute zum Einsatz. Die Deutsche Lotto-Ziehung am Samstag und Mittwoch nutzt zwei rotierende Behälter mit Kugeln. Der Vorteil gegenüber einer Software-Ziehung: jeder im Wohnzimmer kann es sehen. Transparenz schlägt Effizienz, zumindest für das Publikums-Vertrauen.
1938 und 1964: Der Sprung zur Software
Ronald Fisher und Frank Yates haben 1938 ihr Buch Statistical Tables for Biological, Agricultural and Medical Research veröffentlicht. Es war eigentlich eine Sammlung von Tabellen für Forscher in der Landwirtschaft und Medizin, die Versuche planen mussten. Im Buch beschrieben sie einen Algorithmus zur fairen Permutation einer Liste, kombiniert mit einer beigefügten Zufallszahl-Tabelle.
Die Idee war: Wenn du ein Feldexperiment machst, bei dem du verschiedene Behandlungen auf verschiedene Parzellen verteilst, kannst du nicht systematisch verteilen (sonst könnten Bodenqualität oder Wetter dein Ergebnis verzerren). Du musst die Zuordnung randomisieren. Dafür brauchst du eine zufällige Permutation, und die liefert der Fisher-Yates-Algorithmus.
Der Algorithmus war 1938 noch quadratisch in der Laufzeit, weil er mit zwei Listen arbeitete. Auf Papier mit kleinen Listen war das egal. Als die ersten Computer kamen, wurde Effizienz wichtiger. Richard Durstenfeld hat 1964 in den Communications of the ACM eine In-Place-Variante veröffentlicht, die in linearer Zeit läuft. Er nannte sie Algorithm 235.
Donald Knuth hat den Durstenfeld-Algorithmus in seinem epochalen Werk The Art of Computer Programming detailliert beschrieben, was ihm den Namen “Knuth-Shuffle” einbrachte. Knuth war es auch, der die mathematische Beweisführung lieferte, warum jede Permutation mit exakt gleicher Wahrscheinlichkeit gezogen wird. Heute ist Fisher-Yates-Durstenfeld in jeder ernsthaften Standard-Library jeder Sprache vorhanden.
Vom Algorithmus zur Web-API
Der nächste Sprung kam erst spät: kryptographisch sicheren Zufall im Browser zu haben, ohne ihn selbst implementieren zu müssen. Bis 2011 war Math.random die einzige Option in JavaScript, und die war ein simpler Pseudo-Zufalls-Generator ohne Sicherheitsversprechen. Erst mit der Web Crypto API, die im Draft seit 2012 und in der Praxis seit Chrome 11 in 2011 verfügbar war, gab es crypto.getRandomValues. Damit konnte jeder Web-Entwickler kryptographisch sichere Zufallszahlen abrufen, die der Betriebssystem-Generator lieferte.
Heute sind also alle Komponenten verfügbar: Fisher-Yates als Algorithmus, crypto.getRandomValues als sichere Zufallsquelle, der Browser als Ausführungsumgebung. Eine faire Ziehung von 10.000 Namen passt in zehn Zeilen JavaScript und läuft in Millisekunden. Was im Mittelalter mit Lostrommeln eine Stunde gedauert hätte und mit Würfeln Jahre, ist heute eine Mikrosekunde Browser-Code.
Was bleibt von der historischen Linie: die Idee, dass Zufall fair sein muss und nachvollziehbar. Beim Würfel siehst du den Wurf, beim Bingo-Käfig die Drehung. Beim Algorithmus siehst du den Quellcode. Transparenz ist und bleibt die Grundlage der Akzeptanz. Mehr dazu im Ratgeber zu Tool-Vergleichen.
Was die Zukunft bringen könnte
Quanten-Zufalls-Generatoren sind das nächste Kapitel. Sie nutzen quantenmechanische Eigenschaften wie die Superposition von Photonen, um echten physikalischen Zufall zu erzeugen. Im Gegensatz zu thermischem Rauschen, das in der klassischen Physik auch deterministisch sein könnte, wenn man alle Anfangsbedingungen kennt, ist Quanten-Zufall fundamental nicht-deterministisch.
Erste kommerzielle Quanten-Zufalls-Geräte gibt es seit etwa 2010, etwa die Quantis-Produkte von ID Quantique. Sie werden in Hochsicherheits-Anwendungen eingesetzt, in Schweizer Online-Lotterien, in einigen Forschungs-Einrichtungen. Für den Endnutzer im Browser ist das overkill, aber es zeigt: die Suche nach perfektem Zufall ist nicht abgeschlossen.
Was bleibt vom klassischen Zufalls-Verfahren
Trotz aller Software-Verfügbarkeit bleiben mechanische und physikalische Auslosungen relevant. Die Lotto-Ziehung im Fernsehen mit den nummerierten Kugeln ist nicht aus technischer Notwendigkeit so, sondern aus Vertrauensgründen. Wer die Kugeln im Käfig sieht, glaubt der Ziehung. Wer einen Algorithmus laufen sieht, muss dem Algorithmus vertrauen, was eine andere Form von Glaubens-Akt ist.
Das ist nicht nostalgisch, sondern eine echte Spannung. Software ist effizient und billig, aber abstrakt. Mechanische Auslosungen sind teuer und langsam, aber konkret. Wer eine Verlosung mit hohem Reputations-Bezug macht, wählt deshalb manchmal die mechanische Variante, auch wenn die Software-Variante billiger und schneller wäre.
Was hängenbleibt
Die Aufgabe, Zufall zu organisieren, ist mindestens zweieinhalbtausend Jahre alt. Die Mittel haben sich gewandelt: von Astragalen über Würfel über Lostrommeln zu mechanischen Käfigen zu Algorithmen. Der Anspruch ist aber stabil geblieben: fair, nachvollziehbar, akzeptiert. Fisher und Yates haben 1938 den ersten systematischen Algorithmus dafür formuliert, Durstenfeld hat ihn 1964 auf lineare Zeit gebracht, Knuth hat ihn mathematisch sauber bewiesen. Heute läuft das alles in einem Browser-Tab in Millisekunden. Wer einen Namen aus einer Liste zieht, steht in dieser Linie.
FAQ
Häufige Fragen
Was waren Astragale und warum hat man damit gewürfelt?
Astragale sind die Sprunggelenk-Knochen von Hammeln und Ziegen, die natürlicherweise eine grob quaderförmige Form haben. In der Antike, also im griechischen und römischen Raum ab etwa dem 5. Jahrhundert vor Christus, hat man sie als Zufallsgerät genutzt. Vier Seiten konnten oben landen, jede hatte einen anderen Namen und Wert. Aus der Kombination mehrerer Astragale entstanden Würfel-Spiele, Orakel-Befragungen und auch Lotterien. Die Verteilung war nicht perfekt gleichverteilt, weil die Knochen keine perfekten Würfel waren, aber gut genug, um damit Geld zu setzen und Streit zu vermeiden.
Wie kam man im Mittelalter auf den klassischen sechsseitigen Würfel?
Der sechsseitige Würfel mit den Augen 1 bis 6 ist deutlich älter als das Mittelalter, er kommt aus Indien und dem antiken Persien. Im europäischen Mittelalter wurde er aber massenhaft verbreitet, vor allem durch Soldaten, die ihn aus Kreuzzügen mitbrachten. Die Form war oft nicht perfekt symmetrisch, weil die Würfel aus Knochen, Holz oder Bein geschnitzt wurden. Bestimmte Augen-Kombinationen waren wegen kleinster Maßabweichungen wahrscheinlicher, was zu vielen Streitigkeiten und Falschspieler-Anklagen führte. Erst im 19. Jahrhundert standardisierten Kasinos die Würfel-Produktion auf gleichmäßige Plastik-Würfel mit definierter Toleranz.
Warum war der Fisher-Yates-Algorithmus von 1938 ein Durchbruch?
Vor Fisher-Yates gab es keinen systematischen Algorithmus zum fairen Permutieren einer endlichen Liste. Statistiker mussten sich mit Würfeln oder Lostrommeln behelfen, was bei größeren Listen unpraktisch wurde. Fisher und Yates haben in ihrem Buch Statistical Tables for Biological, Agricultural and Medical Research einen einfachen, deterministischen Algorithmus beschrieben, der mit einer Zufallszahl-Tabelle gepaart eine faire zufällige Reihenfolge produzierte. Das war für die agrarwirtschaftliche Forschung wichtig, weil man Versuchsfelder zufällig anordnen musste, um systematische Effekte (Bodenqualität, Wetter) herauszurechnen. Heute ist es der Standard-Algorithmus in jeder Programmiersprache.
Was hat Richard Durstenfeld 1964 daran verbessert?
Durstenfeld hat den Algorithmus von O(n²) auf O(n) beschleunigt. Das Original arbeitete mit zwei Listen: einer Eingabe-Liste, aus der gestrichen wurde, und einer Ergebnis-Liste, in die eingetragen wurde. Das Streichen brauchte Verschiebungen, was bei großen Listen quadratisch teuer wurde. Durstenfeld hat erkannt, dass man direkt in der Eingabe-Liste arbeiten kann, indem man das gezogene Element mit dem letzten noch ungezogenen Element tauscht. Diese In-Place-Variante ist heute die Standard-Implementierung. Sie wurde 1964 in den Communications of the ACM als Algorithm 235 veröffentlicht und ist seitdem in jeder ernsthaften Statistik- und Programmier-Bibliothek vertreten.
Wann kamen die mechanischen Bingo-Käfige auf?
Bingo selbst hat seine Wurzeln im italienischen Lotto-Spiel des 16. Jahrhunderts, kam in den 1920er Jahren über Karneval-Veranstaltungen in den USA an und wurde dort zur Massenattraktion. Die mechanischen Käfige mit den nummerierten Kugeln und der Handkurbel kamen in den 1930er Jahren auf. Das Prinzip ist bestechend einfach: Kugeln mit Nummern werden in einen rotierenden Käfig getan, der Operator dreht die Kurbel, eine Kugel fällt zufällig in eine Auslauf-Röhre. Mechanisch unfälschbar (zumindest bei sauberem Setup), visuell transparent und seit fast 100 Jahren das Bild für faire Auslosungen, das auch über Glücksspiel-Sendungen wie Lotto im Fernsehen bekannt ist.
Quellen
Worauf dieser Ratgeber sich stützt
- Wikipedia: Astragalus (Bone)
- Knuth: The Art of Computer Programming, Vol. 2
- Fisher, R. A. and Yates, F. (1938): Statistical Tables for Biological, Agricultural and Medical Research
- Durstenfeld, R. (1964): Algorithm 235: Random Permutation, CACM 7(7)
- Wikipedia: Bingo (U.S.)
- David, F. N. (1962): Games, Gods and Gambling
Verwandte Ratgeber