Turinys:

KREQC: Kentukio rotacinis emuliuotas kvantinis kompiuteris: 9 žingsniai
KREQC: Kentukio rotacinis emuliuotas kvantinis kompiuteris: 9 žingsniai

Video: KREQC: Kentukio rotacinis emuliuotas kvantinis kompiuteris: 9 žingsniai

Video: KREQC: Kentukio rotacinis emuliuotas kvantinis kompiuteris: 9 žingsniai
Video: KREQC in operation 2024, Liepa
Anonim
KREQC: Kentukio rotacinis emuliuotas kvantinis kompiuteris
KREQC: Kentukio rotacinis emuliuotas kvantinis kompiuteris
KREQC: Kentukio rotacinis emuliuotas kvantinis kompiuteris
KREQC: Kentukio rotacinis emuliuotas kvantinis kompiuteris

Mes tai vadiname „upeliu“- rašoma KREQC: Kentukio rotaciniu būdu emuliuotas kvantinis kompiuteris. Taip, ši instrukcija parodys, kaip pasigaminti savo darbinį kvantinį kompiuterį, kuris patikimai veikia kambario temperatūroje, o ciklo trukmė yra mažiausiai 1/2 sekundės. Bendra statybos kaina yra 50–100 USD.

Skirtingai nuo IBM Q kvantinio kompiuterio, parodyto antroje nuotraukoje, KREQC tiesiogiai nenaudoja kvantinės fizikos reiškinių, kad įgyvendintų visiškai susipynusius kubitus. Na, manau, galėtume ginčytis, kad viskas naudojama naudojant kvantinę fiziką, tačiau iš tikrųjų tai tik tradiciškai valdomi servo įtaisai, įgyvendinantys Einšteino „baisų veiksmą per atstumą“KREQC. Kita vertus, šie servai leidžia KREQC gana gerai imituoti elgesį, todėl operaciją lengva pamatyti ir paaiškinti. Kalbant apie paaiškinimus….

1 žingsnis: Kas yra kvantinis kompiuteris?

Image
Image

Prieš pateikdami paaiškinimą, čia yra nuoroda į gražų paaiškinimą iš „IBM Q Experience“dokumentacijos. Dabar padarysime savo smūgį …

Be jokios abejonės, jūs daugiau nei šiek tiek girdėjote apie tai, kaip kubitai suteikia magiškus skaičiavimo sugebėjimus kvantiniuose kompiuteriuose. Pagrindinė idėja yra ta, kad nors įprastas bitas gali būti 0 arba 1, kubitas gali būti 0, 1 arba neapibrėžtas. Tai savaime neatrodo ypač naudinga - ir tik su vienu kubitu tai nėra -, tačiau keli susipynę kubitai turi gana naudingą savybę, nes jų neapibrėžtos vertės vienu metu gali apimti visus galimus bitų verčių derinius. Pvz., 6 bitai gali turėti bet kurią vieną reikšmę nuo 0 iki 63 (t. Y. 2^6), o 6 kubitai gali turėti neapibrėžtą reikšmę, kuri yra visos vertės nuo 0 iki 63 su potencialiai skirtinga tikimybe, susieta su kiekviena galima verte. Kai skaitoma kubito vertė, nustatomos jo ir visų su juo susipynusių kubitų vertės, o kiekviena kubitų viena nuskaityta vertė atsitiktinai parenkama pagal tikimybes; jei neapibrėžta reikšmė yra 75% 42 ir 25% 0, tada maždaug 3 iš keturių kartų, kai atliekamas kvantinis skaičiavimas, rezultatas bus 42, o kitais atvejais - 0. Svarbiausia, kad kvantinis skaičiavimas įvertintų visas galimas vertes ir grąžina vieną (iš galimai kelių) galiojančių atsakymų, bandydamas eksponentiškai daug vertybių vienu metu - ir tai yra jaudinanti dalis. Norint atlikti tai, ką gali viena 6 bitų sistema, prireiktų 64 6 bitų sistemų.

Kiekvienas iš 6 KREQC visiškai susipynusių kubitų gali turėti sukimosi vertę, kuri yra 0, 1 arba neapibrėžta. Tikslią neapibrėžtą vertę vaizduoja visi kubitai, esantys horizontalioje padėtyje. Vykdant kvantinį skaičiavimą, keičiasi skirtingų verčių tikimybės, kurias KREQC rodo atskiri kubitai, klibantys ir prisiimantys statistines pozicijas, atspindinčias verčių tikimybes. Galų gale, kvantinis skaičiavimas baigiamas matuojant susipynusius kubitus, kurie neapibrėžtą vertę sutraukia į visiškai nustatytą 0s ir 1s seką. Aukščiau esančiame vaizdo įraše matote, kaip KREQC apskaičiuoja „atsakymą į galutinį gyvenimo, visatos ir visko klausimą“- kitaip tariant, 42… kuris dvejetainiu skaičiumi yra 101010, 101 - galinėje kubitų eilutėje ir 010 priekis.

Žinoma, su kvantiniais kompiuteriais yra tam tikrų problemų, ir KREQC taip pat kenčia nuo jų. Akivaizdu, kad mes tikrai norime milijonų kubitų, o ne tik 6. Tačiau taip pat svarbu pažymėti, kad kvantiniai kompiuteriai įgyvendina tik kombinatorinę logiką - priešingai nei mes, kompiuterių inžinieriai, vadiname būsenos mašina. Iš esmės tai reiškia, kad kvantinė mašina pati yra mažiau pajėgi nei Turingo mašina ar įprastas kompiuteris. KREQC atveju mes diegiame būsenos mašinas, valdydami KREQC, naudodami įprastą kompiuterį, kad atliktume kvantinių skaičiavimų seką-vieną kartą per būsenos mašinos vykdymą.

Taigi, pradėkime kurti kambario temperatūros kvantinį kompiuterį!

2 žingsnis: įrankiai, dalys ir medžiagos

3D spausdintos dalys: vidinė dalis
3D spausdintos dalys: vidinė dalis

KREQC nėra daug, tačiau jums reikės kai kurių dalių ir įrankių. Pradėkime nuo įrankių:

  • Prieiga prie vartotojams tinkamo 3D spausdintuvo. KREQC kubitus būtų galima pagaminti naudojant CNC frezavimo stakles ir medieną, tačiau daug lengviau ir tvarkingiau juos pagaminti ekstruzuojant PLA plastiką. Didžiausia 3D spausdinta dalis yra 180x195x34mm, todėl viskas yra daug lengviau, jei spausdintuvas turi pakankamai didelį spausdinimo tūrį, kad būtų galima atspausdinti jį vienu gabalu.
  • Lituoklis. Naudojamas PLA dalių suvirinimui.
  • Vielos pjaustytuvai ar kažkas kitas, galintis nupjauti mažas 1 mm storio plastikines dalis (servo ragus).
  • Pasirinktinai, medienos apdirbimo įrankiai, skirti mediniam pagrindui kubitams montuoti. Bazė nėra griežtai reikalinga, nes kiekviename antgalyje yra įmontuotas stovas, leidžiantis valdymo kabeliui išvesti galą.

Jums taip pat nereikia daug dalių ir medžiagų:

  • PLA kubitams gaminti. Jei spausdinama 100% užpildymo būdu, tai vis tiek būtų mažiau nei 700 gramų PLA vienam kubitui; esant tinkamesniam 25% užpildymui, 300 gramų būtų geresnis įvertinimas. Taigi 6 kubitus galima pagaminti naudojant tik vieną 2 kg ritę, o medžiagos kaina yra apie 15 USD.
  • Vienas SG90 mikro servo kubitui. Juos galima lengvai įsigyti už mažiau nei 2 USD. Būtinai įsigykite mikro servo, kuriame nurodyta 180 laipsnių padėties nustatymo operacija-jūs nenorite 90 laipsnių ir nenorite tokių, kurie skirti nuolatiniam sukimui kintamu greičiu.
  • Servo valdiklio plokštė. Yra daug pasirinkimų, įskaitant „Arduino“naudojimą, tačiau labai lengvas pasirinkimas yra „Pololu Micro Maestro“6 kanalų USB servo valdiklis, kuris kainuoja mažiau nei 20 USD. Yra ir kitų versijų, kurios gali valdyti 12, 18 arba 24 kanalus.
  • Jei reikia, SG90 prailginimo kabeliai. SG90 kabelių ilgis šiek tiek skiriasi, tačiau jums reikės kubitų, kad jie būtų bent 6 colių atstumu, todėl reikės prailginimo kabelių. Jie lengvai kainuoja mažiau nei 0,50 USD, priklausomai nuo ilgio.
  • 5 V maitinimo šaltinis, skirtas „Pololu“ir SG90. Paprastai „Pololu“maitinamas per nešiojamojo kompiuterio USB jungtį, tačiau gali būti protinga turėti atskirą maitinimo šaltinį servo sistemoms. Aš naudoju 5V 2.5A sieninę karpą, kurią turėjau, bet naujus 3A galima įsigyti už mažiau nei 5 USD.
  • Pasirinktinai, dvipusė juosta daiktams laikyti. VHB („Very-High Bond“) juosta puikiai tinka laikyti kiekvieno kubito išorinį apvalkalą, nors suvirinimas veikia dar geriau, jei niekada nereikia jo išardyti.
  • Pasirinktinai, medienos ir apdailos reikmenys pagrindui gaminti. Mūsiškis buvo pagamintas iš parduotuvės atraižų ir yra sujungtas su sausainių jungtimis, o galutinė apdaila - keli sluoksniai skaidraus poliuretano.

