Algoritmo ni Simon
Ang algoritmo ni Simon ay isang quantum query algorithm para sa problemang kilala bilang problema ni Simon. Ito ay isang promise problem na may katulad na diwa sa Deutsch-Jozsa at Bernstein-Vazirani na mga problema, ngunit magkaiba ang mga detalye.
Ang algoritmo ni Simon ay mahalaga dahil nagbibigay ito ng exponential na kalamangan ng quantum kumpara sa classical (kasama ang probabilistic) na mga algorithm, at ang teknikang ginamit nito ang nagbigay inspirasyon kay Peter Shor para matuklasan ang isang episyenteng quantum algorithm para sa integer factorization.
Problema ni Simon
Ang input na function para sa problema ni Simon ay may anyo
para sa mga positibong integer na at Maaari nating limitahan ang ating atensyon sa kaso na para sa kasimplihan, ngunit wala masyadong mapapala sa paggawa ng assumption na ito — ang algoritmo ni Simon at ang pagsusuri nito ay halos pareho kahit saan.
Tatalakayin natin ang promise para mas maunawaan kung ano ang sinasabi nito sa sandali, ngunit una, malinaw na ito ay nangangailangan na ang ay may napaka-espesyal na istruktura — kaya karamihan sa mga function ay hindi matutugunan ang promise na ito. Angkop din na kilalanin na ang problemang ito ay hindi inilaan para magkaroon ng praktikal na kahalagahan. Sa halip, ito ay isang medyo artipisyal na problema na espesyal na ginawa para maging madali para sa mga quantum computer at mahirap para sa mga classical computer.
May dalawang pangunahing kaso: ang unang kaso ay ang ay ang all-zero string na at ang ikalawang kaso ay ang ay hindi ang all-zero string.
-
Kaso 1: Kung ang ay ang all-zero string, maaari nating gawing mas simple ang if and only if na pahayag sa promise para mabasa itong Ito ay katumbas ng na isang one-to-one na function.
-
Kaso 2: Kung ang ay hindi ang all-zero string, ang promise na natutugunan para sa string na ito ay nagpapahiwatig na ang ay two-to-one, ibig sabihin na para sa bawat posibleng output string ng may eksaktong dalawang input string na nagdudulot sa na mag-output ng string na iyon. Bukod dito, ang dalawang input string na ito ay dapat nasa anyo ng at para sa ilang string na
Mahalaga na kilalanin na iisang string lamang na ang maaaring gumana kung ang promise ay natutugunan, kaya lagi may natatanging tamang sagot para sa mga function na natutugunan ang promise.
Narito ang isang halimbawa ng isang function na nasa anyo ng na natutugunan ang promise para sa string na
May iba't ibang input string at iba't ibang output string, bawat isa ay lumalabas nang dalawang beses — kaya ito ay isang two-to-one na function. Bukod dito, para sa anumang dalawang magkaibang input string na gumagawa ng parehong output string, makikita natin na ang bitwise XOR ng dalawang input string na ito ay katumbas ng na katumbas ng pagsasabi na alinman sa isa sa kanila ay katumbas ng isa pang XORed sa
Pansinin na ang tanging bagay na mahalaga tungkol sa aktwal na output string ay kung pareho o magkaiba ang mga ito para sa iba't ibang pagpipilian ng input string. Halimbawa, sa halimbawa sa itaas, may apat na string at na lumalabas bilang mga output ng Maaari nating palitan ang apat na string na ito ng iba't ibang string, basta't magkakaiba ang lahat, at ang tamang solusyon na ay hindi magbabago.
Paglalarawan ng algorithm
Narito ang isang quantum circuit diagram na kumakatawan sa algoritmo ni Simon.
Para maging malinaw, may na qubit sa itaas na inaaksyunan ng mga Hadamard gate at na qubit sa ibaba na direktang pumapasok sa query gate. Mukhang katulad ito ng mga algorithm na tinalakay na natin sa aralin, ngunit sa pagkakataong ito ay walang phase kickback; ang lahat ng na qubit sa ibaba ay pumapasok sa query gate sa estado na
Para malutas ang problema ni Simon gamit ang circuit na ito ay talagang mangangailangan ng ilang independyenteng pagpapatakbo nito na sinusundan ng isang classical post-processing na hakbang, na ilalarawan mamaya pagkatapos masuri ang gawi ng circuit.
Pagsusuri
Ang pagsusuri ng algoritmo ni Simon ay nagsisimula sa katulad na paraan sa algoritmo ng Deutsch-Jozsa. Pagkatapos isagawa ang unang layer ng mga Hadamard gate sa itaas na na qubit, ang estado ay nagiging
Kapag isasagawa ang ang output ng function na ay XORed sa all-zero na estado ng ibabang na qubit, kaya ang estado ay nagiging
Kapag isasagawa ang pangalawang layer ng mga Hadamard gate, makukuha natin ang sumusunod na estado sa pamamagitan ng paggamit ng parehong formula para sa aksyon ng isang layer ng mga Hadamard gate tulad ng dati.
Sa puntong ito, ang pagsusuri ay nag-iiba mula sa mga nauna sa araling ito.
Interesado tayo sa probabilidad na ang mga sukat ay magreresulta sa bawat posibleng string na Sa pamamagitan ng mga panuntunan para sa pagsusuri ng mga sukat na inilarawan sa aralin na Multiple systems ng kursong Basics of quantum information, nalaman natin na ang probabilidad na para makuha ang string na ay katumbas ng
Para mas maunawaan ang mga probabilidad na ito, kailangan natin ng kaunting karagdagang notasyon at terminolohiya. Una, ang range ng function na ay ang set na naglalaman ng lahat ng output string nito.
Pangalawa, para sa bawat string na maaari nating ipahayag ang set ng lahat ng input string na nagdudulot sa function na mag-evaluate sa output string na bilang
Ang set na ay kilala bilang ang preimage ng sa ilalim ng Maaari nating tukuyin ang preimage sa ilalim ng ng anumang set sa lugar ng sa katulad na paraan — ito ang set ng lahat ng elemento na iminamapa ng sa set na iyon. (Ang notasyong ito ay hindi dapat ipagkamali sa inverse ng function na na maaaring hindi umiiral. Ang katotohanan na ang argumento sa kaliwang bahagi ay ang set na sa halip na ang elemento na ang palatandaan na nagpapahintulot sa atin na maiwasan ang pagkalito na ito.)
Gamit ang notasyong ito, maaari nating hatiin ang sum sa ating expression para sa mga probabilidad sa itaas para makuha
Ang bawat string na ay kinakatawan nang eksaktong isang beses ng dalawang summation — sa esensya ay inilalagay lamang natin ang mga string na ito sa magkakahiwalay na mga timba depende kung aling output string na ang magagawa nila kapag sinuri natin ang function na at pagkatapos ay magbibigay ng sum nang hiwalay sa lahat ng timba.
Maaari na nating suriin ang Euclidean norm squared para makuha
Para mas gawing simple ang mga probabilidad na ito, tingnan natin ang halaga
para sa isang arbitrary na pagpili ng
Kung mangyari na ang kung gayon ang ay isang one-to-one na function at lagi lamang may iisang elemento na para sa bawat Ang halaga ng expression na ay sa kasong ito.
Kung, sa kabilang banda, ang kung gayon may eksaktong dalawang string sa set na Para maging tumpak, kung pipiliin natin ang na maging alinman sa dalawang string na ito, kung gayon ang kabilang string ay dapat sa pamamagitan ng promise sa problema ni Simon. Gamit ang obserbasyon na ito maaari nating gawing simple ang tulad ng sumusunod.
Kaya, lumalabas na ang halaga na ay independyente sa partikular na pagpili ng sa magkabilang kaso.
Maaari na nating tapusin ang pagsusuri sa pamamagitan ng pagtingin sa parehong dalawang kaso tulad ng dati nang hiwalay.
-
Kaso 1: Sa kasong ito ang function na ay one-to-one, kaya may na string na at makukuha natin
Sa madaling salita, ang mga sukat ay nagreresulta sa isang string na na pinili nang uniformly at random.
-
Kaso 2: Sa kasong ito ang ay two-to-one, kaya may na elemento sa Gamit ang formula mula sa itaas, concludes tayo na ang probabilidad na sukatin ang bawat ay
Sa madaling salita, nakukuha natin ang isang string na pinili nang uniformly at random mula sa set na na naglalaman ng na string. (Dahil ang eksaktong kalahati ng mga binary string na may haba ay may binary dot product na sa at ang iba pa ay may binary dot product na sa tulad ng naobserbahan na natin sa pagsusuri ng algoritmo ng Deutsch-Jozsa para sa problema ng Bernstein-Vazirani.)
Classical post-processing
Alam na natin kung ano ang mga probabilidad para sa mga posibleng resulta ng sukat kapag pinatakbo natin ang quantum circuit para sa algoritmo ni Simon. Sapat na ba ang impormasyong ito para matukoy ang ?
Ang sagot ay oo, basta handa tayong ulitin ang proseso nang ilang beses at tanggapin na maaaring mabigo ito sa ilang probabilidad, na maaari nating gawing napakaliit sa pamamagitan ng pagpapatakbo ng circuit nang sapat na beses. Ang pangunahing ideya ay ang bawat pagpapatupad ng circuit ay nagbibigay sa atin ng estadistikal na katibayan tungkol sa at maaari nating gamitin ang katibayan na iyon para mahanap ang na may napataas na probabilidad kung pinatakbo natin ang circuit nang sapat na maraming beses.
Ipagpalagay natin na pinatakbo natin ang circuit nang nakapag-iisang beses, para sa Walang espesyal tungkol sa partikular na bilang ng pag-uulit na ito — maaari tayong kumuha ng mas malaki (o mas maliit) na depende sa probabilidad ng pagkabigo na handa tayong tiisin, tulad ng makikita natin. Ang pagpili ng ay titiyak na mayroon tayong mahigit % na pagkakataon ng pagbawi ng
Sa pamamagitan ng pagpapatakbo ng circuit nang beses, makukuha natin ang mga string na Para maging malinaw, ang mga superscript dito ay bahagi ng mga pangalan ng mga string na ito, hindi mga exponent o mga index sa kanilang mga bit, kaya mayroon tayo
Ngayon ay bumubuo tayo ng matris na na may na row at na column sa pamamagitan ng pagkuha ng mga bit ng mga string na ito bilang mga binary-valued na entry.
Ngayon, hindi natin alam kung ano ang sa puntong ito — ang ating layunin ay mahanap ang string na ito. Ngunit isipin sandali na alam natin ang string na at bumubuo tayo ng column vector na mula sa mga bit ng string na tulad ng sumusunod.
Kung isasagawa natin ang matrix-vector multiplication na modulo — ibig sabihin, ginagawa natin ang multiplication tulad ng dati at pagkatapos ay kinukuha ang natitirang bahagi ng mga entry ng resulta pagkatapos hatiin sa — makukuha natin ang all-zero vector.
Ibig sabihin, na tinatrato bilang isang column vector na tulad ng inilarawan lamang, ang string na ay laging magiging isang elemento ng null space ng matris na basta ginagawa natin ang aritmetika modulo Ito ay totoo sa parehong kaso na at Para maging mas tumpak, ang all-zero vector ay laging nasa null space ng at sinasamahan ito ng vector na ang mga entry ay ang mga bit ng sa kaso na ang
Ang natitirang tanong ay kung magkakaroon pa ng ibang mga vector sa null space ng bukod sa mga katumbas ng at Ang sagot ay ito ay nagiging lalong hindi malamang habang tumaas ang — at kung pipiliin natin ang ang null space ng ay hindi maglalaman ng ibang mga vector karagdagan sa mga katumbas ng at na may mahigit % na pagkakataon. Sa pangkalahatan, kung papalitan natin ang ng para sa isang arbitrary na pagpili ng positibong integer na ang probabilidad na ang mga vector na katumbas ng at ay mag-isa sa null space ng ay hindi bababa sa
Gamit ang linear algebra, posibleng mahusay na kalkulahin ang isang paglalarawan ng null space ng modulo Partikular, maaari itong gawin gamit ang Gaussian elimination, na gumagana sa parehong paraan kapag ang aritmetika ay ginagawa modulo tulad ng sa mga tunay o kumplikadong numero. Basta ang mga vector na katumbas ng at ay mag-isa sa null space ng na nangyayari nang may mataas na probabilidad, maaari nating ibukod ang mula sa mga resulta ng computation na ito.
Kahirapan ng classical
Ilang query ang kailangan ng isang classical query algorithm para malutas ang problema ni Simon? Ang sagot ay: marami, sa pangkalahatan.
May iba't ibang tumpak na pahayag na maaaring gawin tungkol sa kahirapan ng classical ng problemang ito, at narito ang isa sa kanila. Kung mayroon tayong anumang probabilistic query algorithm, at ang algorithm na iyon ay gumagawa ng mas kaunting na query, na isang bilang ng query na exponential sa kung gayon ang algorithm na iyon ay mabibigo sa paglutas ng problema ni Simon na may probabilidad na hindi bababa sa
Minsan, ang pagpapatunay ng mga imposibilidad na resulta tulad nito ay maaaring napakahirap, ngunit ang ito ay hindi masyadong mahirap patunayan sa pamamagitan ng isang elementaryang probabilistic na pagsusuri. Dito, gayunpaman, ay maikling susuriin lamang natin ang pangunahing intuisyon sa likod nito.
Sinusubukan nating mahanap ang nakatagong string na ngunit basta hindi tayo nag-query ng function sa dalawang string na may parehong output value, makakakuha tayo ng limitadong impormasyon tungkol sa Sa intuwisyon, ang matututunan lamang natin ay ang nakatagong string na ay hindi ang exclusive-OR ng anumang dalawang magkaibang string na na-query natin. At kung mag-query tayo ng mas kaunting na string, magkakaroon pa rin ng maraming pagpipilian para sa na hindi pa natin na-rule out dahil hindi sapat ang mga pares ng string para gawin ito. Hindi ito isang pormal na patunay, ito lamang ang pangunahing ideya.
Kaya, sa buod, ang algoritmo ni Simon ay nagbibigay sa atin ng kapansin-pansing kalamangan ng quantum kumpara sa mga classical algorithm sa loob ng query model. Sa partikular, ang algoritmo ni Simon ay naglulutas ng problema ni Simon gamit ang isang bilang ng query na linear sa bilang ng input bits na ng ating function, samantalang ang anumang classical algorithm, kahit probabilistic, ay kailangang gumawa ng isang bilang ng query na exponential sa para malutas ang problema ni Simon na may makatwirang probabilidad ng tagumpay.