Výkon kvantového počítače se měří v qubitech, základní jednotce měření v kvantovém počítači. .
Dělám facepalm po každém přečtení podobné fráze. K ničemu dobrému to nevedlo, začínám mít problémy se zrakem; brzy se budu muset obrátit na Meklon.
Myslím, že je čas několik systémově seřadit základní parametry kvantového počítače. Je jich několik:
- Počet qubitů
- Doba udržení koherence (doba dekoherence)
- Úroveň chyb
- Architektura procesoru
- Cena, dostupnost, podmínky údržby, doba amortizace, programovací nástroje atd.
Počet qubitů
Tady je to jasné, čím více, tím lépe. Ve skutečnosti je však třeba za qubity platit, a ideálně je třeba koupit přesně tolik qubitů, kolik je potřeba pro provedení úkolu. Pro vývojáře exkluzivních herních automatů stačí jeden qubit na automat (pro generaci náhody). Pro 'brute force' RSA-2048 je potřeba alespoň 2048 qubitů.
Nejvíce propagované kvantové algoritmy nesou jména Grover a Shor. Grover umožňuje 'hackovat' hash. Pro kolaps bitcoinu jsou potřeba počítače s minimálně 256 qubity na palubě (můžete si pohrát se složitostí bitcoinu, ale pojďme zůstat u této kulaté číslice). Shor umožňuje faktorizaci čísel. Pro faktorizaci čísla o délce n binárních bitů je potřeba alespoň n qubitů.
Současný maximum: 50 qubitů (). A ve skutečnosti je 50 qubitů limit. Limit simulace kvantového počítače. Teoreticky můžeme simulovat jakékoliv číslo qubitů na klasických výpočetních strojích. V praxi přidání jednoho qubitu do simulace vyžaduje zdvojnásobení klasických výpočetních strojů. Přidejte sem fámy o zdvojnásobení qubitů každý rok a položte si otázku: jak ladit algoritmy pro 25651210242048 qubitů? Není žádný simulátor, na kvantovém procesoru nelze nastavit breakpoint.
Doba udržení koherence (doba dekoherence)
Koherence a koherentnost nejsou totéž. Rád srovnávám koherentnost s regenerací operační paměti. Na modulu RAM jsou miliardy buněk, na každé visí náboj, nulový nebo jedničkový. Tento náboj má velmi zajímavou vlastnost — stéká. Původně „jedničková“ buňka se stává buňkou na 0.99, poté 0.98 a tak dále. Odpovídajícím způsobem se na nula hromadí 0.01, 0.02, 0.03… Tento náboj je potřeba aktualizovat, „regenerovat“. Všechno, co je méně než polovina, se nastavuje na nulu, vše ostatní se dosahuje na jedničku.
Kvantové procesory regenerovat nelze. V souladu s tím je na všechny výpočty pouze jeden cyklus, až do prvního „prosakujícího“ qubitu. Čas do prvního „prosnutí“ se nazývá čas dekoherece. Koherentnost je stav, kdy qubity ještě „neprosákly“. můžete se podívat na o něco dospělejší vysvětlení.
Dekoherece souvisí s počtem qubitů: čím více qubitů, tím obtížněji se udržuje koherentnost. Na druhou stranu, při velkém počtu qubitů je možné část z nich použít na opravu chyb souvisejících s dekoherecí. Odtud vyplývá, že počet qubitů sám o sobě nic neřeší. Můžete zdvojnásobit počet qubitů a 90% z nich použít na fixaci dekoherece.
Přibližně zde vzniká pojem logického qubitu. V hrubých rysech, pokud máte procesor se 100 qubity, ale 40 z nich je směrováno na fixaci dekoherece — zbývá vám 60 logických qubitů. Těch, na kterých provádíte svůj algoritmus. Koncept logických qubitů je nyní spíše teoretický, o praktických realizacích osobně nevím.
Chyby a jejich oprava
Další trýzeň kvantových procesorů. Pokud inverzujete qubit, s pravděpodobností 2% operace skončí chybou. Pokud zapletete 2 qubity, pravděpodobnost chyby dosahuje 8%. Vezměte číslo o 256 bitech, zhashejte ho na SHA-256, spočítejte počet operací, spočítejte pravděpodobnost, že všechny tyto operace provedete bez chyby.
Matematici nabízí řešení: oprava chyb. Algoritmy existují. Realizace jednoho zapletení 2 logických qubitů vyžaduje 100.000 fyzických qubitů. Bitcoinová apokalypsa nenastane brzy.
Architektura procesoru
Abych byl přesný, kvantové počítače neexistují. Existují pouze kvantové procesory. K čemu je paměť, když je čas na práci omezen na milisekundy? Programuji v Q#, což je jazyk vysoké úrovně. Vymezil jsem si 15 qubitů, a dělej si s nimi, co chceš. Chtěl jsem, tak jsem zapletl první qubit s desátým. Požádal jsem — zapletl první šest.
Na skutečném procesoru takovou svobodu není. Požádal jsem o zapletení prvního qubitu s patnáctým — kompilátor vygeneruje 26 dalších operací. Pokud mám štěstí. Pokud nemám, vygeneruje to stovku. Faktem je, že qubit se může zaplést pouze se sousedy. Více než 6 sousedů u qubitu jsem neviděl. V principu existují optimalizační kvantové programové kompilátory, ale zatím jsou spíše teoretické.
Každý procesor má svůj vlastní soubor instrukcí a spojení mezi qubity se liší. V ideálním světě máme libovolné Rx, Ry, Rz a jejich kombinace, plus volné zapletení po deseti znacích, plus Swap: podívejte se na operátory v . V reálu však máme několik párů qubitů, a zapletení CNOT (q[0], q[1]) vychází na jednu operaci, zatímco CNOT(q[1], q[0]) už na 7. A koherenčnost se vytrácí…
Cena, dostupnost, podmínky údržby, amortizace, programovací nástroje…
Ceny nejsou zveřejňovány, dostupnost pro běžného občana je takřka nulová, amortizace nebyla v praxi dosud spočítána, programovací nástroje teprve vznikají. Dokumentace je na arxiv.org.
Jaké informace bych měl požadovat od odborníků při uvedení nového kvantového počítače?
Kromě seznamu výše se mi líbí varianty od a :
Přál bych si, aby každý článek o novém kvantovém počítači začínal dvěma charakteristikami — počtem současně zapletených qubitů a dobou uchování qubitů.
Nebo ještě lépe — s časem provedení nejjednoduššího benchmarku, například nalezením prvočíselného rozkladu čísla 91.
Zdroj: habr.com
