kein JavaScript

Anmerkungen zum Computerorakel

Wie wird das gemacht? Viele Grüße von "random"!

Die Welt wandelt sich und so kann u.a. das Orakel des I Ging inzwischen auf elektronische Art befragt werden, auch auf dieser Seite. Klickt man beim Orakel auf "Münzorakel" bzw. auf "Schafgarbenorakel", so erhält man eine Linie, die der Computer generiert. Die Unterschiede zu den beiden anderen Arten des Befragens sind beträchtlich. Ich versuche auf dieser Seite zu beschreiben was beim Computerorakel passiert und wie die jeweiligen Simulationen umgesetzt wurden.

Bemerkungen zum Schafgarbenorakel gibt es hier.
Beim Münzorakel wirft man drei Münzen gleichzeitig und erhält mit einem Wurf eine Linie. Man kann die Münzen in den Händen schütteln, sie in einem Becher hüpfen lassen, der aus Leder, Holz, Metall oder aus einem anderen Material bestehen kann. Klingt richtig gut, fühlt sich gut an. Man kann die Münzen mit den Fingern schnipsen. Lässt man sie rotieren, wird das Ergebnis mit einem akustischen accelerando und crescendo bekannt gegeben. Oder so wie ein Schiedsrichter auf dem Fußballplatz: sie fliegen in hohem Bogen auf den Teppich, auf die Fliesen, auf den Rasen oder auf einen anderen Untergrund (aufpassen, dass der Hund keine aus der Luft wegschnappt). Es klingt, es glitzert. Beim Aufsammeln kann man seinen Spass haben, weil man die Möbel verrücken muss, eine Münze ist doch unter den Kühlschrank gehüpft. Neben der Münze in der Ecke liegt ein angeknabberter Knochen. Nachdem Besen, Wischeimer und der Staubsauger wieder weggeräumt sind, der Kühlschrank an seinen Platz gerückt ist, hat man vergessen auf welche Seite die Münze gefallen war. Auch gut! Die Ecke, wo der Kühlschrank steht, hat sich gewandelt und der Hund freut sich.

Und das Computerorakel? Dazu muss man zu den Priviligierten gehören, die einen Computer besitzen. Ein Zucken des Fingers, ein leises Klicken und das Ergebnis erscheint auf dem Bildschirm. Was passiert da in der Maschine? Ist es Magie? Die Münze fällt auf die eine oder andere Seite und beim Schafgarbenorakel ist der Schritt entscheidend, wo die Stäbchen wieder in zwei Haufen geteilt werden. Hier setzt das Computerorakel an. Jeder Rechner kann Zufallszahlen erzeugen, sie werden in verschiedenen Programmiersprachen mit dem Wort "random" (zufällig) bezeichnet. Beim Computerorakel und den Anleitungen zum Münzorakel bzw. Schafgarbenorakel wird "JavaScript" dazu benutzt. Es ist eine sogenannte Funktion, die ich mir aus vier Zeilen zusammengebastelt habe, quasi die virtuellen Münzen und Schafgarbenstengel des Computers, die nicht verlorengehen oder angeknabbert werden und so sehen sie aus :

function zufallZahl(min,max) {
var summe=max-min;
return Math.round(Math.random()*summe+min);
}

Entscheidend sind neben "random" die Klammer in der ersten Zeile "(min,max)". Das "min" bedeutet Minimum oder die kleinste mögliche Zahl, das "max" bedeutet Maximum oder die größte mögliche Zahl. Das Maximum muss dabei größer angegeben werden, wie das Minimum, also Vorsicht bei negativen Zahlen, falls jemand diese Funktion selber einsetzen möchte. Aktiviert wird die Funktion an entsprechender Stelle beim Münzorakel mit z.B.:

muenze_1 = zufallZahl(0,1);
muenze_2 = zufallZahl(0,1);
muenze_3 = zufallZahl(0,1);
ergebnis = muenze_1 + muenze_2 + muenze_3;

