Doičo Džozo algoritmas yra kvantinis algoritmas pasiūlytas ir 1992 m Jis buvo vienas iš pirmų algoritmų sukurtų kvantini
Doičo Džozo algoritmas

Doičo-Džozo algoritmas yra kvantinis algoritmas, pasiūlytas ir 1992 m. Jis buvo vienas iš pirmų algoritmų sukurtų kvantiniams kompiuteriams, kuris naudodamas tokius reiškinius kaip superpozicija ir paralelizmas turėtų būti žymiai efektingesnis, nei klasikiniai algoritmai.
Doičo-Džozo algoritmas duoda eksponentinį paspartėjimą (atskirais atvejais ir tik tada kai reikia, kad suklydimo tikimybė būtų 0). Klasikiniam kompiuteriui, kad išspręsti tokią užduotį reikia bandymų blogiausiu atveju (geriausiu atveju – tik dviejų bandymų, jei pasitaikė subalansuota funkcija), o kvantiniui kompiuteriui tik 1 bandymo, kur n kubitų skaičius (be paskutinio kubito |1>). Pavyzdžiui, jei (kubitas kuris yra busenoje |0>), tai klasikiniui kompiuteriui reikia bandymu, o kvantiniui kompiuteriui reikia vieno bandymo. Jei tai klasikiniui kompiuteriui reikia k ≤ bandymų, o kvantiniui tik 1 bandymo. Jei , tai klasikiniui kompiuteriui reikia k ≤ bandymų. Jei , tai klasikiniui kompiuteriui reikia k ≤ bandymų. Jei , tai klasikiniui kompiuteriui reikia k ≤ bandymų, kvanitniui kompiuteriui tik 1 bandymo.
Su tikimybiniu kompiuteriu galima nustatyti suklydymo tikimybę po k bandymų, kur Tikimybiniam kompiuteriu reikia bandymų (priklausomai kokio tikslumo reikia), o kvantiniui kompiuteriui tik 1 bandymo. Pavyzdžiui, po 100 bandymų neteisingo atsakymo tikimybė yra Tikimybė klaidingo atsakymo tokia maža, kad ir skaičiuojant milijardus metų klaidingas atsakymas nebus apskaičiuotas. Todėl praktišku požiuriu kvantinis kompiuteris Doičo-Jozso problemą nesprendžia greičiau (nei tikimybinis kompiuteris). Kad padaryti daugiau nei 100 užklausimų bitų/kubitų skaičius turi buti (nes ).
Kadangi subalansuotų funkcijų gali būti eksponentiškai daugiau nei konstantų funkcijų (kurių, nepriklausomai nuo bitų/kubitų skaičiaus visada yra tik dvi), tai tokiu atvej net ir klasikinis kompiuteris už kvantinį kompiuterį nėra eksponentiškai lėtesnis, bet atotrukis kvantinio kompiuterio nuo klasikinio yra eksponentiškai mažas. Tačiau, jeigu parinkti, kad subalansuotų funkcijų būtų tiek pat kaip ir konstantų (tik 2), tai tada klasikinis kompiuteris yra eksponentiskai lėtesnis nei kvantinis kompiuteris.
Buvo pasiūlyta šį straipsnį ar skyrių, kaip parašytą vadovėlio stiliumi, perkelti į Vikiknygas. Taip pat galite šį straipsnį pritaikyti Vikipedijai - perrašyti enciklopediniu stiliumi. |
Doičo algoritmas su 2 kubitais
Praleidus per Hadamardo vartus |0>|1>=|01> gauname
Toliau praleidus pro orakulą šią buseną, gauname
Pavyzdžiui, apskaičiuosime :
Toliau praleidžiame pro Hadamardo vartus šią būseną:
Čia minusas reiškia fazę, tačiau fazė negali būti išmatuota, todėl atsakymas bus |01>. Kadangi pirmas kubitas yra |0> tai funkcija yra konstanta. Po antro kubito išėjimo superpozicijoje Hadamardo vartų galima ir nedėti ir jo nematuoti.
- Apskaičiuosime :
Pirmas kubitas |1>, taigi funkcija subalansuota.
- Apskaičiuosime :
Pirmas kubitas |1>, taigi funkcija subalansuota.
- Apskaičiuosime :
Pirmas kubitas |0>, taigi funkcija konstanta.
0 1 0 1 0 1 1 0
Klasikiniu atveju neįmanoma nustatyti, ar funkcija konstanta ( ir ) ar subalansuota ( ir ), algoritmą reikia paleisti du kartus (pavyzdžiui, iš pradžių idėjus 00, o paskui 10), kvantiniu atveju užtenka vieno paleidimo išmatavus pirmą (viršutinį) kubitą. Jeigu pirmas kubitas yra ant išėjimo |0>, reiškia funkcija yra konstanta ( arba ) ir jeigu pirmas kubitas išmatuotas yra |1>, tai funkcija yra subalansuota ( arba ). Tiek klasikinio tiek kvantinio algoritmo principas veikimo yra toks. Yra jau sukurtas klasikinis ar tai kvantinis kompiuteris ir jis sukurtas taip, kad veiktų su vieną iš keturių funkcijų (, , , ). Jis jau taip sukonstruotas, kad jame jau idėtas tam tikras veikimas, bet mes nežinome koks. Paleidus kvantinį kompiuteri (Doičo algoritmą) iš vieno paleidimo išaiškeja, kaip jis viduje padarytas ir kuri funkcija „įdėta“ (subalansuota ar konstanta). Klasikiniu kompiuteriu reikia paleisti tam tikru budu du kartus algoritmą su skirtingom kažkurio vieno kubito vertėm (0 arba 1), kad nustatyti pagal kokią funkciją sukurtas orakulas (juodoji dežė) – pats kompiuteris.
Kita vertus, klasikinis algoritmas po dviejų paleidimų nustato ne tik funkcijos rušį (subalansuota ar konstanta), bet ir pačią funciją (pvz., ). Pavyzdžiui, įleidome į klasikinį orakulą 00 ir gavome 00, reiškia funkcija yra arba , tada antrą kartą įdėjome 10 ir gavome 11, vadinasi funkcija yra .
in 00 out 00 01 10 11 rezultatas arba arba pirmas bitas negali pasikeisti pirmas bitas negali pasikeisti
in 01 out 00 01 10 11 resultatas arba arba pirmas bitas negali pasikeisti pirmas bitas negali pasikeisti
in 10 out 00 01 10 11 resultatas pirmas bitas negali pasikeisti pirmas bitas negali pasikeisti arba arba
in 11 out 00 01 10 11 resultatas pirmas bitas negali pasikeisti pirmas bitas negali pasikeisti arba arba
Doičo-Džozo algoritmas su 3 kubitais
Su kvantiniu kompiuteriu užtenka 1 paleidimo ir 2 pirmų kubitų matavimo, o su klasikiniu kompiuteriu reikia atlikti 4 paleidimus ir kiekvieną kartą matuoti tik 1 trečią kubitą, kad nustatyti ar funkcija subalansuota ar konstanta.
Dabar visus 3 kubitus praleisime pro Hadamardo vartus: Dabar pažymėkime, kad pirmas kubitas yra , antras kubitas yra , o trečias kubitas yra . Dabar praleisime visus tris kubitus pro Controlled-U vartus
- Apskaičiuosime :
Abu pirmi kubitai |00>, todel funkcija yra konstanta.
- Apskaičiuosime :
Funkcija yra subalansuota, nes abu pirmi kubitai |10> nėra nuliai (funkcija yra konstanta tik tuo atveju kai du pirmi kubitai ant išėjimo yra nuliai).
- Apskaičiuosime :
Pirmi du kubitai yra išmatuoti |01>, todėl funkcija yra subalansuota.
- Apskaičiuosime :
Funkcija subalansuota, nes primi du kubitai vienetai.
Funkcijos ir yra konstantos, o visos kitos funkcijos , , , , , yra subalansuotos.
x 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1
Suvedame visus įmanomus išėjimus, funkcijos patikrinimui, kai įėjimas |001>:
- ---> |001>;
- ---> -|001>;
- ---> |101>;
- ---> -|101>;
- ---> |011>;
- ---> -|011>;
- ---> |111>;
- ---> -|111>.
Doičo-Džozo algoritmas su 4 kubitais
Tarkime, turime tokį įėjimą: |0>|0>|0>|1>=|0001>. Praleileidžiame visus kubitus pro Hadamardo vartus:
- Toliau praleidžiame per funkciją ():
- Apskaičiuosime, pavyzdžiui, :
3 pirmi kubitai ne nuliai (|001>), todėl funkcija subalansuota.
Konstantos yra tik funkcijos ir , o visos kitos subalansuotos.
x 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0
Šioje lenetelėje išvardintos ne visos subalansuotos funkcijos. Pagal dernių formulę subalansuotų funkcijų yra Bendrai su konstantomis funkcijų yra 72.
- Klasikiniui kompiuteriui funkcija nustatyti yra sunku dėl to, kad reikia sugeneruoti (pavyzdžiui, tikimybiškai metant monetą) labai daug bitų variantų nes pusė variantų sugeneruotų bitų kombinacijų (pavyzdziui: 000, 001, 011, 101) bus funkcijos "0" ir pusė "1". Atrodytų sugeneruoji atsitiktinę seka (001, 100, 101) ir to turėtų vidutiniškai užtenkti nustatyti ar funkcija subalansuota ar konstanta, nes po kelių paleidimų turėtu išryškėti, kad funkcija subalansuota (nes vienodai galimybiu, kad iškris ir , tačiau tikimybiniu tikrinimu bus beveik neįmanoma patikrinti ar funkcija konstanta, nes vis tiek lieka tikimybė, kad tai gali būti vis ta pati subalansuota funkcija, kurios ta pati reikšmė (pvz., (subalansuotos)), kartojasi ir kad būti 100 % užtikrintam, kad mes vis nepapuolėm ant subalansuotos funkcijos reikšmes, kai ji vis išduoda "1", reikia arba pakartoti begalybę kartų „tikimybinių bitų“ generavimą arba skaičiuoti ne tikimybiškai, o deterministiškai, nuosekliai. Bet skaičiuojant nuosekliai bitų/kubitų variantai. Tai turės subalansuotų funkcijų iš kurių bent maža dalis turės 00001111 arba 11110000 ar 00011101 sekas, kurias iš eilės tikrinant prireiks kaip šiuo atvejų 5 ar 4 patikrinimų. Aišku dažniausiai bus funkcijos 001100101, 100010101, kada užtenka 2 ar 3 patikrinimų paleidžiant tam tikras kubitų kombinacijas visada ta pačia tvarka. Jei bitų yra n, tai bus tokių funkcijų kurias nuosekliai tikrinant reikės patikrinimų. Aišku tokių (subalansuotų) funkcijų bus vos 1 % ir tokių funkcijų su daugiau ir daugiau kubitų bus vis mažiau eksponentiškai, bet kvantinis kompiuteris vis tiek bus kartų greitesnis, bet abu kompiuteriai užtruks labai daug laiko ir, palyginus, kvantinis kompiuteris užtruks apytiksliai laiko, o klasikinis laiko. Subalansuotų funkcijų iš viso gali būti , o konstantų – tik 2, kur yra deriniai, o n bitų/kubitų skaičius (be paskutinio |1>).
Bendras Doičo-Džozo algoritmo skaičiavimas
Manykime, turime n+1 kubitų (įėjimų) būsenoje |0> ir vieną paskutinį kubitą busenoje |1>. Pažymėkime visus kubitus taip:
- .
Praleidžiame visus kubitus per Hadamardo vartus:
Autorius: www.NiNa.Az
Išleidimo data:
vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu, mobilusis, porn, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, pornografija, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris, Informacija apie Doičo Džozo algoritmas, Kas yra Doičo Džozo algoritmas? Ką reiškia Doičo Džozo algoritmas?
Doico Dzozo algoritmas yra kvantinis algoritmas pasiulytas ir 1992 m Jis buvo vienas is pirmu algoritmu sukurtu kvantiniams kompiuteriams kuris naudodamas tokius reiskinius kaip superpozicija ir paralelizmas turetu buti zymiai efektingesnis nei klasikiniai algoritmai Doico Dzozo algoritmas duoda eksponentinį paspartejima atskirais atvejais ir tik tada kai reikia kad suklydimo tikimybe butu 0 Klasikiniam kompiuteriui kad isspresti tokia uzduotį reikia 2n 1 1 displaystyle 2 n 1 1 bandymu blogiausiu atveju geriausiu atveju tik dvieju bandymu jei pasitaike subalansuota funkcija o kvantiniui kompiuteriui tik 1 bandymo kur n kubitu skaicius be paskutinio kubito 1 gt Pavyzdziui jei n 1 displaystyle n 1 kubitas kuris yra busenoje 0 gt tai klasikiniui kompiuteriui reikia k 21 1 1 2 displaystyle k 2 1 1 1 2 bandymu o kvantiniui kompiuteriui reikia n 1 displaystyle n 1 vieno bandymo Jei n 2 displaystyle n 2 tai klasikiniui kompiuteriui reikia k 22 1 1 3 displaystyle 2 2 1 1 3 bandymu o kvantiniui tik 1 bandymo Jei n 3 displaystyle n 3 tai klasikiniui kompiuteriui reikia k 23 1 1 5 displaystyle 2 3 1 1 5 bandymu Jei n 4 displaystyle n 4 tai klasikiniui kompiuteriui reikia k 24 1 1 9 displaystyle 2 4 1 1 9 bandymu Jei n 5 displaystyle n 5 tai klasikiniui kompiuteriui reikia k 25 1 1 17 displaystyle 2 5 1 1 17 bandymu kvanitniui kompiuteriui tik 1 bandymo Su tikimybiniu kompiuteriu galima nustatyti suklydymo tikimybe ϵ 12 k 1 displaystyle epsilon leq 1 over 2 k 1 po k bandymu kur k 2n 1 1 displaystyle k leq 2 n 1 1 Tikimybiniam kompiuteriu reikia k log2 1ϵ 1 displaystyle k log 2 1 over epsilon 1 bandymu priklausomai kokio tikslumo ϵ displaystyle epsilon reikia o kvantiniui kompiuteriui tik 1 bandymo Pavyzdziui po 100 bandymu neteisingo atsakymo tikimybe yra ϵ 2 100 10 30 displaystyle epsilon leq 2 100 approx 10 30 Tikimybe klaidingo atsakymo tokia maza kad ir skaiciuojant milijardus metu klaidingas atsakymas nebus apskaiciuotas Todel praktisku poziuriu kvantinis kompiuteris Doico Jozso problema nesprendzia greiciau nei tikimybinis kompiuteris Kad padaryti daugiau nei 100 uzklausimu bitu kubitu skaicius turi buti gt 8 displaystyle gt 8 nes 28 1 1 129 displaystyle 2 8 1 1 129 Kadangi subalansuotu funkciju gali buti eksponentiskai daugiau nei konstantu funkciju kuriu nepriklausomai nuo bitu kubitu skaiciaus visada yra tik dvi tai tokiu atvej net ir klasikinis kompiuteris uz kvantinį kompiuterį nera eksponentiskai letesnis bet atotrukis kvantinio kompiuterio nuo klasikinio yra eksponentiskai mazas Taciau jeigu parinkti kad subalansuotu funkciju butu tiek pat kaip ir konstantu tik 2 tai tada klasikinis kompiuteris yra eksponentiskai letesnis nei kvantinis kompiuteris Buvo pasiulyta sį straipsnį ar skyriu kaip parasyta vadovelio stiliumi perkelti į Vikiknygas Taip pat galite sį straipsnį pritaikyti Vikipedijai perrasyti enciklopediniu stiliumi Doico algoritmas su 2 kubitaisDoico algoritmas funkcijos nustatymas subalansuota ar konstanta Praleidus per Hadamardo vartus 0 gt 1 gt 01 gt gauname 12 0 1 12 0 1 12 00 01 10 11 displaystyle 1 over sqrt 2 0 rangle 1 rangle 1 over sqrt 2 0 rangle 1 rangle 1 over 2 00 rangle 01 rangle 10 rangle 11 rangle Toliau praleidus pro orakula sia busena gauname 12 0 1 0 f x 1 f x displaystyle 1 over 2 0 rangle 1 rangle 0 oplus f x rangle 1 oplus f x rangle 12 0 0 f 0 0 1 f 0 1 0 f 1 1 1 f 1 displaystyle 1 over 2 0 rangle 0 oplus f 0 rangle 0 rangle 1 oplus f 0 rangle 1 rangle 0 oplus f 1 rangle 1 rangle 1 oplus f 1 rangle Pavyzdziui apskaiciuosime f2 x displaystyle f 2 x 12 0 0 f2 0 0 1 f2 0 1 0 f2 1 1 1 f2 1 displaystyle 1 over 2 0 rangle 0 oplus f 2 0 rangle 0 rangle 1 oplus f 2 0 rangle 1 rangle 0 oplus f 2 1 rangle 1 rangle 1 oplus f 2 1 rangle 12 0 0 1 0 1 1 1 0 1 1 1 1 displaystyle 1 over 2 0 rangle 0 oplus 1 rangle 0 rangle 1 oplus 1 rangle 1 rangle 0 oplus 1 rangle 1 rangle 1 oplus 1 rangle 12 0 1 0 0 1 1 1 0 12 0 1 0 1 displaystyle 1 over 2 0 rangle 1 rangle 0 rangle 0 rangle 1 rangle 1 rangle 1 rangle 0 rangle 1 over 2 0 rangle 1 rangle 0 rangle 1 rangle Toliau praleidziame pro Hadamardo vartus sia busena 0 5 01 gt 00 gt 11 gt 10 gt displaystyle 0 5 01 gt 00 gt 11 gt 10 gt 0 5 0 5 0 gt 1 gt 0 gt 1 gt 0 5 0 gt 1 gt 0 gt 1 gt 0 5 0 gt 1 gt 0 gt 1 gt 0 5 0 gt 1 gt 0 gt 1 gt displaystyle 0 5 0 5 0 gt 1 gt 0 gt 1 gt 0 5 0 gt 1 gt 0 gt 1 gt 0 5 0 gt 1 gt 0 gt 1 gt 0 5 0 gt 1 gt 0 gt 1 gt 0 25 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt displaystyle 0 25 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 0 25 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt displaystyle 0 25 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 00 gt 01 gt 10 gt 11 gt 0 25 4 01 gt 01 gt displaystyle 0 25 4 01 gt 01 gt Doico algoritmas Funkciju gelezis Hadamardo vartai Kvantiniai NOT vartai CNOT vartai Cia minusas reiskia faze taciau faze negali buti ismatuota todel atsakymas bus 01 gt Kadangi pirmas kubitas yra 0 gt tai funkcija yra konstanta Po antro kubito isejimo superpozicijoje Hadamardo vartu galima ir nedeti ir jo nematuoti Apskaiciuosime f3 x displaystyle f 3 x 0 1 12 0 1 12 0 1 12 00 01 10 11 displaystyle 0 rangle 1 rangle to 1 over sqrt 2 0 rangle 1 rangle 1 over sqrt 2 0 rangle 1 rangle 1 over 2 00 rangle 01 rangle 10 rangle 11 rangle to 12 0 0 f3 0 0 1 f3 0 1 0 f3 1 1 1 f3 1 displaystyle to 1 over 2 0 rangle 0 oplus f 3 0 rangle 0 rangle 1 oplus f 3 0 rangle 1 rangle 0 oplus f 3 1 rangle 1 rangle 1 oplus f 3 1 rangle 12 0 0 0 0 1 0 1 0 1 1 1 1 displaystyle 1 over 2 0 rangle 0 oplus 0 rangle 0 rangle 1 oplus 0 rangle 1 rangle 0 oplus 1 rangle 1 rangle 1 oplus 1 rangle 12 0 0 0 1 1 1 1 0 12 0 1 0 1 1 1 displaystyle 1 over 2 0 rangle 0 rangle 0 rangle 1 rangle 1 rangle 1 rangle 1 rangle 0 rangle 1 over 2 0 rangle 1 rangle 0 rangle 1 rangle to 1 rangle 1 rangle Pirmas kubitas 1 gt taigi funkcija subalansuota Apskaiciuosime f4 x displaystyle f 4 x 0 1 12 0 1 12 0 1 12 00 01 10 11 displaystyle 0 rangle 1 rangle to 1 over sqrt 2 0 rangle 1 rangle 1 over sqrt 2 0 rangle 1 rangle 1 over 2 00 rangle 01 rangle 10 rangle 11 rangle to 12 0 0 f4 0 0 1 f4 0 1 0 f4 1 1 1 f4 1 displaystyle to 1 over 2 0 rangle 0 oplus f 4 0 rangle 0 rangle 1 oplus f 4 0 rangle 1 rangle 0 oplus f 4 1 rangle 1 rangle 1 oplus f 4 1 rangle 12 0 0 1 0 1 1 1 0 0 1 1 0 displaystyle 1 over 2 0 rangle 0 oplus 1 rangle 0 rangle 1 oplus 1 rangle 1 rangle 0 oplus 0 rangle 1 rangle 1 oplus 0 rangle 12 01 00 10 11 12 0 1 0 1 1 12 0 1 11 11 displaystyle 1 over 2 01 rangle 00 rangle 10 rangle 11 rangle 1 over 2 0 rangle 1 rangle 0 rangle 1 rangle to 1 rangle 1 over sqrt 2 0 rangle 1 rangle 11 rangle to 11 rangle Pirmas kubitas 1 gt taigi funkcija subalansuota Funkcijos nustatymas klasikiniu algoritmu Funkcijos nustatymas su klasikiniais loginiais elementais Apskaiciuosime f1 x displaystyle f 1 x 0 1 12 0 1 12 0 1 12 00 01 10 11 displaystyle 0 rangle 1 rangle to 1 over sqrt 2 0 rangle 1 rangle 1 over sqrt 2 0 rangle 1 rangle 1 over 2 00 rangle 01 rangle 10 rangle 11 rangle to 12 0 0 f1 0 0 1 f1 0 1 0 f1 1 1 1 f1 1 displaystyle to 1 over 2 0 rangle 0 oplus f 1 0 rangle 0 rangle 1 oplus f 1 0 rangle 1 rangle 0 oplus f 1 1 rangle 1 rangle 1 oplus f 1 1 rangle 12 0 0 0 0 1 0 1 0 0 1 1 0 displaystyle 1 over 2 0 rangle 0 oplus 0 rangle 0 rangle 1 oplus 0 rangle 1 rangle 0 oplus 0 rangle 1 rangle 1 oplus 0 rangle 12 00 01 10 11 12 0 1 0 1 01 displaystyle 1 over 2 00 rangle 01 rangle 10 rangle 11 rangle 1 over 2 0 rangle 1 rangle 0 rangle 1 rangle to 01 rangle Pirmas kubitas 0 gt taigi funkcija konstanta f1 x displaystyle f 1 x f2 x displaystyle f 2 x f3 x displaystyle f 3 x f4 x displaystyle f 4 x x 0 displaystyle x 0 0 1 0 1x 1 displaystyle x 1 0 1 1 0 Klasikiniu atveju neįmanoma nustatyti ar funkcija konstanta f1 x displaystyle f 1 x ir f2 x displaystyle f 2 x ar subalansuota f3 x displaystyle f 3 x ir f4 x displaystyle f 4 x algoritma reikia paleisti du kartus pavyzdziui is pradziu idejus 00 o paskui 10 kvantiniu atveju uztenka vieno paleidimo ismatavus pirma virsutinį kubita Jeigu pirmas kubitas yra ant isejimo 0 gt reiskia funkcija yra konstanta f1 x displaystyle f 1 x arba f2 x displaystyle f 2 x ir jeigu pirmas kubitas ismatuotas yra 1 gt tai funkcija yra subalansuota f3 x displaystyle f 3 x arba f4 x displaystyle f 4 x Tiek klasikinio tiek kvantinio algoritmo principas veikimo yra toks Yra jau sukurtas klasikinis ar tai kvantinis kompiuteris ir jis sukurtas taip kad veiktu su viena is keturiu funkciju f1 x displaystyle f 1 x f2 x displaystyle f 2 x f3 x displaystyle f 3 x f4 x displaystyle f 4 x Jis jau taip sukonstruotas kad jame jau idetas tam tikras veikimas bet mes nezinome koks Paleidus kvantinį kompiuteri Doico algoritma is vieno paleidimo isaiskeja kaip jis viduje padarytas ir kuri funkcija įdeta subalansuota ar konstanta Klasikiniu kompiuteriu reikia paleisti tam tikru budu du kartus algoritma su skirtingom kazkurio vieno kubito vertem 0 arba 1 kad nustatyti pagal kokia funkcija sukurtas orakulas juodoji deze pats kompiuteris Kita vertus klasikinis algoritmas po dvieju paleidimu nustato ne tik funkcijos rusį subalansuota ar konstanta bet ir pacia funcija pvz f3 x displaystyle f 3 x Pavyzdziui įleidome į klasikinį orakula 00 ir gavome 00 reiskia funkcija yra f1 x displaystyle f 1 x arba f3 x displaystyle f 3 x tada antra karta įdejome 10 ir gavome 11 vadinasi funkcija yra f3 x displaystyle f 3 x in 00out 00 01 10 11rezultatas f1 x displaystyle f 1 x arba f3 x displaystyle f 3 x f2 x displaystyle f 2 x arba f4 x displaystyle f 4 x pirmas bitas negali pasikeisti pirmas bitas negali pasikeisti in 01out 00 01 10 11resultatas f2 x displaystyle f 2 x arba f4 x displaystyle f 4 x f1 x displaystyle f 1 x arba f3 x displaystyle f 3 x pirmas bitas negali pasikeisti pirmas bitas negali pasikeisti in 10out 00 01 10 11resultatas pirmas bitas negali pasikeisti pirmas bitas negali pasikeisti f1 x displaystyle f 1 x arba f4 x displaystyle f 4 x f2 x displaystyle f 2 x arba f3 x displaystyle f 3 x in 11out 00 01 10 11resultatas pirmas bitas negali pasikeisti pirmas bitas negali pasikeisti f2 x displaystyle f 2 x arba f3 x displaystyle f 3 x f1 x displaystyle f 1 x arba f4 x displaystyle f 4 x 0 0 0 displaystyle 0 oplus 0 0 0 1 1 displaystyle 0 oplus 1 1 1 0 1 displaystyle 1 oplus 0 1 1 1 0 displaystyle 1 oplus 1 0 Doico Dzozo algoritmas su 3 kubitaisSu kvantiniu kompiuteriu uztenka 1 paleidimo ir 2 pirmu kubitu matavimo o su klasikiniu kompiuteriu reikia atlikti 4 paleidimus ir kiekviena karta matuoti tik 1 trecia kubita kad nustatyti ar funkcija f x1 x2 f x displaystyle f x 1 x 2 f x subalansuota ar konstanta Dabar visus 3 kubitus 0 gt 0 gt 1 gt 001 gt displaystyle 0 gt 0 gt 1 gt 001 gt praleisime pro Hadamardo vartus 123 0 1 0 1 0 1 123 0 1 00 01 10 11 displaystyle frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle frac 1 sqrt 2 3 0 rangle 1 rangle 00 rangle 01 rangle 10 rangle 11 rangle 123 000 001 010 011 100 101 110 111 displaystyle frac 1 sqrt 2 3 000 rangle 001 rangle 010 rangle 011 rangle 100 rangle 101 rangle 110 rangle 111 rangle Dabar pazymekime kad pirmas kubitas yra x1 displaystyle x 1 antras kubitas yra x2 displaystyle x 2 o trecias kubitas yra y displaystyle y Dabar praleisime visus tris kubitus pro Controlled U vartus x1 x2 y x1 x2 y f x1 x2 displaystyle x 1 rangle x 2 rangle y rangle to x 1 rangle x 2 rangle y oplus f x 1 x 2 rangle 123 00 0 f x1 x2 00 1 f x1 x2 01 0 f x1 x2 01 1 f x1 x2 displaystyle frac 1 sqrt 2 3 00 rangle 0 oplus f x 1 x 2 rangle 00 rangle 1 oplus f x 1 x 2 rangle 01 rangle 0 oplus f x 1 x 2 rangle 01 rangle 1 oplus f x 1 x 2 rangle 10 0 f x1 x2 10 1 f x1 x2 11 0 f x1 x2 11 1 f x1 x2 displaystyle 10 rangle 0 oplus f x 1 x 2 rangle 10 rangle 1 oplus f x 1 x 2 rangle 11 rangle 0 oplus f x 1 x 2 rangle 11 rangle 1 oplus f x 1 x 2 rangle Apskaiciuosime f2 x1 x2 f2 x 1 displaystyle f 2 x 1 x 2 f 2 x 1 001 123 0 1 0 1 0 1 displaystyle 001 rangle to frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 123 000 001 010 011 100 101 110 111 displaystyle frac 1 sqrt 2 3 000 rangle 001 rangle 010 rangle 011 rangle 100 rangle 101 rangle 110 rangle 111 rangle to 123 00 0 f2 x 00 1 f2 x 01 0 f2 x 01 1 f2 x displaystyle to frac 1 sqrt 2 3 00 rangle 0 oplus f 2 x rangle 00 rangle 1 oplus f 2 x rangle 01 rangle 0 oplus f 2 x rangle 01 rangle 1 oplus f 2 x rangle 10 0 f2 x 10 1 f2 x 11 0 f2 x 11 1 f2 x displaystyle 10 rangle 0 oplus f 2 x rangle 10 rangle 1 oplus f 2 x rangle 11 rangle 0 oplus f 2 x rangle 11 rangle 1 oplus f 2 x rangle 123 00 0 1 00 1 1 01 0 1 01 1 1 displaystyle frac 1 sqrt 2 3 00 rangle 0 oplus 1 rangle 00 rangle 1 oplus 1 rangle 01 rangle 0 oplus 1 rangle 01 rangle 1 oplus 1 rangle 10 0 1 10 1 1 11 0 1 11 1 1 displaystyle 10 rangle 0 oplus 1 rangle 10 rangle 1 oplus 1 rangle 11 rangle 0 oplus 1 rangle 11 rangle 1 oplus 1 rangle 123 001 000 011 010 101 100 111 110 displaystyle frac 1 sqrt 2 3 001 rangle 000 rangle 011 rangle 010 rangle 101 rangle 100 rangle 111 rangle 110 rangle 123 0 1 0 1 0 1 001 001 displaystyle frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle to 001 rangle to 001 rangle Abu pirmi kubitai 00 gt todel funkcija f2 x1 x2 displaystyle f 2 x 1 x 2 yra konstanta Apskaiciuosime f3 x1 x2 f3 x displaystyle f 3 x 1 x 2 f 3 x 001 123 0 1 0 1 0 1 displaystyle 001 rangle to frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 123 000 001 010 011 100 101 110 111 displaystyle frac 1 sqrt 2 3 000 rangle 001 rangle 010 rangle 011 rangle 100 rangle 101 rangle 110 rangle 111 rangle to 123 00 0 f3 x 00 1 f3 x 01 0 f3 x 01 1 f3 x displaystyle to frac 1 sqrt 2 3 00 rangle 0 oplus f 3 x rangle 00 rangle 1 oplus f 3 x rangle 01 rangle 0 oplus f 3 x rangle 01 rangle 1 oplus f 3 x rangle 10 0 f3 x 10 1 f3 x 11 0 f3 x 11 1 f3 x displaystyle 10 rangle 0 oplus f 3 x rangle 10 rangle 1 oplus f 3 x rangle 11 rangle 0 oplus f 3 x rangle 11 rangle 1 oplus f 3 x rangle 123 00 0 0 00 1 0 01 0 0 01 1 0 displaystyle frac 1 sqrt 2 3 00 rangle 0 oplus 0 rangle 00 rangle 1 oplus 0 rangle 01 rangle 0 oplus 0 rangle 01 rangle 1 oplus 0 rangle 10 0 1 10 1 1 11 0 1 11 1 1 displaystyle 10 rangle 0 oplus 1 rangle 10 rangle 1 oplus 1 rangle 11 rangle 0 oplus 1 rangle 11 rangle 1 oplus 1 rangle 123 000 001 010 011 101 100 111 110 displaystyle frac 1 sqrt 2 3 000 rangle 001 rangle 010 rangle 011 rangle 101 rangle 100 rangle 111 rangle 110 rangle 123 0 1 0 1 0 1 101 displaystyle frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle to 101 rangle Funkcija f3 x displaystyle f 3 x yra subalansuota nes abu pirmi kubitai 10 gt nera nuliai funkcija yra konstanta tik tuo atveju kai du pirmi kubitai ant isejimo yra nuliai Apskaiciuosime f5 x1 x2 f5 x displaystyle f 5 x 1 x 2 f 5 x 001 123 0 1 0 1 0 1 displaystyle 001 rangle to frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 123 000 001 010 011 100 101 110 111 displaystyle frac 1 sqrt 2 3 000 rangle 001 rangle 010 rangle 011 rangle 100 rangle 101 rangle 110 rangle 111 rangle to 123 00 0 f5 x 00 1 f5 x 01 0 f5 x 01 1 f5 x displaystyle to frac 1 sqrt 2 3 00 rangle 0 oplus f 5 x rangle 00 rangle 1 oplus f 5 x rangle 01 rangle 0 oplus f 5 x rangle 01 rangle 1 oplus f 5 x rangle 10 0 f5 x 10 1 f5 x 11 0 f5 x 11 1 f5 x displaystyle 10 rangle 0 oplus f 5 x rangle 10 rangle 1 oplus f 5 x rangle 11 rangle 0 oplus f 5 x rangle 11 rangle 1 oplus f 5 x rangle 123 00 0 0 00 1 0 01 0 1 01 1 1 displaystyle frac 1 sqrt 2 3 00 rangle 0 oplus 0 rangle 00 rangle 1 oplus 0 rangle 01 rangle 0 oplus 1 rangle 01 rangle 1 oplus 1 rangle 10 0 0 10 1 0 11 0 1 11 1 1 displaystyle 10 rangle 0 oplus 0 rangle 10 rangle 1 oplus 0 rangle 11 rangle 0 oplus 1 rangle 11 rangle 1 oplus 1 rangle 123 000 001 011 010 100 101 111 110 displaystyle frac 1 sqrt 2 3 000 rangle 001 rangle 011 rangle 010 rangle 100 rangle 101 rangle 111 rangle 110 rangle 123 0 1 0 1 0 1 011 displaystyle frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle to 011 rangle Pirmi du kubitai yra ismatuoti 01 gt todel funkcija f5 x displaystyle f 5 x yra subalansuota Apskaiciuosime f8 x1 x2 f8 x displaystyle f 8 x 1 x 2 f 8 x 001 123 0 1 0 1 0 1 displaystyle 001 rangle to frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 123 000 001 010 011 100 101 110 111 displaystyle frac 1 sqrt 2 3 000 rangle 001 rangle 010 rangle 011 rangle 100 rangle 101 rangle 110 rangle 111 rangle to 123 00 0 f8 x 00 1 f8 x 01 0 f8 x 01 1 f8 x displaystyle to frac 1 sqrt 2 3 00 rangle 0 oplus f 8 x rangle 00 rangle 1 oplus f 8 x rangle 01 rangle 0 oplus f 8 x rangle 01 rangle 1 oplus f 8 x rangle 10 0 f8 x 10 1 f8 x 11 0 f8 x 11 1 f8 x displaystyle 10 rangle 0 oplus f 8 x rangle 10 rangle 1 oplus f 8 x rangle 11 rangle 0 oplus f 8 x rangle 11 rangle 1 oplus f 8 x rangle 123 00 0 1 00 1 1 01 0 0 01 1 0 displaystyle frac 1 sqrt 2 3 00 rangle 0 oplus 1 rangle 00 rangle 1 oplus 1 rangle 01 rangle 0 oplus 0 rangle 01 rangle 1 oplus 0 rangle 10 0 0 10 1 0 11 0 1 11 1 1 displaystyle 10 rangle 0 oplus 0 rangle 10 rangle 1 oplus 0 rangle 11 rangle 0 oplus 1 rangle 11 rangle 1 oplus 1 rangle 123 001 000 010 011 100 101 111 110 displaystyle frac 1 sqrt 2 3 001 rangle 000 rangle 010 rangle 011 rangle 100 rangle 101 rangle 111 rangle 110 rangle 123 0 1 0 1 0 1 111 111 displaystyle frac 1 sqrt 2 3 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle to 111 rangle to 111 rangle Funkcija f8 x displaystyle f 8 x subalansuota nes primi du kubitai vienetai Funkcijos klasikinio kompiuterio kad viska paversti kvantiniu is priekio ir is galo reikia prideti Hadamardo vartus Funkcijos f1 x displaystyle f 1 x ir f2 x displaystyle f 2 x yra konstantos o visos kitos funkcijos f3 x displaystyle f 3 x f4 x displaystyle f 4 x f5 x displaystyle f 5 x f6 x displaystyle f 6 x f7 x displaystyle f 7 x f8 x displaystyle f 8 x yra subalansuotos x f x1 x2 f x displaystyle f x 1 x 2 f x x1 displaystyle x 1 x2 displaystyle x 2 f1 x displaystyle f 1 x f2 x displaystyle f 2 x f3 x displaystyle f 3 x f4 x displaystyle f 4 x f5 x displaystyle f 5 x f6 x displaystyle f 6 x f7 x displaystyle f 7 x f8 x displaystyle f 8 x 0 0 0 1 0 1 0 1 0 10 1 0 1 0 1 1 0 1 01 0 0 1 1 0 0 1 1 01 1 0 1 1 0 1 0 0 1 Suvedame visus įmanomus isejimus funkcijos patikrinimui kai įejimas 001 gt f1 x displaystyle f 1 x gt 001 gt f2 x displaystyle f 2 x gt 001 gt f3 x displaystyle f 3 x gt 101 gt f4 x displaystyle f 4 x gt 101 gt f5 x displaystyle f 5 x gt 011 gt f6 x displaystyle f 6 x gt 011 gt f7 x displaystyle f 7 x gt 111 gt f8 x displaystyle f 8 x gt 111 gt Doico Dzozo algoritmas su 4 kubitaisTarkime turime tokį įejima 0 gt 0 gt 0 gt 1 gt 0001 gt Praleileidziame visus kubitus pro Hadamardo vartus 124 0 1 0 1 0 1 0 1 124 0 1 0 1 00 01 10 11 displaystyle frac 1 sqrt 2 4 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle frac 1 sqrt 2 4 0 rangle 1 rangle 0 rangle 1 rangle 00 rangle 01 rangle 10 rangle 11 rangle 124 0 1 000 001 010 011 100 101 110 111 displaystyle frac 1 sqrt 2 4 0 rangle 1 rangle 000 rangle 001 rangle 010 rangle 011 rangle 100 rangle 101 rangle 110 rangle 111 rangle 124 0000 0001 0010 0011 0100 0101 0110 0111 displaystyle frac 1 sqrt 2 4 0000 rangle 0001 rangle 0010 rangle 0011 rangle 0100 rangle 0101 rangle 0110 rangle 0111 rangle 1000 1001 1010 1011 1100 1101 1110 1111 displaystyle 1000 rangle 1001 rangle 1010 rangle 1011 rangle 1100 rangle 1101 rangle 1110 rangle 1111 rangle Toliau praleidziame per funkcija x1 x2 x3 y x1 x2 x3 y f x displaystyle x 1 rangle x 2 rangle x 3 rangle y rangle to x 1 rangle x 2 rangle x 3 rangle y oplus f x rangle f x f x1 x2 x3 displaystyle f x f x 1 x 2 x 3 124 000 0 f x 000 1 f x 001 0 f x 001 1 f x displaystyle frac 1 sqrt 2 4 000 rangle 0 oplus f x rangle 000 rangle 1 oplus f x rangle 001 rangle 0 oplus f x rangle 001 rangle 1 oplus f x rangle 010 0 f x 010 1 f x 011 0 f x 011 1 f x displaystyle 010 rangle 0 oplus f x rangle 010 rangle 1 oplus f x rangle 011 rangle 0 oplus f x rangle 011 rangle 1 oplus f x rangle 100 0 f x 100 1 f x 101 0 f x 101 1 f x displaystyle 100 rangle 0 oplus f x rangle 100 rangle 1 oplus f x rangle 101 rangle 0 oplus f x rangle 101 rangle 1 oplus f x rangle 110 0 f x 110 1 f x 111 0 f x 111 1 f x displaystyle 110 rangle 0 oplus f x rangle 110 rangle 1 oplus f x rangle 111 rangle 0 oplus f x rangle 111 rangle 1 oplus f x rangle Apskaiciuosime pavyzdziui f7 x f7 x1 x2 x3 displaystyle f 7 x f 7 x 1 x 2 x 3 0001 124 0 1 0 1 0 1 0 1 displaystyle 0001 rangle to frac 1 sqrt 2 4 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 124 0000 0001 0010 0011 0100 0101 0110 0111 displaystyle frac 1 sqrt 2 4 0000 rangle 0001 rangle 0010 rangle 0011 rangle 0100 rangle 0101 rangle 0110 rangle 0111 rangle 1000 1001 1010 1011 1100 1101 1110 1111 displaystyle 1000 rangle 1001 rangle 1010 rangle 1011 rangle 1100 rangle 1101 rangle 1110 rangle 1111 rangle to 124 000 0 f7 x 000 1 f7 x 001 0 f7 x 001 1 f7 x displaystyle to frac 1 sqrt 2 4 000 rangle 0 oplus f 7 x rangle 000 rangle 1 oplus f 7 x rangle 001 rangle 0 oplus f 7 x rangle 001 rangle 1 oplus f 7 x rangle 010 0 f7 x 010 1 f7 x 011 0 f7 x 011 1 f7 x displaystyle 010 rangle 0 oplus f 7 x rangle 010 rangle 1 oplus f 7 x rangle 011 rangle 0 oplus f 7 x rangle 011 rangle 1 oplus f 7 x rangle 100 0 f7 x 100 1 f7 x 101 0 f7 x 101 1 f7 x displaystyle 100 rangle 0 oplus f 7 x rangle 100 rangle 1 oplus f 7 x rangle 101 rangle 0 oplus f 7 x rangle 101 rangle 1 oplus f 7 x rangle 110 0 f7 x 110 1 f7 x 111 0 f7 x 111 1 f7 x displaystyle 110 rangle 0 oplus f 7 x rangle 110 rangle 1 oplus f 7 x rangle 111 rangle 0 oplus f 7 x rangle 111 rangle 1 oplus f 7 x rangle 124 000 0 0 000 1 0 001 0 1 001 1 1 displaystyle frac 1 sqrt 2 4 000 rangle 0 oplus 0 rangle 000 rangle 1 oplus 0 rangle 001 rangle 0 oplus 1 rangle 001 rangle 1 oplus 1 rangle 010 0 0 010 1 0 011 0 1 011 1 1 displaystyle 010 rangle 0 oplus 0 rangle 010 rangle 1 oplus 0 rangle 011 rangle 0 oplus 1 rangle 011 rangle 1 oplus 1 rangle 100 0 0 100 1 0 101 0 1 101 1 1 displaystyle 100 rangle 0 oplus 0 rangle 100 rangle 1 oplus 0 rangle 101 rangle 0 oplus 1 rangle 101 rangle 1 oplus 1 rangle 110 0 0 110 1 0 111 0 1 111 1 1 displaystyle 110 rangle 0 oplus 0 rangle 110 rangle 1 oplus 0 rangle 111 rangle 0 oplus 1 rangle 111 rangle 1 oplus 1 rangle 124 0000 0001 0011 0010 0100 0101 0111 0110 displaystyle frac 1 sqrt 2 4 0000 rangle 0001 rangle 0011 rangle 0010 rangle 0100 rangle 0101 rangle 0111 rangle 0110 rangle 1000 1001 1011 1010 1100 1101 1111 1110 displaystyle 1000 rangle 1001 rangle 1011 rangle 1010 rangle 1100 rangle 1101 rangle 1111 rangle 1110 rangle 124 0 1 0 1 0 1 0 1 0011 displaystyle frac 1 sqrt 2 4 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle 0 rangle 1 rangle to 0011 rangle 3 pirmi kubitai ne nuliai 001 gt todel funkcija f7 x displaystyle f 7 x subalansuota Konstantos yra tik funkcijos f1 x displaystyle f 1 x ir f2 x displaystyle f 2 x o visos kitos subalansuotos x f x1 x2 x3 f x displaystyle f x 1 x 2 x 3 f x x1 displaystyle x 1 x2 displaystyle x 2 x3 displaystyle x 3 f1 x displaystyle f 1 x f2 x displaystyle f 2 x f3 x displaystyle f 3 x f4 x displaystyle f 4 x f5 x displaystyle f 5 x f6 x displaystyle f 6 x f7 x displaystyle f 7 x f8 x displaystyle f 8 x f9 x displaystyle f 9 x f10 x displaystyle f 10 x f11 x displaystyle f 11 x f12 x displaystyle f 12 x f13 x displaystyle f 13 x f14 x displaystyle f 14 x f15 x displaystyle f 15 x f16 x displaystyle f 16 x 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 10 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 00 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 01 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 00 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 11 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 11 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 0 11 1 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 Sioje leneteleje isvardintos ne visos subalansuotos funkcijos Pagal derniu formule subalansuotu funkciju yra C84 8 7 6 54 3 2 1 168024 70 displaystyle C 8 4 8 cdot 7 cdot 6 cdot 5 over 4 cdot 3 cdot 2 cdot 1 1680 over 24 70 Bendrai su konstantomis funkciju yra 72 Klasikiniui kompiuteriui funkcija nustatyti yra sunku del to kad reikia sugeneruoti pavyzdziui tikimybiskai metant moneta labai daug bitu variantu 2n2 2n 1 displaystyle 2 n over 2 2 n 1 nes puse variantu sugeneruotu bitu kombinaciju pavyzdziui 000 001 011 101 bus funkcijos 0 ir puse 1 Atrodytu sugeneruoji atsitiktine seka 001 100 101 ir to turetu vidutiniskai uztenkti nustatyti ar funkcija subalansuota ar konstanta nes po keliu paleidimu turetu isrysketi kad funkcija subalansuota nes vienodai galimybiu kad iskris f x 0 displaystyle f x 0 ir f x 1 displaystyle f x 1 taciau tikimybiniu tikrinimu bus beveik neįmanoma patikrinti ar funkcija konstanta nes vis tiek lieka tikimybe kad tai gali buti vis ta pati subalansuota funkcija kurios ta pati reiksme pvz f x 1 displaystyle f x 1 subalansuotos kartojasi ir kad buti 100 uztikrintam kad mes vis nepapuolem ant subalansuotos funkcijos reiksmes kai ji vis isduoda 1 reikia arba pakartoti begalybe kartu tikimybiniu bitu generavima arba skaiciuoti ne tikimybiskai o deterministiskai nuosekliai Bet skaiciuojant nuosekliai 23 8 displaystyle 2 3 8 bitu kubitu variantai Tai tures C84 displaystyle C 8 4 subalansuotu funkciju is kuriu bent maza dalis tures 00001111 arba 11110000 ar 00011101 sekas kurias is eiles tikrinant prireiks kaip siuo atveju 5 ar 4 patikrinimu Aisku dazniausiai bus funkcijos 001100101 100010101 kada uztenka 2 ar 3 patikrinimu paleidziant tam tikras kubitu kombinacijas visada ta pacia tvarka Jei bitu yra n tai bus tokiu funkciju kurias nuosekliai tikrinant reikes 2n 1 1 displaystyle 2 n 1 1 patikrinimu Aisku tokiu subalansuotu funkciju bus vos 1 ir tokiu funkciju su daugiau ir daugiau kubitu bus vis maziau eksponentiskai bet kvantinis kompiuteris vis tiek bus 2C2n2n 12C2n2n 1 n 1 2n 1 displaystyle 2 C 2 n 2 n 1 over 2 C 2 n 2 n 1 n 1 approx 2 n 1 kartu greitesnis bet abu kompiuteriai uztruks labai daug laiko ir palyginus kvantinis kompiuteris uztruks apytiksliai 21000 displaystyle 2 1000 laiko o klasikinis 21002 displaystyle 2 1002 laiko Subalansuotu funkciju is viso gali buti 2C2n2n 1 displaystyle 2 C 2 n 2 n 1 o konstantu tik 2 kur C2n2n 1 2n 2n 1 2n 2n 1 2n 2n 1 2 displaystyle C 2 n 2 n 1 2 n over 2 n 1 cdot 2 n 2 n 1 2 n over 2 n 1 2 yra deriniai o n bitu kubitu skaicius be paskutinio 1 gt Bendras Doico Dzozo algoritmo skaiciavimasManykime turime n 1 kubitu įejimu busenoje 0 gt ir viena paskutinį kubita busenoje 1 gt Pazymekime visus kubitus taip 0 0 0 0 1 000 01 displaystyle 0 rangle 0 rangle 0 rangle 0 rangle 1 rangle 000 01 rangle Praleidziame visus kubitus per Hadamardo vartus 12n 1 0 1 0 1 0 1 0 1 displaystyle 1 over sqrt 2 n 1 0 rangle 1 rangle 0 rangle 1 rangle cdots 0 rangle 1 rangle 0 rangle 1 rangle 12n 1 00 0 00 1 11 1 0 1 displaystyle 1 over sqrt 2 n 1 00 0 rangle 00 1 rangle cdots 11 1 rangle 0 rangle 1 rangle