Demystifying prinsip komputasi kuantum

Demystifying prinsip komputasi kuantum
"Aku rumangsa bisa ujar manawa ora ana sing ngerti mekanika kuantum." - Richard Feynman

Topik komputasi kuantum tansah narik kawigaten para panulis lan wartawan teknologi. Potensi komputasi lan kerumitan kasebut menehi aura mistis tartamtu. Kakehan, artikel fitur lan infographics njlèntrèhaké kanthi rinci babagan macem-macem prospek industri iki, nanging meh ora ndemek aplikasi praktis: iki bisa nyasarake pembaca sing kurang perhatian.

Artikel ilmiah populer ngilangi deskripsi sistem kuantum lan nggawe pernyataan kaya:

Bit biasa bisa dadi 1 utawa 0, nanging qubit bisa dadi 1 lan 0 bebarengan.

Yen sampeyan banget begja (sing aku ora yakin), sampeyan bakal diwenehi:

Qubit ana ing superposisi antarane "1" lan "0".

Ora ana panjelasan kasebut sing bisa dipercaya, amarga kita nyoba ngrumusake fenomena mekanik kuantum nggunakake basa sing dikembangake ing jagad tradisional. Kanggo nerangake kanthi jelas prinsip komputasi kuantum, perlu nggunakake basa liya - matématika. 

Ing tutorial iki, aku bakal nyakup alat matematika sing dibutuhake kanggo model lan ngerti sistem komputasi kuantum, uga cara nggambarake lan ngetrapake logika komputasi kuantum. Menapa malih, aku bakal menehi conto algoritma kuantum lan pitutur marang kowe apa kauntungan saka komputer tradisional.

Aku bakal nindakake sing paling apik kanggo njlentrehake kabeh iki kanthi basa sing jelas, nanging aku isih ngarep-arep supaya para pamaca artikel iki duwe pangerten dhasar babagan aljabar linier lan logika digital (aljabar linier ditutupi kene, babagan logika digital - kene). 

Pisanan, ayo ngrembug prinsip logika digital. Iki adhedhasar panggunaan sirkuit listrik kanggo nindakake petungan. Kanggo nggawe katrangan luwih abstrak, ayo nyederhanakake kahanan kabel listrik dadi "1" utawa "0", sing cocog karo negara "on" utawa "mati". Kanthi ngatur transistor ing urutan tartamtu, kita bakal nggawe unsur logika sing njupuk siji utawa luwih nilai sinyal input lan ngowahi dadi sinyal output adhedhasar aturan logika Boolean tartamtu.

Demystifying prinsip komputasi kuantum

Gerbang logika umum lan tabel negara

Adhedhasar rantai unsur dhasar kasebut, unsur sing luwih rumit bisa digawe, lan adhedhasar rantai unsur sing luwih rumit, kita bisa pungkasane, kanthi abstraksi sing akeh, ngarepake entuk analog saka prosesor tengah.

Kaya sing wis dakcritakake sadurunge, kita butuh cara kanggo makili logika digital kanthi matematis. Pisanan, ayo ngenalake logika tradisional matematika. Nggunakake aljabar linier, bit klasik kanthi nilai "1" lan "0" bisa diwakili minangka rong vektor kolom:
Demystifying prinsip komputasi kuantum
endi angka ing sisih kiwa Notasi Dirac vektor. Kanthi makili bit kita kanthi cara iki, kita bisa nggawe model operasi logis ing bit nggunakake transformasi vektor. Wigati dicathet: sanajan nggunakake rong bit ing gerbang logika bisa nindakake akeh operasi (AND, NOT, XOR, lan sapiturute), nalika nggunakake siji bit, mung papat operasi sing bisa ditindakake: konversi identitas, negasi, pitungan konstanta "0" lan pitungan saka konstanta "1". Kanthi konversi identitas, bit tetep ora owah, kanthi negasi, nilai bit diganti ngelawan (saka "0" dadi "1" utawa saka "1" dadi "0"), lan pitungan konstanta "1" utawa "0" nyetel bit kanggo "1" utawa "0" preduli saka Nilai sadurungé.
Demystifying prinsip komputasi kuantum