Das bedeutet: Berechne eine Zufallszahl für die erste Münze(muenze_1) zwischen 0 (min) und 1 (max), 0 wäre Wappen, 1 wäre Zahl, oder umgekehrt. Das Ergebnis für die zweite Münze erhält man mit "muenze_2", wieder eine Zahl zwischen 0 und 1, Wappen oder Zahl, die dritte Münze fällt in derselben virtuellen Art.
Die letzte Zeile "ergebnis = muenze_1 + muenze_2 + muenze_3;" bedeutet: Addiere die erhaltenen Resultate. Möglich sind:
0 + 0 + 0 = Wappen + Wappen + Wappen
0 + 0 + 1 = Wappen + Wappen + Zahl (die 1 oder Zahl kann an anderer Stelle auftauchen, das Ergebnis bleibt gleich)
0 + 1 + 1 = Wappen + Zahl + Zahl (die 0 oder Wappen kann an anderer Stelle auftauchen, das Ergebnis bleibt gleich)
1 + 1 + 1 = Zahl + Zahl + Zahl
Das "ergebnis" (0, 1, 2 oder 3) sagt dem Computer dann welche Linie er anzeigen soll, auch hier gibt es 4 Stück.

Bei der Anleitung zum Münzorakel starten die obigen drei Zeilen als Animation sofort, zu Beginn nach 0,5 Sekunden und dann alle drei Sekunden, bis man auf "Start" klickt. Der 0 oder 1 werden dann entsprechende Bildchen zugeordnet, also entweder wird das Wappen oder die Zahl der Euromünze gezeigt. Das Ergebnis ist die angezeigte Linie.
Die Funktion "zufallZahl(min,max)" kann also in allen möglichen Variationen aufgerufen werden und liefert ganze Zahlen zwischen dem Minimum und Maximum. Hier noch ein paar Beispiele:

Wuerfel = zufallZahl(1,6);
Wandlung = zufallZahl(1,18);
Zeichen = zufallZahl(1,64);
Kontostand = zufallZahl(-10000,100000);

Das reicht eigentlich, um ein Computerorakel zu schreiben. Ein Klick auf Beispiel 3 und ein Zeichen ist ermittelt, dann für jede Linie einmal Beispiel 2 einsetzen (also 6 mal), für die eventuellen Wandlungen. (1 - 6 wären dann "Treffer"). Dort braucht man nur die Zahl 18 verändern und die Wahrscheinlichkeit der Wandlungen erhöht oder erniedrigt sich. Das wäre aber zu einfach gewesen, es erinnert an "Schiffe versenken".

Beim Schafgarbenorakel wird es komplizierter ein Orakel zu simulieren. Das Teilen der Stengel in zwei Hälften ist der entscheidende Moment, danach werden immer 4 Stengel weggenommen und der Rest wird zwischen die entsprechenden Finger gesteckt (der Computer teilt durch 4, er rechnet Anzahl/4 Rest=X). Zu Beginn hat man 49 Stäbchen, die zum Befragen des Orakels eingesetzt werden. Diese werden in zwei Hälften geteilt, die zusammen wieder 49 ergeben, hier muss man sich für eine Grenze entscheiden. Eine Hälfte sollte also mindestens 5 Stäbchen enthalten, um beim Teilen noch einen Rest zu erhalten, sind es 6 erhält man z.B 2 als Rest. Die Untergrenze ist mit 5 also sehr großzügig bemessen, woraus sich die Obergrenze von 49 - 5 also 44 ergibt. Wenn man 49 Schafgarbenstengel in der Hand hält und sie teilt, wird es wohl kaum passieren, dass auf der einen Seite 5 und auf der anderen Seite 44 liegen, aber wer weiß, vergessen wir den Hund nicht in der Rechnung? Bei der Anleitung sind die Grenzen etwas anders (siehe unten), vielleicht realistischer (wenn man keinen Hund hat). Das hatte aber auch mit den vielen Stäbchen auf dem Bildschirm zu tun. Die weiteren Teilungen der virtuellen Stäbchen ergeben sich aus dem ersten Mal mit 49 Stäbchen. Es wird immer ein Rest weggelegt.
Eine gerade und eine ungerade Zahl, die Chancen sind somit wieder 50 zu 50 für die Restsumme, analog der Realität. Die Zufallszahl ergibt den linken Haufen, der Rest (49-Zufallszahl) den rechten:

