Seite 1 von 2
Zufall programmieren?
Verfasst: Mittwoch 21. April 2010, 09:18
von microkernel
Hallo,
ich hab da mal eine verständniss Frage:
Wie der Titel wahrscheinlich schon verät, frage ich mich wie man eigentlich "Zufall" programmieren kann. Für mich klingt das eigentlich etwas paradox...
Re: Zufall programmieren?
Verfasst: Mittwoch 21. April 2010, 09:24
von Hyperion
microkernel hat geschrieben:Hallo,
ich hab da mal eine verständniss Frage:
Wie der Titel wahrscheinlich schon verät, frage ich mich wie man eigentlich "Zufall" programmieren kann. Für mich klingt das eigentlich etwas paradox...
Um es auf die Physikalischer oder sogar Metaphysische Ebene zu hebeln: Gibt es überhaupt so etwas wie Zufall?
Die rein Software basierten Lösungen werden afaik immer als "Pseudo"-Zufallszahlen bezeichnet. Oftmals nutzt man dazu die Zeit, da diese voranschreitet und selten gleich ist. Beim guten alten C64 nutzte man dafür als Grundlage der Zufallsfunktion meist die Zeit, die seit dem Einschalten des Rechners vergangen ist. Heutzutage eben die interne Uhr o.ä.
Für "echteren" Zufall nutzt man externe Datenquellen, wie z.B. die Bewegung der Maus (z.B. bei Truecrypt kann man das schön sehen!) oder andere Messgrößen - nur steht nicht jedem Rechner ein Windrad zur Verfügung
Naja, prinzipiell ein durchaus komplexes Thema; vermutlich spielt das vor allem bei cryptografischen Themen eine größere Rolle.
Aber vermutlich kennen sich auch hier viele Leute besser aus damit

Verfasst: Mittwoch 21. April 2010, 09:31
von Defnull
Ist es auch. Algorithmisch ist Zufall unmöglich zu erzeugen. Alle Bibliotheken oder OS-Features, die dir Pseudo-Zufallswerte liefern, tun dies mit einem Algorythmus, der ausgehend von einem Startwert eine Reihe schwer vorherzusagende und einigermaßen gleich verteilte Werte generiert. Das reicht für die meisten Aufgaben völlig aus, nur der besagte Startwert ist der Knackpunkt. Die Funktion liefert für den gleichen Startpunkt immer die gleiche Reihe an Werten. Die Werte sind also nicht zufällig, wenn man den Startwert kennt.
Es gibt Hardware, die physikalische Phänomene nutzt, um echte Zufallszahlen zu generieren. Die 'professionellen' Zufallsgeneratoren sind ziemlich kostspielig. Für Bastler gibt es aber auch schon Lösungen, die das Rauschen des Fotodetektors einer zugeklebten Webcam oder einer W-Lan Antenne auf unbelegten Frequenzen nutzen.
Verfasst: Mittwoch 21. April 2010, 09:42
von BlackJack
@microkernel: CPython's `random`-Modul benutzt standardmässig den
Mersenne-Twister-Algorithmus.
@Defnull: Trifft das wirklich auf alle OS-Zufallsgeneratoren zu? AFAIK wird bei Linux durchaus auch während des Betriebs noch Entropie von Tastatureingaben oder Mausbewegungen gesammelt und beeinflusst die generierten Zahlen!?
Verfasst: Mittwoch 21. April 2010, 09:58
von Defnull
Hab ich auch gerade eben erst gelernt: Linux und Solaris nutzen Umgebungsrauschen von Gerätetreibern und anderen Quellen für /dev/random und erzeugen so echte Zufallszahlen hoher Qualität. Deswegen ist /dev/random vergleichsweise langsam (es blockiert, wenn der Entropiepool leer ist und wartet bis mehr rauschen ankommt). Für die meisten Anwendungen reicht es aber aus, nur den Startwert des deterministischen Pseudo-Zufallsgenerators aus einer echten Zufallsquelle zu beziehen.
@Hyperion: Ja, es gibt physikalischen Zufall, denn es gibt Prozesse die bewiesenermaßen nicht vorhersehbar sind. Um es in die Philosophie auszuweiten: Selbst wenn das ganze Universum und alle seine Prozesse vorherbestimmt sind, impliziert das noch keine Vorhersehbarkeit. Diese beiden Dinge schließen sich sogar gegenseitig aus. Könnte man nämlich vorhersehen, was passiert, könnte man den Lauf der Dinge verändern und die Vorbestimmung wäre nicht mehr erfüllt. Wäre das wiederum Teil der Vorbestimmung, wäre dafür die Vorhersehung falsch gewesen.
Gibt es dagegen keine Vorbestimmung, kann es auch keine Vorhersehung geben, denn die Dinge entscheiden sich erst, wenn sie passieren. Demnach muss es echten Zufall geben.
Verfasst: Mittwoch 21. April 2010, 10:18
von snafu
Alter, geh FlashForward gucken !!!eins!!!elfeins!!!1111

