A kvantumszámítás alapelveinek megfejtése

A kvantumszámítás alapelveinek megfejtése
„Azt hiszem, nyugodtan kijelenthetem, hogy senki sem érti a kvantummechanikát.” – Richard Feynman

A kvantumszámítás témája mindig is lenyűgözte a műszaki írókat és újságírókat. Számítási lehetőségei és összetettsége bizonyos misztikus aurát adott neki. A cikkek és infografikák túl gyakran részletesen leírják ennek az iparágnak a különféle kilátásait, miközben alig érintik a gyakorlati alkalmazást: ez félrevezetheti a kevésbé figyelmes olvasót.

A népszerű tudományos cikkek figyelmen kívül hagyják a kvantumrendszerek leírását, és olyan kijelentéseket tesznek, mint:

A normál bit lehet 1 vagy 0, de a qubit lehet 1 és 0 egyszerre.

Ha nagyon szerencsés vagy (amiben nem vagyok biztos), a következőket fogják mondani:

A qubit szuperpozícióban van "1" és "0" között.

E magyarázatok egyike sem tűnik elfogadhatónak, mivel egy kvantummechanikai jelenséget próbálunk megfogalmazni egy nagyon hagyományos világban kifejlesztett nyelv segítségével. A kvantumszámítás alapelveinek világos magyarázatához egy másik nyelvet kell használni - a matematikát. 

Ebben az oktatóanyagban a kvantumszámítási rendszerek modellezéséhez és megértéséhez szükséges matematikai eszközöket, valamint a kvantumszámítástechnika logikájának szemléltetését és alkalmazását ismertetem. Sőt, mondok egy példát egy kvantum algoritmusra, és elmondom, mi az előnye egy hagyományos számítógéppel szemben.

Mindent megteszek azért, hogy mindezt érthető nyelven elmagyarázzam, de továbbra is remélem, hogy a cikk olvasói alapvető ismeretekkel rendelkeznek a lineáris algebráról és a digitális logikáról. itt, a digitális logikáról - itt). 

Először nézzük át a digitális logika alapelveit. A számítások elvégzéséhez elektromos áramkörök felhasználásán alapul. Annak érdekében, hogy leírásunk elvontabb legyen, egyszerűsítsük az elektromos vezeték állapotát „1”-re vagy „0-ra”, amely megfelel a „be” vagy „kikapcsolt” állapotoknak. A tranzisztorok meghatározott sorrendbe rendezésével úgynevezett logikai elemeket hozunk létre, amelyek egy vagy több bemeneti jel értéket vesznek fel, és a logikai logika bizonyos szabályai alapján kimeneti jellé alakítják át.

A kvantumszámítás alapelveinek megfejtése

Közös logikai kapuk és állapottábláik

Az ilyen alapelemek láncolatai alapján összetettebb elemek is létrehozhatók, az összetettebb elemek láncai alapján pedig végső soron nagy absztrakciós fokú absztrakció mellett a központi processzor analógjának beszerzésére számíthatunk.

Ahogy korábban említettem, szükségünk van egy módra a digitális logika matematikai ábrázolására. Először is mutassuk be a hagyományos matematikai logikát. A lineáris algebra segítségével az "1" és "0" értékű klasszikus bitek két oszlopvektorként ábrázolhatók:
A kvantumszámítás alapelveinek megfejtése
ahol a bal oldali számok vannak Dirac jelölés vektor. A bitjeinket ily módon reprezentálva vektortranszformációk segítségével modellezhetjük a biteken a logikai műveleteket. Figyelem: bár két bittel a logikai kapukban sok műveletet lehet végrehajtani (ÉS, NEM, XOR stb.), egy bit használata esetén csak négy művelet hajtható végre: identitáskonverzió, negáció, a „0” konstans kiszámítása, ill. az „1” állandó kiszámítása. Identitáskonverziónál a bit változatlan marad, negáció esetén a bit értéke az ellenkezőjére változik ("0"-ról "1"-re vagy "1"-ről "0"-ra), és az "1" konstans kiszámítása. vagy a „0” a bitet „1”-re vagy „0”-ra állítja, függetlenül az előző értékétől.
A kvantumszámítás alapelveinek megfejtése

