Desmitificación dos principios da computación cuántica

Desmitificación dos principios da computación cuántica
"Creo que podo dicir con seguridade que ninguén entende a mecánica cuántica." - Richard Feynman

O tema da computación cuántica sempre fascinou aos escritores e xornalistas de tecnoloxía. O seu potencial computacional e complexidade déronlle un certo aura mística. Con demasiada frecuencia, os artigos e infografías describen en detalle as diversas perspectivas desta industria, sen tocar apenas a súa aplicación práctica: isto pode enganar ao lector menos atento.

Os artigos científicos populares omiten as descricións dos sistemas cuánticos e fan afirmacións como:

Un bit normal pode ser un 1 ou un 0, pero un qubit pode ser un 1 e un 0 ao mesmo tempo.

Se tes moita sorte (do que non estou seguro), dirásche que:

O qubit está nunha superposición entre "1" e "0".

Ningunha destas explicacións parece plausible, xa que estamos tentando formular un fenómeno de mecánica cuántica utilizando unha linguaxe desenvolvida nun mundo moi tradicional. Para explicar claramente os principios da computación cuántica, é necesario empregar outra linguaxe - a matemática. 

Neste tutorial, cubrirei as ferramentas matemáticas necesarias para modelar e comprender os sistemas de computación cuántica, así como como ilustrar e aplicar a lóxica da computación cuántica. Ademais, vou poñer un exemplo de algoritmo cuántico e dicirche cal é a súa vantaxe sobre un ordenador tradicional.

Farei todo o posible para explicar todo isto cunha linguaxe clara, pero aínda así espero que os lectores deste artigo teñan unha comprensión básica da álxebra lineal e da lóxica dixital (a álxebra aquí, sobre a lóxica dixital - aquí). 

En primeiro lugar, repasemos os principios da lóxica dixital. Baséase no uso de circuítos eléctricos para realizar cálculos. Para facer a nosa descrición máis abstracta, simplifiquemos o estado do cable eléctrico a "1" ou "0", que corresponderá aos estados "on" ou "off". Ao organizar os transistores nunha determinada secuencia, crearemos os chamados elementos lóxicos que toman un ou máis valores de sinal de entrada e convertelos nun sinal de saída baseado en determinadas regras da lóxica booleana.

Desmitificación dos principios da computación cuántica

Portas lóxicas comúns e as súas táboas de estado

A partir das cadeas de tales elementos básicos, pódense crear elementos máis complexos e, baseándonos nas cadeas de elementos máis complexos, podemos en definitiva, cun gran grao de abstracción, esperar obter un análogo do procesador central.

Como mencionei anteriormente, necesitamos un xeito de representar matemáticamente a lóxica dixital. En primeiro lugar, imos introducir a lóxica tradicional matemática. Usando álxebra lineal, os bits clásicos cos valores "1" e "0" pódense representar como dous vectores columnas:
Desmitificación dos principios da computación cuántica
onde están os números da esquerda notación de Dirac vector. Ao representar os nosos bits deste xeito, podemos modelar operacións lóxicas sobre os bits mediante transformacións vectoriais. Teña en conta: aínda que o uso de dous bits nas portas lóxicas pode realizar moitas operacións (AND, NOT, XOR, etc.), ao usar un bit só se poden realizar catro operacións: conversión de identidade, negación, cálculo da constante “0” e cálculo da constante “1”. Cunha conversión de identidade, o bit permanece inalterado, cunha negación, o valor do bit cambia ao contrario (de "0" a "1" ou de "1" a "0") e o cálculo da constante "1" ou "0" establece o bit en "1" ou "0" independentemente do seu valor anterior.
Desmitificación dos principios da computación cuántica

IdentidadeTransformación da identidade
NegaciónNegación
constante-0Cálculo da constante "0"
constante-1Cálculo da constante "1"

Baseándose na nosa nova representación proposta dun bit, é bastante sinxelo realizar operacións sobre o bit correspondente usando unha transformación vectorial:

Desmitificación dos principios da computación cuántica

