Français
Source/ Codesnippets

Pseudozufall

 

p.specht

Trotz qui -zigtausendfach besseren Performance heutiger Computersysteme à den Großrechnern qui 1960-iger Jahre gibt es mathématique Probleme (z.B. Optimierungsaufgaben), qui encore toujours pas avec reiner Rechenkraft vollständig gelöst volonté peut. ensuite ist on sur sog. "Monte-Carlo-Methoden" angewiesen: on zieht (comment im berühmten Spielcasino) statistisch Zufallsstichproben et schließt daraus sur cela zugrunde liegende Verhalten des Gesamtsystems.

Voraussetzunng ist, qui un leistungsfähiger, possible juste-verteilter Zufallsgenerator zur Disposition steht - gleichverteilt, weil qui Generator selbst oui sonst qui Ergebnisse verzerren serait. mais aussi le nombre qui ziehbaren Stichproben allez dans qui Aussagekraft des Ergebnisses un - wir brauchen alors une SEHR SCHNELLEN, ausreichend genauen et AUSGEZEICHNET GLEICHVERTEILTEN Zufallsgenerator. cela bezieht sich allerdings seulement sur Single precision Floatingpoint.

P.S.: quel RND()-Algorithmus dans XProfan verbaut ist sais je malheureusement pas.
Titre de la fenêtre "Einfacher, plus rapide Single Precision Pseudo-Random Generator"
' Rechtliches: Teilauszug aus ACM-Algo. Nr. 359 by John Burghardt
' Details et Referenzen siehe Anhang plus unten! OHNE GEWÄHR!
Cls
declare seed&
seed&=12345
imprimer
imprimer " SOLL        12345   0.096616  207482415"
imprimer seed&,r_uniform_01(),seed&
imprimer
imprimer " SOLL     207482415  0.833995  1790989824"
imprimer seed&,r_uniform_01(),seed&
imprimer
imprimer " SOLL    1790989824  0.947702  2035175616"
imprimer seed&,r_uniform_01(),seed&
imprimer
waitinput
Fin

Proc r_uniform_01

    DECLARE k&,r_uniform_01!'extern_global: seed&
    k& = seed& \ 127773
    seed&= 16807*(seed&-k&*127773)-k&*2836
    cas  seed&<0:seed&=seed&+2147483647
    return seed&*val("4.656612875e-10")

endproc

' *******************************************************************************
' R_UNIFORM_01 returns a unit SINGLE PRECISION pseudorandom number.
' This routine implements le recursion
'   seed = 16807 * seed mod (2^31-1)
'   r_uniform_01 = seed/(2^31-1)
' The integer arithmetic never requires more than 32 bits including a sign bit.
'
' Si le initial seed is 12345, then le first three computations sont
'       Contribution     Output      R_UNIFORM_01
'       SEED      SEED
'          12345   207482415  0.096616
'      207482415  1790989824  0.833995
'     1790989824  2035175616  0.947702
'
' Modified: 11 août 2004  Author: John Burkardt
' Reference:
'     Paul Bratley, Bennett Fox, L E Schrage,
'     A Guide to Simulation,
'     Springer Verlag, pages 201-202, 1983.
'
'     Pierre L'Ecuyer,
'     Random Number Generation,
'     dans Handbook of Simulation,
'     edited by Jerry Banks,
'     Wiley Interscience, le chasseur 95, 1998.
'
'     Bennett Fox,
'     Algorithm 647:
'     Implementation and Relative Efficiency of Quasirandom
'     Sequence Generators,
'     ACM Transactions on Mathematical Software,
'     Volume 12, Number 4, pages 362-376, 1986.
'
'     P A Lewis, A S Goodman, J M Miller,
'     A Pseudo-Random Number Generator for le System/360,
'     IBM Systems journal,
'     Volume 8, pages 136-143, 1969.
'
'   Paramètres:
'
'     Contribution/output, integer SEED, le "seed" value, which should NOT être 0.
'     On output, SEED has been updated.
'
'     Output, réel R_UNIFORM_01, a new pseudorandom variate,
'     strictly between 0 and 1.
'     Although SEED can être represented exactly as a 32 bit integer,
'     il generally cannot être represented exactly as a 32 bit réel number!
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
22.05.2021  
 




Michael
W.
là XProfan dans Delphi geschrieben ist:

qui Algo baut toujours sur qui vorhergehenden Zufallszahl sur. Es wird alors toujours une Folge generiert, qui par Randomiser récente initialisiert wird (sans Randomiser ist qui erste Wert 0)

qui ermittelte numéro (RandomSeed) wird dans einem Longint gespeichert, alors sur 2^ 32 gekappt.

Randomiser holt neue Werte aus dem laufenden SystemCounter, alors "seit quand fonctionne cela Betriebssystem". aussi cette Wert ist irgendwann wieder chez zéro arrivé et fonctionne endlos.

Pour normale nombres aléatoires reicht cela, si am Programmstart einmal Randomiser aufgerufen wird. Sonst sollte une eigene Random-Funktion gebastelt volonté.

peut-être devrait wir aus dem Internet la fois quelques brauchbare Formeln ramasser et dans forme de RndNum(FormelNr,RandSeed) comme Übervater disponible faire. cela peux ensuite oui peut-être. optimiert volonté.

Werden pour Verschlüsselungen pas sowieso Zufallsfolgen nécessaire?
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
06.06.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.988 Views

Untitledvor 0 min.
Walter28.11.2022
Stringray05.01.2022
p.specht21.11.2021
R.Schneider20.11.2021
plus...

Themeninformationen

cet Thema hat 2 participant:

Michael W. (1x)
p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie