Sitemap
Hinweis
GPS
Experimente mit ELEXS und Palmtop
Die Faszination alter programmierbarer Taschenrechnern
Die Entwicklungsgeschichte der programmierbaren Taschenrechner
Vorstellung: Privileg PR 56 D-NC
Vorstellung: Casio FX-602P
Über Spielautomaten und ihre Emulatoren
Age of Empires
Über den Zufall

Zurück zu:
Artikel
Weiter auf dieser Ebene:
Age of Empires

Artikel

Über den Zufall

Im Alltag verwenden wir den Zufall meistens ohne groß über ihn nachzudenken. Wir sagen 'zufällig habe ich den und den getroffen' oder 'Was für ein Zufall!' und ähnliches. Als ich Mitte der 70iger Jahre meinen ersten Kontakt mit programmierbaren Taschenrechnern hatte und mich damit beschäftige Spiele zu programmieren, enstand die Frage wie man das für manche Spiele notwendige Element des Zufalls - in Form eines Würfels - in das Programm eines Taschenrechners hinein bringt.

Damals entdeckte ich, dass es mathematische Funktionen gibt, die bei jedem neuen Aufruf eine andere und scheinbar unvorhersagbare Zahl zurückliefern. Genauso schnell entdeckte ich aber auch, dass diese Zahlen bei jedem neuen Einschalten des Taschenrechners wieder die gleichen sind. Die Funktion erlaubte es aber, durch einen Parameter initialisiert zu werden und so zumindest in Abhängigkeit von diesem Parameter unterschiedliche Zahlenreihen zu erzeugen.

Natürlich machte es keinen Sinn, einem Anwender eines von mir programmierten Spiels die Möglichkeit zur Eingabe dieses Parameters zu geben, denn dann hätte er nach einigen Spielen gelernt, diesen so zu wählen, dass er das Spiel immer gewinnen kann. Es musste also ein Weg gefunden werden, diesen Parameter selbst wiederum in irgendeiner Weise zufällig zu erzeugen! Sofern es die Programmiermöglichkeiten des Taschenrechners zuließen, konnte man dies dadurch lösen, dass man zu Beginn des Programms eine Schleife hochzählte und gleichzeitig darauf wartete, dass der Anwender eine Taste drückte. Wenn man im Moment des Tastendrucks ,den Zählerstand festhielt, so hatte man einen prima Anfangs-Parameter für die Zufallsfunktion!

Diese Einleitung zeigt, dass es für einen Computer nicht so leicht ist, den Zufall nachzuahmen. Es sollte aber einige Zeit dauern, bis mir dies erneut bewusst wurde.

Anfang der 90iger Jahre sollte ein Freund eine Diplomarbeit über die Verwendung von genetische Algorithmen bei der Optimierung von Fertigungsstraßen schreiben. Das Thema faszinierte mich so sehr, dass ich beschloß selbst ein wenig in diese Richtung zu forschen. Ich machte es mir zur Aufgabe, das 'Travelling Salesman Problem' (kurz TSP) mit Hilfe von genetischen Algorithmen zu lösen. Dabei muß man für einen reisenden Geschäftsmann, der nacheinander eine Reihe von Städten besuchen muß, die insgesamt kürzeste Strecke zu ermitteln.

Kurz: nach zwei Anläufen hat es schließlich geklappt! Mein Programm verwendete für die Routen Zeichenketten, in denen jedes Zeichen eine Stadt darstellte. Von diesen Zeichenketten wurden anfangs mehrere per generierter Zufallszahlen erzeugt und diese anschließend, in mehr oder weniger aufwendigen Verfahren, für jede Iteration zerlegt und neu zusammengesetzt.

Das Faszinierende daran ist die Tatsache, dass die Basis dieses Verfahrens ein Zufallszahlengenerator ist. Ohne Zufall geht gar nichts bei meinem Programm! Desweiteren hatte ich bei meinen Experimenten den Eindruck, dass die Qualität des Zufalls Auswirkungen auf die Ergebnisse meines Programms hatte (es gibt verschiedene Möglichkeiten Zufallszahlen zu erzeugen!).

Als ich darüber anfing nachzudenken, sind mir eine Menge Dinge durch den Kopf gegangen:

Ist es in der Natur nicht genauso? Basiert nicht die gesamte Evolution darauf, dass durch zufällige Mutation immer wieder Neues entsteht, welches anschließend an der Realität entweder scheitert oder aber erfolgreicher als sein Vorgänger ist und sich damit behauptet und wiederum Grundlage für einen Nachfolger ist?

wird fortgesetzt...

Diese Seite wurde mit BrainStorm generiert 
Copyright © 1991 - 2013 by Thomas Ell