Generador de números pseudoaleatorios (PRNG)

Un generador de números pseudoaleatorios (PRNG) es un programa escrito y utilizado en aplicaciones de probabilidad y estadística cuando se necesitan grandes cantidades de dígitos aleatorios. La mayoría de estos programas producen cadenas interminables de números de un solo dígito, generalmente en base 10, conocido como sistema decimal. Cuando se toman muestras grandes de números pseudoaleatorios, cada uno de los 10 dígitos del conjunto {0,1,2,3,4,5,6,7,8,9} aparece con la misma frecuencia, aunque no distribuidos uniformemente en la secuencia.

Se han desarrollado muchos algoritmos en un intento de producir secuencias de números verdaderamente aleatorias, cadenas interminables de dígitos en las que es teóricamente imposible predecir el siguiente dígito de la secuencia basándose en los dígitos hasta un punto dado. ¡Pero la mera existencia del algoritmo, no importa cuán sofisticado sea, significa que se puede predecir el siguiente dígito! Esto ha dado lugar al término pseudoaleatorio para tales cadenas de dígitos generadas por máquina. Son equivalentes a las secuencias de números aleatorios para la mayoría de las aplicaciones, pero no son verdaderamente aleatorias de acuerdo con la rigurosa definición.

Los dígitos en las expansiones decimales de números irracionales como pi (la razón entre la circunferencia de un círculo y su diámetro en un plano euclidiano), e (la base del logaritmo natural) o las raíces cuadradas de números que no son cuadrados perfectos ( como 2 1/2 o 10 1/2) son considerados por algunos matemáticos como verdaderamente aleatorios. Pero las computadoras pueden programarse para expandir esos números a miles, millones, miles de millones o billones de lugares decimales; Se pueden seleccionar secuencias que comiencen con dígitos muy a la derecha del punto decimal (base), o que usen cada segundo, tercer, cuarto o n-ésimo dígito. Sin embargo, nuevamente, algunos teóricos utilizan la existencia de un algoritmo para determinar los dígitos en tales números para argumentar que incluso estas secuencias numéricas de un solo dígito son pseudoaleatorias y no verdaderamente aleatorias. La pregunta entonces es: ¿Es el algoritmo exacto (es decir, aleatorio) hasta el infinito o no? - y como nadie puede responder definitivamente a esa pregunta porque es imposible viajar al infinito y descubrirlo, el asunto se vuelve filosófico.