fbpx
Wikipedia

Generador de números pseudoaleatorios

Un generador pseudoaleatorio de números (GPAN) es un algoritmo que produce una sucesión de números que es una muy buena aproximación a un conjunto aleatorio de números. La sucesión no es exactamente aleatoria en el sentido de que queda completamente determinada por un conjunto relativamente pequeño de valores iniciales, llamados el estado del GPAN. Si bien es posible generar sucesiones mediante generadores de números aleatorios por dispositivos mecánicos que son mejores aproximaciones a una sucesión aleatoria, los números pseudoaleatorios son importantes en la práctica para simulaciones (por ejemplo, de sistemas físicos mediante el método de Montecarlo), y desempeñan un papel central en la criptografía.

La mayoría de los algoritmos de generadores pseudoaleatorios producen sucesiones que poseen una distribución uniforme según varios tipos de pruebas. Las clases más comunes de estos algoritmos son generadores lineales congruentes, generadores Fibonacci demorados, desplazamiento de registros con retroalimentación lineal y desplazamientos de registros con retroalimentación generalizada. Entre los desarrollos más recientes de algoritmos pseudoaleatorios se encuentran Blum Blum Shub, Fortuna, y el Mersenne twister.

Se requiere de un cuidadoso análisis matemático para tener algún tipo de confianza en que un dado GPAN genera números que son suficientemente "aleatorios" para ser útiles para el propósito para el que se los precisa. Robert R. Coveyou del Oak Ridge National Laboratory escribió un artículo titulado «La generación de números aleatorios es demasiado importante como para ser dejado al azar».[1]​ Y como John von Neumann decía en broma, «todo el que desarrolla métodos aritméticos para producir dígitos aleatorios esta desde luego en pecado».[2]

Problemas de los generadores determinísticos

En la práctica, los resultados de muchos GPAN presentan artefactos matemáticos que hacen que los mismos fallen en pruebas de detección de parámetros estadísticos. Entre estos se incluyen:

  • Períodos más cortos que lo esperado para algunos estados semilla; en este contexto dichos estados semilla pueden ser llamados 'débiles'
  • Falta de uniformidad de la distribución
  • Correlación de valores sucesivos
  • Pobre distribución dimensional de la sucesión resultado
  • Las distancias entre la ocurrencia de ciertos valores están distribuidas de manera distinta que la que corresponde a una sucesión aleatoria
  • Algunas secuencias de bits son 'más aleatorias' que otras

Los defectos que son exhibidos por los GPAN van desde un rango de lo imperceptible hasta lo absolutamente obvio. El algoritmo de números aleatorios RANDU utilizado por décadas en grandes computadoras tipo mainframe poseía serias deficiencias, y como consecuencia mucho del trabajo de investigación producido en ese período es menos confiable de lo que podría haber sido.

Notas

  1. Peterson, Ivars. The Jungles of Randomness: A Mathematical Safari. Wiley, NY, 1998. (pp. 178) ISBN 0-471-16449-6
  2. "Various techniques used in connection with random digits", Applied Mathematics Series, no. 12, 36-38 (1951).

Referencias

  • Michael Luby, Pseudorandomness and Cryptographic Applications, Princeton Univ Press, 1996. A definitive source of techniques for provably random sequences.
  • Donald Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89684-2. Chapter 3, pp. 1–193. Extensive coverage of statistical tests for non-randomness.
  • R. Matthews Maximally Periodic Reciprocals Bulletin of the Institute of Mathematics and its Applications 28 147-148 1992
  • J. Viega, Practical Random Number Generation in Software, in Proc. 19th Annual Computer Security Applications Conference, Dec. 2003.
  • John von Neumann, "Various techniques used in connection with random digits," in A.S. Householder, G.E. Forsythe, and H.H. Germond, eds., Montecarlo Method, National Bureau of Standards Applied Mathematics Series, 12 (Washington, D.C.: U.S. Government Printing Office, 1951): 36-38.
  • NIST

Enlaces externos

  • La biblioteca científica GNU. Una biblioteca libre (GPL) en lenguaje C que incluye algunos algoritmos GPAN.
  • DieHarder: A free (GPL) C Random Number Test Suite.
  • : Generadores aleatorios de números programados como extensiones de tipo Python codificadas en lenguaje C.
  • random.org: Web based Random-number generator built and maintained by Mads Haahr.
  • RNG: Good Random Number Generator.
  • http://eeyore.wu-wien.ac.at/src/ prng: Una colección de algoritmos para generar números pseudoaleatorios programados en lenguaje C, bajo GPL.
  • - an analysis of the strength of PRNGs used to create TCP/IP sequence numbers by various operating systems using strange attractors. This is a good practical example of issues in PRNGs and the variation possible in their implementation.
    • Strange Attractors and TCP/IP Sequence Number Analysis - One Year Later - a follow-up article demonstrating some of the evolution of various PRNG algorithms over time.
  • Generating random numbers (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). Generating random numbers in Embedded Systems by Eric Uner
  • Analysis of the Linux Random Number Generator by Zvi Gutterman, Benny Pinkas, and Tzachy Reinman
  •   Datos: Q1623338