Antes de avanzar, vexamos o concepto cálculos reversibles, o que simplemente implica que, para garantir a reversibilidade dunha operación ou elemento lóxico, é necesario determinar unha lista de valores de sinal de entrada en función dos sinais de saída e dos nomes das operacións utilizadas. Así, podemos concluír que a transformación e negación da identidade son reversibles, pero as operacións para calcular as constantes "1" e "0" non o son. Grazas a unitaria mecánica cuántica, os ordenadores cuánticos usan operacións exclusivamente reversibles, así que niso nos centraremos. A continuación, convertemos os elementos irreversibles en elementos reversibles para que poidan ser utilizados por unha computadora cuántica.

Con produto tensor bits individuais poden representarse por moitos bits:
Desmitificación dos principios da computación cuántica
Agora que temos case todos os conceptos matemáticos necesarios, pasemos á nosa primeira porta de lóxica cuántica. Este é o operador CNOT, ou Controlled Not (NOT), que é de gran importancia na computación reversible e cuántica. O elemento CNOT aplícase a dous bits e devolve dous bits. O primeiro bit desígnase como o bit de "control" e o segundo como o bit de "control". Se o bit de control está configurado en "1", o bit de control cambia o seu valor; Se o bit de control está configurado en "0", o bit de control non se modifica.
Desmitificación dos principios da computación cuántica
Este operador pódese representar como o seguinte vector de transformación:
Desmitificación dos principios da computación cuántica
Para demostrar todo o que cubrimos ata agora, mostrarei como usar o elemento CNOT en varios bits:
Desmitificación dos principios da computación cuántica
Para resumir o que xa se dixo: no primeiro exemplo descompoñemos |10⟩ en partes do seu produto tensor e utilizamos a matriz CNOT para obter un novo estado correspondente do produto; entón factorímolo a |11⟩ segundo a táboa de valores CNOT dada anteriormente.

Entón, lembramos todas as regras matemáticas que nos axudarán a comprender a informática tradicional e os bits ordinarios, e finalmente podemos pasar á computación cuántica moderna e aos qubits.

Se leches ata aquí, teño unha boa noticia para ti: os qubits pódense expresar matemáticamente facilmente. En xeral, se un bit clásico (cbit) pode establecerse en |1⟩ ou |0⟩, o qubit está simplemente en superposición e pode ser tanto |0⟩ como |1⟩ antes da medición. Despois da medición, colapsa en |0⟩ ou |1⟩. Noutras palabras, un qubit pódese representar como unha combinación lineal de |0⟩ e |1⟩ segundo a seguinte fórmula:
Desmitificación dos principios da computación cuántica
onde a₀ и a₁ representan, respectivamente, as amplitudes |0⟩ e |1⟩. Estas poden considerarse "probabilidades cuánticas", que representan a probabilidade de que un qubit colapse nun dos estados despois de medilo, xa que en mecánica cuántica un obxecto en superposición colapsa nun dos estados despois de ser fixado. Imos ampliar esta expresión e obter o seguinte:
Desmitificación dos principios da computación cuántica
Para simplificar a miña explicación, esta é a representación que vou usar neste artigo.

Para este qubit, a posibilidade de colapsar ao valor a₀ despois da medida é igual a |a₀|², e a posibilidade de contraer o valor a₁ é igual a |a₁|². Por exemplo, para o seguinte qubit:
Desmitificación dos principios da computación cuántica
a probabilidade de colapsar en “1” é igual a |1/ √2|², ou ½, é dicir, 50/50.

Dado que no sistema clásico todas as probabilidades deben sumar un (para unha distribución de probabilidades completa), podemos concluír que os cadrados dos valores absolutos das amplitudes |0⟩ e |1⟩ deben sumar un. A partir desta información podemos formular a seguinte ecuación:
Desmitificación dos principios da computación cuántica
Se estás familiarizado coa trigonometría, notarás que esta ecuación corresponde ao teorema de Pitágoras (a²+b²=c²), é dicir, podemos representar graficamente os posibles estados do qubit como puntos do círculo unitario, a saber:
Desmitificación dos principios da computación cuántica
Os operadores e elementos lóxicos aplícanse aos qubits do mesmo xeito que na situación cos bits clásicos, baseados nunha transformación matricial. Todos os operadores de matriz invertible que recordamos ata agora, en particular CNOT, pódense usar para traballar con qubits. Tales operadores de matriz permítenche usar cada unha das amplitudes do qubit sen medilo e contraer. Permíteme darche un exemplo de uso do operador de negación nun qubit:
Desmitificación dos principios da computación cuántica
Antes de continuar, permíteme recordarche que os valores de amplitude a₀ e a₁ son en realidade números complexos, polo que o estado dun qubit pódese mapear con máis precisión nunha esfera unitaria tridimensional, tamén coñecida como Esfera de pulgas:
Desmitificación dos principios da computación cuántica
Non obstante, para simplificar a explicación, limitarémonos aquí aos números reais.

Parece hora de discutir algúns elementos lóxicos que só teñen sentido no contexto da computación cuántica.

Un dos operadores máis importantes é o "elemento Hadamard": leva un pouco nun estado "0" ou "1" e colócao na superposición adecuada cun 50% de posibilidades de colapsar nun "1" ou "0". despois da medición. 
Desmitificación dos principios da computación cuántica
Teña en conta que hai un número negativo na parte inferior dereita do operador Hadamard. Isto débese a que o resultado da aplicación do operador depende do valor do sinal de entrada: - |1⟩ ou |0⟩, polo que o cálculo é reversible.

Outro punto importante sobre o elemento Hadamard é a súa invertibilidade, o que significa que pode tomar un qubit na superposición adecuada e transformalo en |0⟩ ou |1⟩.
Desmitificación dos principios da computación cuántica
Isto é moi importante porque nos dá a capacidade de transformarnos a partir dun estado cuántico sen determinar o estado do qubit e, en consecuencia, sen colapsalo. Así, podemos estruturar a computación cuántica baseándose nun principio determinista e non probabilístico.

Os operadores cuánticos que conteñen só números reais son o seu propio oposto, polo que podemos representar o resultado de aplicar o operador a un qubit como unha transformación dentro do círculo unitario en forma de máquina de estados:
Desmitificación dos principios da computación cuántica
Así, o qubit, cuxo estado se presenta no diagrama anterior, despois de aplicar a operación Hadamard, transfórmase no estado indicado pola frecha correspondente. Do mesmo xeito, podemos construír outra máquina de estados que ilustrará a transformación dun qubit usando o operador de negación como se mostra arriba (tamén coñecido como operador de negación de Pauli ou inversión de bits), como se mostra a continuación:
Desmitificación dos principios da computación cuántica
Para realizar operacións máis complexas no noso qubit, podemos encadear varios operadores ou aplicar elementos varias veces. Exemplo de transformación en serie baseada en representacións de circuítos cuánticos parece así:
Desmitificación dos principios da computación cuántica
É dicir, se comezamos polo bit |0⟩, aplicamos unha inversión de bits, e despois unha operación de Hadamard, despois outra inversión de bits e de novo unha operación de Hadamard, seguida dunha inversión de bits final, acabamos co vector dado por on o lado dereito da cadea. Ao colocar en capas diferentes máquinas de estado unhas sobre outras, podemos comezar en |0⟩ e trazar as frechas de cores correspondentes a cada unha das transformacións para entender como funciona todo.
Desmitificación dos principios da computación cuántica
Xa que chegamos ata aquí, é hora de considerar un dos tipos de algoritmos cuánticos, a saber: Algoritmo Deutsch-Jozsa, e mostrar a súa vantaxe sobre un ordenador clásico. Cabe destacar que o algoritmo Deutsch-Jozsa é completamente determinista, é dicir, devolve a resposta correcta o 100% das veces (a diferenza de moitos outros algoritmos cuánticos baseados na definición probabilística de qubits).