Verfasst: Mittwoch 21. April 2010, 10:29
von lunar
@Defnull: Das ist aber ein schwaches Argument. Die Vorhersehbarkeit eines Ereignisses impliziert schließlich keine Manipulierbarkeit. Man kann durchaus etwas mit äußerster Präzision vorhersehen, und trotzdem nicht ändern (bsp. Sonnenaufgang). Determiniertheit und Vorhersehbarkeit schließen sich keinesfalls pauschal aus. Die griechischen Sagen sind voll mit allerlei schönen Konstruktionen, in denen der Held sein Schicksal vorhersehen, aber ihm dennoch nie entgehen kann.
Vielleicht ist das Universium durchaus determiniert und somit auch prinzipiell vorhersehbar, nur eben nicht für den beschränkten menschlichen Verstand. Nur weil wir keine Regeln für den Lauf des Universiums erkennen können, heißt das ja noch lange nicht, dass es keine gibt. Zufall wäre dann nur ein Wort für "wir kennen nicht alle Parameter, die dieses Ereignis beeinflussen".
Insofern würde mich durchaus interessieren, wie man die Zufälligkeit eines Prozesses beweist, und für welche Prozesse dieser Beweis erbracht wurde.
Verfasst: Mittwoch 21. April 2010, 10:40
von BlackJack
Ich schliesse mich lunars Beitrag an. Wenn man den kompletten Zustand des Universums kennt und daraus die Zukunft vorhersehen kann, dann war diese Erkenntnis ja schon vorher vorgesehen, genauso wie sämtliche "Manipulationen" unsererseits die daraus folgen. Wir sind ja nicht ausserhalb des Universums sondern Teil davon und die "Entscheidung" etwas zu manipulieren wird ja aufgrund des Zusammenspiels der ganzen Teilchen in unserem Kopf getroffen, und ist dann auch schon vorbestimmt weil/wenn sie den Regeln gehorchen.
Verfasst: Mittwoch 21. April 2010, 10:40
von Darii
lunar hat geschrieben:Insofern würde mich durchaus interessieren, wie man die Zufälligkeit eines Prozesses beweist, und für welche Prozesse dieser Beweis erbracht wurde.
Im Endeffekt wurde das bei der Quantenmechanik durch Verletzung der
Bellschen Ungleichung bewiesen. Die Verletzung dieser Ungleichung besagt, dass das Ergebnis einer Messung vorher nicht festgelegt ist und die Unvorhersagbarheit nicht auf irgendwelche unbekannten Parameter zurückzuführen ist.
Mit anderen Worten: „Es gibt echten Zufall“. Diese Tatsache hat den lieben Herrn Einstein übrigens auch sehr irritiert(„Gott würfelt nicht.“). Ein Beispiel für einen solchen zufälligen Prozess ist z.B. der radioaktive Zerfall. Der genaue Zeitpunkt des Zerfalls ist zufällig.
Verfasst: Mittwoch 21. April 2010, 11:05
von Hyperion
Ich schließe mich lunar und BlackJack an. Genau auf diese Dinge wollte ich hinaus.
@Defnull & Darii: Wie kann ich denn etwas beweisen, wenn ich nicht weiß, ob ich alle Einflüsse kenne und berücksichtige? Mir hat da Jurassic Park immer gefallen. Das Beispiel mit dem Wassertropfen und dem Handrücken. Malcom bringt es ja auf den Punkt: Man kann es nicht vorhersagen, wo der Tropfen beim nächsten Mal runterläuft, nur weil er vorher eine bestimmte Richtung genommen hat. Es gibt zu viele auf den ersten Blick unbedeutene Faktoren, die die Fließrichtung beeinflussen. Und genau da ist es vermutlich eine Glaubensfrage: Existiert auf unterster Ebene so etwas wie Zufall, oder kann ich durch Bestimmung aller - ich meiner wirklich aller - Parameter eben doch eine deterministische Voraussage treffen?
Verfasst: Mittwoch 21. April 2010, 11:20
von Darii
Hyperion hat geschrieben:@Defnull & Darii: Wie kann ich denn etwas beweisen, wenn ich nicht weiß, ob ich alle Einflüsse kenne und berücksichtige?
Indem ich bei der Beweisidee zur Bellschen Ungleichung davon ausgehe, dass ich alle Einflüsse kenne. Dann meine Theorie darauf anwende und eine Verletzung der Bellschen Ungleichung feststelle und dann die Theorie mit Experimenten prüfe.
Die Bellsche Ungleichung wird „klassisch“ hergeleitet und muss gelten, wenn sich das System wie von dir gefordert verhält. Nun verletzen Quantenmechanische Systeme allerdings diese Ungleichung, was Hinweis angesehen werden kann, dass die Quantenmechanik falsch oder unvollständig ist. Allerdings wurde genau diese Verletzung in Übereinstimmung mit der Quantenmechanik mehrfach experimentell nachgewiesen. Weswegen man davon ausgeht, dass es in der Tat zufällige Prozesse gibt.
Verfasst: Mittwoch 21. April 2010, 12:16
von BlackJack
Tja oder die Theorie ist halt kaputt und man kennt eben doch nicht alle Einflussgrössen.
Verfasst: Mittwoch 21. April 2010, 12:25
von jbs
Ich hab neulich noch im Radio gehört, dass die Wissenschaft ein Fluss ist. Finde ich einen schönen Satz.
Verfasst: Mittwoch 21. April 2010, 12:33
von Hyperion
Darii hat geschrieben:Hyperion hat geschrieben:@Defnull & Darii: Wie kann ich denn etwas beweisen, wenn ich nicht weiß, ob ich alle Einflüsse kenne und berücksichtige?
Indem ich bei der Beweisidee zur Bellschen Ungleichung davon ausgehe, dass ich alle Einflüsse kenne.
Wie BlackJack schon sagte: Da liegt der Fehler. Das Wort "Atom" ist ja quasi ein Fanal für frühzeitige Annahmen, die sich als falsch herausstellten

