Shorův algoritmus - Shor's algorithm

Shorův algoritmus je kvantový počítačový algoritmus polynomiálního času pro celočíselnou faktorizaci . Neformálně řeší následující problém: Vzhledem k celému číslu najděte jeho hlavní faktory . To bylo objeveno v roce 1994 americkým matematikem Peterem Shorem .

Na kvantovém počítači pracuje Shorův algoritmus pro výpočet celého čísla v polynomiálním čase (čas je polynomiální v , velikost celého čísla uvedená jako vstup). Konkrétně to vyžaduje kvantové brány řádu pomocí rychlého násobení, což ukazuje, že problém celočíselné faktorizace lze efektivně vyřešit na kvantovém počítači a je tedy ve třídě složitosti BQP . To je téměř exponenciálně rychlejší než nejefektivnější známou klasickou faktoringové algoritmu se obecně číslo pole síto , která pracuje v sub-exponenciální čas : . Účinnost Shorův algoritmus je z důvodu účinnosti kvanta Fourierova transformace a modulární umocňování podle opakovaných squarings .

Pokud by kvantový počítač s dostatečným počtem qubitů mohl fungovat, aniž by podlehl kvantovému šumu a dalším jevům kvantové dekoherence , mohl by být použit Shorův algoritmus k rozbití kryptografických schémat veřejného klíče , jako je široce používané schéma RSA . 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, tento předpoklad platí pro klasické (nekvantové) počítače; není znám klasický algoritmus, který by dokázal ovlivnit celá čísla v polynomiálním čase. 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čené před kvantovými počítači, souhrnně nazývané postkvantová kryptografie .

V roce 2001 Shorův algoritmus byla prokázána skupinou u společnosti IBM , který factored do , pomocí implementace NMR kvantového počítače s qubits. Po implementaci IBM implementovaly dvě nezávislé skupiny Shorův algoritmus pomocí fotonických qubitů, což zdůraznilo, že při běhu Shorových algoritmických obvodů bylo pozorováno multi-qubitové zapletení . V roce 2012 byla faktorizace provedena pomocí polovodičových qubitů. Také v roce 2012 bylo dosaženo faktorizace , čímž se vytvořil rekord pro největší celé číslo zohledněné Shorovým algoritmem. V roce 2019 byl učiněn pokus faktorovat číslo 35 pomocí Shorova algoritmu na systému IBM Q System One , ale algoritmus selhal kvůli hromadění chyb. Mnohem větší počty však 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 daný složené číslo , najít netriviální dělitele z (dělitel striktně mezi a ). Před pokusem o nalezení takového dělitele je možné pomocí relativně rychlých algoritmů testování primality ověřit, zda je skutečně složený.

Musíme být liché (jinak je dělitel), a ne být nějaká síla na vrcholu (v opačném případě, že prvotní je dělitel), takže je třeba zkontrolovat, zda nejsou celočíselné kořeny pro .

Proto můžeme předpokládat, že je součinem dvou celých čísel coprime větších než . Z čínské věty o zbytku vyplývá, ž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 tohoto algoritmu je nalézt odmocninu z modulem , který je odlišný od a , protože pak

pro nenulové celé číslo , které nám dává netriviální dělitele a ze . Tato myšlenka je podobná jako u jiných factoringových algoritmů , jako je kvadratické síto .

Nalezení takového se zase sníží 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í periody náhodně vybraných prvků , což je na klasickém počítači obtížný problém.

Shorův algoritmus se skládá ze dvou částí:

  1. Redukce faktoringového problému na problém hledání objednávek , kterou lze provést na klasickém počítači .
  2. Kvantový algoritmus k vyřešení problému s hledáním řádu.

Klasická část

  1. Vyberte náhodné číslo .
  2. Compute je největší společný dělitel of a . To lze provést pomocí euklidovského algoritmu .
  3. Pokud , pak je netriviální faktor , takže jsme hotovi.
  4. V opačném případě použijte k vyhledání podprogram kvantového hledání období (níže) , který označuje období následující funkce:
    Toto je pořadí z ve
    skupině , která je nejmenší kladné celé číslo , pro které , nebo . Podle Eulerovy věty , dělí , kde označuje Eulerovu totientovou funkci .
  5. Pokud je liché, vraťte se zpět ke kroku 1.
  6. Pokud ano, vraťte se zpět ke kroku 1.
  7. V opačném případě, jak a jsou netriviální faktory , a tak jsme skončili.

Například: Vzhledem k tomu , a máme , kde a . Protože to je produkt dvou odlišných prvočísel, a hodnota je jen , která pro je , a dělí se .

Kvantová část: podprogram pro zjišťování období

Kvantový podprogram v Shorově algoritmu

Kvantové obvody použité pro tento algoritmus jsou navrženy pro každou volbu a každou volbu náhodného použitého v . Vzhledem k tomu , najít takové , z čehož vyplývá, že . Vstupní a výstupní qubitové registry musí obsahovat superpozice hodnot od do , a proto musí mít qubits každý. Použití toho, co se může zdát dvakrát tolik qubitů, než je nutné, zaručuje, že existují přinejmenším různé hodnoty, které produkují stejné , i když se období blíží .

Postupujte následovně:

  1. Inicializujte registry na

    kde označuje tenzorový součin .

    Tento počáteční stav je superpozicí stavů a ​​lze jej snadno získat generováním nezávislých qubitů , z nichž každý je superpozicí a stavů. Můžeme toho dosáhnout tak, že inicializujeme qubity do nulové polohy a potom paralelně aplikujeme Hadamardovu bránu na každý z qubits, kde .
  2. Konstruujte jako kvantovou funkci a aplikujte ji na výše uvedený stav, abyste získali
    Toto je stále superpozice států. Avšak qubits, tj. Vstupní qubits a ( ) výstupní qubits, jsou nyní zapletené nebo neoddělitelné , protože stav nelze zapsat jako tenzorový součin stavů jednotlivých qubits. Důležité je, že hodnota obsahující to, co hledáme, je nyní uložena ve fázi vstupních qubitů jako výsledek „fázového zpětného vrhu“, kde použití qubitů jako řídících vstupů do unitárních bran mění relativní fázi kontrolních qubitů.
  3. Aplikujte inverzní kvantovou Fourierovu transformaci na vstupní registr. Tato transformace (působící na superpozici stavů) používá tý kořen jednoty například distribuovat amplitudy daném stavu rovnoměrně mezi všechny ze stavů, a to jiným způsobem pro každý jiný . Tím získáváme
    To vede k konečnému stavu
    Nyní přeuspořádáme tuto částku jako
    Toto je superpozice mnohem více než států, ale mnohem méně než států, protože existuje méně než různých hodnot . Nechat
    • být -tým kořenem jednoty,
    • být obdobím ,
    • být nejmenší z těch, pro které (máme ), a
    • napsat
    • indexuje je , běží od do , takže .
    Pak je jednotkový vektor v komplexní rovině ( je kořenem jednoty a a jsou celá čísla) a koeficient v konečném stavu je
    Každý člen v tomto součtu představuje jinou cestu ke stejnému výsledku a dochází ke kvantové interferenci - konstruktivní, když jednotkové vektory směřují téměř stejným směrem v komplexní rovině, což vyžaduje tento bod podél
    kladné reálné osy .
  4. 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. Jak je periodické, pravděpodobnost měření určitého stavu je dána vztahem
    Analýza nyní ukazuje, že tato pravděpodobnost je vyšší, čím blíže je jednotkový vektor ke kladné reálné ose, nebo čím blíže je celé číslo. Pokud to není síla , nebude to faktor .
  5. Protože je blízké nějakému celému číslu , známá hodnota je blízká neznámé hodnotě . Živé [klasické] pokračovala expanze podíl na nám umožňuje nalézt aproximace o tom, že splňovat dvě podmínky:
    1. .
    2. .
    Vzhledem k těmto mnohonásobným podmínkám (a za předpokladu, že je
    neredukovatelné ), je velmi pravděpodobné, že bude vhodné období , nebo alespoň jeho faktor.
  6. Zkontrolujte (klasicky), zda . Pokud ano, pak jsme hotovi.
  7. Jinak (klasicky) získáte více kandidátů pomocí násobků nebo pomocí jiných s blízkým . Pokud některý kandidát funguje, pak jsme hotovi.
  8. Jinak 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 souběžně s tvoří multiplikativní skupinu celých čísel modulo , což je konečná abelianská skupina . Velikost této skupiny je dána vztahem . Na konci kroku 3 máme v této skupině celé číslo . Protože skupina je konečná, musí mít konečné pořadí , což je nejmenší kladné celé číslo

Proto dělí (také písemně ). Předpokládejme, že jsme schopni získat a že je to rovnoměrné. (Pokud je liché, pak v kroku 5 musíme restartovat algoritmus s jiným náhodným číslem ) Nyní je druhá odmocnina modulo, která se liší od . Je to proto, že je to pořadí modulo , jinak by bylo pořadí v této skupině takové . Pokud tedy v kroku 6 musíme restartovat algoritmus s jiným náhodným číslem .

Nakonec musíme hit provoz v taková, že . Důvodem je, že taková a je druhá odmocnina modulo jiné než a , jehož existence je zaručena čínskou větou o zbytku, protože to není hlavní síla.

Tvrdíme, že je to vhodný faktor , tj . Ve skutečnosti, pokud , pak se rozdělí , takže to , což jde proti konstrukci . Pokud na druhou stranu, pak podle Bézoutovy identity existují celá taková celá čísla

Vynásobením obou stran získáme

Jako dělení zjistíme, že dělí , takže to opět odporuje konstrukci .

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 kvantového počítače být současně v mnoha státech.

Fyzici nazývají toto chování „ superpozicí “ stavů. Abychom vypočítali periodu funkce , vyhodnotí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. Měření se získá pouze jeden ze všech možných hodnot, ničí všechny ostatní. Pokud ne pro klonovací teorém , mohli bychom nejprve měřit bez měření a poté vytvořit několik kopií výsledného stavu (což je superpozice stavů, které mají všechny stejné ). Měření na těchto stavech by poskytlo různé hodnoty, které dávají stejné , což by vedlo k období. Protože nemůžeme vytvořit 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 kvantovou Fourierovou transformací .

Shor tak musel vyřešit tři „implementační“ problémy. Všechny z nich měla být provedena „rychle“, což znamená, že mohou být realizovány s řadou kvantových bran , který je polynom v .

  1. Vytvořte superpozici stavů. Toho lze dosáhnout použitím Hadamardových bran na všechny qubity ve vstupním registru. Dalším přístupem by bylo použití kvantové Fourierovy transformace (viz níže).
  2. Implementujte funkci jako kvantovou transformaci. K dosažení tohoto cíle použil Shor pro svou modulární exponenciální transformaci opakované kvadratury . Je důležité si uvědomit, že tento krok je obtížnější realizovat než kvantová Fourierova transformace, protože k tomu vyžaduje pomocné qubity a podstatně více bran.
  3. 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á pouze brány.

Po všech těchto transformacích získá měření aproximaci období . Pro jednoduchost předpokládejme, že existuje takové, které je celé číslo. Pak je pravděpodobnost opatř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 tedy zhruba stejný, jako pravděpodobnost je . Existují možné hodnoty takového, které 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 se jedná pouze o maskovaný algoritmus odhadu kvantové fáze .

Úzké místo

Runtime úzkým místem Shorova algoritmu je kvantová modulární umocňování , která je mnohem pomalejší než kvantová Fourierova transformace a klasické pre- / post-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 s reverzibilními branami , počínaje sčítáním zvlnění . Znalost základu a modulu umocňování usnadňuje další optimalizace. Reverzibilní obvody se obvykle používají v řádu bran pro qubits. Alternativní techniky asymptoticky zlepšují počty hradel pomocí kvantových Fourierových transformací , ale nejsou konkurenceschopné s méně než 600 qubitů kvůli vysokým konstantám.

Diskrétní logaritmy

Vzhledem k tomu, skupiny s cílem a generátorem , předpokládám, že víme, že pro některé , a chceme spočítat , což 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á problém abelianské skryté podskupiny , který odpovídá skupinovému homomorfismu . Jádro odpovídá násobkům . Takže pokud najdeme jádro, můžeme najít .

Viz také

  • GEECM , faktorizační algoritmus, o kterém se říká, že je „často mnohem rychlejší než Shorův“
  • Groverův algoritmus

Reference

Další čtení

externí odkazy