Apskritai, mūsų sukurtas 6 kubitų KREQC atsargos kainavo apie 50 USD.

3 žingsnis: 3D spausdintos dalys: vidinė dalis

3D spausdintos dalys: vidinė dalis
3D spausdintos dalys: vidinė dalis
3D spausdintos dalys: vidinė dalis
3D spausdintos dalys: vidinė dalis

Visi 3D spausdinti dalių dizainai yra laisvai prieinami kaip Thing 3225678 „Thingiverse“. Eik, pasiimk savo kopiją dabar … lauksime …

Ak, taip greitai? Gerai. Faktinis kubito „bitas“yra paprasta dalis, atspausdinta iš dviejų dalių, nes lengviau susidoroti suvirinant dvi dalis, nei naudojant atramas spausdinant iškilias raides abiejose vienos dalies pusėse.

Rekomenduoju tai atspausdinti spalva, kuri kontrastuoja su išorine kubito dalimi - pavyzdžiui, juoda. Mūsų versijoje viršutinė 0,5 mm dalis buvo atspausdinta balta spalva, kad būtų kontrastas, tačiau tam reikėjo pakeisti siūlą. Jei nenorite to daryti, visada galite tiesiog dažyti pakeltus „1“ir „0“paviršius. Abi šios dalys spausdinamos be tarpų, taigi ir be atramų. Mes naudojome 25% užpildymą ir 0,25 mm ekstruzijos aukštį.

4 žingsnis: 3D spausdintos dalys: išorinė dalis

3D spausdintos dalys: išorinė dalis
3D spausdintos dalys: išorinė dalis
3D spausdintos dalys: išorinė dalis
3D spausdintos dalys: išorinė dalis

Išorinė kiekvieno kubito dalis yra šiek tiek sudėtingesnė. Pirma, šie gabalai yra dideli ir plokšti, todėl juos galima daug pakelti iš spausdinimo lovos. Paprastai spausdinu ant karšto stiklo, tačiau tam reikėjo papildomos spausdinimo lazdelės ant karštos mėlynos tapytojo juostos, kad būtų išvengta deformacijos. Vėlgi, 25% užpildymo ir 0,25 mm sluoksnio aukščio turėtų būti daugiau nei pakankamai.

Šios dalys taip pat turi tarpatramius. Servo laikančioji ertmė yra iš abiejų pusių, todėl labai svarbu, kad šios ertmės matmenys būtų teisingi, todėl ją reikia spausdinti su atrama. Kabelio nukreipimo kanalas yra tik storesnėje galinėje pusėje ir yra sukonstruotas taip, kad būtų išvengta bet kokių tarpsnių, išskyrus nedidelį bitą pačiame pagrinde. Abiejų dalių pagrindo vidus techniškai turi nepalaikomą pagrindo vidinės kreivės plotį, tačiau nesvarbu, ar ši spausdinimo dalis šiek tiek nukris, todėl jums nereikia palaikymo.

Vėlgi, spalvų pasirinkimas, kuris kontrastuoja su vidinėmis dalimis, kubitų „Q“bus labiau matomas. Nors priekį spausdinome baltomis PLA dalimis „AGGREGATE. ORG“ir „UKY. EDU“mėlyname PLA fone, gali atrodyti, kad mažesnio kontrasto išvaizda, kai jų kūno spalva atrodo patrauklesnė. Dėkojame, kad palikote juos, kad primintumėte žiūrovams, iš kur sukurtas dizainas, tačiau nebūtina vizualiai šaukti šių URL.

