Desmitificar els principis de la computació quàntica

Desmitificar els principis de la computació quàntica
"Crec que puc dir amb seguretat que ningú entén la mecànica quàntica." - Richard Feynman

El tema de la computació quàntica sempre ha fascinat els escriptors i periodistes tecnològics. El seu potencial computacional i la seva complexitat li van donar una certa aura mística. Massa sovint, articles de fons i infografies descriuen amb detall les diverses perspectives d'aquesta indústria, tot i que amb prou feines toquen la seva aplicació pràctica: això pot enganyar el lector menys atent.

Els articles de ciència popular ometen descripcions dels sistemes quàntics i fan afirmacions com:

Un bit normal pot ser un 1 o un 0, però un qubit pot ser un 1 i un 0 alhora.

Si tens molta sort (cosa que no estic segur), se't dirà que:

El qubit es troba en una superposició entre "1" i "0".

Cap d'aquestes explicacions sembla plausible, ja que estem intentant formular un fenomen de mecànica quàntica utilitzant un llenguatge desenvolupat en un món molt tradicional. Per explicar clarament els principis de la computació quàntica, cal utilitzar un altre llenguatge: el matemàtic. 

En aquest tutorial, tractaré les eines matemàtiques necessàries per modelar i entendre sistemes de computació quàntica, així com com il·lustrar i aplicar la lògica de la computació quàntica. A més, donaré un exemple d'algorisme quàntic i us explicaré quin és el seu avantatge respecte a un ordinador tradicional.

