Skip to content

pablo-cardenas/QInvaders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QInvaders

Quantum Space Invaders es una adaptación del clásico juego "Space Invaders" a una versión Cuántica.

El objetivo de este juego es mostrar que usando una estrategia cuántica se obtiene mejores puntajes que cuando se usa una estrategia clásica.

Instalación

Alternative 1: pip + git

Usar pip + git para instalar sin necesidad de clonar el repositorio.

pip install --force-reinstall git+https://github.com/pablo-cardenas/QInvaders@main

Alternative 2: Clone and install

Clonar el repositorio y luego instalarlo con pip

git clone https://github.com/pablo-cardenas/QInvaders.git
cd QInvaders
pip install .

Run the program

Para correr QInvaders, simplemente ejecutar qinvaders en la terminal

qinvaders

¿Qué hace único a QInvaders?

En QInvaders, uno tiene dos modos, modo fácil y modo difícil. El modo difícil es parecido al QPong, en donde uno diseña el circuito cuántico para obtener un estado resultado deseado. Consideramos que eso es demasiado difícil para alguien que está empezando en Computación Cuántica y que se debe tener aprendizaje más progresivo en este campo. Es por ello que creamos el modo fácil, en donde uno indica cuál es el estado deseado y el juego muestra el circuito cuántico que genera ese estado.

Además, QPong es complicado porque no se puede pausar para pensar. Crear circuitos cuánticos que devuelvan un estado deseado toma su tiempo (incluso para expertos en computación cuántica). Es por ello que, en QInvaders, le añadimos una tecla (ESPACIO) de pausa para pensar.

Finalmente, la característica más importante de QInvaders es que se evidencia que una estrategia cuántica es mejor que una estrategia clásica.

¿Cómo jugar?

Se debe evitar la invasión destruyendo a los invasores. Para ello se tiene un cañón quántico que lanza misiles quánticos.

El cañón puede estar en un estado de superposición, es decir, puede estar en varios lugares a la vez. Durante todo el juego, el cañón estará lanzando misiles. Estos misiles estarán en un estado de superposición mientras no lo hayan visto los invasores, es decir, mientras no se haya medido. Al momento de hacer la medición, los misiles colapsan en un único estado y podrá impactar con las naves.

El objetivo es evitar la invasión con la mejor eficiencia. Donde la eficiencia es la taza de milisegundos usados por cada cambio de estado del cañón. Es decir, se debe minimizar la cantidad de cambios de estados del cañón por minuto.

Este juego tiene dos modos: modo FÁCIL y modo DIFÍCIL. La tecla TAB sirve para cambiar entre el modo fácil y el modo difícil.

Modo Fácil

En el modo fácil, uno debe escoger los estados que quiere superponer.

  • Combinar las teclas A, S, D, F, H, J, K, L para tener una superposición de estados.
  • SPACE: pausar el juego.
  • TAB: cambiar al modo difícil.

Modo Difícil

En el modo difícil, uno debe diseñar el circuito cuántico que genera la superposición de estados que uno quiere.

  • Usar las teclas Q, A, Z para poner una compuerta X.
  • Usar las teclas W, S, X para poner una compuerta H.
  • SPACE: pausar el juego.
  • TAB: cambiar al modo fácil.

Ventaja Cuántica

Este juego muestra que es más ventajoso tener una estrategia cuántica que tener una estrategia clásica.

Estrategia Clásica

La estrategia clásica es usar el cañón sin superposición, es decir en un sólo estado a la vez (determinístico). Entonces, los misiles serán lanzados en una sóla posición. Sin embargo, se tendrá que cambiar la posición del cañón para poder impactar a todos los invasores.

Hay momentos en que vienen muchos invasores a la vez. Supongamos que hay 4 invasores viniendo a la vez y que estamos usando la estrategia clásica. Entonces, se tendría que hacer 4 movimientos para atacar a esos 4 invasores. Sin embargo, en la estrategia cuántica, sólo se necesita un movimiento.

Estrategia Cuántica

La estrategia cuántica permite usar el cañón en un estado de superposición, es decir, que puede estar en varios lugares a la vez.

En los momentos que vengan varios invasores a la vez. Se puede atacar a todos los invasores usando sólamente un estado superpuesto.

Comparación de Estrategias: Cuántica > Clásica

Se observa que usando la estrategia clásica se consigue una eficienca de 2000 y usando la estrategia cuántica se puede superar los 5000

Nota: La estrategia de usar el estado totalmente entrelazado siempre (|000>+|001>+|010>+|011>+|100>+|101>+|110>+|111>)/sqrt(8) no funciaría, ya que sería enviar misiles superpuestos en todas las posiciones a la vez. Al momento de colapsar escogería aleatoriamente cualquier posición y varios de esos misiles no impactarían con ningún invasor.

About

Quantum Space Invaders

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published