(Pseudo)zufälligkeit durch Multithreading



  • Hallo Leute,

    man hört ja immer, dass es keine Zufälligkeit für computergenerierte Zufallszahlen gibt, denn sie sind immer (irgendwie) vorhersagar.

    Nun steht bei den meisten einfachen Zufallsfunktionen dass diese nicht thread-safe sind, denn sie nehmen einen undefinierte nZustand durch Race-Conditions ein.

    Kann man nicht mit meheren Threads gleichzeitig auf solch eine Zufallsfunktion zugreifen, um nicht vorhersagbare Zahlen zu erhalten?



  • Rhombicosidodecahedron schrieb:

    man hört ja immer, dass es keine Zufälligkeit für computergenerierte Zufallszahlen gibt, denn sie sind immer (irgendwie) vorhersagar.

    Das ist sehr pauschal formuliert, es kommt auf die Entropiequelle an. Wenn z. B. Mausbewegungen, Tastenanschläge oder die Bewegungen des Lesekopfs der Festplatte einfließen, kommt vermutlich besserer Zufall heraus als wenn der (letztendlich auch vorhersagbare) Scheduler des OS als Quelle herhalten muss.

    Manche Boards haben mittlerweile auch Hardware-RNGs, die [IIRC] das Rauschen von Kondensatoren als Entropiequelle nutzen.



  • Die Zahlen sind dann womoeglich nicht mehr so gut vorhersagbar, allerdings muesste man dann schauen, ob sie auch noch "gute" Zufallszahlen sind (im Falle von rand() heisst das u. a. gleichverteilt im Berereich 0 - RAND_MAX).



  • Registrierter Troll schrieb:

    Manche Boards haben mittlerweile auch Hardware-RNGs, die [IIRC] das Rauschen von Kondensatoren als Entropiequelle nutzen.

    man nimmt eigentlich halbleiter dafür, z.b. dioden. 'ne annähernd gute verteilung hinzukriegen ist trotzdem schwierig, wie ich gehört habe.
    🙂


Anmelden zum Antworten