Identity Transformasi identitas
ing Negation Negasi
Konstanta-0 Pitungan saka konstanta "0"
Konstanta-1 Pitungan saka konstanta "1"

Adhedhasar perwakilan anyar sing diusulake, cukup gampang kanggo nindakake operasi ing bit sing cocog nggunakake transformasi vektor:

Demystifying prinsip komputasi kuantum

Sadurunge pindhah luwih, ayo kang katon ing konsep petungan bisa dibalèkaké, sing mung nuduhake manawa kanggo njamin keterbalikan saka operasi utawa unsur logika, perlu kanggo nemtokake dhaptar nilai sinyal input adhedhasar sinyal output lan jeneng operasi sing digunakake. Mangkono, kita bisa nyimpulake yen transformasi identitas lan negasi bisa dibalik, nanging operasi kanggo ngitung konstanta "1" lan "0" ora. Matur nuwun kanggo kesatuan mekanika kuantum, komputer kuantum nggunakake operasi sing bisa dibalikake sacara eksklusif, mula kita bakal fokus. Sabanjure, kita ngowahi unsur sing ora bisa dibatalake dadi unsur sing bisa dibalik supaya bisa digunakake dening komputer kuantum.

Kanthi bantuan saka produk tensor bit individu bisa diwakili dening akeh bit:
Demystifying prinsip komputasi kuantum
Saiki kita duwe meh kabeh konsep matematika sing dibutuhake, ayo pindhah menyang gerbang logika kuantum pisanan. Iki operator CNOT, utawa Ora dikontrol (NOT), sing penting banget ing komputasi sing bisa dibalik lan kuantum. Unsur CNOT ditrapake kanggo rong bit lan ngasilake rong bit. Bit pisanan ditetepake minangka "kontrol" bit, lan kaloro minangka "kontrol" bit. Yen bit kontrol disetel menyang "1", bit kontrol ngganti regane; Yen bit kontrol disetel menyang "0", bit kontrol ora diganti.
Demystifying prinsip komputasi kuantum
Operator iki bisa diwakili minangka vektor transformasi ing ngisor iki:
Demystifying prinsip komputasi kuantum
Kanggo nduduhake kabeh sing wis dibahas, aku bakal nuduhake sampeyan carane nggunakake unsur CNOT ing pirang-pirang bit:
Demystifying prinsip komputasi kuantum
Kanggo ngringkes apa sing wis diomongake: ing conto pisanan, kita ngurai |10⟩ dadi bagean saka produk tensor lan nggunakake matriks CNOT kanggo entuk status produk sing cocog; banjur faktor dadi |11⟩ miturut tabel nilai CNOT sing diwenehake sadurunge.

Dadi, kita wis ngelingi kabeh aturan matematika sing bakal mbantu kita ngerti komputasi tradisional lan bit biasa, lan pungkasane bisa pindhah menyang komputasi kuantum lan qubit modern.

Yen sampeyan wis maca nganti saiki, aku duwe kabar apik kanggo sampeyan: qubits bisa gampang ditulis kanthi matematis. Umumé, yen bit klasik (cbit) bisa disetel dadi |1⟩ utawa |0⟩, qubit mung ana ing superposisi lan bisa dadi loro |0⟩ lan |1⟩ sadurunge pangukuran. Sawise pangukuran, ambruk dadi |0⟩ utawa |1⟩. Ing tembung liya, qubit bisa diwakili minangka kombinasi linear saka |0⟩ lan |1⟩ miturut rumus ing ngisor iki:
Demystifying prinsip komputasi kuantum
ngendi a₀ и a₁ makili amplitudo |0⟩ lan |1⟩. Iki bisa dianggep minangka "probabilitas kuantum", sing nggambarake kemungkinan qubit ambruk menyang salah sawijining negara sawise diukur, amarga ing mekanika kuantum obyek ing superposisi ambruk menyang salah sawijining negara sawise didandani. Ayo nggedhekake ekspresi iki lan entuk ing ngisor iki:
Demystifying prinsip komputasi kuantum
Kanggo nyederhanakake panjelasan, iki minangka perwakilan sing bakal digunakake ing artikel iki.

Kanggo qubit iki, kasempatan ambruk menyang Nilai a₀ sawuse ukuran padha |a₀|², lan kemungkinan ambruk menyang nilai a₁ padha karo |a₁|². Contone, kanggo qubit ing ngisor iki:
Demystifying prinsip komputasi kuantum
kemungkinan ambruk dadi "1" padha karo |1/ √2|², utawa ½, yaiku 50/50.

Wiwit ing sistem klasik kabeh probabilitas kudu ditambahake nganti siji (kanggo distribusi probabilitas lengkap), kita bisa nyimpulake yen kuadrat saka nilai absolut saka amplitudo |0⟩ lan |1⟩ kudu ditambah nganti siji. Adhedhasar informasi kasebut, kita bisa ngrumusake persamaan ing ngisor iki:
Demystifying prinsip komputasi kuantum
Yen sampeyan ngerti trigonometri, sampeyan bakal weruh yen persamaan iki cocog karo teorema Pythagoras (a²+b²=c²), yaiku, kanthi grafis bisa makili kahanan qubit minangka titik ing bunder unit, yaiku:
Demystifying prinsip komputasi kuantum
Operator logis lan unsur ditrapake kanggo qubit kanthi cara sing padha kaya ing kahanan karo bit klasik - adhedhasar transformasi matriks. Kabeh operator matriks invertible sing wis dielingi nganti saiki, utamane CNOT, bisa digunakake kanggo nggarap qubit. Operator matriks kasebut ngidini sampeyan nggunakake saben amplitudo qubit tanpa ngukur lan ambruk. Ayo kula menehi conto nggunakake operator negasi ing qubit:
Demystifying prinsip komputasi kuantum
Sadurunge nerusake, aku ngelingake yen nilai amplitudo a₀ lan a₁ iku sejatine bilangan kompleks, supaya negara qubit bisa paling akurat dipetakan menyang bola unit telung dimensi, uga dikenal minangka Bola kutu:
Demystifying prinsip komputasi kuantum
Nanging, kanggo nyederhanakake panjelasan, kita bakal mbatesi awake dhewe ing kene kanggo nomer nyata.

Iku misale jek wektu kanggo ngrembug sawetara unsur logika sing mung ana ing konteks komputasi kuantum.

Salah siji operator paling penting yaiku "elemen Hadamard": njupuk dicokot ing "0" utawa "1" negara lan sijine ing superposition cocok karo 50% kasempatan ambruk menyang "1" utawa "0" sawise pangukuran. 
Demystifying prinsip komputasi kuantum
Elinga yen ana nomer negatif ing sisih tengen ngisor operator Hadamard. Iki amarga kasunyatan manawa asil nglamar operator gumantung saka nilai sinyal input: - |1⟩ utawa |0⟩, lan mulane pitungan bisa dibalik.

Titik penting liyane babagan unsur Hadamard yaiku invertibility, tegese bisa njupuk qubit ing superposisi sing cocog lan ngowahi dadi |0⟩ utawa |1⟩.
Demystifying prinsip komputasi kuantum
Iki penting banget amarga menehi kita kemampuan kanggo ngowahi saka negara kuantum tanpa nemtokake negara qubit - lan, kanthi mangkono, tanpa ambruk. Dadi, kita bisa nyusun komputasi kuantum adhedhasar prinsip deterministik tinimbang prinsip probabilistik.