Identitás Identitás transzformáció
Tagadás Tagadás
Állandó-0 A "0" állandó kiszámítása
Állandó-1 A "1" állandó kiszámítása

Az általunk javasolt bitreprezentáció alapján meglehetősen egyszerű műveleteket végrehajtani a megfelelő biten vektortranszformáció segítségével:

A kvantumszámítás alapelveinek megfejtése

Mielőtt továbblépnénk, nézzük meg a koncepciót visszafordítható számítások, ami egyszerűen azt jelenti, hogy egy művelet vagy logikai elem visszafordíthatóságának biztosítása érdekében meg kell határozni a bemeneti jelek értékeinek listáját a kimeneti jelek és a használt műveletek nevei alapján. Ebből arra következtethetünk, hogy az azonosságtranszformáció és a negáció visszafordítható, de az „1” és „0” konstansok kiszámítására szolgáló műveletek nem. Köszönet az egység a kvantummechanika, a kvantumszámítógépek kizárólag reverzibilis műveleteket használnak, szóval erre fogunk összpontosítani. Ezután az irreverzibilis elemeket reverzibilis elemekké alakítjuk, hogy lehetővé tegyük őket egy kvantumszámítógép számára.

-Val tenzor termék Az egyes bitek sok bittel ábrázolhatók:
A kvantumszámítás alapelveinek megfejtése
Most, hogy szinte az összes szükséges matematikai fogalmunk megvan, térjünk át az első kvantumlogikai kapunkra. Ez az operátor CNOT, vagy vezérelt Not (NOT), ami nagy jelentőséggel bír a reverzibilis és kvantum számítástechnikában. A CNOT elem két bitre vonatkozik, és két bitet ad vissza. Az első bitet „vezérlő” bitnek, a másodikat „vezérlő” bitnek nevezzük. Ha a vezérlőbit "1"-re van állítva, a vezérlőbit megváltoztatja az értékét; Ha a vezérlőbit "0"-ra van állítva, a vezérlőbit nem változik.
A kvantumszámítás alapelveinek megfejtése
Ez az operátor a következő transzformációs vektorként ábrázolható:
A kvantumszámítás alapelveinek megfejtése
Hogy bemutassuk mindazt, amit eddig tárgyaltunk, megmutatom, hogyan kell használni a CNOT elemet több biten:
A kvantumszámítás alapelveinek megfejtése
Összegezve a már elmondottakat: az első példában |10⟩-t bontunk fel tenzorszorzatának részeire, és a CNOT mátrix segítségével kapjuk meg a szorzat új, megfelelő állapotát; ezután |11⟩-ra számítjuk a korábban megadott CNOT értékek táblázata szerint.

Emlékeztünk tehát az összes matematikai szabályra, amelyek segítenek megérteni a hagyományos számítástechnikát és a közönséges biteket, és végre áttérhetünk a modern kvantumszámításra és a qubitekre.

Ha idáig olvastál, akkor van egy jó hírem számodra: a qubitek matematikailag könnyen kifejezhetők. Általában, ha egy klasszikus bit (cbit) |1⟩ vagy |0⟩ értékre állítható, a qubit egyszerűen szuperpozícióban van, és lehet |0⟩ és |1⟩ is a mérés előtt. A mérés után |0⟩-ra vagy |1⟩-ra esik össze. Más szavakkal, a qubit a |0⟩ és |1⟩ lineáris kombinációjaként ábrázolható az alábbi képlet szerint:
A kvantumszámítás alapelveinek megfejtése
ahol a₀ и a₁ a |0⟩ és |1⟩ amplitúdókat jelentik. Ezeket "kvantumvalószínűségeknek" tekinthetjük, amelyek annak valószínűségét jelentik, hogy egy qubit a mérés után valamelyik állapotba összeomlik, mivel a kvantummechanikában egy szuperpozícióban lévő objektum a rögzítés után összeesik valamelyik állapotba. Bővítsük ki ezt a kifejezést, és kapjuk a következőket:
A kvantumszámítás alapelveinek megfejtése
A magyarázat egyszerűsítése érdekében ebben a cikkben ezt az ábrázolást fogom használni.

