La potencia de una computadora cuántica se mide en cúbits, la unidad básica de medida en la computación cuántica. .
Hago un facepalm después de cada lectura de una frase así. No ha llevado a nada bueno, mi visión está empezando a fallar; pronto tendré que acudir a Meklon.
Creo que es hora de sistematizar algunos de los parámetros clave de una computadora cuántica. Hay varios:
- Número de cúbits
- Tiempo de retención de coherencia (tiempo de decoherencia)
- Nivel de errores
- Arquitectura del procesador
- Precio, disponibilidad, condiciones de mantenimiento, tiempo de amortización, herramientas de programación, etc.
Número de cúbits
Aquí es obvio, cuanto más, mejor. Sin embargo, en la práctica, hay que pagar por los cúbits, y lo ideal es comprar exactamente la cantidad de cúbits necesaria para llevar a cabo una tarea. Para un desarrollador de máquinas tragamonedas exclusivas, es suficiente un cúbit por máquina (para la generación de aleatorios). Para realizar un 'brute force' de RSA-2048, se necesitan al menos 2048 cúbits.
Los algoritmos cuánticos más publicitados llevan los nombres de Grover y Shor. Grover permite 'hackear' hashes. Para derribar Bitcoin se necesitan computadoras con al menos 256 cúbits a bordo (se puede jugar con la dificultad de Bitcoin, pero dejemos esto en ese número redondeado). Shor permite factorizar números. Para factorizar un número de longitud n en bits, se necesitan al menos n cúbits.
El máximo actual: 50 cúbits (). Y de hecho, 50 cúbits es el límite. El límite de la simulación de una computadora cuántica. En teoría, podemos simular cualquier número de cúbits en computadoras clásicas. En la práctica, agregar un cúbit a la simulación requiere duplicar los computadoras clásicas. Agregue a esto los rumores sobre la duplicación de cúbits cada año, y pregúntese: ¿cómo depurar algoritmos para 25651210242048 cúbits? No hay simulador, no se puede establecer un punto de ruptura en un procesador cuántico.
Tiempo de retención de coherencia (tiempo de decoherencia)
La coherencia y la coherencia no son lo mismo. Prefiero comparar la coherencia con la regeneración de la memoria RAM. En una barra de RAM hay miles de millones de celdas, cada una con una carga, ya sea cero o uno. Esta carga tiene una propiedad muy interesante: se apila. Originalmente, una celda "uno" se convierte en una celda de 0.99, luego 0.98, y así sucesivamente. Correspondientemente, en el cero se acumula 0.01, 0.02, 0.03... Hay que actualizar esta carga, "regenerarla". Todo lo que es menor a la mitad se restablece a cero, y todo lo demás se lleva a uno.
No se podrá regenerar procesadores cuánticos. Por lo tanto, para todos los cálculos hay un ciclo, hasta el primer qubit "fugado". El tiempo hasta el primer "fuga" se llama tiempo de decoherencia. La coherencia es el estado en el que los qubits aún no han "fugado". puede ver explicaciones un poco más avanzadas.
La decoherencia está relacionada con el número de qubits: cuántos más qubits, más difícil es mantener la coherencia. Por otro lado, con un gran número de qubits, se puede utilizar parte de ellos para corregir errores relacionados con la decoherencia. De aquí se deduce, que el número de qubits en sí mismo no resuelve nada. Se puede duplicar el número de qubits y gastar el 90% de ellos en fijar la decoherencia.
Aquí aproximadamente surge el concepto de qubit lógico. En términos simples, si tienes un procesador de 100 qubits, pero 40 de ellos están destinados a fijar la decoherencia, te quedan 60 qubits lógicos. Aquellos en los que ejecutas tu algoritmo. El concepto de qubits lógicos es ahora más teórico; personalmente, no he oído hablar de implementaciones prácticas.
Errores y su corrección
Otro problema de los procesadores cuánticos. Si inviertes un qubit, hay una probabilidad del 2% de que la operación termine en error. Si entrelazas 2 qubits, la probabilidad de error alcanza el 8%. Toma un número de 256 bits, házle un hash con SHA-256, cuenta el número de operaciones, calcula la probabilidad de ejecutar TODAS estas operaciones sin errores.
Los matemáticos ofrecen una solución: la corrección de errores. Existen algoritmos. La implementación de un entrelazado de 2 qubits lógicos requiere 100,000 qubits físicos. La era del bitcoin no llegará pronto.
Arquitectura del procesador
En estricta realidad, no existen ordenadores cuánticos. Solo hay procesadores cuánticos. ¿Para qué necesitas memoria RAM, cuando el tiempo de trabajo se limita a milisegundos? Programo en Q#, pero es un lenguaje de alto nivel. He reservado 15 qubits, y haz lo que quieras con ellos. Si quieres, entrelaza el primer qubit con el décimo. Si lo deseas, entrelaza los primeros seis.
En un procesador real, no hay tal libertad. Pedí entrelazar el primer qubit con el 15 — el compilador generará 26 operaciones adicionales. Si tienes suerte. Si no tienes suerte, generará un centenar. La cuestión es que un qubit solo puede entrelazarse con sus vecinos. Más de 6 vecinos por qubit, no he visto. En principio, hay compiladores de programas cuánticos optimizadores, pero por ahora son más bien teóricos.
Cada procesador tiene su propio conjunto de instrucciones, y las conexiones entre qubits varían. En un mundo ideal, tendríamos Rx, Ry, Rz arbitrarios y sus combinaciones, más entrelazamiento libre de hasta diez características, más Swap: mira los operadores en . En la realidad, tenemos un par de qubits, y el entrelazamiento CNOT (q[0], q[1]) cuesta una operación, mientras que CNOT(q[1], q[0]) ya cuesta 7. Y la coherencia se desvanece...
Precio, disponibilidad, condiciones de mantenimiento, tiempo de amortización, herramientas de programación...
Los precios no se publican, la disponibilidad para el ciudadano promedio es casi nula, el tiempo de amortización no se ha calculado en la práctica, y las herramientas de programación están apenas surgiendo. Documentación en arxiv.org.
Entonces, ¿qué información debería pedir a los expertos al lanzar un nuevo ordenador cuántico?
Además de la lista anterior, me gustan las opciones de y :
Ojalá cada artículo sobre un nuevo ordenador cuántico comenzara con dos características: el número de qubits entrelazados simultáneamente y el tiempo de retención de los qubits.
O aún mejor, con el tiempo de ejecución de un banco de pruebas simple, como encontrar los factores primos del número 91.
Fuente: habr.com
