¿Memoria clásica suficiente para almacenar estados de hasta 40 qubits del sistema cuántico?

10

Como parte de una discusión con mi amigo "clásico", insistió en que hacer una máquina de estados para calcular el resultado de la computadora cuántica es posible; entonces, simplemente calcule los resultados de los algoritmos (conocidos) en las supercomputadoras y almacene sus resultados en una tabla de búsqueda. (Algo así como almacenar la tabla de verdad).

Entonces, ¿por qué las personas trabajan en simuladores cuánticos (digamos, capaces de hasta 40 qubits); ¿Cuál calcula el resultado cada vez? Simplemente (hipotéticamente) use las supercomputadoras del mundo (digamos capaces de hasta 60 qubits); calcular el resultado para casos de entrada, almacenar su resultado y usarlo como referencia? ¿Cómo puedo convencerlo de que no es posible? Nota: esto es para algoritmos cuánticos conocidos y sus implementaciones de circuitos conocidos.260 60

viliyar
fuente
2
Sugeriría un enfoque "clásico" más extremo: al final del día, cualquier algoritmo cuántico es una transformación unitaria aplicada a un sistema n-qubit; se puede describir por matriz unitaria; entonces podemos crear una lista de algoritmos cuánticos conocidos, descritos como matrices unitarias; y ejecutar un algoritmo es simplemente la multiplicación de la matriz por un vector de entrada, y sería rápido. Por supuesto que hay requisitos de memoria a tener en cuenta ...2norte×2norte
kludg
Exactamente. Y creo que el requisito de memoria aumentará abruptamente a medida que aumente la n .
viliyar

Respuestas:

14

260 60

Claramente, sería mucho mejor simplemente ejecutar la instancia que le interesa y obtener la respuesta en un instante, en lugar de esperar media vida para elegirla de una lista. Esto se vuelve cada vez más cierto a medida que aumentamos el tiempo de ejecución desde el irreal 1 nanosegundo.

por qué las personas trabajan en simuladores cuánticos (digamos, capaces de hasta 40 qubits); ¿Cuál calcula el resultado cada vez?

Incluso si quisiera crear una tabla de búsqueda, aún necesitaría un simulador como este para crearla.

James Wootton
fuente
2
La actual supercomputadora Top500 n. ° 1 , en Oak Ridge, aparece con 2.3M núcleos, POWER9 y CUDA Volta (no sé el desglose, probablemente los agrupan en las estadísticas). Suponiendo que el cómputo es totalmente paralelo, lo cual es, afeita bastante de la estimación, hasta unos 20 minutos. Incluso multiplicando el tiempo sim por 12 lo pone en un tiempo razonable de 4 horas y el gasto de energía de solo 32 MW‧h :)
kkm
3

Para un algoritmo cuántico específico que usa 40 qubits, tu amigo hace un buen punto. Uno puede calcular la tabla de verdad (uno puede encontrar esto difícil, pero suponga que puede hacerlo) y usarlo como referencia. Por supuesto, esto comienza a ponerse ridículo a medida que aumenta la cantidad de qubits, no solo por la cantidad de entradas, sino porque calcular el resultado de un algoritmo cuántico podría ser exponencialmente más difícil clásicamente para todo lo que sabemos.

Sin embargo, ser capaz de simular una computadora cuántica (o tener una computadora cuántica real) es mucho más útil. Al cambiar las operaciones cuánticas que uno hace, uno obtiene algoritmos diferentes. El número de funciones que se pueden definir en 40 bits de entradas es 2 ^ 2 ^ 40. Tener una única base de datos que le brinde acceso instantáneo a los resultados de cualquier algoritmo cuántico es absurdamente inviable. Queremos poder cambiar algoritmos fácilmente también, y clásicamente querríamos simuladores para eso.

SuhailSherif
fuente
2240
1
Cada función se define únicamente por una tabla de verdad. Para una entrada de 40 bits, la tabla de verdad tiene una longitud de 2 ^ 40 bits. Entonces, el número de tablas de verdad (y, por lo tanto, el número de funciones) es el número de cadenas de bits de longitud 2 ^ 40, que es 2 ^ 2 ^ 40.
SuhailSherif