Verfasst: Mittwoch 21. April 2010, 13:45
von sma
Hyperion hat geschrieben:Das Wort "Atom" ist ja quasi ein Fanal für frühzeitige Annahmen, die sich als falsch herausstellten ;-)
Da möchte ich jetzt klugscheißen und bemerken, dass der Begriff Atomos schon passend das philosophische Konzept beschrieb. Die Idee, den in der Chemie zu verwenden kam erst 2000 Jahre später.
Und es ist doch schon spannend, dass sich jemand fragt, was wohl passiert, wenn man etwas immer und immer wieder teilt. Die Griechen (und laut Wikipedia noch früher schon die Inder) meinten, irgendwann müsste Schluss sein und man kommt zu etwas, dem kleinsten, dem unteilbaren, dem Baustein, aus dem alles besteht. Die alternative Theorie wäre, dass man sich asymptotisch dem Nichts nähert und da hat man nun das Problem, wie aus Nichts Etwas werden kann. Daher wurde diese Theorie (auch wenn sie wohl näher an der Wahrheit wie wir sie heute verstehen liegt) verworfen.
Stefan
Verfasst: Mittwoch 21. April 2010, 14:12
von Rebecca
sma hat geschrieben:Die alternative Theorie wäre, dass man sich asymptotisch dem Nichts nähert und da hat man nun das Problem, wie aus Nichts Etwas werden kann.
Was ja letztendlich das gleiche Problem ist, welches Mathematiker Jahrhunderte davon abgehalten hat, die Infinitesimalrechnung zu "erfinden".