Ennél a qubitnél az összeomlás esélye az értékre a₀ mérés után egyenlő |a₀|², és az összeomlás esélye az értékre a₁ egyenlő |a₁|². Például a következő qubithez:
A kvantumszámítás alapelveinek megfejtése
az „1”-be való összeomlás esélye egyenlő |1/ √2|² vagy ½, azaz 50/50.

Mivel a klasszikus rendszerben minden valószínűségnek össze kell adnia egyet (a teljes valószínűségi eloszláshoz), arra a következtetésre juthatunk, hogy a |0⟩ és |1⟩ amplitúdók abszolút értékeinek négyzetének össze kell adnia egyet. Ezen információk alapján a következő egyenletet állíthatjuk fel:
A kvantumszámítás alapelveinek megfejtése
Ha ismeri a trigonometriát, észre fogja venni, hogy ez az egyenlet megfelel a Pitagorasz-tételnek (a²+b²=c²), vagyis grafikusan ábrázolhatjuk a qubit lehetséges állapotait az egységkör pontjaiként, nevezetesen:
A kvantumszámítás alapelveinek megfejtése
A logikai operátorokat és elemeket a qubitekre ugyanúgy alkalmazzuk, mint a klasszikus biteknél - mátrix transzformáció alapján. Az összes invertálható mátrix operátor, amelyet eddig felidéztünk, különösen a CNOT, használható qubitekkel való munkavégzésre. Az ilyen mátrix operátorok lehetővé teszik a qubit mindegyik amplitúdójának használatát anélkül, hogy megmérnénk és összecsuknánk. Hadd mondjak egy példát a negációs operátor használatára egy qubiten:
A kvantumszámítás alapelveinek megfejtése
Mielőtt folytatnánk, hadd emlékeztesselek arra, hogy az amplitúdóértékek a₀ és a₁ valójában komplex számok, így a qubit állapota a legpontosabban leképezhető egy háromdimenziós egységgömbre, más néven Bolha gömb:
A kvantumszámítás alapelveinek megfejtése
A magyarázat egyszerűsítése végett azonban itt a valós számokra szorítkozunk.

Úgy tűnik, ideje megvitatni néhány logikai elemet, amelyeknek csak a kvantumszámítással összefüggésben van értelme.

Az egyik legfontosabb operátor a "Hadamard elem": egy kicsit "0" vagy "1" állapotban van, és a megfelelő szuperpozícióba helyezi, 50%-os eséllyel "1" vagy "0"-ba omlik. mérés után. 
A kvantumszámítás alapelveinek megfejtése
Figyeljük meg, hogy a Hadamard operátor jobb alsó sarkában egy negatív szám található. Ennek oka az a tény, hogy az operátor alkalmazásának eredménye a bemeneti jel értékétől függ: - |1⟩ vagy |0⟩, ezért a számítás megfordítható.

A Hadamard elem másik fontos pontja az invertibilitása, ami azt jelenti, hogy a megfelelő szuperpozícióban egy qubitet vehet fel, és átalakíthatja |0⟩-ra vagy |1⟩-ra.
A kvantumszámítás alapelveinek megfejtése
Ez nagyon fontos, mert lehetővé teszi számunkra, hogy kvantumállapotból transzformálódjunk anélkül, hogy meghatároznánk a qubit állapotát - és ennek megfelelően anélkül, hogy összecsuknánk. Így a kvantumszámítást inkább determinisztikus, mint valószínűségi elv alapján strukturálhatjuk.

