Restar con acarreo es un generador de números pseudoaleatorios del tipo de Fibonacci retrasado introducido por George Marsaglia y Arif Zaman en 1991. [1]
Algoritmo
La secuencia generada por el motor de resta con acarreo puede describirse mediante la relación de recurrencia :
dónde .
Las constantes S y R se conocen como retardos cortos y largos, respectivamente. [2] Por tanto, las expresiones y corresponden a los términos S -ésimo y R -ésimo de la secuencia. S y R satisfacen la condición. El módulo M tiene el valor, donde W es el tamaño de la palabra, en bits, de la secuencia de estado y.
El motor de resta con acarreo es uno de la familia de generadores que incluye motores de agregar con acarrear y restar con pedir prestado . [1]
Es uno de los tres motores generadores de números aleatorios incluidos en la biblioteca estándar de C ++ 11 . [3]
Referencias
- ^ a b Una nueva clase de generadores de números aleatorios , George Marsaglia y Arif Zaman, The Annals of Applied Probability, vol. 1, N ° 3, 1991
- ^ subtract_with_carry_engine Class , Microsoft Visual Studio 2015
- ^ std :: subtract_with_carry_engine , cppreference.com