Karakterizaĵoj de kvantumkomputiloj

La potenco de kvantuma komputilo estas mezurita en kvbitoj, la baza mezurunuo en kvantuma komputilo. Fonto.

Mi vizaĝpalmo ĉiufoje kiam mi legas tian frazon. Ĉi tio ne kondukis al io bono, mia vizio ekvelkis; Mi devos baldaŭ turni min al Meklon.

Mi pensas, ke estas tempo iom sistemigi la bazajn parametrojn de kvantuma komputilo. Estas pluraj el ili:

  1. Nombro de kvbitoj
  2. Tempo de tenado de kohereco (tempo de malkohereco)
  3. Eraro-indico
  4. Arkitekturo de procesoro
  5. Prezo, havebleco, bontenaj kondiĉoj, amortizotempo, programaj iloj ktp.

Nombro de kvbitoj

Ĉio estas evidenta ĉi tie, ju pli, des pli bone. Fakte, vi devas pagi por kvbitoj, kaj ideale vi devas aĉeti ekzakte tiom da kvbitoj kiom necesas por plenumi la taskon. Por programisto de ekskluzivaj ludmaŝinoj, sufiĉas unu kbito per maŝino (por generi hazardon). Por "bruta forto" RSA-2048 - almenaŭ 2048 kvbitoj.

La plej diskonigitaj kvantumalgoritmoj estas nomitaj laŭ Grover kaj Shor. Grover permesas vin "haki" hashojn. Por kraŝi Bitcoin, vi bezonas komputilojn kun almenaŭ 256 kvbitoj surŝipe (vi povas ludi kun la komplekseco de Bitcoin, sed ni restu kun ĉi tiu ronda nombro). Shor permesas al vi faktorigi nombrojn. Por faktorigi kelkajn longajn n binarajn ciferojn, vi bezonas almenaŭ n kvojn.

Nuna maksimumo: 50 kvbitoj (jam 72?). Kaj fakte, 50 kvbitoj estas la limo. La limo de kvantuma komputila simulado. En teorio, ni povas simuli ajnan nombron da kvbitoj sur klasikaj komputiloj. En praktiko, aldoni unu kviton al simulado postulas duobligi la klasikajn komputilojn. Aldonu al ĉi tio la onidirojn pri kvbitoj duobliĝantaj ĉiujare, kaj faru al vi la demandon: kiel sencimigi algoritmojn por 25651210242048 kvbitoj? Ne ekzistas simulilo; vi ne povas agordi rompopunkton sur kvantuma procesoro.

Tempo de tenado de kohereco (tempo de malkohereco)

Kohereco kaj kohereco ne estas la sama afero. Mi ŝatas kompari koherecon kun regenerado de labormemoro. Estas miliardoj da ĉeloj sur la RAM-strio, ĉiu kun ŝargo, nulo aŭ unu. Ĉi tiu pagendaĵo havas tre interesan posedaĵon - ĝi dreniĝas. La komence "unua" ĉelo fariĝas la 0.99 ĉelo, poste la 0.98 ĉelo, ktp. Sekve, 0.01, 0.02, 0.03 estas akumulitaj ĉe nulo... Ĉi tiu ŝargo devas esti renovigita, "regenerita". Io ajn malpli ol duono estas rekomencigita al nulo, ĉio alia estas puŝita al unu.

Kvantumprocesoroj ne povas esti regeneritaj. Sekve, ekzistas unu ciklo por ĉiuj kalkuloj, ĝis la unua "likita" kbito. La tempo antaŭ la unua "guteto" estas nomita malkohera tempo. Kohereco estas stato kiam la kvoj ankoraŭ ne "likis". estas Vi povas rigardi iom pli plenkreskajn klarigojn.

Malkohereco rilatas al la nombro da kvbitoj: ju pli da kvbitoj, des pli malfacilas konservi koherecon. Aliflanke, se vi havas grandan nombron da kvbitoj, vi povas uzi kelkajn el ili por korekti erarojn asociitajn kun malkohereco. De ĉi tie elfluaske la nombro da kvbitoj en si mem nenion solvas. Vi povas duobligi la nombron da kvbitoj kaj elspezi 90% el ili riparante malkoherecon.

Jen kie la koncepto de logika kbito venas en ludon. Malglate parolante, se vi havas procesoron kun 100 kvbitoj, sed 40 el ili celas ripari malkoherecon, vi restas kun 60 logikaj kvbitoj. Tiuj, sur kiuj vi plenumas vian algoritmon. La koncepto de logikaj kvutoj nun estas sufiĉe teoria; mi persone ne aŭdis pri praktikaj efektivigoj.

Eraroj kaj ilia korekto

Alia plago de kvantumaj procesoroj. Se vi inversigas qubit, estas 2% ŝanco ke la operacio malsukcesos. Se vi implikas 2 kvbitojn, la eraroprocento estas ĝis 8%. Prenu 256-bitan nombron, haŝu ĝin al SHA-256, kalkulu la nombron da operacioj, kalkulu la probablecon plenumi ĈIUJN ĉi tiujn operaciojn sen eraro.

Matematikistoj provizas solvon: erarkorektado. Estas algoritmoj. Efektivigo de unu implikaĵo de 2 logikaj kvbitoj postulas 100.000 fizikajn kvbitojn. Ne daŭros longe antaŭ ol venos la fino.

Arkitekturo de procesoro

Strikte parolante, ne ekzistas kvantumkomputiloj. Estas nur kvantumaj procesoroj. Kial vi bezonas RAM kiam la tempo por labori estas limigita al milisekundoj? Mi programas en Q#, sed ĝi estas altnivela lingvo. Asignu vin 15 kvbitojn, kaj faru kion vi volas per ili. Li volis, implikis la unuan qubit kun la deka. Dezirita - konfuzis la unuaj ses.

Sur vera procesoro ne ekzistas tia libereco. Mi petis impliki la unuan qubit kun 15 - la kompililo generos 26 pliajn operaciojn. Se vi estas bonŝanca. Se vi estas malbonŝanca, ĝi generos cent. La fakto estas, ke qubito povas nur implikiĝi kun siaj najbaroj. Mi ne vidis pli ol 6 najbarojn po kbito. Principe ekzistas kompililoj, kiuj optimumigas kvantumajn programojn, sed ili ankoraŭ estas sufiĉe teoriaj.

Ĉiu procesoro havas malsaman aron de instrukcioj, kaj la ligoj inter kvbitoj estas malsamaj. En ideala mondo, ni havas arbitran Rx, Ry, Rz, kaj iliajn kombinaĵojn, plus liberan implikiĝon bazitan sur dekduo da funkcioj, plus Interŝanĝo: rigardu la funkciigistojn en Idiosinkrazio. En realeco, ni havas plurajn parojn de kvbitoj, kaj implikiĝo de CNOT (q[0], q[1]) kostas unu operacion, kaj CNOT(q[1], q[0]) prenas 7. Kaj kohereco fandiĝas.. .

Prezo, havebleco, vivkondiĉoj, amortizotempo, programaj iloj...

La prezoj ne estas reklamitaj, la havebleco por la averaĝa civitano estas proksima al nulo, la tempo de depreciación ne estis kalkulita en la praktiko, la iloj de programado estas nur en sia infanaĝo. Dokumentado ĉe arxiv.org.

Do kiajn informojn vi postulas de spertuloj kiam vi eldonas novan kvantuman komputilon?

Krom la supra listo, mi ŝatas la eblojn de PerlPower и Ŝanĝu 2:

Se nur ĉiu artikolo pri nova kvantuma komputilo komenciĝus kun du karakterizaĵoj - kvanto samtempa implikitaj kvbitoj, kaj kvbita retentempo.

Aŭ eĉ pli bone - de la tempo necesa por ruli simplan komparnormon, ekzemple, trovi primajn faktorojn de la nombro 91.

fonto: www.habr.com

Aldoni komenton