Operator kuantum sing mung ngemot nomer nyata yaiku kebalikane, mula kita bisa makili asil saka aplikasi operator menyang qubit minangka transformasi ing bunder unit ing wangun mesin negara:
Demystifying prinsip komputasi kuantum
Mangkono, qubit, negara sing ditampilake ing diagram ing ndhuwur, sawise nglamar operasi Hadamard, diowahi dadi negara sing dituduhake dening panah sing cocog. Kajaba iku, kita bisa mbangun mesin negara liyane sing bakal nggambarake transformasi qubit nggunakake operator negasi kaya sing dituduhake ing ndhuwur (uga dikenal minangka operator negasi Pauli, utawa inversi bit), kaya ing ngisor iki:
Demystifying prinsip komputasi kuantum
Kanggo nindakake operasi sing luwih rumit ing qubit kita, kita bisa chain sawetara operator utawa aplikasi unsur kaping pirang-pirang. Conto transformasi serial adhedhasar representasi sirkuit kuantum katon kaya iki:
Demystifying prinsip komputasi kuantum
Yaiku, yen kita miwiti kanthi bit |0⟩, aplikasi inversi bit, banjur operasi Hadamard, banjur inversi bit liyane, lan maneh operasi Hadamard, banjur inversi bit pungkasan, kita bakal entuk vektor sing diwenehake dening on sisih tengen rante. Kanthi nglapisi mesin negara sing beda ing ndhuwur saben liyane, kita bisa miwiti ing |0⟩ lan nglacak panah warna sing cocog karo saben transformasi kanggo ngerti cara kerjane.
Demystifying prinsip komputasi kuantum
Amarga kita wis tekan saiki, wektune kanggo nimbang salah sawijining jinis algoritma kuantum, yaiku - Algoritma Deutsch-Jozsa, lan nuduhake kauntungan saka komputer klasik. Wigati dicathet yen algoritma Deutsch-Jozsa pancen deterministik, yaiku, ngasilake jawaban sing bener 100% wektu (ora kaya algoritma kuantum liyane adhedhasar definisi probabilistik qubit).

Ayo mbayangno yen sampeyan duwe kothak ireng sing ngemot fungsi / operator ing siji bit (eling - kanthi siji, mung papat operasi sing bisa ditindakake: konversi identitas, negasi, evaluasi konstanta "0" lan evaluasi konstanta "1 "). Apa persis fungsi sing ditindakake ing kothak kasebut? Sampeyan ora ngerti sing endi, nanging sampeyan bisa ngliwati macem-macem variasi nilai input sing disenengi lan ngevaluasi asil output.

Demystifying prinsip komputasi kuantum
Carane akeh input lan output sampeyan kudu mbukak liwat kothak ireng kanggo tokoh metu kang fungsi digunakake? Coba pikirake sedhela.

Ing kasus komputer klasik, sampeyan kudu nggawe 2 pitakon kanggo nemtokake fungsi sing bakal digunakake. Contone, yen input "1" ngasilake output "0", dadi cetha yen fungsi ngitung konstan "0" utawa fungsi negasi digunakake, sawise sampeyan kudu ngganti nilai sinyal input. kanggo "0" lan ndeleng apa mengkono ing metu.

Ing kasus komputer kuantum, rong pitakon uga dibutuhake, amarga sampeyan isih butuh rong nilai output sing beda kanggo nemtokake fungsi sing ditrapake kanggo nilai input. Nanging, yen sampeyan ngrumusake maneh pitakonan kasebut sethithik, ternyata komputer kuantum isih nduweni kauntungan serius: yen sampeyan pengin ngerti apa fungsi sing digunakake iku konstan utawa variabel, komputer kuantum bakal duwe kauntungan.

Fungsi sing digunakake ing kothak iku variabel yen nilai sinyal input sing beda ngasilake asil sing beda ing output (contone, konversi identitas lan inversi bit), lan yen nilai output ora owah preduli saka nilai input, banjur fungsi punika pancet (contone, ngetung pancet "1" utawa ngetung pancet "0").