Kai šios dalys bus atspausdintos, nuimkite bet kokią atraminę medžiagą ir įsitikinkite, kad servo servetėlė dera kartu su dviem dalimis. Jei netinka, toliau rinkitės atraminę medžiagą. Jis gana tvirtai priglunda, tačiau turėtų leisti abi puses stumti kartu. Atkreipkite dėmesį, kad spaudinyje sąmoningai nėra lygiavimo struktūrų, nes net ir šiek tiek deformavęsi, jos neleidžia surinkti.

5 žingsnis: Surinkite vidinę dalį

Surinkite vidinę dalį
Surinkite vidinę dalį
Surinkite vidinę dalį
Surinkite vidinę dalį

Paimkite dvi vidines dalis ir sulygiuokite jas taip, kad taškas „1“kairėje būtų nukreiptas į tašką „0“. Jei norite, galite laikinai laikyti juos kartu su dvipuse juosta, tačiau svarbiausia suvirinti juos karštu lituokliu.

Pakanka suvirinti ten, kur kraštai susilieja. Tai atlikite pirmiausia suvirindami lipniuoju būdu, naudodami lituoklį, kad PLA kartu su keliais taškais vilktų kraštą tarp dviejų dalių. Po to, kai dalys buvo suklijuotos, apvyniokite lituoklį aplink siūlę, kad sukurtumėte nuolatinį suvirinimą. Du gabalai turėtų sudaryti tą dalį, kuri parodyta aukščiau esančiame paveikslėlyje.

Šios suvirintos dalies tinkamumą galite patikrinti įkišdami ją į galinę išorinę dalį. Turėsite jį šiek tiek pakreipti, kad smailus pasukimas patektų į šoną, kurioje nėra servo ertmės, tačiau patekęs jis turėtų laisvai suktis.

6 žingsnis: orientuokite servo ir nustatykite ragą

Orientuokite servą ir nustatykite ragą
Orientuokite servą ir nustatykite ragą

Kad tai veiktų, turime turėti žinomą tiesioginį atitikimą tarp servo valdymo ir servo sukimosi padėties. Kiekvienas servo turi minimalų ir maksimalų impulsų plotį, į kurį jis reaguos. Turėsite juos empiriškai atrasti savo servo sistemoms, nes mes tikimės viso 180 laipsnių judėjimo, o skirtingi gamintojai gamina SG90 su šiek tiek skirtingomis vertėmis (iš tikrųjų jie taip pat turi šiek tiek skirtingus dydžius, tačiau jie turėtų būti pakankamai arti tilptų leidžiamoje vietoje). Trumpiausią pulso plotį pavadinkime „0“, o ilgiausią - „1“.

Paimkite vieną iš ragų, kurie buvo su jūsų servo, ir nupjaukite sparnus, naudodami vielos pjaustytuvus ar bet kurį kitą tinkamą įrankį - kaip parodyta aukščiau esančioje nuotraukoje. Labai smulkų servo pavaros žingsnį labai sunku atspausdinti 3D, todėl vietoj to naudosime vieno iš servo ragų centrą. Uždėkite apipjaustytą servo ragą ant vieno iš servo. Dabar prijunkite servo lizdą, nustatykite jį į „1“padėtį ir palikite toje padėtyje.

Tikriausiai pastebėjote, kad ne taškinis šarnyras turi cilindrinę ertmę, maždaug tokio dydžio kaip jūsų servo krumpliaračio galvutė, ir šiek tiek mažesnė už apipjausto rago centro skersmenį. Paimkite karštą lituoklį ir švelniai pasukite jį šarnyro angos viduje, taip pat aplink apipjausto rago centro išorę; jūs taip pat nesistengiate ištirpti, o tik tam, kad jie būtų minkšti. Tada, laikydami servovariklį, įstumkite rago centrą tiesiai į šarnyro angą, o servo padėtis turi būti „1“padėtyje, o vidinė dalis rodo „1“, kai servo padėtis yra tokia, kokia būtų tada, kai ilsisi išorinėje galinėje dalyje esančioje ertmėje.

Įstumdami apipjaustytą ragą, turėtumėte šiek tiek pamatyti PLA atlenkimą, sukurdami labai tvirtą ryšį su ragu. Leiskite jungčiai šiek tiek atvėsti, tada ištraukite servo. Ragas dabar turėtų pakankamai gerai sujungti dalį, kad servo sistema galėtų laisvai suktis dalį be reikšmingo laisvumo.

7 žingsnis: surinkite kiekvieną kubitą

Surinkite kiekvieną Qubit
Surinkite kiekvieną Qubit
Surinkite kiekvieną Qubit
Surinkite kiekvieną Qubit