schafgarbenorakel = zufallZahl(5,44);
wird im Orakel eingesetzt
schafgarbenorakel = zufallZahl(15,34);
wird in der Anleitung zum Schafgarbenorakel eingesetzt

Entscheidend ist, ob die ermittelte Zufallszahl gerade oder ungerade wird, da das den späteren Abzählvorgang auch beim Teilen mit "realen" Schafgarbenstengeln beeinflusst. Genausogut hätte man den Computer auch wieder zwischen "0 gerade" und "1 ungerade" entscheiden lassen können, virtuell also eine Münze werfen wie oben beschrieben. Es läuft im Endeffekt immer wieder auf das Wörtchen "random" (zufällig) hinaus und vier kleine Zeilen, die "function zufallZahl(min,max)" entscheiden, wie es ausgeht. Die Funktion passt auch in eine Zeile und kann einen anderen Namen haben : "function Orakel(yin,yang)". Hilfreich ist diese Funktion bei den Anleitungen, damit möglichst unterschiedliche Ergebnisse erzielt werden.

Es ist nichts Magisches am Computerorakel, die Vorgaben des jeweiligen Autors werden von der Maschine ausgeführt, sie errechnet auf die eine oder andere Art einen Zufallszustand, der dann weitergeleitet wird an die nächste Funktion, die dann die entsprechenden Befehle ausführt.
Um sich auf ein Computerorakel verlassen zu können, muss man sich zuerst auf den Autor verlassen können, der das geschrieben hat.
Vielleicht hat jemand Lust bekommen, selber ein "Orakel" zu schreiben, oder ein "Würfelspiel", oder vielleicht "Schiffe versenken"?
Wenn diese Seite dazu hilfreich war, würde ich mich freuen, davon zu hören: e-mail: heinz@hschulte.de

Im Prinzip entscheidet auch die Maschine zwischen 0 und 1, Yin oder Yang. Es reizt, weil es so schön bequem ist, sechsmal mit dem Finger zucken und das Ergebnis wird präsentiert, auch ein Fingerzucken hätte ausgereicht, nur ein wenig die Rechenroutinen verändern. Wer bis hierher gelesen hat, frage sich einmal, wie oft er weiter oben auf der Seite einen "Test" Knopf angewählt hat, um ein Ergebnis zu sehen (nicht einmal den Kontostand kontrolliert?).

Ist man sich sicher, den Rechenalgorhythmen eines Computerorakels trauen zu können (viele Grüße von "random"), hat das natürlich auch große Vorteile:
  • Spätabends braucht man nicht mehr seine Putzausrüstung, um verlorene Münzen zu suchen.
  • Die noch übrigen Münzen kann man ausgeben oder dem Nachbarn schenken (wegen der Katze).
  • Der Hund kann weder eine Münze wegschnappen, noch irgeneinen Schafgarbenstengel bearbeiten.
  • Die Wellensittiche freuen sich, sie werden mit den übrigen Schafgarbenstengeln behutsam am Köpfchen gekrault (wenn der Hund welche übrig gelassen hat).
Das will der Hund natürlich überhaupt nicht einsehen und kratzt inzwischen an der Ausgangstür, weil man schon wieder so lange vor der Kiste gehockt hat. Er möchte endlich nach draußen und Schafgarbe suchen.

Allen Suchenden und Versuchenden wünsche ich viel Erfolg, besonders denen mit dem magischen Finger (klick). Heinz Schulte