A csak valós számokat tartalmazó kvantumoperátorok a maguk ellentétei, így az operátor qubitre történő alkalmazásának eredményét az egységkörön belüli transzformációként ábrázolhatjuk állapotgép formájában:
A kvantumszámítás alapelveinek megfejtése
Így a qubit, amelynek állapota a fenti diagramon látható, a Hadamard-művelet alkalmazása után átalakul a megfelelő nyíllal jelzett állapotba. Hasonlóképpen szerkeszthetünk egy másik állapotgépet, amely szemlélteti egy qubit transzformációját a fenti negációs operátor segítségével (más néven Pauli negációs operátor vagy bitinverzió), az alábbiak szerint:
A kvantumszámítás alapelveinek megfejtése
Ahhoz, hogy bonyolultabb műveleteket hajtsunk végre a qubitünkön, több operátort láncolhatunk, vagy többször alkalmazhatunk elemeket. Példa a soros transzformációra az alapján kvantumköri ábrázolások a következő:
A kvantumszámítás alapelveinek megfejtése
Azaz, ha |0⟩ bittel kezdjük, alkalmazunk egy bitinverziót, majd egy Hadamard-műveletet, majd egy újabb bitinverziót, és ismét egy Hadamard-műveletet, majd egy utolsó bitinverziót, akkor a következővel megadott vektort kapjuk. a lánc jobb oldala. Különböző állapotgépek egymásra rétegzésével |0⟩-tól kezdve nyomon követhetjük az egyes transzformációknak megfelelő színes nyilakat, hogy megértsük, hogyan működik mindez.
A kvantumszámítás alapelveinek megfejtése
Mivel idáig eljutottunk, ideje átgondolnunk a kvantumalgoritmusok egyik típusát, nevezetesen - Deutsch-Jozsa algoritmus, és megmutatja előnyét a klasszikus számítógéppel szemben. Érdemes megjegyezni, hogy a Deutsch-Jozsa algoritmus teljesen determinisztikus, azaz 100%-ban a helyes választ adja vissza (ellentétben sok más, a qubitek valószínűségi definícióján alapuló kvantum algoritmussal).