generador, números, pseudoaleatorios, generador, pseudoaleatorio, números, gpan, algoritmo, produce, sucesión, números, buena, aproximación, conjunto, aleatorio, números, sucesión, exactamente, aleatoria, sentido, queda, completamente, determinada, conjunto, r. Un generador pseudoaleatorio de numeros GPAN es un algoritmo que produce una sucesion de numeros que es una muy buena aproximacion a un conjunto aleatorio de numeros La sucesion no es exactamente aleatoria en el sentido de que queda completamente determinada por un conjunto relativamente pequeno de valores iniciales llamados el estado del GPAN Si bien es posible generar sucesiones mediante generadores de numeros aleatorios por dispositivos mecanicos que son mejores aproximaciones a una sucesion aleatoria los numeros pseudoaleatorios son importantes en la practica para simulaciones por ejemplo de sistemas fisicos mediante el metodo de Montecarlo y desempenan un papel central en la criptografia La mayoria de los algoritmos de generadores pseudoaleatorios producen sucesiones que poseen una distribucion uniforme segun varios tipos de pruebas Las clases mas comunes de estos algoritmos son generadores lineales congruentes generadores Fibonacci demorados desplazamiento de registros con retroalimentacion lineal y desplazamientos de registros con retroalimentacion generalizada Entre los desarrollos mas recientes de algoritmos pseudoaleatorios se encuentran Blum Blum Shub Fortuna y el Mersenne twister Se requiere de un cuidadoso analisis matematico para tener algun tipo de confianza en que un dado GPAN genera numeros que son suficientemente aleatorios para ser utiles para el proposito para el que se los precisa Robert R Coveyou del Oak Ridge National Laboratory escribio un articulo titulado La generacion de numeros aleatorios es demasiado importante como para ser dejado al azar 1 Y como John von Neumann decia en broma todo el que desarrolla metodos aritmeticos para producir digitos aleatorios esta desde luego en pecado 2 Indice 1 Problemas de los generadores deterministicos 2 Notas 3 Referencias 4 Enlaces externosProblemas de los generadores deterministicos EditarEn la practica los resultados de muchos GPAN presentan artefactos matematicos que hacen que los mismos fallen en pruebas de deteccion de parametros estadisticos Entre estos se incluyen Periodos mas cortos que lo esperado para algunos estados semilla en este contexto dichos estados semilla pueden ser llamados debiles Falta de uniformidad de la distribucion Correlacion de valores sucesivos Pobre distribucion dimensional de la sucesion resultado Las distancias entre la ocurrencia de ciertos valores estan distribuidas de manera distinta que la que corresponde a una sucesion aleatoria Algunas secuencias de bits son mas aleatorias que otrasLos defectos que son exhibidos por los GPAN van desde un rango de lo imperceptible hasta lo absolutamente obvio El algoritmo de numeros aleatorios RANDU utilizado por decadas en grandes computadoras tipo mainframe poseia serias deficiencias y como consecuencia mucho del trabajo de investigacion producido en ese periodo es menos confiable de lo que podria haber sido Notas Editar Peterson Ivars The Jungles of Randomness A Mathematical Safari Wiley NY 1998 pp 178 ISBN 0 471 16449 6 Various techniques used in connection with random digits Applied Mathematics Series no 12 36 38 1951 Referencias EditarMichael Luby Pseudorandomness and Cryptographic Applications Princeton Univ Press 1996 A definitive source of techniques for provably random sequences Donald Knuth The Art of Computer Programming Volume 2 Seminumerical Algorithms Third Edition Addison Wesley 1997 ISBN 0 201 89684 2 Chapter 3 pp 1 193 Extensive coverage of statistical tests for non randomness R Matthews Maximally Periodic Reciprocals Bulletin of the Institute of Mathematics and its Applications 28 147 148 1992 J Viega Practical Random Number Generation in Software in Proc 19th Annual Computer Security Applications Conference Dec 2003 John von Neumann Various techniques used in connection with random digits in A S Householder G E Forsythe and H H Germond eds Montecarlo Method National Bureau of Standards Applied Mathematics Series 12 Washington D C U S Government Printing Office 1951 36 38 NIST Recommendation for Random Number Generation Using Deterministic Random Bit GeneratorsEnlaces externos EditarLa biblioteca cientifica GNU Una biblioteca libre GPL en lenguaje C que incluye algunos algoritmos GPAN DieHarder A free GPL C Random Number Test Suite crng Generadores aleatorios de numeros programados como extensiones de tipo Python codificadas en lenguaje C random org Web based Random number generator built and maintained by Mads Haahr RNG Good Random Number Generator http eeyore wu wien ac at src prng Una coleccion de algoritmos para generar numeros pseudoaleatorios programados en lenguaje C bajo GPL Strange Attractors and TCP IP Sequence Number Analysis an analysis of the strength of PRNGs used to create TCP IP sequence numbers by various operating systems using strange attractors This is a good practical example of issues in PRNGs and the variation possible in their implementation Strange Attractors and TCP IP Sequence Number Analysis One Year Later a follow up article demonstrating some of the evolution of various PRNG algorithms over time Generating random numbers enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Generating random numbers in Embedded Systems by Eric UnerAnalysis of the Linux Random Number Generator by Zvi Gutterman Benny Pinkas and Tzachy Reinman Datos Q1623338Obtenido de https es wikipedia org w index php title Generador de numeros pseudoaleatorios amp oldid 135127684, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos