Ihre Aufgabe ist es, einen Hardware-Zufallszahlengenerator mit der Hardware zu improvisieren, die Sie haben.
Herausforderung
Schreiben Sie ein Programm mit folgenden Eigenschaften:
- Es wird entweder
0
oder1
(und sonst nichts) gedruckt . - Die Ausgabe hängt von einem physischen Prozess ab und nicht nur vom internen Zustand des Computers.
- Es gibt keine Beziehung zwischen den Ausgaben nachfolgender Läufe (im Abstand von einer Minute).
- Die Leistung ist mit keinem realistischen Aufwand vorhersehbar.
- Die Wahrscheinlichkeit der Ausgabe
0
liegt zwischen 0,2 und 0,8. - Es läuft mit einer relativ hohen Wahrscheinlichkeit in weniger als einer Minute.
Sie müssen erklären, warum Ihr Programm diese Eigenschaften hat, wenn dies nicht offensichtlich ist.
Erläuterungen und Einschränkungen
Das Folgende mag wie eine Menge Einschränkungen für einen Beliebtheitswettbewerb erscheinen, aber letztendlich ist es alles, um sicherzustellen, dass das Programm im Geist der Frage bleibt, etwas funktioniert und um Lösungen zu vermeiden, die beliebt sind, weil sie ein totaler Overkill sind, aber ultimativ eher langweilig.
- Die Systemzeit zählt nicht als physischer Prozess.
- Sie können jede beliebige Consumer-Hardware verwenden, von 8-Zoll-Floopy-Disk-Laufwerken über einen USB-Raketenwerfer bis hin zu Kopfhörern - es sei denn, diese ist für die Zufallsgenerierung vorgesehen. Ein Hardware-Teil ist für den Endverbraucher geeignet, wenn es in Massenproduktion hergestellt wird und weniger als 1000 US-Dollar kostet. Sie können also keine Radioteleskope, das CERN, MRTs oder Ihren selbstgebauten Partikeldetektor verwenden.
- Sie können nur die grundlegendsten Annahmen zum Status und zur Ausrichtung der Hardware treffen, z. B. Einschalten (sofern diese über einen Netzschalter verfügt) und ordnungsgemäße Installation und Funktionsweise. Beispielsweise können Sie davon ausgehen, dass ein CD-Laufwerk im Allgemeinen in der Lage ist, eine CD zu lesen und nicht zu blockieren, aber Sie können nicht davon ausgehen, dass es offen oder geschlossen ist oder eine CD enthält. In einem anderen Beispiel können Sie nicht davon ausgehen, dass zwei Hardware-Teile aufeinander abgestimmt sind, um eine besondere Interaktion zu ermöglichen, sondern dass sie sich im selben Raum befinden.
- Sie können die Hardware in einem beliebigen Zustand belassen, es sei denn, Sie beschädigen sie.
- Sie können und müssen davon ausgehen, dass sich die Hardware in einer natürlichen Umgebung befindet, mehr jedoch nicht. Sie können beispielsweise davon ausgehen, dass sich die Hardware weder in einem Tank mit flüssigem Helium noch in einem extrem schall- und lichtdichten Raum oder im Weltraum befindet. Es kann jedoch nicht davon ausgegangen werden, dass Schall- und Lichtquellen vorhanden sind, außer solchen, die nur mit radikalen Anstrengungen vermieden werden können.
- Ihr Programm muss auf einem Standard-Desktop-Computer mit einem nicht-esoterischen Betriebssystem Ihrer Wahl ausgeführt werden. Sie können jede Software verwenden, die nicht speziell für die Generierung von Zufallszahlen entwickelt wurde.
- Sie können keinen Internetzugang annehmen.
- Sie können nicht davon ausgehen, dass Menschen anwesend oder abwesend sind, aber Sie können davon ausgehen, dass niemand absichtlich in Ihr Programm eingreift, z. B. indem Sie einen Lüfter manuell stoppen oder ein Programm ausführen, das nichts anderes tut, als das Mikrofon so oft wie möglich auszuschalten.
- Sie können nur die grundlegendsten Annahmen über die Softwareeinstellungen treffen. Beispielsweise können Sie davon ausgehen, dass Treiber installiert und aktiviert sind, Sie müssen jedoch darauf vorbereitet sein, dass der Ton stummgeschaltet wird.
- Sie können die Softwareeinstellungen in einem beliebigen Zustand belassen.
Bonus
Eine besondere Belohnung wurde für eine besonders kurze Lösung vergeben. Dies war eher durch die Anzahl der Anweisungen und ähnlich als durch die Zeichen. Die Gewinner waren (gebunden nach meinen Kriterien):
- Diese Antwort von Franki.
- Diese Antwort von Tejas Kale.
Ich konnte nur eine Antwort vergeben und die Antwort von Tejas Kale wurde durch Los gewonnen.