Képzeljük el, hogy van egy fekete dobozunk, amely egy biten tartalmaz egy függvényt/operátort (ne feledje – egy bittel csak négy művelet hajtható végre: azonosságkonverzió, negáció, a „0” konstans kiértékelése és az „1” konstans kiértékelése "). Pontosan mi a funkciója a dobozban? Nem tudja, melyik, de a bemeneti értékek tetszőleges számú változatát végignézheti, és kiértékelheti a kimeneti eredményeket.

A kvantumszámítás alapelveinek megfejtése
Hány bemenetet és kimenetet kell átfutnia a fekete dobozon, hogy kitalálja, melyik funkciót használja? Gondolkozz ezen egy pillanatra.

Egy klasszikus számítógép esetén 2 lekérdezést kell végrehajtania a használandó függvény meghatározásához. Például, ha az "1" bemenet "0" kimenetet produkál, világossá válik, hogy vagy a "0" konstans kiszámításának függvénye vagy a negációs függvény kerül felhasználásra, ami után meg kell változtatni a bemeneti jel értékét. a "0"-ra, és nézze meg, mi történik a kijáratnál.

Kvantumszámítógép esetén két lekérdezés is szükséges, mivel továbbra is két különböző kimeneti értékre van szükség a bemeneti értékre alkalmazandó függvény pontos meghatározásához. Ha azonban egy kicsit újrafogalmazzuk a kérdést, akkor kiderül, hogy a kvantumszámítógépeknek még mindig van egy komoly előnyük: ha tudni akarnánk, hogy a használt függvény állandó vagy változó, akkor a kvantumszámítógépek előnyben részesülnének.

A dobozban használt függvény akkor változtatható, ha a bemeneti jel különböző értékei eltérő eredményeket produkálnak a kimeneten (például identitáskonverzió és bitinverzió), és ha a kimeneti érték a bemeneti értéktől függetlenül nem változik, akkor a függvény állandó (például egy "1" állandó kiszámítása vagy a "0" állandó kiszámítása).

Kvantumalgoritmus segítségével egyetlen lekérdezés alapján meghatározhatja, hogy a fekete dobozban lévő függvény állandó vagy változó. Mielőtt azonban megvizsgálnánk, hogyan kell ezt részletesen megtenni, meg kell találnunk a módját, hogyan strukturáljuk ezeket a funkciókat egy kvantumszámítógépen. Mivel minden kvantumoperátornak invertálhatónak kell lennie, azonnal szembe kell néznünk egy problémával: az „1” és „0” konstansok kiszámítására szolgáló függvények nem azok.

A kvantumszámításban használt általános megoldás egy extra kimeneti qubit hozzáadása, amely a függvény által kapott bemeneti értéket adja vissza. 

Előtt: Utána:
A kvantumszámítás alapelveinek megfejtése A kvantumszámítás alapelveinek megfejtése

Így a bemeneti értékeket kizárólag a kimeneti érték alapján tudjuk meghatározni, és a függvény invertálhatóvá válik. A kvantumáramkörök szerkezete megköveteli egy további bemeneti bit szükségességét. A megfelelő operátorok fejlesztése érdekében feltételezzük, hogy a további bemeneti qubit értéke |0⟩.

Ugyanazt a kvantumáramkör-ábrázolást használva, amelyet korábban használtunk, nézzük meg, hogy a négy elem mindegyike (identitástranszformáció, negáció, a „0” konstans kiértékelése és az „1” konstans kiértékelése) hogyan valósítható meg kvantumoperátorok segítségével. 

Például így valósíthatja meg a „0” konstans kiszámítására szolgáló függvényt:

A "0" állandó kiszámítása:
A kvantumszámítás alapelveinek megfejtése
Itt egyáltalán nincs szükségünk operátorokra. Az első bemeneti qubit (amelyet |0⟩-nak feltételeztünk) ugyanazzal az értékkel tér vissza, a második bemeneti érték pedig önmagát adja vissza - a szokásos módon.

Az „1” konstans kiszámítására szolgáló funkcióval a helyzet egy kicsit más:

A "1" állandó kiszámítása:
A kvantumszámítás alapelveinek megfejtése
Mivel azt feltételeztük, hogy az első bemeneti qubit mindig |0⟩-ra van állítva, a bitinverziós operátor alkalmazásának eredménye az lesz, hogy a kimeneten mindig egyet állít elő. És mint általában, a második qubit megadja a saját értékét a kimeneten.

Az identitástranszformációs operátor leképezésekor a feladat kezd bonyolultabbá válni. Íme, hogyan kell csinálni:

Azonos átalakítás:
A kvantumszámítás alapelveinek megfejtése
Az itt használt szimbólum a CNOT elemet jelöli: a felső sor a vezérlőbitet, az alsó pedig a vezérlőbitet jelöli. Hadd emlékeztessem Önöket arra, hogy a CNOT operátor használatakor a vezérlőbit értéke megváltozik, ha a vezérlőbit egyenlő |1⟩, de változatlan marad, ha a vezérlőbit egyenlő |0⟩. Mivel azt feltételeztük, hogy a felső sor értéke mindig |0⟩, ezért az értéke mindig az alsó sorhoz van rendelve.

Hasonló módon járunk el a tagadó operátorral:

Tagadás:
A kvantumszámítás alapelveinek megfejtése
Egyszerűen megfordítjuk a bitet a kimeneti sor végén.

Most, hogy ezt az előzetes megértést félreértjük, nézzük meg a kvantumszámítógép sajátos előnyeit a hagyományos számítógépekkel szemben, amikor egyetlen lekérdezéssel meg kell határozni egy fekete dobozba rejtett függvény állandóságát vagy változékonyságát.

A probléma egyetlen kérésben történő kvantumszámítással történő megoldásához a bemeneti qubiteket szuperpozícióba kell helyezni, mielőtt átadnánk őket a függvénynek, az alábbiak szerint:
A kvantumszámítás alapelveinek megfejtése
A Hadamard elemet újra alkalmazzuk a függvény eredményére, hogy a qubiteket kitörjük a szuperpozícióból, és az algoritmust determinisztikussá tegyük. A rendszert |00⟩ állapotban indítjuk, és a rövidesen elmagyarázott okok miatt a |11⟩ eredményt kapjuk, ha az alkalmazott függvény állandó. Ha a fekete dobozon belüli függvény változó, akkor mérés után a rendszer a |01⟩ eredményt adja vissza.

A cikk többi részének megértéséhez nézzük meg a korábban bemutatott illusztrációt:
A kvantumszámítás alapelveinek megfejtése
Ha a bitinverziós operátort használjuk, majd a Hadamard elemet alkalmazzuk mindkét |0⟩ bemeneti értékre, biztosítjuk, hogy a |0⟩ és |1⟩ azonos szuperpozícióba kerüljenek az alábbiak szerint:
A kvantumszámítás alapelveinek megfejtése
Ennek az értéknek a feketedoboz-függvénynek való átadásának példájával könnyen demonstrálható, hogy mindkét állandó értékű függvény |11⟩ kimenetet eredményez.

A "0" állandó kiszámítása:
A kvantumszámítás alapelveinek megfejtése
Hasonlóképpen azt látjuk, hogy az „1” konstans kiszámítására szolgáló függvény is |11⟩-t állít elő kimenetként, azaz:

A "1" állandó kiszámítása:
A kvantumszámítás alapelveinek megfejtése
Vegye figyelembe, hogy a kimenet |1⟩ lesz, mivel -1² = 1.

Ugyanezen elv alapján bebizonyíthatjuk, hogy mindkét változófüggvény használatakor mindig |01⟩-t kapunk a kimeneten (feltéve, hogy ugyanazt a módszert használjuk), bár minden kicsit bonyolultabb.

Azonos átalakítás:
A kvantumszámítás alapelveinek megfejtése
Mivel a CNOT egy két qubit operátor, nem ábrázolható egyszerű állapotgépként, ezért két kimeneti jelet kell definiálni mindkét bemeneti qubit tenzorszorzata és a CNOT mátrixszal való szorzása alapján a korábban leírtak szerint:
A kvantumszámítás alapelveinek megfejtése
Ezzel a módszerrel azt is megerősíthetjük, hogy a |01⟩ kimeneti érték érkezik, ha a negációs függvény el van rejtve a fekete dobozban:

Tagadás:
A kvantumszámítás alapelveinek megfejtése
Így most bemutattunk egy olyan helyzetet, amelyben a kvantumszámítógép egyértelműen hatékonyabb, mint egy hagyományos számítógép.

Mi a következő lépés?

Azt javaslom, hogy itt fejezzük be. Máris nagyszerű munkát végeztünk. Ha mindent megértett, amit leírtam, akkor azt hiszem, most már jól ismeri a kvantumszámítás és a kvantumlogika alapjait, és azt, hogy bizonyos helyzetekben miért lehetnek a kvantumalgoritmusok hatékonyabbak, mint a hagyományos számítástechnika.

Leírásomat aligha nevezhetjük teljes értékű kvantumszámítási és algoritmus-kalauznak – inkább egy rövid bevezető a matematikába és a jelölésbe, aminek célja, hogy eloszlassa az olvasók témával kapcsolatos elképzeléseit a népszerű tudományos források által kikényszerített (komolyan, sokan tényleg nem értik) a helyzet!). Sok fontos témát nem volt időm érinteni, mint pl qubitek kvantumösszefonódása, az amplitúdóértékek|0⟩ és |1⟩ összetettsége, valamint a különböző kvantumlogikai elemek működése a Bloch-gömb transzformációja során.

Ha rendszerezni és strukturálni szeretné a kvantumszámítógépekkel kapcsolatos ismereteit, erősen Azt javaslom, olvassa el "Bevezetés a kvantum algoritmusokba" Emma Strubel: A rengeteg matematikai képlet ellenére ez a könyv sokkal részletesebben tárgyalja a kvantumalgoritmusokat.

Forrás: will.com

Hozzászólás