Faré tot el possible per explicar tot això amb un llenguatge clar, però encara espero que els lectors d'aquest article tinguin una comprensió bàsica de l'àlgebra lineal i la lògica digital (es tracta de l'àlgebra lineal). aquí, sobre la lògica digital - aquí). 

Primer, repassem els principis de la lògica digital. Es basa en l'ús de circuits elèctrics per fer càlculs. Per fer la nostra descripció més abstracta, simplifiquem l'estat del cable elèctric a "1" o "0", que correspondrà als estats "on" o "off". En disposar els transistors en una seqüència determinada, crearem els anomenats elements lògics que prenen un o més valors de senyal d'entrada i els convertirem en un senyal de sortida basat en determinades regles de la lògica booleana.

Desmitificar els principis de la computació quàntica

Portes lògiques comunes i les seves taules d'estats

A partir de les cadenes d'elements tan bàsics, es poden crear elements més complexos, i a partir de les cadenes d'elements més complexos, en última instància, amb un gran grau d'abstracció, podem esperar obtenir un anàleg del processador central.

Com he esmentat anteriorment, necessitem una manera de representar matemàticament la lògica digital. Primer, introduïm la lògica tradicional matemàtica. Utilitzant àlgebra lineal, els bits clàssics amb els valors "1" i "0" es poden representar com a vectors de dues columnes:
Desmitificar els principis de la computació quàntica
on hi ha els números de l'esquerra Notació de Dirac vector. En representar els nostres bits d'aquesta manera, podem modelar operacions lògiques sobre els bits mitjançant transformacions vectorials. Tingueu en compte: tot i que l'ús de dos bits a les portes lògiques pot realitzar moltes operacions (AND, NOT, XOR, etc.), quan s'utilitza un bit només es poden realitzar quatre operacions: conversió d'identitat, negació, càlcul de la constant “0” i càlcul de la constant “1”. Amb una conversió d'identitat, el bit es manté sense canvis, amb una negació, el valor del bit canvia al contrari (de "0" a "1" o de "1" a "0"), i el càlcul de la constant "1" o "0" estableix el bit a "1" o "0" independentment del seu valor anterior.
Desmitificar els principis de la computació quàntica

Identitat Transformació de la identitat
Negació Negació
constant-0 Càlcul de la constant "0"
constant-1 Càlcul de la constant "1"

A partir de la nostra nova representació d'un bit que proposem, és bastant fàcil realitzar operacions sobre el bit corresponent mitjançant una transformació vectorial:

Desmitificar els principis de la computació quàntica

Abans d'avançar, mirem el concepte càlculs reversibles, que simplement implica que per garantir la reversibilitat d'una operació o element lògic, cal determinar una llista de valors de senyal d'entrada basant-se en els senyals de sortida i els noms de les operacions utilitzades. Així, podem concloure que la transformació d'identitat i la negació són reversibles, però les operacions per calcular les constants “1” i “0” no ho són. Gràcies a unitària la mecànica quàntica, els ordinadors quàntics utilitzen exclusivament operacions reversibles, així que en això ens centrarem. A continuació, convertim els elements irreversibles en elements reversibles per permetre que siguin utilitzats per un ordinador quàntic.

Amb producte tensor bits individuals es poden representar amb molts bits:
Desmitificar els principis de la computació quàntica
Ara que tenim gairebé tots els conceptes matemàtics necessaris, passem a la nostra primera porta de lògica quàntica. Aquest és l'operador CNOT, o no controlat (NOT), que és de gran importància en la informàtica reversible i quàntica. L'element CNOT s'aplica a dos bits i retorna dos bits. El primer bit es designa com el bit de "control" i el segon com el bit de "control". Si el bit de control s'estableix a "1", el bit de control canvia el seu valor; Si el bit de control s'estableix a "0", el bit de control no es modifica.
Desmitificar els principis de la computació quàntica
Aquest operador es pot representar com el següent vector de transformació:
Desmitificar els principis de la computació quàntica
Per demostrar tot el que hem tractat fins ara, us mostraré com utilitzar l'element CNOT en diversos bits:
Desmitificar els principis de la computació quàntica
Per resumir el que ja s'ha dit: en el primer exemple descomposem |10⟩ en parts del seu producte tensor i utilitzem la matriu CNOT per obtenir un nou estat corresponent del producte; aleshores el factorem a |11⟩ segons la taula de valors CNOT donada anteriorment.

Per tant, hem recordat totes les regles matemàtiques que ens ajudaran a entendre la informàtica tradicional i els bits ordinaris, i finalment podem passar a la informàtica quàntica moderna i als qubits.

Si heu llegit fins aquí, tinc bones notícies per a vosaltres: els qubits es poden expressar fàcilment matemàticament. En general, si un bit clàssic (cbit) es pot establir a |1⟩ o |0⟩, el qubit està simplement en superposició i pot ser tant |0⟩ com |1⟩ abans de la mesura. Després de la mesura, es col·lapsa en |0⟩ o |1⟩. En altres paraules, un qubit es pot representar com una combinació lineal de |0⟩ i |1⟩ segons la fórmula següent:
Desmitificar els principis de la computació quàntica
on a₀ и a₁ representen, respectivament, les amplituds |0⟩ i |1⟩. Aquestes es poden considerar "probabilitats quàntiques", que representen la probabilitat que un qubit s'enfonsi en un dels estats després de ser mesurat, ja que en mecànica quàntica un objecte en superposició s'enfonsa en un dels estats després de ser fixat. Ampliem aquesta expressió i obtenim el següent:
Desmitificar els principis de la computació quàntica
Per simplificar la meva explicació, aquesta és la representació que utilitzaré en aquest article.

Per a aquest qubit, la possibilitat de col·lapsar-se al valor a₀ després que la mesura sigui igual a |a₀|², i la possibilitat de col·lapse al valor a₁ és igual a |a₁|². Per exemple, per al qubit següent:
Desmitificar els principis de la computació quàntica
la probabilitat de col·lapsar-se en “1” és igual a |1/ √2|², o ½, és a dir, 50/50.

Com que en el sistema clàssic totes les probabilitats han de sumar un (per a una distribució de probabilitat completa), podem concloure que els quadrats dels valors absoluts de les amplituds |0⟩ i |1⟩ han de sumar un. A partir d'aquesta informació podem formular la següent equació:
Desmitificar els principis de la computació quàntica
Si esteu familiaritzat amb la trigonometria, notareu que aquesta equació correspon al teorema de Pitàgores (a²+b²=c²), és a dir, podem representar gràficament els possibles estats del qubit com a punts del cercle unitari, és a dir:
Desmitificar els principis de la computació quàntica
Els operadors i elements lògics s'apliquen als qubits de la mateixa manera que en la situació amb els bits clàssics, basats en una transformació matricial. Tots els operadors de matriu invertible que hem recordat fins ara, en particular CNOT, es poden utilitzar per treballar amb qubits. Aquests operadors de matriu us permeten utilitzar cadascuna de les amplituds del qubit sense mesurar-lo i col·lapsar-lo. Permeteu-me donar-vos un exemple d'ús de l'operador de negació en un qubit:
Desmitificar els principis de la computació quàntica
Abans de continuar, permeteu-me recordar-vos que els valors d'amplitud a₀ i a₁ són en realitat nombres complexos, de manera que l'estat d'un qubit es pot mapejar amb més precisió a una esfera unitat tridimensional, també coneguda com a Esfera de puces:
Desmitificar els principis de la computació quàntica
Tanmateix, per simplificar l'explicació, aquí ens limitarem als nombres reals.

Sembla que és hora de discutir alguns elements lògics que tenen sentit únicament en el context de la computació quàntica.

Un dels operadors més importants és l'"element Hadamard": pren una mica en un estat "0" o "1" i el posa a la superposició adequada amb un 50% de possibilitats de col·lapsar-se en un "1" o "0". després de la mesura. 
Desmitificar els principis de la computació quàntica
Observeu que hi ha un nombre negatiu a la part inferior dreta de l'operador Hadamard. Això es deu al fet que el resultat d'aplicar l'operador depèn del valor del senyal d'entrada: - |1⟩ o |0⟩, i per tant el càlcul és reversible.

Un altre punt important sobre l'element Hadamard és la seva invertibilitat, és a dir, pot prendre un qubit en la superposició adequada i transformar-lo en |0⟩ o |1⟩.
Desmitificar els principis de la computació quàntica
Això és molt important perquè ens dóna la capacitat de transformar-nos a partir d'un estat quàntic sense determinar l'estat del qubit i, en conseqüència, sense col·lapsar-lo. Així, podem estructurar la computació quàntica basant-nos en un principi determinista en lloc d'un principi probabilístic.

Els operadors quàntics que només contenen nombres reals són els seus oposats, de manera que podem representar el resultat d'aplicar l'operador a un qubit com una transformació dins del cercle unitari en forma d'una màquina d'estats:
Desmitificar els principis de la computació quàntica
Així, el qubit, l'estat del qual es presenta al diagrama anterior, després d'aplicar l'operació Hadamard, es transforma en l'estat indicat per la fletxa corresponent. De la mateixa manera, podem construir una altra màquina d'estats que il·lustrarà la transformació d'un qubit utilitzant l'operador de negació tal com es mostra més amunt (també conegut com a operador de negació de Pauli o inversió de bits), tal com es mostra a continuació:
Desmitificar els principis de la computació quàntica
Per realitzar operacions més complexes al nostre qubit, podem encadenar diversos operadors o aplicar elements diverses vegades. Exemple de transformació en sèrie basada en representacions de circuits quàntics es veu així:
Desmitificar els principis de la computació quàntica
És a dir, si comencem amb el bit |0⟩, apliquem una inversió de bits, i després una operació de Hadamard, després una altra inversió de bits i de nou una operació de Hadamard, seguida d'una inversió de bits final, acabem amb el vector donat per on el costat dret de la cadena. Si posem diferents màquines d'estats una sobre l'altra, podem començar a |0⟩ i traçar les fletxes de colors corresponents a cadascuna de les transformacions per entendre com funciona tot.
Desmitificar els principis de la computació quàntica
Com que hem arribat fins aquí, és hora de considerar un dels tipus d'algorismes quàntics, és a dir: Algorisme Deutsch-Jozsa, i mostrar el seu avantatge sobre un ordinador clàssic. Val la pena assenyalar que l'algorisme de Deutsch-Jozsa és completament determinista, és a dir, retorna la resposta correcta el 100% del temps (a diferència de molts altres algorismes quàntics basats en la definició probabilística de qubits).

Imaginem que teniu una caixa negra que conté una funció/operador en un bit (recordeu que amb un bit només es poden fer quatre operacions: conversió d'identitat, negació, avaluació de la constant "0" i avaluació de la constant "1". "). Quina és exactament la funció que realitza a la caixa? No saps quin, però pots passar per tantes variants de valors d'entrada com vulguis i avaluar els resultats de sortida.

Desmitificar els principis de la computació quàntica
Quantes entrades i sortides hauríeu de passar per la caixa negra per esbrinar quina funció s'està utilitzant? Penseu en això un segon.

En el cas d'un ordinador clàssic, caldrà fer 2 consultes per determinar la funció a utilitzar. Per exemple, si l'entrada "1" produeix una sortida "0", queda clar que s'utilitza la funció de càlcul de la constant "0" o la funció de negació, després de la qual haureu de canviar el valor del senyal d'entrada. a "0" i veure què passa a la sortida.

En el cas d'un ordinador quàntic, també seran necessàries dues consultes, ja que encara necessiteu dos valors de sortida diferents per definir amb precisió la funció que cal aplicar al valor d'entrada. Tanmateix, si reformules una mica la pregunta, resulta que els ordinadors quàntics encara tenen un avantatge seriós: si volguessis saber si la funció que s'utilitza és constant o variable, els ordinadors quàntics tindrien l'avantatge.

La funció utilitzada al quadre és variable si els diferents valors del senyal d'entrada produeixen resultats diferents a la sortida (per exemple, la conversió d'identitat i la inversió de bits), i si el valor de sortida no canvia independentment del valor d'entrada, La funció és constant (per exemple, calculant una constant "1" o calculant la constant "0").

Mitjançant un algorisme quàntic, podeu determinar si una funció d'una caixa negra és constant o variable en funció d'una sola consulta. Però abans de veure com fer-ho en detall, hem de trobar una manera d'estructurar cadascuna d'aquestes funcions en un ordinador quàntic. Com que qualsevol operador quàntic ha de ser inversible, immediatament ens enfrontem a un problema: les funcions per calcular les constants "1" i "0" no ho són.

Una solució comuna utilitzada en la informàtica quàntica és afegir un qubit de sortida addicional que retorni qualsevol valor d'entrada que rep la funció. 

Abans: Després:
Desmitificar els principis de la computació quàntica Desmitificar els principis de la computació quàntica

D'aquesta manera, podem determinar els valors d'entrada únicament en funció del valor de sortida, i la funció esdevé invertible. L'estructura dels circuits quàntics crea la necessitat d'un bit d'entrada addicional. Per tal de desenvolupar els operadors corresponents, assumirem que el qubit d'entrada addicional s'estableix en |0⟩.

Utilitzant la mateixa representació de circuit quàntic que hem utilitzat anteriorment, vegem com es pot implementar cadascun dels quatre elements (transformació d'identitat, negació, avaluació de la constant "0" i avaluació de la constant "1") mitjançant operadors quàntics. 

Per exemple, així és com podeu implementar la funció per calcular la constant "0":

Càlcul de la constant "0":
Desmitificar els principis de la computació quàntica
Aquí no necessitem operadors en absolut. El primer qubit d'entrada (que vam suposar que era |0⟩) torna amb el mateix valor, i el segon valor d'entrada torna ell mateix, com és habitual.

Amb la funció per calcular la constant "1" la situació és una mica diferent:

Càlcul de la constant "1":
Desmitificar els principis de la computació quàntica
Com que hem assumit que el primer qubit d'entrada sempre s'estableix en |0⟩, el resultat d'aplicar l'operador d'inversió de bits és que sempre produeix un a la sortida. I com és habitual, el segon qubit dóna el seu propi valor a la sortida.

Quan es mapeja l'operador de transformació d'identitat, la tasca comença a ser més complicada. A continuació s'explica com fer-ho:

Transformació idèntica:
Desmitificar els principis de la computació quàntica
El símbol utilitzat aquí denota l'element CNOT: la línia superior indica el bit de control i la línia inferior indica el bit de control. Permeteu-me que us recordi que quan utilitzeu l'operador CNOT, el valor del bit de control canvia si el bit de control és igual a |1⟩, però es manté sense canvis si el bit de control és igual a |0⟩. Com que vam suposar que el valor de la línia superior sempre és igual a |0⟩, el seu valor sempre s'assigna a la línia inferior.

Procedim de la mateixa manera amb l'operador de negació:

Negació:
Desmitificar els principis de la computació quàntica
Simplement invertim el bit al final de la línia de sortida.

Ara que tenim aquesta comprensió preliminar fora del camí, mirem els avantatges específics d'un ordinador quàntic sobre un ordinador tradicional a l'hora de determinar la constància o la variabilitat d'una funció amagada en una caixa negra utilitzant només una consulta.

Per resoldre aquest problema utilitzant la computació quàntica en una sola sol·licitud, cal posar els qubits d'entrada en una superposició abans de passar-los a la funció, tal com es mostra a continuació:
Desmitificar els principis de la computació quàntica
L'element Hadamard es torna a aplicar al resultat de la funció per trencar els qubits de la superposició i fer que l'algorisme sigui determinista. Iniciem el sistema a l'estat |00⟩ i, per motius que explicaré en breu, obtenim el resultat |11⟩ si la funció aplicada és constant. Si la funció dins de la caixa negra és variable, després de la mesura el sistema retorna el resultat |01⟩.

Per entendre la resta de l'article, mirem la il·lustració que vaig mostrar anteriorment:
Desmitificar els principis de la computació quàntica
Utilitzant l'operador d'inversió de bits i després aplicant l'element Hadamard als dos valors d'entrada iguals a |0⟩, ens assegurem que es tradueixen a la mateixa superposició de |0⟩ i |1⟩, de la següent manera:
Desmitificar els principis de la computació quàntica
Utilitzant l'exemple de passar aquest valor a una funció de caixa negra, és fàcil demostrar que ambdues funcions de valor constant generen |11⟩.

Càlcul de la constant "0":
Desmitificar els principis de la computació quàntica
De la mateixa manera, veiem que la funció per calcular la constant “1” també produeix |11⟩ com a sortida, és a dir:

Càlcul de la constant "1":
Desmitificar els principis de la computació quàntica
Tingueu en compte que la sortida serà |1⟩, ja que -1² = 1.

Pel mateix principi, podem demostrar que quan utilitzem les dues funcions variables, sempre obtindrem |01⟩ a la sortida (sempre que utilitzem el mateix mètode), encara que tot és una mica més complicat.

Transformació idèntica:
Desmitificar els principis de la computació quàntica
Com que CNOT és un operador de dos qubits, no es pot representar com una màquina d'estats simple i, per tant, cal definir dos senyals de sortida basats en el producte tensor dels dos qubits d'entrada i la multiplicació per la matriu CNOT tal com s'ha descrit anteriorment:
Desmitificar els principis de la computació quàntica
Amb aquest mètode també podem confirmar que es rep el valor de sortida |01⟩ si la funció de negació està oculta a la caixa negra:

Negació:
Desmitificar els principis de la computació quàntica
Així, acabem de demostrar una situació en què un ordinador quàntic és clarament més eficient que un ordinador convencional.

Que segueix?

Suggereixo que acabem aquí. Ja hem fet una gran feina. Si heu entès tot el que he tractat, crec que ara teniu una bona comprensió dels conceptes bàsics de la computació quàntica i la lògica quàntica, i per què els algorismes quàntics poden ser més eficients que la informàtica tradicional en determinades situacions.

La meva descripció difícilment es pot anomenar una guia completa per a la computació quàntica i els algorismes; més aviat, és una breu introducció a les matemàtiques i la notació, dissenyada per dissipar les idees dels lectors sobre el tema imposades per fonts de ciència popular (de debò, molts realment no entenen la situació!). No vaig tenir temps per tocar molts temes importants, com ara entrellaçament quàntic de qubits, la complexitat dels valors d'amplitud |0⟩ i |1⟩ i el funcionament de diversos elements de lògica quàntica durant la transformació per l'esfera de Bloch.

Si voleu sistematitzar i estructurar els vostres coneixements sobre ordinadors quàntics, urgentment Us recomano llegir "Una introducció als algorismes quàntics" Emma Strubel: malgrat l'abundància de fórmules matemàtiques, aquest llibre tracta els algorismes quàntics amb molt més detall.

Font: www.habr.com

Afegeix comentari