Verfasst: Mittwoch 21. April 2010, 15:40
von Darii
Hyperion hat geschrieben:Wie BlackJack schon sagte: Da liegt der Fehler.
Nein, liegt er nicht. Man kann ohne Probleme bestimmte Grundannahmen machen und aus diesen Annahmen Beziehungen herleiten. Und bei der Herleitung der Bellschen Ungleichung geht man einfach davon aus, dass die Messergebnisse vor der Messung schon feststehen. Also genau das, was du forderst. Und genau dann *muss* sie erfüllt sein. Aber das tun Mittelwerte quantenmechanischer Messwerte nicht.
Der „Fehler“ liegt darin, dass die Quantentheorie nicht richtig sein muss. Allerdings wurde sie mehrfach auch inklusive Verletzung Bellscher Ungleichungen experimentell bestätigt. Also spricht vieles dafür dass sie stimmt. Inklusive der sich daraus ergebenen Konsequenzen.
Verfasst: Mittwoch 21. April 2010, 15:52
von Hyperion
Darii hat geschrieben:Hyperion hat geschrieben:Wie BlackJack schon sagte: Da liegt der Fehler.
Nein, liegt er nicht. Man kann ohne Probleme bestimmte Grundannahmen machen und aus diesen Annahmen Beziehungen herleiten. Und bei der Herleitung der Bellschen Ungleichung geht man einfach davon aus, dass die Messergebnisse vor der Messung schon feststehen. Also genau das, was du forderst. Und genau dann *muss* sie erfüllt sein. Aber das tun mittelwerte Quantenmechanischer Messwerte nicht.
Ja, aber wenn ich das Konzept "Zufall" als Schlussfolgerung heranziehen will, dann setze ich fälschlicher Weise vorraus, dass ich alle Parameter kenne, die das Experiment beeinflussen. Kenne ich die nämlich nicht alle, muss es ja eben kein "Zufall" sein, sondern an noch feineren Parametern liegen
@sma: Ich meinte auch nicht das Wort "Atom", sondern eher die Bezeichnung für die Chemischen / Physikalischen Teilchen

Aber dennoch danke für die Anmerkung, auch wenn mir der reine Ursprung des Wortes durchaus bekannt war

Verfasst: Mittwoch 21. April 2010, 16:10
von Darii
Hyperion hat geschrieben:Ja, aber wenn ich das Konzept "Zufall" als Schlussfolgerung heranziehen will, dann setze ich fälschlicher Weise vorraus, dass ich alle Parameter kenne, die das Experiment beeinflussen. Kenne ich die nämlich nicht alle, muss es ja eben kein "Zufall" sein, sondern an noch feineren Parametern liegen

Wir drehen uns glaube ich grad im Kreis und ich weiß nicht genau wie ich den Knoten am besten auflöse. Hast du den
Wikipedia-Artikel schon gelesen? Ich wollte das hier nicht so ausführlich ausbreiten, aber ist wohl doch hilfreich.
Verfasst: Mittwoch 21. April 2010, 16:14
von Hyperion
Darii hat geschrieben:Hyperion hat geschrieben:Ja, aber wenn ich das Konzept "Zufall" als Schlussfolgerung heranziehen will, dann setze ich fälschlicher Weise vorraus, dass ich alle Parameter kenne, die das Experiment beeinflussen. Kenne ich die nämlich nicht alle, muss es ja eben kein "Zufall" sein, sondern an noch feineren Parametern liegen

Wir drehen uns glaube ich grad im Kreis und ich weiß nicht genau wie ich den Knoten am besten auflöse. Hast du den
Wikipedia-Artikel schon gelesen? Ich wollte das hier nicht so ausführlich ausbreiten, aber ist wohl doch hilfreich.
Ich muss gestehen, dass nicht. Hatte da keine Muße zu... ist grad stressig hier. Aber Du hast damit wohl recht. Könnte helfen