Imaxinemos que tes unha caixa negra que contén unha función/operador nun bit (lembra que cun bit só se poden realizar catro operacións: conversión de identidade, negación, avaliación da constante "0" e avaliación da constante "1". "). Cal é exactamente a función que se realiza na caixa? Non sabe cal, pero pode pasar por tantas variantes de valores de entrada como queira e avaliar os resultados de saída.

Desmitificación dos principios da computación cuántica
Cantas entradas e saídas terías que pasar pola caixa negra para descubrir que función se está a utilizar? Pense nisto por un segundo.

No caso dun ordenador clásico, terás que facer 2 consultas para determinar a función a utilizar. Por exemplo, se a entrada "1" produce unha saída "0", queda claro que se usa a función de cálculo da constante "0" ou a función de negación, despois de que terás que cambiar o valor do sinal de entrada. a "0" e mira o que pasa na saída.

No caso dunha computadora cuántica, tamén serán necesarias dúas consultas, xa que aínda necesitas dous valores de saída diferentes para definir con precisión a función a aplicar ao valor de entrada. Porén, se reformulas un pouco a pregunta, resulta que os ordenadores cuánticos aínda teñen unha gran vantaxe: se quixeses saber se a función que se utiliza é constante ou variable, os ordenadores cuánticos terían a vantaxe.

A función utilizada na caixa é variable se os diferentes valores do sinal de entrada producen resultados diferentes na saída (por exemplo, conversión de identidade e inversión de bits), e se o valor de saída non cambia independentemente do valor de entrada, entón o función é constante (por exemplo, calculando unha constante "1" ou calculando a constante "0").

Usando un algoritmo cuántico, pode determinar se unha función nunha caixa negra é constante ou variable en función dunha soa consulta. Pero antes de ver como facelo en detalle, necesitamos atopar unha forma de estruturar cada unha destas funcións nun ordenador cuántico. Dado que calquera operador cuántico debe ser invertible, inmediatamente enfrontámonos a un problema: as funcións para calcular as constantes "1" e "0" non o son.

Unha solución común empregada na computación cuántica é engadir un qubit de saída adicional que devolva o valor de entrada que reciba a función. 

Para:Despois:
Desmitificación dos principios da computación cuánticaDesmitificación dos principios da computación cuántica

Deste xeito, podemos determinar os valores de entrada só en función do valor de saída, e a función faise invertible. A estrutura dos circuítos cuánticos crea a necesidade dun bit de entrada adicional. Para desenvolver os operadores correspondentes, asumiremos que o qubit de entrada adicional está configurado en |0⟩.

Usando a mesma representación de circuíto cuántico que usamos anteriormente, vexamos como se pode implementar cada un dos catro elementos (transformación de identidade, negación, avaliación da constante "0" e avaliación da constante "1") mediante operadores cuánticos. 

Por exemplo, así podes implementar a función para calcular a constante "0":

Cálculo da constante "0":
Desmitificación dos principios da computación cuántica
Aquí non necesitamos operadores en absoluto. O primeiro qubit de entrada (que asumimos que era |0⟩) volve co mesmo valor e o segundo valor de entrada volve por si mesmo, como é habitual.

Coa función para calcular a constante "1" a situación é un pouco diferente:

Cálculo da constante "1":
Desmitificación dos principios da computación cuántica
Dado que supuxemos que o primeiro qubit de entrada está sempre configurado en |0⟩, o resultado de aplicar o operador de inversión de bits é que sempre produce un un na saída. E como é habitual, o segundo qubit dá o seu propio valor na saída.

Ao mapear o operador de transformación de identidade, a tarefa comeza a complicarse. Aquí tes como facelo:

Transformación idéntica:
Desmitificación dos principios da computación cuántica
O símbolo usado aquí denota o elemento CNOT: a liña superior indica o bit de control e a liña inferior indica o bit de control. Permíteme lembrarlle que ao usar o operador CNOT, o valor do bit de control cambia se o bit de control é igual a |1⟩, pero permanece inalterado se o bit de control é igual a |0⟩. Dado que asumimos que o valor da liña superior é sempre igual a |0⟩, o seu valor sempre se asigna á liña inferior.

Procedemos de xeito similar co operador de negación:

Negación:
Desmitificación dos principios da computación cuántica
Simplemente invertimos o bit ao final da liña de saída.

Agora que temos esa comprensión preliminar fóra do camiño, vexamos as vantaxes específicas dunha computadora cuántica fronte a unha computadora tradicional á hora de determinar a constancia ou a variabilidade dunha función oculta nunha caixa negra usando só unha consulta.

Para resolver este problema usando computación cuántica nunha única solicitude, é necesario poñer os qubits de entrada nunha superposición antes de pasalos á función, como se mostra a continuación:
Desmitificación dos principios da computación cuántica
O elemento Hadamard aplícase de novo ao resultado da función para romper os qubits da superposición e facer que o algoritmo sexa determinista. Iniciamos o sistema no estado |00⟩ e, por razóns que explicarei en breve, obtemos o resultado |11⟩ se a función aplicada é constante. Se a función dentro da caixa negra é variable, despois da medición o sistema devolve o resultado |01⟩.

Para entender o resto do artigo, vexamos a ilustración que mostrei anteriormente:
Desmitificación dos principios da computación cuántica
Usando o operador de inversión de bits e despois aplicando o elemento Hadamard a ambos os valores de entrada iguais a |0⟩, garantimos que se traducen na mesma superposición de |0⟩ e |1⟩, como segue:
Desmitificación dos principios da computación cuántica
Usando o exemplo de pasar este valor a unha función de caixa negra, é fácil demostrar que ambas funcións de valor constante saen |11⟩.

Cálculo da constante "0":
Desmitificación dos principios da computación cuántica
Do mesmo xeito, vemos que a función para calcular a constante "1" tamén produce |11⟩ como saída, é dicir:

Cálculo da constante "1":
Desmitificación dos principios da computación cuántica
Teña en conta que a saída será |1⟩, xa que -1² = 1.

Polo mesmo principio, podemos demostrar que ao usar ambas as funcións variables, sempre obteremos |01⟩ na saída (sempre que usemos o mesmo método), aínda que todo é un pouco máis complicado.

Transformación idéntica:
Desmitificación dos principios da computación cuántica
Dado que CNOT é un operador de dous qubits, non se pode representar como unha máquina de estado simple e, polo tanto, é necesario definir dous sinais de saída baseados no produto tensor de ambos os qubits de entrada e a multiplicación pola matriz CNOT como se describiu anteriormente:
Desmitificación dos principios da computación cuántica
Con este método tamén podemos confirmar que se recibe o valor de saída |01⟩ se a función de negación está oculta na caixa negra:

Negación:
Desmitificación dos principios da computación cuántica
Así, acabamos de demostrar unha situación na que un ordenador cuántico é claramente máis eficiente que un ordenador convencional.

Que despois?

Suxiro que rematemos aquí. Xa fixemos un gran traballo. Se entendes todo o que comentei, creo que agora tes unha boa comprensión dos conceptos básicos da computación cuántica e da lóxica cuántica, e por que os algoritmos cuánticos poden ser máis eficientes que a computación tradicional en determinadas situacións.

A miña descrición dificilmente pode chamarse unha guía completa para a computación cuántica e os algoritmos; é, máis ben, unha breve introdución ás matemáticas e á notación, deseñada para disipar as ideas dos lectores sobre o tema impostas polas fontes científicas populares (en serio, moitos realmente non poden entender a situación!). Non tiven tempo para tocar moitos temas importantes, como entrelazamento cuántico de qubits, a complexidade dos valores de amplitude |0⟩ e |1⟩ e o funcionamento de varios elementos de lóxica cuántica durante a transformación pola esfera de Bloch.

Se queres sistematizar e estruturar o teu coñecemento sobre as computadoras cuánticas, urxentemente Recomendo que leas "Unha introdución aos algoritmos cuánticos" Emma Strubel: a pesar da abundancia de fórmulas matemáticas, este libro trata os algoritmos cuánticos con moito máis detalle.

Fonte: www.habr.com

Compre hospedaxe fiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra aloxamento web fiable con protección DDoS, servidores VPS VDS | ProHoster