Shorsův algoritmus - Shors algorithm - Wikipedia
Shorův algoritmus je polynomiální čas kvantový počítačový algoritmus pro celočíselná faktorizace.[1] Neformálně řeší následující problém: Dáno celé číslo , najít jeho hlavní faktory. To bylo vynalezeno v roce 1994 americkým matematikem Peter Shor.
Na kvantovém počítači započítat celé číslo , Shorův algoritmus běží v polynomiálním čase (čas je polynomiální v , velikost celého čísla zadaného jako vstup).[2] Konkrétně to trvá kvantové brány řádu pomocí rychlého množení,[3] což ukazuje, že problém celočíselné faktorizace lze efektivně vyřešit na kvantovém počítači a je tedy v třída složitosti BQP. To je téměř exponenciálně rychlejší než nejúčinnější známý klasický factoringový algoritmus, síto obecného čísla, který pracuje v subexponenciální čas: .[4] Účinnost Shorova algoritmu je dána účinností kvantová Fourierova transformace, a modulární umocňování podle opakované kvadratury.[5]
Pokud kvantový počítač s dostatečným počtem qubits mohl fungovat, aniž by podlehl kvantový šum a další kvantová dekoherence je možné použít Shorův algoritmus k prolomení kryptografie veřejného klíče schémata, jako jsou široce používané RSA systém. RSA je založen na předpokladu, že factoring velkých celých čísel je výpočetně neřešitelný. Pokud je známo, je tento předpoklad platný pro klasické (nekvantové) počítače; není znám žádný klasický algoritmus, který dokáže v polynomiálním čase ovlivnit celá čísla. Shorův algoritmus však ukazuje, že factoringová celá čísla jsou na ideálním kvantovém počítači efektivní, takže může být možné porazit RSA konstrukcí velkého kvantového počítače. Byl to také silný motivátor pro návrh a konstrukci kvantových počítačů a pro studium nových kvantově-počítačových algoritmů. Rovněž usnadnil výzkum nových kryptosystémů, které jsou zabezpečeny před kvantovými počítači, souhrnně nazývanými postkvantová kryptografie.
V roce 2001 Shorův algoritmus demonstrovala skupina v IBM, kteří započítali do pomocí Implementace NMR kvantového počítače s qubits.[6] Po implementaci IBM implementovaly Shorův algoritmus dvě nezávislé skupiny fotonický qubits, s důrazem na multi-qubit zapletení byl pozorován při běhu Shorových algoritmických obvodů.[7][8] V roce 2012 byla provedena faktorizace bylo provedeno pomocí polovodičových qubitů.[9] Také v roce 2012 byla provedena faktorizace bylo dosaženo, čímž se vytvořil rekord pro největší celé číslo zohledněné Shorovým algoritmem.[10] Mnohem větší počty byly započítány kvantovými počítači pomocí jiných algoritmů, konkrétně kvantového žíhání.
Postup
Problém, který se snažíme vyřešit, je, vzhledem k složené číslo , najít netriviální dělitel z (dělitel přísně mezi a ). Než se pokusíte najít takového dělitele, můžete jej použít relativně rychle testování primality algoritmy k ověření toho je skutečně složený.
Potřebujeme být lichý (jinak je dělitel) a nebýt mocninou prvočísla (jinak je prvočíslo dělitelem), takže musíme zkontrolovat, zda neexistují žádné celočíselné kořeny pro .
Proto to můžeme předpokládat je produktem dvou coprime celá čísla větší než . Vyplývá to z Čínská věta o zbytku že existují nejméně čtyři odlišné druhé odmocniny modulo (protože pro každou modulární rovnici existují dva kořeny). Cílem algoritmu je najít druhou odmocninu z modulo to se liší od a , protože pak
pro nenulové celé číslo což nám dává netriviální dělitele a z .Tato myšlenka je podobná jiné factoringové algoritmy, tak jako kvadratické síto.
Na druhé straně hledání takové se redukuje na nalezení prvku sudého období s určitou další vlastností (jak je vysvětleno níže, je nutné, aby podmínka kroku 6 klasické části neplatila). Kvantový algoritmus se používá k nalezení období náhodně vybraných prvků , protože to je obtížný problém na klasickém počítači.
Shorův algoritmus se skládá ze dvou částí:
- Redukce faktoringového problému na problém, kterou lze provést na klasickém počítači objednat -nález.
- Kvantový algoritmus k vyřešení problému s hledáním řádu.
Klasická část
- Vyberte náhodné číslo .
- Vypočítat , největší společný dělitel z a . To lze provést pomocí Euklidovský algoritmus.
- Li , pak toto číslo je a netriviální faktor , takže jsme hotovi.
- V opačném případě použijte k nalezení kvantový podprogram pro hledání období (níže) , který označuje doba následující funkce:
- Li je liché, pak se vraťte ke kroku 1.
- Li , pak se vraťte ke kroku 1.
- Jinak obojí a jsou netriviální faktory , takže jsme hotovi.
Například: Dáno , , a , my máme , kde a . Pro to je produkt dvou odlišných prvočísel, a , hodnota je jen , který pro je , a rozděluje .
Kvantová část: podprogram pro zjišťování období
![]() | Tato sekce může být pro většinu čtenářů příliš technická na to, aby je pochopili.únor 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |

Kvantové obvody použité pro tento algoritmus jsou navrženy na míru pro každou volbu a každá volba náhodného použito v . Dáno , najít takhle , což z toho vyplývá . Vstup a výstup qubit registry musí obsahovat superpozice hodnot z na a také každý qubits. Použití toho, co by se mohlo zdát dvakrát tolik qubitů, než je nutné, zaručuje, že jich alespoň je různé hodnoty které produkují to samé , dokonce jako období přístupy .
Postupujte následovně:
- Inicializujte registry na
kde označuje tenzorový produkt.
Tento počáteční stav je superpozicí států a lze jej snadno získat generováním nezávislý qubits, každý superpozicí a státy. Můžeme toho dosáhnout inicializací qubits do nulové polohy a následným použitím Hadamardova brána souběžně s každým z qubits, kde . - Postavit jako kvantová funkce a aplikovat ji na výše uvedený stav, získat
- Použijte inverzní kvantová Fourierova transformace do vstupního registru. Tato transformace (fungující na superpozici státy) používá a -th kořen jednoty jako distribuovat amplitudu jakékoli dané stát mezi všemi stejně z států, a to pro každý jiný . Tím získáváme
- být -tý kořen jednoty,
- být obdobím ,
- být nejmenší z pro který (my máme ), a
- psát si
- indexuje tyto , běží od na , aby .
- Proveďte měření. Získáváme nějaký výsledek ve vstupním registru a nějaký výsledek ve výstupním registru. Tak jako je periodická, pravděpodobnost měření nějakého stavu darováno
- Od té doby je blízké nějakému celému číslu , známá hodnota se blíží neznámé hodnotě . Představení [klasické] pokračující rozšiřování frakcí na umožňuje nám najít přibližné hodnoty z toho splňují dvě podmínky:Vzhledem k těmto více podmínkám (a za předpokladu je neredukovatelné ), je velmi pravděpodobné, že bude vhodné období , nebo alespoň jeho část.
- .
- .
- Zkontrolujte (klasicky), zda . Pokud ano, pak jsme hotovi.
- Jinak (klasicky) získejte více kandidátů na pomocí násobků , nebo pomocí jiného s u . Pokud některý kandidát funguje, pak jsme hotovi.
- V opačném případě zkuste znovu začít od kroku 1 tohoto podprogramu.
Vysvětlení algoritmu
Algoritmus se skládá ze dvou částí. První část algoritmu mění faktoringový problém na problém nalezení periody funkce a může být implementován klasicky. Druhá část najde období pomocí kvantové Fourierovy transformace a je zodpovědná za kvantové zrychlení.
Získávání faktorů z období
Celá čísla menší než a coprime s tvoří multiplikativní skupina celých čísel modulo , což je konečný abelian skupina . Velikost této skupiny je dána vztahem . Na konci kroku 3 máme celé číslo v této skupině. Protože skupina je konečná, musí mít konečnou objednávku , což je nejmenší kladné celé číslo
Proto, rozděluje (také psáno ). Předpokládejme, že jsme schopni získat a že je to dokonce. (Li je liché, pak v kroku 5 musíme restartovat algoritmus s jiným náhodným číslem ) Nyní je druhá odmocnina z modulo to se liší od . To je proto, že je řád modulo , tak nebo jinak v pořadí v této skupině by bylo . Li , pak v kroku 6 musíme restartovat algoritmus s jiným náhodným číslem .
Nakonec musíme zasáhnout řádu v takhle . Je to proto, že takový je druhá odmocnina z modulo jiný než a , jehož existenci zaručuje čínská věta o zbytku, as není hlavní síla.
Tvrdíme to je správný faktor , tj., . Ve skutečnosti, pokud , pak rozděluje , aby , který jde proti výstavbě . Pokud na druhou stranu , poté Bézoutova identita, existují celá čísla takhle
Vynásobením obou stran , získáváme
Tak jako rozděluje , zjistíme, že rozděluje , aby , opět v rozporu s konstrukcí .
Proto, je požadovaný správný faktor .
Nalezení období
Shorův algoritmus pro zjišťování období do značné míry závisí na schopnosti a kvantový počítač být v mnoha státech současně.
Fyzici nazývají toto chování „superpozice "stavů. Vypočítat periodu funkce , hodnotíme funkci ve všech bodech současně.
Kvantová fyzika nám však neumožňuje přímý přístup ke všem těmto informacím. A měření přinese pouze jednu ze všech možných hodnot a zničí všechny ostatní. Pokud ne pro žádná klonovací věta, mohli bychom nejprve měřit bez měření , a poté vytvořte několik kopií výsledného stavu (což je superpozice stavů, které mají všechny stejné ). Měření na tyto státy by poskytovaly jiné hodnoty, které dávají to samé , což vede k období. Protože nemůžeme vytvářet přesné kopie kvantového stavu, tato metoda nefunguje. Proto musíme pečlivě transformovat superpozici do jiného stavu, který s vysokou pravděpodobností vrátí správnou odpověď. Toho je dosaženo kvantová Fourierova transformace.
Shor tak musel vyřešit tři „implementační“ problémy. Všechny musely být implementovány „rychle“, což znamená, že je lze implementovat s řadou kvantové brány to je polynomiální v .
- Vytvořte superpozici stavů. Toho lze dosáhnout aplikací Hadamard brány ke všem qubitům ve vstupním registru. Dalším přístupem by bylo použití kvantové Fourierovy transformace (viz níže).
- Implementujte funkci jako kvantová transformace. K dosažení tohoto cíle použil Shor opakované kvadratury pro jeho modulární exponenciační transformaci. Je důležité si uvědomit, že tento krok je obtížněji proveditelný než kvantová Fourierova transformace, protože k tomu vyžaduje pomocné qubity a podstatně více bran.
- Proveďte kvantovou Fourierovu transformaci. Použitím bran s řízenou rotací a Hadamardových bran navrhl Shor obvod pro kvantovou Fourierovu transformaci (s ), který používá jen brány.[12]
Po všech těchto transformacích získá měření aproximaci období . Pro jednoduchost předpokládejme, že existuje takhle je celé číslo. Pak pravděpodobnost měření je . Abychom to viděli, všimli jsme si toho
pro všechna celá čísla . Součet, jehož čtverec nám dává pravděpodobnost měření bude , tak jako trvá zhruba hodnoty a tedy pravděpodobnost . Existují možné hodnoty takhle je celé číslo a také možnosti pro , takže součty pravděpodobností jsou .
Poznámka: Dalším způsobem, jak vysvětlit Shorův algoritmus, je poznamenat, že jde pouze o algoritmus odhadu kvantové fáze v přestrojení.
Úzké místo
Runtime úzké místo Shorova algoritmu je kvantové modulární umocňování, který je mnohem pomalejší než kvantová Fourierova transformace a klasické předběžné / následné zpracování. Existuje několik přístupů ke konstrukci a optimalizaci obvodů pro modulární umocňování. Nejjednodušší a (v současné době) nejpraktičtější přístup je napodobit konvenční aritmetické obvody pomocí vratné brány, začínání s zvlněné nosiče. Znalost základny a modulu umocňování usnadňuje další optimalizace.[13][14] Reverzibilní obvody se obvykle používají v řádu brány pro qubits. Alternativní techniky asymptoticky zvyšují počet bran pomocí použití kvantové Fourierovy transformace, ale nejsou konkurenceschopní s méně než 600 qubitů kvůli vysokým konstantám.
Diskrétní logaritmy
Vzhledem ke skupině s objednávkou a generátor , předpokládejme, že to víme , pro některé , a chceme počítat , který je diskrétní logaritmus: . Zvažte abelianskou skupinu , kde každý faktor odpovídá modulárnímu sčítání hodnot. Nyní zvažte funkci
To nám dává abelian skrytý problém s podskupinou, tak jako odpovídá a skupinový homomorfismus. Jádro odpovídá násobkům . Takže pokud najdeme jádro, můžeme najít .
Viz také
- GEECM, faktorizační algoritmus byl „často mnohem rychlejší než Shorův“.[15]
- Groverův algoritmus
Reference
- ^ Shor, P.W. (1994). "Algoritmy pro kvantový výpočet: diskrétní logaritmy a factoring". Sborník 35. výroční sympozium o základech informatiky. IEEE Comput. Soc. Stiskněte: 124–134. doi:10.1109 / sfcs.1994.365700. ISBN 0818665807.
- ^ Viz také pseudo-polynomiální čas.
- ^ Beckman, David; Chari, Amalavoyal N .; Devabhaktuni, Srikrishna; Preskill, John (1996). „Efektivní sítě pro kvantový faktoring“ (PDF). Fyzický přehled A. 54 (2): 1034–1063. arXiv:quant-ph / 9602016. Bibcode:1996PhRvA..54.1034B. doi:10.1103 / PhysRevA.54.1034. PMID 9913575.
- ^ "Number Field Sieve". wolfram.com. Citováno 23. října 2015.
- ^ Gidney, Craig. „Algoritmus Shorova kvantového faktoringu“. Algoritmická tvrzení. Citováno 28. listopadu 2020.
- ^ Vandersypen, Lieven M. K .; Steffen, Matthias; Breyta, Gregory; Yannoni, Costantino S .; Sherwood, Mark H. & Chuang, Isaac L. (2001), „Experimentální realizace Shorova algoritmu kvantového faktoringu pomocí nukleární magnetické rezonance“ (PDF), Příroda, 414 (6866): 883–887, arXiv:quant-ph / 0112176, Bibcode:2001 Natur.414..883V, CiteSeerX 10.1.1.251.8799, doi:10.1038 / 414883a, PMID 11780055
- ^ Lu, Chao-Yang; Browne, Daniel E .; Yang, Tao & Pan, Jian-Wei (2007), „Demonstrace kompilované verze Shorova algoritmu kvantového faktoringu pomocí fotonických Qubits“ (PDF), Dopisy o fyzické kontrole, 99 (25): 250504, arXiv:0705.1684, Bibcode:2007PhRvL..99y0504L, doi:10.1103 / PhysRevLett.99.250504, PMID 18233508
- ^ Lanyon, B. P .; Weinhold, T. J .; Langford, N. K.; Barbieri, M .; James, D. F. V .; Gilchrist, A. & White, A. G. (2007), „Experimentální ukázka kompilované verze Shorova algoritmu s kvantovým zapletením“ (PDF), Dopisy o fyzické kontrole, 99 (25): 250505, arXiv:0705.1398, Bibcode:2007PhRvL..99y0505L, doi:10.1103 / PhysRevLett.99.250505, PMID 18233509
- ^ Lucero, Erik; Barends, Rami; Chen, Yu; Kelly, Julian; Mariantoni, Matteo; Megrant, Anthony; O'Malley, Peter; Sank, Daniel; Vainsencher, Amit; Wenner, James; Bílý, Ted; Yin, Yi; Cleland, Andrew N .; Martinis, John M. (2012). "Výpočet hlavních faktorů s kvantovým procesorem Josephson fáze qubit". Fyzika přírody. 8 (10): 719. arXiv:1202.5707. Bibcode:2012NatPh ... 8..719L. doi:10.1038 / nphys2385.
- ^ Martín-López, Enrique; Martín-López, Enrique; Laing, Anthony; Lawson, Thomas; Alvarez, Roberto; Zhou, Xiao-Qi; O'Brien, Jeremy L. (12. října 2012). "Experimentální realizace Shorova algoritmu kvantového factoringu pomocí qubitové recyklace". Fotonika přírody. 6 (11): 773–776. arXiv:1111.4147. Bibcode:2012NaPho ... 6..773M. doi:10.1038 / nphoton.2012.259.
- ^ Autoři Qiskit. "Učebnice Qiskit: Odhad kvantové fáze". IBM. Citováno 7. listopadu 2020.
- ^ Shor 1999, str. 14
- ^ Markov, Igor L .; Saeedi, Mehdi (2012). "Konstantní optimalizované kvantové obvody pro modulární násobení a umocňování". Kvantové informace a výpočet. 12 (5–6): 361–394. arXiv:1202.6614. Bibcode:2012arXiv1202.6614M.
- ^ Markov, Igor L .; Saeedi, Mehdi (2013). "Rychlejší faktor kvantového čísla pomocí syntézy obvodu". Phys. Rev.A. 87 (1): 012310. arXiv:1301.3210. Bibcode:2013PhRvA..87a2310M. doi:10.1103 / PhysRevA.87.012310.
- ^ Bernstein, Daniel J .; Heninger, Nadia; Lou, Paul; Valenta, Luke (2017). „Postkvantová RSA“ (PDF). Mezinárodní workshop o post-kvantové kryptografii. Přednášky z informatiky. 10346: 311–329. doi:10.1007/978-3-319-59879-6_18. ISBN 978-3-319-59878-9. Archivováno (PDF) od originálu na 2017-04-20.
Další čtení
![]() | Tento článek obsahuje seznam obecných Reference, ale zůstává z velké části neověřený, protože postrádá dostatečné odpovídající vložené citace.Září 2010) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
- Nielsen, Michael A. & Chuang, Isaac L. (2010), Kvantové výpočty a kvantové informace, vydání k 10. výročí, Cambridge University Press, ISBN 9781107002173.
- Phillip Kaye, Raymond Laflamme, Michele Mosca, Úvod do kvantové práce na počítači, Oxford University Press, 2007, ISBN 0-19-857049-X
- „Vysvětlení pro muže na ulici“ podle Scott Aaronson, "schválený „Peter Shor. (Shor napsal:„ Skvělý článek, Scotte! To je ta nejlepší práce, jak vysvětlit kvantové výpočty muži na ulici, jaké jsem viděl. “). Alternativní metafora pro QFT byla představena v jeden z komentářů. Scott Aaronson navrhuje následujících 12 odkazů jako další čtení (z „10105000 výukové programy kvantového algoritmu, které jsou již na webu. "):
- Shor, Peter W. (1997), „Algoritmy polynomiálního času pro Prime Factorization a diskrétní logaritmy na kvantovém počítači“, SIAM J. Comput., 26 (5): 1484–1509, arXiv:quant-ph / 9508027v2, Bibcode:1999SIAMR..41..303S, doi:10.1137 / S0036144598347011. Revidovaná verze původního příspěvku Petera Shora („28 stran, LaTeX. Toto je rozšířená verze příspěvku, který vyšel ve sborníku z 35. ročníku sympozia o základech informatiky, Santa Fe, NM, 20. listopadu - 22, 1994. Drobné revize provedené v lednu 1996 “).
- Kvantové výpočty a Shorův algoritmus, Matthew Hayward Stránka Kvantové algoritmy, 2005-02-17, imsa.edu, LaTeX2HTML verze originálu Dokument LaTeX, k dispozici také jako PDF nebo postscript dokument.
- Kvantový výpočet a Shorův faktoringový algoritmus Ronald de Wolf, CWI a University of Amsterdam, 12. ledna 1999, 9stránkový postscriptový dokument.
- Shorův faktoringový algoritmus Poznámky z přednášky 9 Berkeley CS 294–2 ze dne 4. října 2004, 7stránkový postscriptový dokument.
- Kapitola 6 Kvantové výpočty, 91stránkový postscriptový dokument, Caltech, Preskill, PH229.
- Kvantový výpočet: výukový program podle Samuel L. Braunstein.
- Kvantové stavy Shorova algoritmu, Autor: Neal Young, Poslední úprava: Út 21. května 11:47:38 1996.
- III. Prolomení šifrování RSA pomocí kvantového počítače: Shorův faktoringový algoritmus „Přednášky o kvantovém výpočtu, Cornell University, Fyzika 481–681, CS 483; Jaro 2006 N. David Mermin. Poslední revize 2006-03-28, 30stránkový dokument PDF.
- Lavor, C .; Manssur, L. R. U .; Portugalsko, R. (2003). "Shorův algoritmus pro faktorování velkých celých čísel". arXiv:quant-ph / 0303175.
- Lomonaco, Jr (2000). „Algoritmus Shorova kvantového faktoringu“. arXiv:quant-ph / 0010034. Tento příspěvek je písemnou verzí hodinové přednášky o algoritmu kvantového factoringu Petera Shora. 22 stránek.
- Kapitola 20 Kvantové výpočty, z Výpočetní složitost: moderní přístup, Návrh knihy: Z ledna 2007, Sanjeev Arora a Boaz Barak, Princetonská univerzita. Publikováno jako Kapitola 10 Kvantové výpočty Sanjeev Arory, Boaz Barak, „Výpočetní složitost: moderní přístup“, Cambridge University Press, 2009, ISBN 978-0-521-42426-4
- Krok k kvantovému výpočtu: zapletení 10 miliard částic z časopisu Discover Magazine ze dne 19. ledna 2011.
- Josef Gruska - Kvantové počítačové výzvy také v Matematika neomezená: 2001 a dále Redaktoři Björn Engquist, Wilfried Schmid, Springer, 2001, ISBN 978-3-540-66913-5
externí odkazy
- Verze 1.0.0 z libquantum: obsahuje implementaci Shorova algoritmu v jazyce C s jejich simulovanou kvantovou počítačovou knihovnou, ale proměnná width v shor.c by měla být nastavena na 1, aby se zlepšila složitost běhového prostředí.
- PBS Infinite Series vytvořil dvě videa vysvětlující matematiku za Shorovým algoritmem, “Jak prolomit kryptografii " a "Hackování kvantovou rychlostí pomocí Shorova algoritmu ".