La potencia de una computadora cuántica se mide en qubits, la unidad básica de medida en una computadora cuántica. FuenteHago un facepalm después de cada lectura de esa frase. No fue bueno, la vista comenzó a sentarse; Tendrás que contactar a Meklon pronto.
Creo que es hora de sistematizar los parámetros básicos de una computadora cuántica. Hay varios de ellos:
- Cantidad de qubits
- Tiempo de retención de coherencia (tiempo de decoherencia)
- Tasa de error
- Arquitectura del procesador
- Precio, disponibilidad, condiciones, tiempo de amortización, herramientas de programación, etc.
Cantidad de qubits
Aquí todo es obvio, cuanto más mejor. De hecho, debe pagar por qubits, e idealmente necesita comprar exactamente tantos qubits como necesite para completar la tarea. Para un desarrollador de máquinas de juego exclusivas, un qubit por máquina es suficiente (para generar un azar). Para la "fuerza bruta" RSA-2048: al menos 2048 qubits.
Los algoritmos cuánticos más comunes llevan el nombre de Grover y Shore. Grover te permite "hackear" hashes. Para bloquear Bitcoin, necesita computadoras con al menos 256 qubits a bordo (puede chamanizar con la complejidad de Bitcoin, pero analicemos esta cifra redonda). Shore te permite factorizar números. Para factorizar un número de longitud n dígitos binarios, se necesitan al menos n qubits.
Máximo actual: 50 qubits (¿
ya 72? ). Y de hecho, 50 qubits es el límite. El límite de simulación de una computadora cuántica. En teoría, podemos simular cualquier número de qubits en calculadoras clásicas. En la práctica, agregar un qubit a una simulación requiere duplicar las calculadoras clásicas. Agregue rumores sobre la duplicación de qubits cada año, y hágase la pregunta: ¿cómo depurar algoritmos para 256 \ 512 \ 1024 \ 2048 qubits? No hay simulador, no puede poner un punto de interrupción 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. Hay miles de millones de celdas en la barra de RAM; cada una tiene una carga, cero o una. Este cargo tiene una propiedad muy interesante: fluye hacia abajo. Inicialmente, una celda "única" se convierte en una celda a 0.99, luego a 0.98, y así sucesivamente. En consecuencia, 0.01, 0.02, 0.03 se acumulan a cero ... Es necesario actualizar esta carga, "regenerar". Todo lo que es menos de la mitad se restablece a cero, todo lo demás llega a uno.
Los procesadores cuánticos no se pueden regenerar. En consecuencia, para todos los cálculos hay un ciclo, hasta el primer qubit "filtrado". El tiempo antes de la primera "fuga" se llama tiempo de decoherencia. La coherencia es un estado en el que los qubits aún no se han "filtrado".
Aquí puedes ver un poco más de explicaciones para adultos.
La decoherencia está relacionada con el número de qubits: cuantos más qubits, más difícil es mantener la coherencia. Por otro lado, en presencia de una gran cantidad de qubits, algunos de ellos se pueden usar para corregir errores asociados con la decoherencia. De ello se
deduce que el número de qubits por sí solo no resuelve nada. Puede duplicar el número de qubits y gastar el 90% de ellos en arreglar la decoherencia.
Aproximadamente aquí surge el concepto de qubit lógico. En términos generales, si tiene un procesador para 100 qubits, pero 40 de ellos están destinados a arreglar la decoherencia, todavía tiene 60 qubits lógicos. Aquellos en los que está ejecutando su algoritmo. El concepto de qubits lógicos ahora es bastante teórico, no he escuchado personalmente sobre implementaciones prácticas.
Errores y su corrección
Otro flagelo de los procesadores cuánticos. Si invierte el qubit, con una probabilidad del 2%, la operación terminará en error. Si confunde 2 qubits, la probabilidad de error alcanza el 8%. Tome un número de 256 bits, almacénelo en SHA-256, cuente el número de operaciones, calcule la probabilidad de que TODAS estas operaciones se realicen correctamente.
Los matemáticos brindan una solución: corrección de errores. Hay algoritmos Implementar un enredo de 2 qubits lógicos requiere 100,000 qubits físicos. Bitco-kapets vendrá pronto.
Arquitectura del procesador
Estrictamente hablando, no hay computadoras cuánticas. Solo hay procesadores cuánticos. ¿Por qué necesito RAM cuando el tiempo de trabajo está limitado a milisegundos? Programa en Q #, pero es un lenguaje de alto nivel. Asigne 15 qubits para usted y haga lo que quiera con ellos. Querido, confundió el primer qubit con el décimo. Deseado - confundió los primeros seis.
No existe tal libertad en un procesador real. Pedí confundir el primer qubit con 15: el compilador generará 26 operaciones adicionales. Con algo de suerte. Si no tienes suerte, generará cien. El hecho es que un qubit solo puede confundirse con sus vecinos. Más de 6 vecinos por qubit, no he visto. En principio, hay compiladores que optimizan los programas cuánticos, pero hasta ahora son bastante teóricos.
Cada procesador tiene su propio conjunto de instrucciones, y las relaciones entre qubits son diferentes. En un mundo ideal, tenemos Rx, Ry, Rz arbitrarios y sus combinaciones, además de un enredado libre de diez atributos, más Swap: mira a los operadores en
Quirk . En la vida real, tenemos varios pares de qubits, y el enredo de CNOT (q [0], q [1]) cuesta una operación, y CNOT (q [1], q [0]) - ya en 7. Y la coherencia se está derritiendo ...
Precio, disponibilidad, condiciones, tiempo de amortización, herramientas de programación ...
Los precios no se anuncian, la accesibilidad para el ciudadano promedio es cercana a cero, el tiempo de depreciación no se ha calculado en la práctica, las herramientas de programación solo están surgiendo. Documentación en arxiv.org.
Entonces, ¿qué tipo de información requieren los expertos al lanzar una nueva computadora cuántica?
Además de la lista anterior, me gustan las opciones de
PerlPower y
Alter2 :
Ese sería cada artículo sobre una nueva computadora cuántica que comenzó con dos características: el número de qubits confundidos simultáneamente y el tiempo de retención de qubits.
O incluso mejor, desde el tiempo de ejecución del punto de referencia más simple, por ejemplo, encontrar factores simples del número 91.