Listado

Generación de números aleatorios cuánticos I

La motivación de este artículo es resolver uno de los problemas más recurrentes en el mundo de la computación clásica durante los últimos años: la generación de números realmente aleatorios.

Autor/a

Fecha de publicación

27/6/2022

Compartir

Twitter

LinkedIn

¿Qué sucede con los ordenadores de hoy en día? Muy sencillo, son máquinas deterministas, esto quiere decir que si siempre le hacemos la misma pregunta al ordenador, siempre nos responderá con la misma respuesta. Actualmente, los ordenadores clásicos únicamente son capaces de generar números pseudo-aleatorios, partiendo de un patrón inicial, empiezan a generar números aleatorios en base a ese patrón [1] . Según el tipo de patrón es más o menos difícil darse cuenta de que no estamos ante números realmente aleatorios. Para abordar este complejo problema vamos a adentrarnos en el mundo de la física cuántica, viendo a distintos niveles cómo podrían generarse números realmente aleatorios.

Brevísima introducción a la mecánica y fenómenos cuánticos

¿De dónde viene todo esto de la física cuántica? Para descubrirlo vamos a ir unos años atrás para ver una serie de experimentos y de evidencias físicas que nos van a ayudar a entender este desconocido mundo.

En el año 1935 un físico llamado Erwin Schrödinger hizo un experimento conceptual [2] donde la vida de un gato dependía simplemente de si un frasco con veneno se rompía, derramando el veneno y matando al gato, o por el contrarío el frasco no se rompía y el gato continuaba con vida.

Lo interesante de este experimento es que el hecho de que el frasco con veneno se rompiese o no, estaba ligado a un evento sub-atómico totalmente aleatorio, por lo que la vida del gato también estaba directamente ligada al suceso sub-atómico. Este evento puede dar como resultado 1 u 0, provocando la rotura del frasco o no, respectivamente, pero lo realmente interesante es que la mecánica cuántica permite que estos dos sucesos “convivan y resulten posibles a la vez”, por lo que sí, el gato pasa a estar vivo y muerto a la vez. ¿Tu cabeza ha explotado ya? No te rindas, te invito a continuar leyendo y descubrir un mundo totalmente desconocido.

Seguramente en este punto te estés haciendo la pregunta de… ¿cómo algo puede estar en dos estados a la vez? De hecho puede estar en más de dos estados a la vez. Diez años antes, Erwin Schrödinger definió la evolución temporal del estado físico de una partícula. Esta definición derivó en la famosa ecuación de Schrödinger [3], que nos permite predecir el comportamiento de una partícula. Pongamos un ejemplo, imaginemos que queremos predecir la posición de una mota de polvo en suspensión dentro de una caja de zapatos. El resultado sería, en función de unas variables, la probabilidad de que la mota de polvo se encuentre en cada uno de los puntos de la caja de zapatos. Gráficamente sería algo así:

Función de onda para una partícula bidimensional encerrada en una caja

Por lo que sí, podríamos asumir que con cierta probabilidad la mota de polvo se encuentra en cada uno de los puntos de la caja de zapatos a la vez. Pero, ¿por qué a la vez? Retrocedamos un poco más en el tiempo.

En el año 1801 los fenómenos cuánticos ya se manifestaban en los experimentos de los científicos de la época. Y así fue como el científico inglés Thomas Young, investigando el comportamiento de la luz, descubrió lo que luego se denominaría como la dualidad onda corpúsculo. Esta investigación surgió del experimento conocido como experimento de la doble rendija [4].

A continuación vamos a intentar de simplificar este experimento para arrojar un poco de luz sobre las preguntas que nos hemos hecho anteriormente. Pongamos un escenario inicial donde tenemos un disparador de partículas, canicas para nosotros, una primera barrera con dos rendijas por donde pueden pasar las canicas y una última barrera final donde se quedarían pegadas las canicas disparadas. Debido a la primera barrera, el resultado de canicas pegadas a la segunda barrera sería algo así:

Experimento doble rendija con partículas

Si, en vez de con canicas, realizamos el mismo experimento con electrones, que también son partículas, deberíamos obtener un resultado similar. Lo sorprendente es que el resultado obtenido en la segunda barrera es el de un patrón de interferencia, algo similar a esto:

Experimento doble rendija con electrones

Este patrón de interferencia nos muestra un hecho bastante evidente, y es que los electrones se están comportando como ondas en vez de como partículas. Si probáis en una bañera o una piscina a generar dos ondas en paralelo con vuestras manos, obtendréis un resultado parecido.

Pero ¿cómo es posible que una partícula se comporte como una onda? Thomas debió hacerse la misma pregunta y para ello decidió poner una “cámara” en la primera barrera para ver qué sucedía cuando los electrones pasaban por ambas rendijas. El resultado fue espeluznante, ya que al intentar observar el comportamiento de los electrones, volvieron a comportarse como partículas.

Experimento doble rendija electrones vs partículas.

De este experimento podemos sacar dos conclusiones importantes. La primera es que este patrón de interferencia recuerda bastante a lo visto anteriormente con la ecuación de Schrödinger. Si tuviésemos que decir en qué posición de la segunda barrera se puede encontrar el electrón diríamos que con mayor probabilidad está en las zonas con las bandas mas anchas y con menor probabilidad en las bandas más estrechas. La segunda conclusión es que cuando tratamos de medir u observar de manera intrínseca el comportamiento de estas partículas su comportamiento cambia y esto es lo que se conoce como la dualidad onda corpúsculo.

En resumen, este tipo de partículas sub-atómicas tiene la capacidad de tener varios estados a la vez, como su posición por ejemplo, hasta que tratamos de medir una de sus cualidades, como puede ser también su posición. Al hacer esto la partícula colapsa a un estado único rompiendo su estado de superposición cuántica.

En el siguiente artículo hablaremos más en profundidad de la generación de números pseudo-aleatorios y empezaremos a introducir distintas formas de generar eventos cuánticos aleatorios.

[1] M. Rubin, J., 2011. MIT School of Engineering | » Can a computer generate a truly random number?. Mit Engineering. Available at: https://engineering.mit.edu/engage/ask-an-engineer/can-a-computer-generate-a-truly-random-number/ [Accessed 4 June 2022].

[2] Schrödinger, E. Die gegenwärtige Situation in der Quantenmechanik. Naturwissenschaften 23, 807–812 (1935). https://doi.org/10.1007/BF01491891.

[3] Schrödinger, E. (1926). "An Undulatory Theory of the Mechanics of Atoms and Molecules" (PDF). Physical Review. 28 (6): 1049–1070.

[4] Thomas Young, Experimental Demonstration of the General Law of the Interference of Light, "Philosophical Transactions of the Royal Society of London", vol 94, 2 (1804).

Relacionados

Detalles de implementación en los tests, un artículo de Kent C. Dodds

Una nueva traducción de un gran artículo de Kent C. Dodds: Testing Implementation Details. Una conclusión: si ya es bastante complicado hacer tests, ¿por qué hay que crear tantas reglas para hacerlo más difícil?

20/2/2024

Referentes 2: Cuatro nombres imprescindibles a los que seguir la pista

Hace unos meses en RedRadix comenzamos una serie para ir recopilando y compartiendo los nombres de aquellos profesionales que, por sus trayectorias y contribuciones, son un referente para nosotros. Aprovechando que recientemente se ha celebrado el día Internacional del Programador, sumamos cuatro entradas: Julia Evans, Torsten Grote, Chris Coyier y Carlos Azaustre.

20/9/2023

Button Text