Nggunakake algoritma kuantum, sampeyan bisa nemtokake manawa fungsi ing kothak ireng tetep utawa variabel adhedhasar mung siji pitakon. Nanging sadurunge kita ndeleng carane nindakake iki kanthi rinci, kita kudu nemokake cara kanggo nyusun saben fungsi kasebut ing komputer kuantum. Amarga operator kuantum kudu bisa dibalik, kita langsung ngadhepi masalah: fungsi kanggo ngitung konstanta "1" lan "0" ora.

Solusi umum sing digunakake ing komputasi kuantum yaiku nambahake qubit output ekstra sing ngasilake nilai input apa wae sing ditampa dening fungsi kasebut. 

Sadurunge: Sawise:
Demystifying prinsip komputasi kuantum Demystifying prinsip komputasi kuantum

Kanthi cara iki, kita bisa nemtokake nilai input mung adhedhasar nilai output, lan fungsi kasebut bisa dibalik. Struktur sirkuit kuantum nggawe perlu kanggo bit input tambahan. Kanggo ngembangake operator sing cocog, kita bakal nganggep yen qubit input tambahan disetel menyang |0⟩.

Nggunakake perwakilan sirkuit kuantum sing padha digunakake sadurunge, ayo kang ndeleng carane saben saka papat unsur (transformasi identitas, negasi, evaluasi saka pancet "0" lan evaluasi pancet "1") bisa dipun ginakaken nggunakake operator kuantum. 

Contone, iki carane sampeyan bisa ngetrapake fungsi kanggo ngitung konstanta "0":

Pitungan saka konstanta "0":
Demystifying prinsip komputasi kuantum
Ing kene kita ora butuh operator. Qubit input pisanan (sing dianggep | 0⟩) ​​bali kanthi nilai sing padha, lan nilai input kapindho bali dhewe - kaya biasane.

Kanthi fungsi kanggo ngitung konstanta "1", kahanan kasebut rada beda:

Pitungan saka konstanta "1":
Demystifying prinsip komputasi kuantum
Awit kita wis nganggep yen qubit input pisanan tansah disetel menyang | 0⟩, asil nglamar operator inversi bit iku tansah ngasilake siji ing output. Lan kaya biasane, qubit kapindho menehi nilai dhewe ing output.

Nalika pemetaan operator transformasi identitas, tugas wiwit dadi luwih rumit. Mangkene carane nindakake:

Transformasi sing padha:
Demystifying prinsip komputasi kuantum
Simbol sing digunakake ing kene nuduhake unsur CNOT: garis ndhuwur nuduhake bit kontrol, lan garis ngisor nuduhake bit kontrol. Aku ngelingake yen nalika nggunakake operator CNOT, nilai bit kontrol diganti yen bit kontrol padha karo |1⟩, nanging tetep ora owah yen bit kontrol padha karo |0⟩. Amarga kita nganggep yen nilai garis ndhuwur tansah padha karo | 0⟩, nilai kasebut tansah ditugasake menyang garis ngisor.

Kita nerusake kanthi cara sing padha karo operator negasi:

Negasi:
Demystifying prinsip komputasi kuantum
Kita mung ngowahi bit ing mburi baris output.

Saiki kita wis entuk pangerten awal, ayo goleki kaluwihan khusus saka komputer kuantum tinimbang komputer tradisional nalika nemtokake konsistensi utawa variasi fungsi sing didhelikake ing kothak ireng kanthi nggunakake mung siji pitakon.

Kanggo ngatasi masalah iki nggunakake komputasi kuantum ing panyuwunan siji, perlu kanggo nyelehake qubit input menyang superposisi sadurunge ngirim menyang fungsi, kaya ing ngisor iki:
Demystifying prinsip komputasi kuantum
Unsur Hadamard ditrapake maneh ing asil fungsi kanggo ngilangi qubit saka superposisi lan nggawe algoritma deterministik. Kita miwiti sistem ing negara |00⟩ lan, amarga aku bakal nerangake sakcepete, entuk asil |11⟩ yen fungsi sing ditrapake tetep. Yen fungsi ing njero kothak ireng iku variabel, banjur sawise pangukuran sistem ngasilake asil |01⟩.

Kanggo mangerteni sisa artikel, ayo deleng ilustrasi sing daktuduhake sadurunge:
Demystifying prinsip komputasi kuantum
Kanthi nggunakake operator inversi bit lan banjur ngetrapake unsur Hadamard menyang nilai input sing padha karo |0⟩, kita mesthekake yen padha diterjemahake menyang superposisi sing padha saka |0⟩ lan |1⟩, kaya ing ngisor iki:
Demystifying prinsip komputasi kuantum
Nggunakake conto ngirim nilai iki menyang fungsi kothak ireng, gampang kanggo nduduhake yen loro fungsi nilai konstan output |11⟩.

Pitungan saka konstanta "0":
Demystifying prinsip komputasi kuantum
Kajaba iku, kita weruh yen fungsi kanggo ngitung konstanta "1" uga ngasilake |11⟩ minangka output, yaiku:

Pitungan saka konstanta "1":
Demystifying prinsip komputasi kuantum
Elinga yen output bakal dadi |1⟩, amarga -1² = 1.

Kanthi prinsip sing padha, kita bisa mbuktekake manawa nggunakake loro fungsi variabel, kita bakal entuk |01⟩ ing output (yen nggunakake metode sing padha), sanajan kabeh luwih rumit.

Transformasi sing padha:
Demystifying prinsip komputasi kuantum
Wiwit CNOT minangka operator rong qubit, ora bisa diwakili minangka mesin negara sing prasaja, lan mulane perlu kanggo nemtokake rong sinyal output adhedhasar produk tensor saka loro qubit input lan multiplikasi dening matriks CNOT kaya sing diterangake sadurunge:
Demystifying prinsip komputasi kuantum
Kanthi cara iki, kita uga bisa ngonfirmasi yen nilai output |01⟩ ditampa yen fungsi negasi didhelikake ing kothak ireng:

Negasi:
Demystifying prinsip komputasi kuantum
Mangkono, kita mung nuduhake kahanan ing ngendi komputer kuantum jelas luwih efisien tinimbang komputer konvensional.

Apa sabanjure?

Aku suggest kita mungkasi kene. Kita wis nindakake pakaryan sing apik. Yen sampeyan wis ngerti kabeh sing dakkandhakake, aku mikir sampeyan saiki duwe pangerten sing apik babagan dhasar komputasi kuantum lan logika kuantum, lan kenapa algoritma kuantum bisa luwih efisien tinimbang komputasi tradisional ing kahanan tartamtu.

Katranganku meh ora bisa diarani minangka pandhuan lengkap babagan komputasi kuantum lan algoritma - luwih, introduksi singkat kanggo matématika lan notasi, sing dirancang kanggo ngilangi gagasan pembaca babagan subyek sing dileksanakake dening sumber sains populer (serius, akeh sing ora bisa. ngerti kahanan!). Aku ora duwe wektu kanggo ndemek akeh topik penting, kayata entanglement kuantum saka qubit, kerumitan nilai amplitudo |0⟩ lan |1⟩ lan fungsi saka macem-macem unsur logika kuantum sajrone transformasi dening bola Bloch.

Yen sampeyan pengin sistematis lan struktur kawruh babagan komputer kuantum, kuwat Aku nyaranake sampeyan maca "Pengenalan Algoritma Kuantum" Emma Strubel: senadyan akeh rumus matematika, buku iki mbahas algoritma kuantum kanthi luwih rinci.

Source: www.habr.com

Add a comment