Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Zufallszahlen allgemeine Frage (https://www.delphipraxis.net/195499-zufallszahlen-allgemeine-frage.html)

himitsu 5. Mär 2018 16:44

AW: Zufallszahlen allgemeine Frage
 
Es gibt Vieles.

Angefangen von Bewegungen der Maus (nutzen einige Programme, um einen Verschlüsselungskey zu generieren) oder eben Soundkartenrauschen
bis zu https://www.idquantique.com/random-n...ber-generator/ oder https://www.google.de/search?q=rando...&tbm=isch&sa=X

Blup 7. Mär 2018 09:55

AW: Zufallszahlen allgemeine Frage
 
Time Stamp Counter reicht schon für schöne Zufallszahlen, da braucht man keine zusätzliche Hardware.

https://en.wikipedia.org/wiki/Time_Stamp_Counter
http://www.delphipraxis.net/1170302-post182.html

himitsu 7. Mär 2018 10:04

AW: Zufallszahlen allgemeine Frage
 
Zitat:

Zitat von Blup (Beitrag 1395419)
Time Stamp Counter reicht schon für schöne Zufallszahlen, da braucht man keine zusätzliche Hardware.

https://en.wikipedia.org/wiki/Time_Stamp_Counter
http://www.delphipraxis.net/1170302-post182.html

Achso?

Früher (vor über 10 Jahren, oder so) arbeitete Randomize mit GetTickCount, was unglücklich war, da viele Idioten/Unwissende ständig wiuederholt das aufriefen und sich in Schleifen wunderten, wenn sich Zufallszahlen auffallend häufig wiederholen.
Inzwischen wird QueryPerformanceCounter verwendet, was für normale Delphiprogramme wie RDTSC (TSC) aussieht.

Blup 7. Mär 2018 10:32

AW: Zufallszahlen allgemeine Frage
 
GetTickCount liefert Millisekunden.
Time Stamp Counter liefert CPU-Cyclen.
Da immer mehrere unterschiedliche Prozesse laufen, ändert sich der Wert dieses Registers zwischen zwei Abfragen nicht um einen festen Betrag.

Beispiel Pseudocode:
Delphi-Quellcode:
function MyRandom(AValue: Integer): Integer;
begin
  RandSeed := RandSeed xor RTDSC;
  Result := Random(AValue);
end;

himitsu 7. Mär 2018 11:22

AW: Zufallszahlen allgemeine Frage
 
Zitat:

Zitat von Blup (Beitrag 1395427)
Time Stamp Counter liefert CPU-Cyclen.

Nicht mehr. Das ist auch nur noch ein Pseudocounter.

Eigentlich hatte bei vielen CPUs jeder Kern seinen eigenen Counter.
Teilweise können die Kerne unterschiedlich getaktet werden.
Fazit: Die Counter liefen auseinander und bei der zeitmessung musstest du höllisch aufpassen, dass die beiden Messpunkte auf dem selben Kern liegen.

Da kamen Hersteller auf die Idee einen nebenläufigen "unabhäniggen" Counter zu nutzen und alle Kerne zeigen den gleichen Wert.
Und es kommt sogar vor, dass dieser externe Counter nicht synchron mit den Kernen läuft, also das dynamische Hoch-/Runtertakten der Kerne/CPU keine Auswirkung auf diesen Counter hat.

Blup 7. Mär 2018 11:43

AW: Zufallszahlen allgemeine Frage
 
Besonderheiten einzelner CPUs sind natürlich ein Punkt, der in kritischen Bereichen gegen diese Lösung spricht.
Spielbanken können sich sicher auch die Zusatzhardware für Zufallszahlen leisten.

Stevie 7. Mär 2018 13:37

AW: Zufallszahlen allgemeine Frage
 
The Lava Lamps That Help Keep The Internet Secure

himitsu 7. Mär 2018 14:32

AW: Zufallszahlen allgemeine Frage
 
Das sind 100 Lampen á 40 Watt

Uhhh ein zufallsgenerator mit 4 Kilowatt (17.4 Ampere)
10.000 € im Jahr, bei 28.5 ct/kWh

Aber bei 8 Stunden maximaler Betriebsdauer pro Lampe sind wohl auch nur maximal ein Drittel der Lampen gleichzeitig aktiv und spart so ein bissl Strom.

bernhard_LA 7. Mär 2018 20:35

AW: Zufallszahlen allgemeine Frage
 
True Random Number Generator (TRNG) als Hardware Lösung :

https://en.wikipedia.org/wiki/Hardwa...mber_generator

hier die Hardware Implementierung :

http://ipcores.com/True_Random_Gener...IaAteCEALw_wcB

die Qualität der Zufallszahlen kann man auch noch bewerten

https://arxiv.org/abs/1008.2223

http://www.weblearn.hs-bremen.de/ris...Eng11/RNGs.pdf


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz