10 votos

¿Hace al azar existen en ordenadores y en la naturaleza?

En el lenguaje de programación Python puede importar al azar y con

Random.RANDOM()

Usted puede obtener un número aleatorio entre 0 y 1.

¿Pero es verdaderamente al azar o hay restricciones en cómo se construyen las computadoras los hace generadores de números aleatorios no verdad? ¿Por ejemplo podría existir un sesgo en el primer valor generado o valor en la memoria? ¿Cómo una figura la diferencia?

7voto

Yves Daoust Puntos 30126

Los generadores de números pseudoaleatorios se basan en bien definido secuencias matemáticas y están perfectamente determinista. Dada la misma semilla, que siempre genera la misma secuencia.

Esta realidad es a menudo una propiedad deseable, ya que permite la prueba en las mismas condiciones.

Fuentes de la verdadera aleatoriedad están presentes en un equipo, debido a los muchos independiente (asincrónica) tareas que se están ejecutando y los eventos que ocurren todo el tiempo. RAM contenido en bien elegido direcciones o el tiempo del reloj son de hecho impredecible y aleatorio. Usted puede utilizar estos datos para la semilla de su generador de cada ahora y entonces.


Pseudoaleatoria generadores están diseñados para simular una distribución uniforme y que son validados por la teoría y por las pruebas estadísticas para asegurarse de que.

Por el contrario, otras fuentes de aleatoriedad pueden presentar diferentes tipos de sesgo y no de uniformidad. De tal manera, que se parezca menos al azar. Probablemente hay algunas fuentes aleatorias (como se describe arriba) que se puede detectar mediante pruebas estadísticas o por el descubrimiento de patrones, pero esto es probablemente un ejercicio difícil.

2voto

mvw Puntos 13437

Pero, ¿es realmente aleatorio o hay restricciones en cómo los ordenadores son construido que hace que realmente no generadores de números aleatorios?

La CPU de un computador común opera determinista, para la misma entrada, se va a calcular siempre el mismo resultado. Así que por sí mismo no es capaz de llegar con un número aleatorio.

Lo que se suele ver son pseudo-aleatorios generadores (PRNGs) que durante su determinista de ejecución puede ir a través de una serie de números muy grandes ciclos y tienen otras propiedades ventajosas, que parecen ser al azar y puede ser utilizado como aproximación de números aleatorios.

E. g. usted podría implicar la hora del sistema en el valor de inicio del PRNG para hacer que el número generado parecen más al azar, pero si había una segunda copia exacta del primer sistema con el mismo sistema de tiempo, generaría los mismos números que en el primer sistema.

Sin embargo las computadoras modernas no están aislados de las máquinas, pero tienen sensores y conexiones de red. Estas fuentes pueden ser utilizados para la "cosecha" de la entropía. (Enlace)

Un ejemplo de esto es el sistema que está detrás de https://www.random.org/ que mide atmosférica, el ruido y proporciona a través de internet.

Si hay una verdadera aleatoriedad en la naturaleza está abierta a debate.

En el ámbito de la mecánica clásica se supone determinista de la conducta, sino que uno puede perder la pista rápida debido a la gran cantidad de socios de la interacción y a veces extrema sensibilidad a las condiciones iniciales y amplificaciones de errores. Que es una especie de práctica de aleatoriedad.

En el ámbito de la quantumn mecánica uno tiene la interesante medio de tierra que cada uno de los eventos parecen ocurrir al azar (por ejemplo, la desintegración radiactiva), pero sin embargo la distribución de las probabilidades se desarrolla según leyes estrictas, como la ecuación de onda de Schrödinger.

¿Cómo se podía averiguar la diferencia?

Una prueba sencilla es el uso de los números aleatorios como coordenadas de puntos en 2D o 3D del espacio y de la trama.

La expectativa es que el plano de la vista o el volumen se llena uniformemente. Sin embargo, si el patrón de la forma, esto es una indicación de la regularidad en la secuencia. E. g. ver https://www.random.org/analysis/

random.org PHP rand() method

O ver este interesante artículo: Extraños Atractores de TCP/IP y el Número de Secuencia de Análisis.

1voto

Andrew Deighton Puntos 343

muchos 'pseudo' generadores de números aleatorios son sólo calcula el número de secuencias de algunos de los primeros, simplemente multiplica un número por un número primo, entonces tomó un módulo y se mantiene la respuesta como el número para la siguiente generación. Se repite a menudo después de ~64000 o ~16million o ~2biliion se generaron números - los más nuevos suelen ser más largas secuencias -, pero son todavía 'pseudo' valores generados - en realidad se puede elegir una semilla y obtener la misma secuencia de nuevo - que es útil para la simulación, donde es posible que desee utilizar el mismo aleatorios cada vez que durante las pruebas.

De todos modos, los números pseudo-aleatorios son un poco inútiles para el cifrado, o cualquier cosa donde no queremos que el usuario 'adivinar' el valor que se utiliza, así que hay versiones mejores que el uso de la computadora 'entropía' - procesador de garrapatas, el ratón se mueve, el tiempo en el arranque, el tiempo de los procesos presentados etc - para añadir (lo que la gente la esperanza es) una auténtica 'azar' a los valores.

Un buen generador de números aleatorios debe estar libre de sesgos, se debe producir resultados que aparecen estadísticamente aleatoria - un ejemplo de no-aleatoriedad es si el 0 y el 1 son generados con demasiado/demasiado pocas ruinas de 0's y 1's - como un ejemplo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X