Español
Fuente/ Codesnippets

Pseudozufall

 

p.specht

Trotz el -zigtausendfach mejor Performance heutiger Computersysteme gegenüber el Großrechnern el 1960-iger Jahre hay matemático Problemas (z.B. Optimierungsaufgaben), el todavía siempre no con reiner Rechenkraft vollständig gelöst voluntad puede. Dann es uno en sog. "Monte-Carlo-Methoden" angewiesen: Man zieht (como en el berühmten Spielcasino) statistisch Zufallsstichproben y schließt lo el zugrunde liegende Comportamiento des Gesamtsystems.

Voraussetzunng es, daß una leistungsfähiger, möglichst igual-verteilter Zufallsgenerator disponible es - gleichverteilt, porque el Generator incluso sí sonst el Ergebnisse verzerren sería. Aber auch el número el ziehbaren Stichproben va en el Aussagekraft des Ergebnisses una - wir brauchen also una SEHR SCHNELLEN, ausreichend genauen y AUSGEZEICHNET GLEICHVERTEILTEN Zufallsgenerator. Das bezieht se allerdings sólo en Single precision Floatingpoint.

P.S.: Welcher RND()-Algorithmus en XProfan verbaut es weiß Yo por desgracia, no.
Título de la ventana "Einfacher, más rápido Single Precision Pseudo-Random Generator"
' Rechtliches: Teilauszug de ACM-Algo. Nr. 359 by John Burghardt
' Details y Referenzen siehe Anhang más unten! OHNE GEWÄHR!
Cls
declarar seed&
seed&=12345
imprimir
imprimir " SOLL        12345   0.096616  207482415"
imprimir seed&,r_uniform_01(),seed&
imprimir
imprimir " SOLL     207482415  0.833995  1790989824"
imprimir seed&,r_uniform_01(),seed&
imprimir
imprimir " SOLL    1790989824  0.947702  2035175616"
imprimir seed&,r_uniform_01(),seed&
imprimir
waitinput
End

Proc r_uniform_01

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

ENDPROC

' *******************************************************************************
' R_UNIFORM_01 returns a unit SINGLE PRECISION pseudorandom number.
' This routine implements the 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.
'
' If the initial seed is 12345, then the first three computations are
'       Entrada     Output      R_UNIFORM_01
'       SEED      SEED
'          12345   207482415  0.096616
'      207482415  1790989824  0.833995
'     1790989824  2035175616  0.947702
'
' Modified: 11 August 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,
'     en Handbook of Simulation,
'     edited by Jerry Banks,
'     Wiley Interscience, page 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 the Sistema/360,
'     IBM Systems Journal,
'     Volume 8, pages 136-143, 1969.
'
'   Parámetros:
'
'     Entrada/output, integer SEED, the "seed" value, which should NOT be 0.
'     On output, SEED has been updated.
'
'     Output, real R_UNIFORM_01, a new pseudorandom variate,
'     strictly between 0 and 1.
'     Although SEED can be represented exactly as a 32 bit integer,
'     it generally cannot be represented exactly as a 32 bit real 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.
Como XProfan en Delphi geschrieben es:

Der Algo baut siempre en el vorhergehenden Zufallszahl en. Lo se also siempre una Folge generiert, el por Selección aleatoria neu initialisiert se (sin Selección aleatoria es el erste Valor 0)

El ermittelte Zahl (RandomSeed) se en un Longint gespeichert, also en 2^32 gekappt.

Selección aleatoria holt neue Werte de el laufenden SystemCounter, also "seit wann se ejecuta el Betriebssystem". Auch dieser Valor es irgendwann otra vez en Null angekommen y se ejecuta endlos.

Für normale Zufallszahlen reicht el, si al Programmstart una vez Selección aleatoria aufgerufen se. Sonst debería una propio Random-Función gebastelt voluntad.

Tal vez debería wir de el Internet veces algunos brauchbare Formeln recoger y Form de RndNum(FormelNr,RandSeed) como Übervater verfügbar hacer. Das kann entonces sí evtl. optimiert voluntad.

Werden para Verschlüsselungen no sowieso Zufallsfolgen benötigt?
 
Alle Sprachen
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
06.06.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.998 Views

Untitledvor 0 min.
Walter28.11.2022
Stringray05.01.2022
p.specht21.11.2021
R.Schneider20.11.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

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


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie