Contenidos
Generador de números aleatorios
Resumen¿El proceso cognitivo de generación de números aleatorios se lleva a cabo mediante estrategias específicas de la persona que corresponden a un comportamiento de generación aleatoria altamente individual? Examinamos las secuencias de números aleatorios de 115 participantes sanos y desarrollamos un método para cuantificar la similitud entre dos secuencias de números sobre la base de la distancia de edición de Damerau y Levenshtein. Los pares de secuencias de “mismo autor” y “diferente autor” pudieron distinguirse (96,5% de AUC) basándose únicamente en 300 dígitos pseudoaleatorios. Demostramos que este fenómeno es impulsado por la preferencia individual y la inhibición de patrones y se mantiene constante durante un período de 1 semana, formando una huella digital cognitiva.
Todos los análisis estadísticos se realizaron en Python. Los scripts y los módulos de software personalizados que se utilizaron para generar los resultados se harán accesibles en línea para su reproducibilidad y reutilización en http://github.com/maschulz/rnglib.
Sci Rep 11, 20217 (2021). https://doi.org/10.1038/s41598-021-98315-yDownload citationShare this articleAnyone you share the following link with will be able to read this content:Get shareable linkSorry, a shareable link is not currently available for this article.Copy to clipboard
Bonito generador de números aleatorios
Con la programación, nunca es “aleatoria”. Incluso el generador aleatorio utiliza un algoritmo para predecir un número aleatorio. Pero, si se conoce el método de generación, ¿es posible, digamos, predecir los próximos 5 números que se generarán?
Sí, es posible predecir qué número producirá a continuación un generador de números aleatorios. He visto que a esto se le llama crackear, romper o atacar el RNG. Buscando cualquiera de estos términos junto con “generador de números aleatorios” deberían aparecer muchos resultados.
Lee Cómo aprendimos a hacer trampas en el póker online: A Study in Software Security para ver un excelente relato de primera mano sobre cómo se puede atacar un generador de números aleatorios. Para resumir, los autores averiguaron qué RNG se estaba utilizando basándose en un algoritmo de barajado defectuoso empleado por un sitio de póker online. A continuación, averiguaron la semilla del RNG tomando muestras de las manos repartidas. Una vez que tenían el algoritmo y la semilla, sabían exactamente cómo se organizaría la baraja después de los barajados posteriores.
La gran mayoría de los “generadores de números aleatorios” son en realidad “generadores de números pseudoaleatorios”, lo que significa que, dado el mismo punto de partida (semilla), reproducirán la misma secuencia. En teoría, observando la secuencia de números a lo largo de un periodo de tiempo (y conociendo el algoritmo concreto) se puede predecir el siguiente número, de forma muy parecida a “descifrar” un cifrado.
Un generador de números genial
Martin tiene 20 años de experiencia en sistemas y tecnologías de la información, tiene un doctorado en gestión de tecnologías de la información y un máster en gestión de sistemas de información. Es profesor adjunto de informática y programación de ordenadores.
El Dr. Chan ha enseñado informática y física, química y matemáticas a nivel universitario durante más de ocho años. El Dr. Chan tiene un doctorado en química por la Universidad de Berkeley, un máster en física y 19 créditos de matemáticas aplicadas por la Universidad de Washington, y una licenciatura con honores en física por la Universidad de Berkeley.
Una nota sobre la aleatoriedadUna ejecución única es importante, pero ¿cómo sabemos que estamos obteniendo números aleatorios? Técnicamente, Random genera un número pseudoaleatorio. Cuando Java genera el número aleatorio, está moviendo los bits. Este movimiento no es igualmente aleatorio. Lo que realmente significa es esto: El Random de Java es lo suficientemente bueno para la programación en general, pero quizás no lo suficientemente aleatorio para la encriptación o criptografía superpotente. Comprobemos lo verdaderamente aleatorio que es nuestro generador. Podemos añadir un bucle for antes del código y ejecutarlo unos cuantos miles de veces, una tarea fácil para Java. for(int i = 1; i< 2500; i+) { int showMe = min + randomNum.nextInt(max); System.out.println(showMe);}Cuando ejecutes este código obtendrás 2.500 números. Después de ejecutar el programa, los números se copiaron en Excel, y luego se analizaron para contar cuántas veces aparecía cada número. En otras palabras, ¿obtuvimos un montón de 5s y ningún 27s? Aunque no se trata de una prueba verdaderamente científica, este gráfico muestra la distribución de nuestros valores. Parece bastante aleatorio, y es aceptable para nuestros propósitos.
Generador de maquillaje aleatorio
Utiliza la siguiente información para responder a los tres ejercicios siguientes. Una tienda de comestibles está interesada en saber cuánto dinero, en promedio, gastan sus clientes en cada visita al departamento de productos agrícolas. Utilizando los registros de la tienda, toman una muestra de 1.000 visitas y calculan el gasto medio de cada cliente en productos agrícolas.
Utilice la siguiente información para responder a los dos ejercicios siguientes. Un gimnasio está interesado en saber cuántas veces utiliza el club un socio típico en una semana. Deciden pedir a uno de cada diez clientes en un día determinado que complete una breve encuesta que incluya información sobre cuántas veces ha visitado el club en la última semana.
7. El gobierno federal de EE.UU. realiza una encuesta a los estudiantes de último año de secundaria sobre sus planes de educación y empleo en el futuro. Una de las preguntas es si piensan asistir a una universidad de cuatro años en el año siguiente. El cincuenta por ciento responde afirmativamente a esta pregunta; ese cincuenta por ciento es un:
8. Imagínese que el gobierno federal de EE.UU. tuviera los medios para encuestar a todos los estudiantes de último año de secundaria de EE.UU. sobre sus planes de educación y empleo futuros, y descubriera que el 50 por ciento tiene previsto asistir a una universidad de cuatro años en el año siguiente. Este 50 por ciento es un ejemplo de: