Algoritmo ni Shor
Ngayon ay itutuon natin ang ating pansin sa problema ng integer factorization, at makikita kung paano ito malulutas nang mahusay sa isang quantum computer gamit ang phase estimation. Ang algorithm na makukuha natin ay ang algoritmo ni Shor para sa integer factorization. Hindi inilalarawan ni Shor ang kanyang algorithm sa pamamagitan ng phase estimation, ngunit ito ay isang natural at madaling maintindihang paraan upang ipaliwanag kung paano ito gumagana.
Magsisimula tayo sa pamamagitan ng pagtalakay sa isang intermediate na problema na kilala bilang order-finding problem at makikita kung paano nagbibigay ng solusyon dito ang phase estimation. Makikita rin natin kung paano ang isang mahusay na solusyon sa order-finding problem ay nagbibigay sa atin ng mahusay na solusyon sa integer factorization problem. (Kapag ang solusyon sa isang problema ay nagbibigay ng solusyon sa isa pang problema tulad nito, sinasabi natin na ang pangalawang problema ay nire-reduce sa una — kaya sa kasong ito ay nire-reduce natin ang integer factorization sa order finding.) Ang pangalawang bahagi ng algoritmo ni Shor ay hindi gumagamit ng quantum computing; ito ay ganap na klasikal. Kailangan lamang ang quantum computing para malutas ang order finding.
Ang order-finding problem
Ilang pangunahing number theory
Upang maipaliwanag ang order-finding problem at kung paano ito malulutas gamit ang phase estimation, magiging kapaki-pakinabang ang magsimula sa ilang pangunahing konsepto ng number theory, at magpakilala ng ilang maginhawang notasyon habang nagpapatuloy.
Una, para sa anumang positibong integer na tukuyin ang set na tulad nito.
Halimbawa, at iba pa.
Ito ay mga set ng mga numero, ngunit maaari nating isipin ang mga ito nang higit pa sa mga set. Sa partikular, maaari tayong mag-isip tungkol sa mga operasyong aritmetika sa tulad ng pagdaragdag at pagpaparami — at kung sumasang-ayon tayong palaging kumuha ng ating mga sagot modulo (iyon ay, hatiin sa at kunin ang natitirang bilang ang resulta), palagi tayong mananatili sa loob ng set na ito habang ginagawa ang mga operasyong ito. Ang dalawang partikular na operasyon ng pagdaragdag at pagpaparami, na parehong kinukuha modulo ay ginagawang ring ang , na isang pundamental na mahalagang uri ng bagay sa algebra.
Halimbawa, ang at ay mga elemento ng at kung pararamihin natin ang mga ito nang magkasama makukuha natin ang na nag-iiwan ng natitirang kapag hinati sa Minsan ipinapahayag natin ito tulad ng sumusunod.
Ngunit maaari rin tayong simpleng isulat ang kung malinaw na ang ating pinagtatarabahong upang panatilihing simple ang ating notasyon hangga't maaari.
Bilang halimbawa, narito ang mga talahanayan ng pagdaragdag at pagpaparami para sa
Sa mga elemento ng ang mga elemento na na sumasaklaw sa ay espesyal. Madalas ang set na naglalaman ng mga elementong ito ay tinutukoy ng bituin tulad nito.
Kung itutuon natin ang ating pansin sa operasyon ng pagpaparami, ang set na ay bumubuo ng isang grupo — partikular na isang abelian group — na isa pang mahalagang uri ng bagay sa algebra. Isa itong pangunahing katotohanan tungkol sa mga set na ito (at sa mga finite group sa pangkalahatan), na kung pumili tayo ng anumang elemento at paulit-ulit na pararamihin ang sa sarili nito, palagi tayong makakakuha ng bilang na sa kalaunan.
Para sa isang unang halimbawa, kunin natin ang Mayroon tayong dahil at kung pararamihin natin ang sa sarili nito makukuha natin ang tulad ng kinukumpirma ng talahanayan sa itaas.
Bilang ikalawang halimbawa, kunin natin ang Kung dadaanan natin ang mga numero mula hanggang ang mga may GCD na katumbas ng kasama ang ay ang mga sumusunod.
Para sa bawat isa sa mga elementong ito, posibleng itaas ang bilang na iyon sa isang positibong integer na kapangyarihan upang makuha ang Narito ang pinakamaliit na kapangyarihan kung saan gumagana ito:
Natural na nagtatrabaho tayo sa loob ng para sa lahat ng mga ekwasyong ito, na hindi na natin isinusulat — itinuturing natin itong implicit upang maiwasan ang kumplikasyon. Patuloy nating gagawin iyon sa buong natitirang bahagi ng aralin.
Pahayag ng problema at koneksyon sa phase estimation
Ngayon ay maaari na nating sabihin ang order-finding problem.
Bilang kahalili, sa mga tuntunin ng notasyong ipinakilala natin sa itaas, binibigyan tayo ng at naghahanap tayo ng pinakamaliit na positibong integer na Ang bilang na na ito ay tinatawag na order ng modulo
Upang maikonekta ang order-finding problem sa phase estimation, pag-isipan natin ang operasyon na tinukoy sa isang sistema na ang mga klasikal na estado ay katumbas ng kung saan pinaraparami natin ng isang nakapirming elemento na
Upang maging malinaw, ginagawa natin ang pagpaparami sa kaya implicit na kinukuha natin ang produkto modulo sa loob ng ket sa kanan ng ekwasyon.
Halimbawa, kung kunin natin ang at ang aksyon ng sa standard basis na ay ang sumusunod.
Ito ay isang unitary operation kung ini-shuffle nito ang mga elemento ng standard basis na kaya bilang isang matrix ito ay isang permutation matrix. Malinaw mula sa kahulugan nito na ang operasyong ito ay deterministic, at isang simpleng paraan upang makita na ito ay invertible ay ang pag-isip sa order ng modulo at kilalanin na ang inverse ng ay
May isa pang paraan upang pag-isipan ang inverse na hindi nangangailangan ng anumang kaalaman sa (na, pagkatapos ng lahat, ay ang ating sinusubukang kalkulahin). Para sa bawat elemento palaging may natatanging elemento na sumasaklaw sa Tinutukoy natin ang elementong na ito bilang at maaari itong kalkulahin nang mahusay; ang isang extension ng GCD algorithm ni Euclid ay ginagawa ito na may gastos na quadratic sa At kaya
Kaya, ang operasyon na ay parehong deterministic at invertible. Iyon ay nagpapahiwatig na inilarawan ito ng isang permutation matrix, at samakatuwid ay unitary.
Ngayon ay pag-isipan natin ang mga eigenvector at eigenvalue ng operasyon na sa pag-aakala na Tulad ng pinagtatalunan lamang, sinasabi sa atin ng pagpapalagay na ito na ang ay unitary.
Mayroong eigenvalue ng posibleng kasama ang parehong eigenvalue na paulit-ulit nang maraming beses, at sa pangkalahatan ay may ilang kalayaan sa pagpili ng mga katumbas na eigenvector — ngunit hindi natin kailangang mag-alala sa lahat ng mga posibilidad. Magsimula tayo nang simple at tukuyin lamang ang isang eigenvector ng
Ang bilang na ay ang order ng modulo dito at sa buong natitirang bahagi ng aralin. Ang eigenvalue na nauugnay sa eigenvector na ito ay dahil hindi ito nagbabago kapag pinarami ng
Nangyayari ito dahil kaya ang bawat standard basis state na ay inililipat sa para sa at ang ay inilipat pabalik sa Sa impormal na pagsasalita, parang dahan-dahan nating hinahalo ang ngunit ito ay ganap nang nahalo kaya walang nagbabago.
Narito ang isa pang halimbawa ng eigenvector ng Ito ay mas kawili-wili sa konteksto ng order finding at phase estimation.
Bilang kahalili, maaari nating isulat ang vector na ito gamit ang isang summation tulad ng sumusunod.
Dito nakikita natin ang complex number na na lumilitaw nang natural, dahil sa paraan ng pagpaparami ng modulo Sa pagkakataong ito ang katumbas na eigenvalue ay Upang makita ito, maaari tayong unang kalkulahin tulad ng sumusunod.
Pagkatapos, dahil at makikita natin na
kaya
Gamit ang parehong pangangatwiran, maaari tayong tumukoy ng mga karagdagang pares ng eigenvector/eigenvalue para sa Para sa anumang pagpili ng mayroon tayong
na isang eigenvector ng na ang katumbas na eigenvalue ay
Mayroong iba pang mga eigenvector ng ngunit hindi na natin kailangang pag-abalahan ang mga ito — magtutuon lamang tayo sa mga eigenvector na na ating natukoy.
Order finding sa pamamagitan ng phase estimation
Upang malutas ang order-finding problem para sa isang partikular na pagpili ng maaari nating ilapat ang pamamaraan ng phase estimation sa operasyon na
Upang magawa ito, kailangan nating ipatupad nang mahusay hindi lamang ang sa isang quantum circuit, kundi pati na rin ang at iba pa, na pumupunta hanggang saan kinakailangan upang makakuha ng sapat na tumpak na pagtatantya mula sa pamamaraan ng phase estimation. Dito ay ipapaliwanag natin kung paano ito maaaring gawin, at malalaman natin kung gaano kalawak ang katumpakan na kailangan sa ibang pagkakataon.
Magsimula tayo sa operasyon na mismo. Natural, dahil nagtatrabaho tayo sa quantum circuit model, gagamit tayo ng binary notation upang i-encode ang mga numero sa pagitan ng at Ang pinakamalaking numero na kailangan nating i-encode ay kaya ang bilang ng mga bit na kailangan natin ay
Halimbawa, kung mayroon tayong Narito ang hitsura ng pag-encode ng mga elemento ng bilang mga binary string na may haba na
At ngayon, narito ang isang tumpak na kahulugan ng kung paano tinukoy ang bilang isang -qubit na operasyon.
Ang punto ay kahit na nagmamalasakit lamang tayo sa kung paano gumagana ang para sa kailangan nating tukuyin kung paano ito gumagana para sa natitirang standard basis state — at kailangan nating gawin ito sa paraang nagbibigay pa rin sa atin ng unitary operation. Ang pagtukoy sa upang hindi ito gumawa ng anuman sa mga natitirang standard basis state ay nagagawa ito.
Gamit ang mga algorithm para sa integer multiplication at division na tinalakay sa nakaraang aralin, kasama ang pamamaraan para sa mga reversible, garbage-free na implementasyon ng mga ito, maaari tayong bumuo ng quantum circuit na gumaganap ng para sa anumang pagpili ng na may gastos na Narito ang isang paraan na maaaring gawin ito.
-
Bumuo ng circuit para sa pagsasagawa ng operasyon
kung saan
gamit ang pamamaraang inilarawan sa nakaraang aralin. Nagbibigay ito sa atin ng circuit na may laki na
-
I-swap ang dalawang -qubit na sistema gamit ang swap gate upang i-swap ang mga qubit nang isa-isa.
-
Katulad ng unang hakbang, bumuo ng circuit para sa operasyon
kung saan ang inverse ng sa
Sa pamamagitan ng pag-initialize ng ibabang qubit at pagsasama ng tatlong hakbang, nakukuha natin ang transformasyong ito:
Ang pamamaraan ay nangangailangan ng mga workspace qubit, ngunit ibinabalik ang mga ito sa kanilang initialized na estado sa katapusan, na nagbibigay-daan sa atin na gamitin ang mga circuit na ito para sa phase estimation. Ang kabuuang gastos ng circuit na ating makukuha ay
Upang maisagawa ang at iba pa, maaari tayong gumamit ng eksaktong parehong pamamaraan, maliban na pinapalitan natin ang ng at iba pa, bilang mga elemento ng Iyon ay, para sa anumang kapangyarihan na na ating pipiliin, maaari tayong lumikha ng circuit para sa hindi sa pamamagitan ng pag-ulit ng beses ng circuit para sa kundi sa pamamagitan ng pagkalkula ng at pagkatapos ay paggamit ng circuit para sa
Ang pagkalkula ng mga kapangyarihan na ay ang modular exponentiation na problema na binanggit sa nakaraang aralin. Ang kalkulasyong ito ay maaaring gawin nang klasikal, gamit ang algorithm para sa modular exponentiation na binanggit sa nakaraang aralin (madalas na tinatawag na power algorithm sa computational number theory). Sa katunayan, kailangan lamang natin ang power-of-2 na mga kapangyarihan ng partikular na at maaari nating makuha ang mga kapangyarihang ito sa pamamagitan ng paulit-ulit na pagpaparami sa sarili nang beses. Ang bawat squaring ay maaaring isagawa ng isang Boolean circuit na may laki na
Sa esensya, ang epektibong ginagawa natin dito ay inililipat ang problema ng pag-ulit ng nang hanggang beses sa isang mahusay na klasikal na kalkulasyon. At magandang kapalaran na posible ito! Para sa isang arbitrary na pagpili ng quantum circuit sa problema ng phase estimation, malamang na hindi ito magiging posible — at sa kasong iyon ang nagresultang gastos para sa phase estimation ay lumalaki nang exponentially sa bilang ng mga control qubit na
Solusyon sa pag-aakalang may maginhawang eigenvector
Upang maunawaan kung paano natin malulutas ang order-finding problem gamit ang phase estimation, magsimula tayo sa pag-aakalang nagpapatakbo tayo ng pamamaraan ng phase estimation sa operasyon na gamit ang eigenvector na Ang pagkuha ng eigenvector na ito ay hindi madali, gaya ng makikita, kaya hindi ito magiging katapusan ng kuwento — ngunit kapaki-pakinabang na magsimula dito.
Ang eigenvalue ng na katumbas ng eigenvector na ay
Iyon ay, para sa Kaya, kung magpapatakbo tayo ng pamamaraan ng phase estimation sa gamit ang eigenvector na makakakuha tayo ng pagtatantya sa Sa pamamagitan ng pagkalkula ng reciprocal malalaman natin ang — kung sapat ang katumpakan ng ating pagtatantya.
Sa mas detalyadong pagsasalita, kapag nagpapatakbo tayo ng pamamaraan ng phase estimation gamit ang control qubit, ang nakukuha natin ay isang bilang na Pagkatapos ay kinukuha natin ang bilang hula para sa na sa kasong ito. Upang malaman kung ano ang mula sa pagtatantyaang ito, ang natural na gawin ay kalkulahin ang reciprocal ng ating pagtatantya at i-round sa pinakamalapit na integer.
Halimbawa, ipagpalagay natin na at nagsasagawa tayo ng phase estimation sa kasama ang eigenvector na gamit ang control bit. Ang pinakamahusay na -bit na pagtatantya sa ay at mayroon tayong medyo magandang pagkakataon (mga sa kasong ito) na makuha ang resulta na mula sa phase estimation. Mayroon tayo
at ang pag-round sa pinakamalapit na integer ay nagbibigay ng na siyang tamang sagot.
Sa kabilang banda, kung hindi tayo gumamit ng sapat na katumpakan, maaaring hindi tayo makakuha ng tamang sagot. Halimbawa, kung kukunin natin ang control qubit sa phase estimation, maaari tayong makuha ang pinakamahusay na -bit na pagtatantya sa na Ang pagkuha ng reciprocal ay nagbubunga ng
at ang pag-round sa pinakamalapit na integer ay nagbibigay ng maling sagot na
Kaya gaano karaming katumpakan ang kailangan natin upang makuha ang tamang sagot? Alam natin na ang order ay isang integer, at sa intuitive na pagsasalita ang kailangan natin ay sapat na katumpakan upang matukoy ang mula sa mga kalapit na posibilidad, kasama ang at Ang pinakamalapit na bilang sa na dapat nating pangalagaan ay at ang distansya sa pagitan ng dalawang bilang na ito ay
Kaya, kung nais nating tiyaking hindi natin ipagkakamali ang para sa sapat na ang gumamit ng sapat na katumpakan upang matiyak na ang pinakamahusay na pagtatantya na sa ay mas malapit sa kaysa sa Kung gagamit tayo ng sapat na katumpakan upang matiyak na
upang ang error ay mas mababa sa kalahati ng distansya sa pagitan ng at kung gayon ang ay magiging mas malapit sa kaysa sa anumang ibang posibilidad, kasama ang at
Maaari nating i-double-check ito tulad ng sumusunod. Ipagpalagay na
para sa na sumasaklaw sa
Kapag kinuha natin ang reciprocal nakukuha natin
Sa pamamagitan ng pag-maximize sa numerator at pag-minimize sa denominator, maaari nating limitahan kung gaano kalayo tayo mula sa tulad ng sumusunod.
Mas mababa tayo sa mula sa kaya tulad ng inaasahan makukuha natin ang kapag nag-round tayo.
Sa kasamaang-palad, dahil hindi pa natin alam kung ano ang hindi natin ito magagamit upang sabihin sa atin kung gaano karaming katumpakan ang kailangan natin. Ang maaari nating gawin sa halip ay gamitin ang katotohanang ang ay dapat na mas mababa sa upang matiyak na ginagamit natin ang sapat na katumpakan. Sa partikular, kung gagamit tayo ng sapat na katumpakan upang matiyak na ang pinakamahusay na pagtatantya na sa ay sumasaklaw sa
kung gayon magkakaroon tayo ng sapat na katumpakan upang tama ang pagdetermina sa kapag kinuha natin ang reciprocal. Ang pagkuha ng ay tinitiyak na mayroon tayong mataas na pagkakataon na makakuha ng pagtatantya na may katumpakang ito gamit ang pamamaraang inilarawan dati. (Ang pagkuha ng ay sapat kung komportable tayo sa lower bound na 40% sa probabilidad ng tagumpay.)
Pangkalahatang solusyon
Tulad ng ating nakita, kung mayroon tayo ang eigenvector na ng maaari nating matutunan ang sa pamamagitan ng phase estimation, hangga't gumagamit tayo ng sapat na mga control qubit upang gawin ito nang may sapat na katumpakan. Sa kasamaang-palad, hindi madaling makuha ang eigenvector na kaya kailangan nating malaman kung paano magpatuloy.
Ipagpalagay natin sandali na magpapatuloy tayo tulad ng nasa itaas, maliban na gamit ang eigenvector na sa lugar ng para sa anumang pagpili ng na gusto nating pag-isipan. Ang resulta na makukuha natin mula sa pamamaraan ng phase estimation ay magiging isang pagtatantya
Sa pag-aakalang hindi natin alam ang o maaari itong o hindi magbigay-daan sa atin na matukoy ang Halimbawa, kung makakakuha tayo ng pagtatantya na sa na sa kasamaang-palad ay walang sinasabi sa atin. Ngunit ito ay isang hindi karaniwang kaso; para sa ibang mga halaga ng maaari tayong matuto ng kahit ilang bagay tungkol sa
Maaari tayong gumamit ng algorithm na kilala bilang continued fraction algorithm upang gawing mga kalapit na fraction ang ating pagtatantya na — kasama ang kung sapat ang pagtatantya. Hindi natin ipapaliwanag dito ang continued fraction algorithm. Sa halip, narito ang pahayag ng isang kilalang katotohanan tungkol sa algorithm na ito.
Kung mayroon tayong napakalapit na pagtatantya na sa at pinapatakbo natin ang continued fraction algorithm para sa at makukuha natin ang at tulad ng inilarawan sa katotohanan. Ang pagsusuri ng katotohanan ay nagbibigay-daan sa atin na tapusin na
Pansinin na sa partikular na hindi natin kinakailangang matutunan ang at natututo lamang tayo ng sa pinakamababang termino.
Halimbawa, at tulad ng ating napansin na, hindi tayo matututo ng anuman mula sa Ngunit iyon lamang ang halaga ng na nangyayari iyon. Kapag ang ay hindi zero, maaaring mayroon itong mga common factor sa ngunit ang bilang na na nakukuha natin mula sa continued fraction algorithm ay dapat na hindi bababa sa hatiin ang
Malayo sa pagiging halata, ngunit totoo na kung mayroon tayong kakayahang matuto ng at para sa para sa na pinili nang random na pare-pareho, kung gayon malamang na malalaman natin ang pagkatapos ng ilang sample lamang. Sa partikular, kung ang ating hula para sa ay ang least common multiple ng lahat ng mga halaga para sa denominator na na ating naobserbahan, tama tayo nang may mataas na probabilidad. Sa intuitive na pagsasalita, ang ilang mga halaga ng ay hindi maganda dahil nagbabahagi sila ng mga common factor sa at ang mga common factor na iyon ay nakatago sa atin kapag natuto tayo ng at Ngunit ang mga random na pagpili ng ay malamang na hindi magtago ng mga factor ng nang matagal, at ang probabilidad na hindi tayo tama sa paghula ng sa pamamagitan ng pagkuha ng least common multiple ng mga denominator na ating naobserbahan ay bumabagsak nang exponentially sa bilang ng mga sample.
Nananatiling harapin ang isyu kung paano natin makukuha ang eigenvector na ng kung saan ipapatakbo natin ang pamamaraan ng phase estimation. Tulad ng makikita, hindi talaga nating kailangan na likhain ang mga ito!
Ang gagawin natin sa halip ay patakbuhin ang pamamaraan ng phase estimation sa estado na na ibig sabihin ay ang -bit binary encoding ng bilang na sa lugar ng isang eigenvector na ng Hanggang ngayon, pinag-usapan lamang natin ang pagpapatakbo ng pamamaraan ng phase estimation sa isang partikular na eigenvector, ngunit walang pumipigil sa atin na patakbuhin ang pamamaraan sa isang input state na hindi eigenvector ng at iyon ang ating ginagawa dito sa estado na (Hindi ito eigenvector ng maliban kung na hindi isang pagpili na magiging interesado tayo.)
Ang dahilan para sa pagpili ng estado na sa lugar ng isang eigenvector ng ay ang sumusunod na ekwasyon ay totoo.
Isang paraan upang ma-verify ang ekwasyong ito ay ang paghahambing ng mga inner product ng dalawang panig sa bawat standard basis state, gamit ang mga formula na binanggit kanina sa aralin upang makatulong sa pag-evaluate ng mga resulta para sa kanang panig. Bilang resulta, makakakuha tayo ng eksaktong parehong mga resulta ng pagsukat na parang pinili natin ang nang random na pare-pareho at gumamit ng bilang eigenvector.
Sa mas detalyadong pagsasalita, isipin natin na pinapatakbo natin ang pamamaraan ng phase estimation na may estado na sa lugar ng isa sa mga eigenvector na Pagkatapos isagawa ang inverse quantum Fourier transform, iniiwan tayo nito sa estado
kung saan
Ang vector na ay kumakatawan sa estado ng nangungunang qubit pagkatapos maisagawa ang inverse ng quantum Fourier transform sa kanila.
Kaya, dahil sa katotohanang ay isang orthonormal set, nakikita natin na ang pagsukat ng nangungunang qubit ay nagbubunga ng isang pagtatantya na sa halaga ng kung saan ang ay pinili nang random na pare-pareho. Tulad ng ating pinag-usapan na, nagbibigay-daan ito sa atin na matutunan ang nang may mataas na antas ng kumpiyansa pagkatapos ng ilang independiyenteng pagpapatakbo, na siyang ating layunin.
Kabuuang gastos
Ang gastos sa pagpapatupad ng bawat controlled-unitary na ay Mayroong controlled-unitary na operasyon, at mayroon tayong kaya ang kabuuang gastos para sa mga controlled-unitary na operasyon ay Bukod pa rito, mayroon tayong Hadamard gate (na nagdadagdag ng sa gastos), at ang inverse quantum Fourier transform ay nagdadagdag ng sa gastos. Kaya, ang gastos ng mga controlled-unitary na operasyon ay nangunguna sa gastos ng buong pamamaraan — na samakatuwid ay
Bukod pa sa quantum circuit mismo, mayroong ilang mga klasikal na kalkulasyon na kailangang isagawa sa daan. Kasama dito ang pagkalkula ng mga kapangyarihan na sa para sa na kinakailangan upang lumikha ng mga controlled-unitary gate, pati na rin ang continued fraction algorithm na nagko-convert ng mga pagtatantya ng sa mga fraction. Ang mga kalkulasyong ito ay maaaring isagawa ng mga Boolean circuit na may kabuuang gastos na
Tulad ng karaniwan, ang lahat ng mga boundna ito ay maaaring mapabuti gamit ang mga asymptotically fast na algorithm; ipinapalagay ng mga boundna ito na gumagamit tayo ng mga karaniwang algorithm para sa mga pangunahing operasyong aritmetika.
Factoring sa pamamagitan ng order finding
Ang huling bagay na kailangan nating talakayin ay kung paano ang paglutas ng order-finding problem ay tumutulong sa atin na mag-factor. Ang bahaging ito ay ganap na klasikal — wala itong partikular na kaugnayan sa quantum computing.
Narito ang pangunahing ideya. Nais nating i-factorize ang bilang na at magagawa natin ito nang recursive. Partikular, maaari tayong tumutok sa gawain ng paghati sa na nangangahulugang paghahanap ng anumang dalawang integer na kung saan Hindi ito posible kung ang ay isang prime number, ngunit maaari nating mahusay na subukan upang makita kung ang ay prime gamit muna ang isang primality testing algorithm, at kung ang ay hindi prime susubukan nating hatiin ito. Sa sandaling hatiin natin ang maaari tayong simpleng mag-recurse sa at hanggang ang lahat ng ating mga factor ay prime at makuha natin ang prime factorization ng
Ang paghati ng mga even integer ay madali: inilalabas lamang natin ang at
Madali rin ang paghati ng mga perfect power, na nangangahulugang mga numero ng anyo na para sa mga integer na sa pamamagitan ng pagtatantya sa mga ugat na at iba pa, at sinusuri ang mga kalapit na integer bilang mga suspek para sa Hindi na tayo kailangang pumunta nang higit sa na hakbang sa sekwensyang ito, dahil sa puntong iyon ang ugat ay bumababa sa ibaba ng at hindi na magrerevela ng mga karagdagang kandidato.
Maganda na magagawa natin ang parehong mga bagay na ito dahil ang order finding ay hindi makakatulong sa atin na mag-factor ng mga even number o para sa mga prime power, kung saan ang bilang na ay nagkataong prime. Kung ang ay odd at hindi isang prime power, gayunpaman, ang order finding ay nagbibigay-daan sa atin na hatiin ang
Ang isang pagpapatakbo ng algorithm na ito ay maaaring mabigo na mahanap ang isang factor ng Partikular, nangyayari ito sa dalawang sitwasyon:
- Ang order ng modulo ay odd.
- Ang order ng modulo ay even at
Gamit ang pangunahing number theory maaaring mapatunayang, para sa isang random na pagpili ng na may probabilidad na hindi bababa sa ang alinman sa mga pangyayaring ito ay hindi nangyayari. Sa katunayan, ang probabilidad na ang alinman sa mga pangyayari ay nangyayari ay hindi hihigit sa para sa bilang bilang ng mga natatanging prime factor ng na siyang dahilan kung bakit kinakailangan ang pag-aakalang ang ay hindi isang prime power. (Ang pag-aakalang ang ay odd ay kinakailangan din para maging totoo ang katotohanang ito.)
Nangangahulugan ito na ang bawat pagpapatakbo ay may hindi bababa sa 50% na pagkakataon na hatiin ang Samakatuwid, kung pinapatakbo natin ang algorithm nang beses, random na pinipili ang sa bawat pagkakataon, magtatagumpay tayo sa paghati ng nang may probabilidad na hindi bababa sa
Ang pangunahing ideya sa likod ng algorithm ay ang sumusunod. Kung mayroon tayong pagpili ng kung saan ang order ng modulo ay even, kung gayon ang ay isang integer at maaari nating isaalang-alang ang mga bilang
Gamit ang formula na matapos nating tapusin na
Ngayon, alam natin na ang sa pamamagitan ng kahulugan ng order — na isa pang paraan ng pagsasabing ang ay pantay na naghahati sa Nangangahulugan ito na ang ay pantay na naghahati sa produkto
Para maging totoo ito, ang lahat ng prime factor ng ay dapat na prime factor rin ng o ng (o ng pareho) — at para sa isang random na seleksyon ng ay lumalabas na hindi malamang na ang lahat ng prime factor ng ay hahatiin ang isa sa mga termino at wala ang hahatiin sa isa pa. Kung hindi, hanggang sa ilang prime factor ng ang hahatiin sa unang termino at ang ilan ay hahatiin sa pangalawang termino, malalaman natin ang isang non-trivial na factor ng sa pamamagitan ng pagkalkula ng GCD kasama ang unang termino.