Derzeit beschäftige ich mich privat viel mit Zufallsgeneratoren, Wahrscheinlichkeiten und Algorithmen diese zu erfassen. Ich bin ein Mensch der Dinge anfassen oder erfühlen muss um sie zu begreifen, deshalb hab ich auch für Zahlen und Verhältnisse erst ein Gefühl wenn ich sie mir fassbar machen kann.

Mir fällt es ansonsten schwer Dinge zu begreifen oder zu begrenzen. Beispiel, ich muss in meinem Job oft Projekte einschätzen, Vorgänge im Kopf in Variablen zerlegen und diese neu zusammensetzen um zeitliche Aussagen zu treffen. Leider habe ich damit oft Probleme, im Kopf habe ich die Vorgänge schnell erfasst und weiß was zu tun ist, aber ich treffe dann oft zu kurze Zeitaussagen bzw. setze meine eigenen Zeitfenster zu gering, weil es sich im Kopf deutlich kürzer anfühlt und ich denke, ach soviel ist das nicht.

Das gleiche Problem habe ich auch bei Zeiten im privaten Bereich, ich verabrede mich in 30 Minuten mit einem Freund oder einer Freundin, was passiert? Nach einer Stunde wird gefragt wo ich bin und ich antworte, ich hab doch gesagt in 30 Minuten. Ich habe wirklich Schwierigkeiten die Zeit richtig wahr zu nehmen. Genauso ist es auch mit Zahlen, ich liebe Zahlen aber manche Vorgänge muss ich sichtbar und fassbar machen.

So habe ich mir kleine Projekte dafür ausgedacht für meine Minicomputer. Mein Raspberry Pi zum Beispiel generiert zufällige Hashes zwischen 4-20 Zeichen. Der Grund? Irgendwann muss er ja mal alle Zahlen-Zeichenkombinationen erstellt haben die zwischen 4-20 Zeichen möglich sind. Aber das ist eine Frickelarbeit, mir geht es eher darum, wann ist zwischen diesen Zeichen exakt mein Name. Wann wird er bei 5000 Strings irgendwann „Alex“ dazwischen haben. In diesem Moment wird er mir eine Mail senden mit dem Zeitstempel, der ID und den umgebenden Zeichenketten.

Das nächste Projekt diesbezüglich sollte eine Lottomaschine sein. Hier gibt man einen Lottotip ab und ich Würfel solange bis diese Zahlen erscheinen, wieviele Tipps hat es gedauert? Wieviel Geld hätten die Scheine in der Realität gekostet und wieviel Zeit wäre vergangen? Theoretisch hat man mit Tipp1 die gleiche Chance wie mit Tipp 12313399442, aber wenn ich es selbst probiere und damit spiele bekomme ich noch mehr ein Gefühl für die Sinnlosigkeit des Lottospielens. Aber die Lottosache ist eher eine simple Geschichte, nur aus Spaß und Zeitvertreib.

Kommen wir zu Projekt No.3 – nun wird es wirklich interessant. Als ich über Zahlen und Wahrscheinlichkeiten nachdachte, speziell das alle Strings irgendwann generiert werden können (klar man kann auch berechnen wie lange das dauert, aber ich mag es nicht berechnen, ich mag es erfühlen – deshalb mach ich das ja) dachte ich, könnte man das nicht auch mit Grafiken machen? Wie lange würde es dauern bei einer Auflösung von 640×480 Pixeln mit 2 Farben bis wir alle Bilder gemalt haben die möglich sind, alle Pixelkombinationen?

Im Fall der Bilder können die Pixel nicht mehr per Zufall errechnet werden, denn dies würde einfach nur zu Bildrauschen führen, ähnlich wie früher im analogen Fernsehen. Ich wählte auch erstmal eine geringe Auflösung in 2 Farben, weil das Datenvolumen in diesem Fall exorbitant hoch ist. Vielleicht sollte man anfangs mit der Auflösung auch noch etwas runter gehen. Schließlich hätten wir 307200 pixel. Quasi ein Zahlenschloß mit 307200 Rädchen die man alle auf 1 oder 0 (schwarz oder weiß) stellen kann. Oder wir stellen uns ein Zahlenschloß vor mit zwei Rädchen und 307200 möglichen Zahlen pro Rad. Das wären dann 94.371.840.000 mögliche Kombinationen. Ich müsste also über 94 Milliarden Bilder malen lassen um jedes Bild, was in Schwarz/Weiß in dieser Auflösung möglich ist zu haben. Theoretisch muss da dann ja jedes Motiv drauf sein das existiert.

Selbstverständlich sind 94371840000 Bilder nicht nur unglaublich viel, ich wüsste auch kaum wo ich diese Daten speichern sollte. Da ich kein Datenverlust haben möchte, speichere ich alle als 2 farbiges gif oder png -> was mir schon pro Bild ca. 4kb an Speicher kostet. Für alle Bilder zusammen bräuchte ich dann ca. 380 GB, was noch überschaubar ist, nur mit Webhosting und dem Filesystem wird es schwierig, da müsste ich ein Schema finden ab wann ich in den nächsten Ordner springe zum Speichern springe.

Der Algorithmus muss aber auch fähig sein an einer bestimmten Stelle weiter zu machen, bei Zufallsgeneratoren ist das egal, aber hier muss ich ihm sagen können, mach ab Bild 123398 weiter und es muss klar sein wo wir uns gerade befinden. Denn was ist wenn mein kleiner Helfer rebooten muss, festhängt oder einfach mal ne Pause braucht. Das Projekt reizt mich am meisten, der kleine bekommt dann auf jedenfall auch eine Webpage wo die besten Bilder ausgevotet werden können, ich bin gespannt ob sich vielleicht sogar Gegenden, Menschen oder Objekte wiedererkennen lassen. Auf jedenfall wäre das unglaublich spannend, die Frage ist nur, welcher Hoster lässt mich mal so 380 GB an Daten hosten :) Wenn das Projekt aber anklang findet könnte man ja einen eigenen Server anmieten (ich dachte da an Timmehosting, echt kompetente Leute).

Wenn man es dann ausbaut, kann man ja weitere Farben und höhere Auflösungen dazu nehmen, das sprengt dann aber die Kapazitäten ordentlich, dann bewegen wir uns irgendwann im Petabyte-Bereich. Das wäre dann CGI mal von einer anderen Perspektive aus betrachtet ;)