Dabar esate pasiruošę kurti kubitus. Išorinę galinę dalį padėkite ant lygaus paviršiaus (pvz., Stalo) taip, kad servo ertmė būtų nukreipta į viršų, o stovas pakabintų virš paviršiaus krašto, kad išorinė galinė dalis būtų plokščia. Dabar paimkite servo ir vidinę dalį, pritvirtintą prie rago, ir įdėkite juos į galinę išorinę dalį. Paspauskite kabelį nuo servo prie jo kanalo.

Kai tik viskas sėdės, uždėkite priekinę išorinę dalį ant mazgo. Prijunkite servo ir valdykite kartu laikydami agregatą, kad įsitikintumėte, jog niekas nesusieja ar nesulygiuoja. Dabar naudokite VHB juostą arba lituokliu suvirinkite išorinę priekinę ir galinę dalis.

Pakartokite šiuos veiksmus kiekvienam kubitui.

8 žingsnis: montavimas

Montavimas
Montavimas
Montavimas
Montavimas

Maža kiekvieno kubito bazė turi išpjovą gale, leidžiančią išvesti servo kabelį iš galo, kad galėtumėte prisijungti prie valdiklio, o pagrindas yra pakankamai platus, kad kiekvienas kubitas būtų stabilus, todėl galite tiesiog įdėti ilginamuosius kabelius ant kiekvieno servo ir paleisti juos ant stalo ar kito lygaus paviršiaus. Tačiau tai parodys juos jungiančius laidus….

Manau, kad laidų matymas iš tolo gadina baisių veiksmų iliuziją, todėl verčiau laidus visiškai paslėpti. Norėdami tai padaryti, mums reikia tik montavimo platformos su skylute po kiekvienu kubitu, kuri yra pakankamai didelė, kad galėtų praeiti servo kabelio jungtis. Žinoma, norėtume, kad kiekvienas kubitas liktų ten, kur jis yra, todėl bazėje yra trys 1/4-20 skylės. Tikslas yra naudoti centrinį, tačiau kiti gali būti naudojami, kad viskas būtų saugesnė arba jei centrinis sriegis būtų nuimtas per daug įtempiant. Taigi vienas kiekvienam kubitui gręžia dvi glaudžiai išdėstytas skyles: viena praleidžia 1/4-20 varžto sriegį, kita-servo kabelio jungtį.

Kadangi 3/4 colio mediena yra labiausiai paplitusi, tikriausiai norėsite ją naudoti pagrindo viršuje-kaip aš. Tokiu atveju jums reikės maždaug 1,25 colio varžto arba varžto. ilgas. Galite juos nusipirkti bet kurioje techninės įrangos parduotuvėje už maždaug 1 USD už šešis. Arba galite spausdinti juos 3D formatu … bet jei spausdinate, rekomenduoju spausdinti po vieną, nes tai sumažina smulkių varžtų sriegio defektus.

Akivaizdu, kad laikiklio matmenys nėra svarbūs, tačiau jie nulems jums reikalingų ilginamųjų kabelių ilgį. KREQC buvo atliktas kaip dvi eilės po tris kubitus, kad kalnas tilptų į rankinį lagaminą, taip mes jį pristatėme į savo IEEE/ACM SC18 tyrimų parodą.

9 žingsnis: prekės ženklo kūrimas

Prekės ženklas
Prekės ženklas
Prekės ženklas
Prekės ženklas
Prekės ženklas
Prekės ženklas

Paskutinis žingsnis, nepamirškite pažymėti savo kvantinio kompiuterio etiketės!

Mes 3D atspausdinome juodos spalvos aukso vardo lentelę, kuri vėliau buvo pritvirtinta prie medinio pagrindo priekio. Nesivaržykite pažymėti savo etiketes kitomis priemonėmis, pvz., 2D spausdindami pridėtą PDF duomenų plokštelės vaizdą lazeriniu arba rašaliniu spausdintuvu. Taip pat nepakenktų pažymėti kiekvieną kubitą savo pozicija, ypač jei esate pernelyg kūrybingas, kaip išdėstysite kubitus ant pagrindo.

Jums taip pat gali patikti įteikti 3D spausdintus „qubit“raktų pakabukus; jie nėra susipainioję ir nėra motorizuoti, tačiau jie laisvai sukasi, kai juos pučiate ir puikiai primenate į namus KREQC demonstraciją.

Rekomenduojamas: