Características dos ordenadores cuánticos

A potencia dun ordenador cuántico mídese en qubits, a unidade básica de medida nun ordenador cuántico. Orixe.

Facepalmo cada vez que leo unha frase coma esta. Isto non levou a nada ben, a miña visión comezou a esvaecerse; Terei que acudir a Meklon en breve.

Creo que é hora de sistematizar un pouco os parámetros básicos dunha computadora cuántica. Hai varios deles:

  1. Número de qubits
  2. Tempo de mantemento da coherencia (tempo de decoherencia)
  3. Nivel de erro
  4. Arquitectura do procesador
  5. Prezo, dispoñibilidade, condicións de mantemento, tempo de amortización, ferramentas de programación, etc.

Número de qubits

Aquí todo é obvio, canto máis mellor. En realidade, tes que pagar por qubits e, idealmente, debes mercar exactamente tantos qubits como necesarios para completar a tarefa. Para un desenvolvedor de máquinas recreativas exclusivas, un qubit por máquina é suficiente (para xerar aleatoriedade). Para "forza bruta" RSA-2048 - polo menos 2048 qubits.

Os algoritmos cuánticos máis publicitados levan o nome de Grover e Shor. Grover permítelle "piratear" hash. Para bloquear Bitcoin, necesitas ordenadores con polo menos 256 qubits a bordo (podes xogar coa complexidade de Bitcoin, pero quedemos con este número redondo). Shor permítelle factorizar números. Para factorizar un número de n díxitos binarios de lonxitude, necesitas polo menos n qubits.

Máximo actual: 50 qubits (xa 72?). E de feito, 50 qubits é o límite. O límite da simulación computarizada cuántica. En teoría, podemos simular calquera número de qubits en ordenadores clásicos. Na práctica, engadir un qubit a unha simulación require duplicar os ordenadores clásicos. Engade a isto os rumores sobre que os qubits se duplican cada ano e fai a pregunta: como depurar algoritmos para 25651210242048 qubits? Non hai simulador; non pode establecer un punto de interrupción nun procesador cuántico.

Tempo de mantemento da coherencia (tempo de decoherencia)

Coherencia e coherencia non son o mesmo. Gústame comparar a coherencia coa rexeneración da memoria de traballo. Hai miles de millóns de células na tira RAM, cada unha cunha carga, cero ou unha. Esta carga ten unha propiedade moi interesante: drena. A cela inicialmente "unidade" pasa a ser a cela 0.99, despois a cela 0.98, etc. En consecuencia, 0.01, 0.02, 0.03 acumúlanse a cero... Este cargo ten que ser renovado, "rexenerado". Calquera cousa que sexa inferior á metade restablece a cero, todo o demais é empuxado a un.

Os procesadores cuánticos non se poden rexenerar. En consecuencia, hai un ciclo para todos os cálculos, ata o primeiro qubit "filtrado". O tempo antes do primeiro "goteo" chámase tempo de decoherencia. A coherencia é un estado no que os qubits aínda non se "filtraron". Aquí Podes mirar explicacións un pouco máis para adultos.

A decoherencia está relacionada co número de qubits: cantos máis qubits, máis difícil é manter a coherencia. Por outra banda, se tes un gran número de qubits, podes utilizar algúns deles para corrixir erros asociados á decoherencia. Dende aquí flúe fóraque o número de qubits en si non resolve nada. Podes duplicar o número de qubits e gastar o 90% deles en arranxar a decoherencia.

Aquí é onde entra en xogo o concepto de qubit lóxico. En liñas xerais, se tes un procesador con 100 qubits, pero 40 deles están dirixidos a corrixir a decoherencia, quedas con 60 qubits lóxicos. Aqueles nos que executas o teu algoritmo. O concepto de qubits lóxicos é agora bastante teórico; eu persoalmente non escoitei falar de implementacións prácticas.

Erros e a súa corrección

Outra lacra dos procesadores cuánticos. Se inverte un qubit, hai un 2% de posibilidades de que a operación falle. Se enreda 2 qubits, a taxa de erro é de ata o 8%. Tome un número de 256 bits, compreo en SHA-256, conte o número de operacións, calcule a probabilidade de realizar TODAS estas operacións sen erros.

Os matemáticos aportan unha solución: a corrección de erros. Hai algoritmos. A implementación dun enredo de 2 qubits lóxicos require 100.000 qubits físicos. Non tardará moito en chegar o final.

Arquitectura do procesador

En rigor, non hai ordenadores cuánticos. Só hai procesadores cuánticos. Por que necesitas RAM cando o tempo para traballar está limitado a milisegundos? Programo en Q#, pero é unha linguaxe de alto nivel. Asigna 15 qubits e fai o que queiras con eles. Quixo, enredar o primeiro qubit co décimo. Desexado - confundidos os seis primeiros.

Nun procesador real non hai tal liberdade. Pedín enredar o primeiro qubit con 15: o compilador xerará 26 operacións adicionais. Se tes sorte. Se non tes sorte, xerará cen. O caso é que un qubit só pode enredarse cos seus veciños. Non vin máis de 6 veciños por qubit. En principio, hai compiladores que optimizan programas cuánticos, pero aínda son bastante teóricos.

Cada procesador ten un conxunto diferente de instrucións e as conexións entre qubits son diferentes. Nun mundo ideal, temos Rx, Ry, Rz arbitrarios e as súas combinacións, ademais do enredo libre baseado nunha ducia de funcións, ademais de Intercambiar: mira os operadores en peculiar. En realidade, temos varios pares de qubits, e o enredo de CNOT (q[0], q[1]) custa unha operación, e CNOT(q[1], q[0]) leva 7. E a coherencia derrétese... .

Prezo, dispoñibilidade, condicións de mantemento, tempo de amortización, ferramentas de programación...

Os prezos non se anuncian, a dispoñibilidade para o cidadán medio está preto de cero, o tempo de amortización non se calculou na práctica, as ferramentas de programación están só na súa infancia. Documentación en arxiv.org.

Entón, que información necesitas dos expertos cando lanzas unha nova computadora cuántica?

Ademais da lista anterior, gústanme as opcións de PerlPower и Alter 2:

Se só cada artigo sobre unha nova computadora cuántica comezase con dúas características: a cantidade simultánea qubits enredados e tempo de retención de qubits.

Ou aínda mellor: desde o tempo que se tarda en executar unha referencia sinxela, por exemplo, atopar factores primos do número 91.

Fonte: www.habr.com

Engadir un comentario