Sisukord:

KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti: 9 sammu
KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti: 9 sammu

Video: KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti: 9 sammu

Video: KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti: 9 sammu
Video: KREQC in operation 2024, November
Anonim
KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti
KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti
KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti
KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti

Me nimetame seda "ojaks" - kirjutatud KREQC: Kentucky pöörlevalt emuleeritud kvantarvuti. Jah, see juhend näitab teile, kuidas teha oma töökvantarvuti, mis töötab usaldusväärselt toatemperatuuril minimaalse tsükli ajaga umbes 1/2 sekundit. Ehituse kogumaksumus on 50–100 dollarit.

Erinevalt teisel fotol näidatud IBM Q kvantarvutist ei kasuta KREQC otseselt kvantfüüsika nähtusi oma täielikult takerdunud qubitide rakendamiseks. Noh, ma arvan, et me võime väita, et kõik kasutab kvantfüüsikat, kuid tegelikult on see lihtsalt tavapäraselt juhitud servod, mis rakendavad KREQC-s Einsteini "õudset tegevust kaugel". Teisest küljest võimaldavad need servod KREQC -l käitumist üsna hästi jäljendada, muutes toimingu hõlpsasti nähtavaks ja seletatavaks. Rääkides seletustest….

Samm: mis on kvantarvuti?

Image
Image

Enne meie selgituse andmist on siin link toredale selgitusele IBM Q Experience dokumentatsioonist. Nüüd teeme oma löögi….

Kahtlemata olete kuulnud rohkem kui natuke (sõnamäng), kuidas qubitid annavad maagilisi arvutusvõimeid kvantarvutitele. Põhiidee on see, et kui tavaline bitt võib olla kas 0 või 1, siis qubit võib olla 0, 1 või määramatu. See iseenesest ei tundu eriti kasulik - ja ainult ühe kubitiga pole see nii -, kuid mitmel takerdunud kubitil on üsna kasulik omadus, et nende määramata väärtused võivad samaaegselt katta kõik võimalikud bittiväärtuste kombinatsioonid. Näiteks 6 bitil võib olla mis tahes üks väärtus vahemikus 0 kuni 63 (st 2^6), samas kui 6 kubitil võib olla määramatu väärtus, mis on kõik väärtused vahemikus 0 kuni 63, võimaliku erineva tõenäosusega, mis on seotud iga võimaliku väärtusega. Kui qubit väärtust loetakse, määratakse kindlaks selle ja kõigi sellega mässitud qubitide väärtused, kusjuures iga qubiti jaoks loetud üksikväärtus valitakse juhuslikult vastavalt tõenäosustele; kui määramatu väärtus on 75% 42 ja 25% 0, siis ligikaudu kolm neljast kvantarvutamise korrast on tulemuseks 42 ja muul korral 0. Põhipunkt on see, et kvantarvutus hindab kõik võimalikud väärtused ja tagastab ühe (potentsiaalselt mitmest) kehtivast vastusest, proovides samal ajal eksponentsiaalselt paljusid väärtusi - ja see on põnev osa. Selleks, mida üks 6-kubitine süsteem suudab, kuluks 64 6-bitist süsteemi.

Kõigil KREQC 6 täielikult takerdunud kubitil võib olla pöörlemisväärtus 0, 1 või määramatu. Tõenäolist määramatut väärtust esindavad kõik kubitid horisontaalasendis. Kvantarvutuse edenedes muutuvad erinevate väärtuste tõenäosused, mida KREQC -s kujutavad üksikud kubitid, mis kõikuvad ja eeldavad väärtuste tõenäosusi kajastavaid statistilisi positsioone. Lõpuks lõpetatakse kvantarvutus takerdunud kubitite mõõtmisega, mis variseb määramatu väärtuse täielikult kindlaks määratud 0s ja 1s järjestuseks. Ülaltoodud videol näete, kuidas KREQC arvutab "vastuse elu, universumi ja kõige lõplikule küsimusele" - teisisõnu, 42 … mis binaarides on 101010, kusjuures 101 on qubitide tagumises reas ja 010 in ees.

Muidugi on kvantarvutitega mõningaid probleeme ja ka KREQC kannatab nende all. Ilmselge on see, et me tahame tõesti miljoneid kubitte, mitte ainult 6. Siiski on oluline ka märkida, et kvantarvutid rakendavad ainult kombinatoorset loogikat - erinevalt sellest, mida meie arvutiinsenerid nimetavad olekumasinaks. Põhimõtteliselt tähendab see seda, et kvantmasin on iseenesest vähem võimekas kui Turingi masin või tavaline arvuti. KREQC puhul rakendame olekumasinaid, kontrollides KREQC-d tavalise arvuti abil, et teha kvantarvutuste jada, üks olekumasina täitmisel olekukülastuse kohta.

Niisiis, hakkame ehitama toatemperatuurilist kvantarvutit!

Samm: tööriistad, osad ja materjalid

3D-prinditud osad: sisemine osa
3D-prinditud osad: sisemine osa

KREQC -s pole palju, kuid vajate mõningaid osi ja tööriistu. Alustame tööriistadest:

  • Juurdepääs tarbijaklassi 3D-printerile. KREQC -i kubite oleks võimalik valmistada CNC -freespingi ja puidu abil, kuid PLA -plasti väljapressimisel on neid palju lihtsam ja korralikum teha. Suurim 3D-prinditud osa on 180x195x34mm, seega on asjad palju lihtsamad, kui printeril on piisavalt suur prindimaht, et seda ühes tükis printida.
  • Jootekolb. Kasutatakse PLA osade keevitamiseks.
  • Traadilõikurid või midagi muud, millega saab lõigata väikeseid 1 mm paksuseid plastosi (servosarvi).
  • Soovi korral puidutööriistad puidust aluse valmistamiseks kubitide kinnitamiseks. Alust pole tingimata vaja, sest igal otsal on sisseehitatud alus, mis võimaldaks juhtkaablil tagant välja suunata.

Te ei vaja ka palju osi ega materjale:

  • PLA qubitide tegemiseks. Kui trükitakse 100% täitmisega, oleks see ikkagi alla 700 grammi PLA -d kubiti kohta; mõistlikuma 25% täituvuse korral oleks 300 grammi parem hinnang. Seega saab 6 kubitit valmistada ainult ühe 2 kg pooli abil, mille materjali hind on umbes 15 dollarit.
  • Üks SG90 mikroservo kubiti kohta. Need on kergesti saadaval hinnaga alla 2 dollari. Hankige kindlasti mikroservosid, mis määravad 180-kraadise positsioneerimise-te ei soovi 90-kraadiseid ega ka neid, mis on mõeldud pidevaks pöörlemiseks muutuva kiirusega.
  • Servokontrolleri plaat. Valikuid on palju, sealhulgas Arduino kasutamine, kuid väga lihtne valik on Pololu Micro Maestro 6-kanaliline USB-servokontroller, mis maksab alla 20 dollari. On ka teisi versioone, mis suudavad hallata 12, 18 või 24 kanalit.
  • Vajadusel SG90 -de pikenduskaablid. SG90 -de kaablid on mõnevõrra erineva pikkusega, kuid vajate kubitid vähemalt 6 tolli kaugusele, seega on vaja pikenduskaableid. Need on hõlpsasti alla 0,50 dollari, olenevalt pikkusest.
  • 5 V toiteallikas mudelitele Pololu ja SG90. Tavaliselt saab Pololu toite sülearvuti USB -ühenduse kaudu, kuid võib olla mõistlik omada eraldi toiteallikat servode jaoks. Kasutasin 5V 2,5A seina tüüka, mis mul oli, kuid uusi 3A saab osta alla 5 dollari eest.
  • Valikuliselt kahepoolne teip asjade koos hoidmiseks. VHB (Very-High Bond) lint sobib hästi iga kubiti väliskesta koos hoidmiseks, kuigi keevitamine toimib veelgi paremini, kui te ei pea seda kunagi lahti võtma.
  • Soovi korral puidu- ja viimistlustarbed aluse valmistamiseks. Meie oma valmistati poodijäätmetest ja seda hoiavad koos biskviitühendused, lõppviimistlusena mitu kihti läbipaistvat polüuretaani.

Kokkuvõttes maksis meie ehitatud 6-kbitine KREQC tarneid umbes 50 dollarit.

3. samm: 3D-prinditud osad: sisemine osa

3D-prinditud osad: sisemine osa
3D-prinditud osad: sisemine osa
3D-prinditud osad: sisemine osa
3D-prinditud osad: sisemine osa

Kõik 3D-prinditud detailide kujundused on Thingiverse'is vabalt saadaval kui Thing 3225678. Minge kohe oma koopia järele … jääme ootama …

Ah, nii ruttu tagasi? Okei. Tegelik "bit" qubitis on lihtne osa, mis on trükitud kaheks tükiks, sest kahe tüki kokku keevitamisega on lihtsam toime tulla, kui kasutada toesid ühe osa mõlemale küljele tõstetud kirjade printimiseks.

Soovitan printida selle värviga, mis on kontrastne qubit'i välimise osaga - näiteks must. Meie versioonis trükkisime ülemise 0,5 mm valgeks, et anda kontrast, kuid see nõudis hõõgniidi vahetamist. Kui te seda pigem ei tee, võite alati värvida "1" ja "0" tõstetud pinnad. Mõlemad osad prindivad ilma kateteta ja seega ka ilma toeta. Kasutasime 25% täitmist ja 0,25 mm ekstrusioonikõrgust.

4. samm: 3D-prinditud osad: välimine osa

3D-prinditud osad: välimine osa
3D-prinditud osad: välimine osa
3D-prinditud osad: välimine osa
3D-prinditud osad: välimine osa

Iga kubiti välimine osa on natuke keerulisem trükk. Esiteks on need tükid suured ja lamedad ning seetõttu tuleb neid trükivoodist palju välja tõsta. Tavaliselt prindin kuumale klaasile, kuid see nõudis väändumise vältimiseks täiendavat pulka kuuma sinise maalri lindile printimiseks. Jällegi peaks 25% täitmine ja 0,25 mm kihi kõrgus olema enam kui piisav.

Nendel osadel on ka vahemaad. Servot hoidev õõnsus on mõlemal küljel ja selle õõnsuse mõõtmed peavad olema õiged - seega peab see toega printima. Kaablikanal asub ainult paksemal tagaküljel ja on konstrueeritud nii, et see ei võimaldaks laieneda, välja arvatud väike osa põhjas. Mõlema osa aluse siseküljel on tehniliselt aluse sisekõvera ulatus, mida ei toetata, kuid pole oluline, kas see osa trükist veidi langeb, nii et te ei vaja seal tuge.

Jällegi muudab värvivalik, mis on kontrastiks sisemiste osadega, kubitite "Q" paremini nähtavaks. Ehkki trükkisime esikülje sinise PLA taustaga valgete PLA-osadega „AGGREGATE. ORG” ja „UKY. EDU”, võib teie kehavärviga kontrastsuse välimus olla ahvatlevam. Oleme tänulikud, kui jätate need sinna, et vaatajatele meelde tuletada, kust kujundus pärineb, kuid pole vaja neid URL -e visuaalselt karjuda.

Kui need osad on trükitud, eemaldage kõik tugimaterjalid ja veenduge, et servo sobiks kokku kahe osaga. Kui see ei sobi, jätkake tugimaterjali väljavalimist. See on üsna tihedalt istuv, kuid peaks võimaldama mõlemat poolt kokku suruda. Pange tähele, et väljatrükis ei ole tahtlikult joondusstruktuure, sest isegi väike väändumine takistab nende kokkupanekut.

Samm: pange sisemine osa kokku

Pange sisemine osa kokku
Pange sisemine osa kokku
Pange sisemine osa kokku
Pange sisemine osa kokku

Võtke kaks sisemist osa ja joondage need tagurpidi nii, et "1" vasakul olev terav pöördjoon oleks joondatud "0" terava pöördega. Soovi korral saate neid ajutiselt kahepoolse teibiga kokku hoida, kuid peamine on kasutada kuuma jootekolvi, et neid kokku keevitada.

Piisab keevitamisest kohtades, kus servad kokku tulevad. Tehke seda kõigepealt keevitamiseks, kasutades jootekolvi, et lohistada PLA mitmest kohast kahe serva vahel. Kui osad on kokku kleebitud, jootke jootekolb õmbluse ümber, et luua püsiv keevisõmblus. Kaks tükki peaksid moodustama ülaltoodud pildil näidatud osa.

Selle keevitatud osa sobivust saate kontrollida, sisestades selle tagumisse välimisse ossa. Peate seda veidi kallutama, et terav pöörd saaks küljele, millel ei ole servoõõnsust, kuid kui see on sees, peaks see vabalt pöörlema.

6. samm: suunake servo ja seadke sarv

Suunake servo ja seadke sarv
Suunake servo ja seadke sarv

Selle toimimiseks peab meil olema teadaolev otsene vastavus servo juhtimise ja servo pöörlemisasendi vahel. Igal servol on minimaalne ja maksimaalne impulsi laius, millele see reageerib. Peate need oma servode jaoks empiiriliselt avastama, sest loodame täieliku 180-kraadise liikumise peale ja erinevad tootjad toodavad veidi erineva väärtusega SG90-sid (tegelikult on ka nende suurus veidi erinev, kuid need peaksid olema piisavalt lähedal) mahub lubatud ruumi). Nimetagem lühimat impulsi laiust "0" ja pikimat "1".

Võtke üks servoga kaasas olnud sarvedest ja lõigake selle tiivad traatlõikurite või mõne muu sobiva tööriista abil - nagu ülaltoodud fotol näha. Servo väga peent käiguvahemikku on väga raske 3D-printida, seega kasutame selle asemel ühe servosarve keskpunkti. Asetage kärbitud servosarv ühele servole. Nüüd ühendage servo, seadke see asendisse "1" ja jätke see sellesse asendisse.

Tõenäoliselt märkasite, et mitte-terava telje sees on silindriline õõnsus, mis on umbes teie servo hammasrattapea suurune-ja mõnevõrra väiksem kui teie kärbitud sarvkeskme läbimõõt. Võtke kuum jootekolb ja keerake seda õrnalt pöörleva augu sees ja ka kärbitud sarvikeskuse väliskülje ümber; sa ei ürita ka sulatada, vaid lihtsalt selleks, et need pehmeks saada. Seejärel lükake servost kinni hoides sarve keskosa otse pöördeavasse, servo asendis "1" - kusjuures sisemine osa näitab "1", kui servo on paigutatud nii, nagu see oleks toetudes õõnsusse tagumises välimisosas.

Kui kärbitud sarve sisse lükkate, peaksite nägema, et PLA on veidi kokku keeratud, luues sarvega väga kindla ühenduse. Laske sidemel veidi jahtuda ja seejärel tõmmake servo välja. Sarv peaks nüüd osa piisavalt hästi siduma, et servo saaks osa vabalt keerutada ilma olulise lõtkuta.

Samm 7: Koguge iga Qubit kokku

Koguge iga Qubit kokku
Koguge iga Qubit kokku
Koguge iga Qubit kokku
Koguge iga Qubit kokku

Nüüd olete valmis qubitsi ehitama. Asetage välimine tagumine osa tasasele pinnale (nt lauale) nii, et servoõõnsus on ülespoole ja alus ripub üle pinna serva, nii et välimine tagumine osa on tasane. Nüüd võtke servo külge kinnitatud servo ja sisemine osa ning sisestage need tagumisse välimisse ossa. Vajutage kaabel servost selle kanalisse.

Kui kõik, mis istub, loputage, asetage esiosa välimine osa sõlme kohale. Ühendage servo ja kasutage seda koos hoides, veendumaks, et miski ei seo ega ole valesti joondatud. Kasutage nüüd VHB -linti või jootekolvi, et keevitada välimine esi- ja tagaosa kokku.

Korrake neid samme iga kubiti jaoks.

8. samm: paigaldamine

Paigaldamine
Paigaldamine
Paigaldamine
Paigaldamine

Iga kubiti väikese aluse tagaküljel on sisselõige, mis võimaldaks teil juhtkaabliga ühendamiseks servokaabli tagant välja viia ja alus on piisavalt lai, et iga kubit oleks iseenesest stabiilne, nii et võite lihtsalt panna pikenduskaablid igale servole ja juhtida need lauale või muule tasasele pinnale laiali. Kuid see näitab neid ühendavaid juhtmeid….

Mulle tundub, et juhtmete nägemine hävitab õudse tegevuse illusiooni eemalt, seega eelistan juhtmed täielikult peita. Selleks vajame ainult kinnitusplatvormi, mille iga kubiti all on auk, mis on piisavalt suur servokaabli pistiku läbimiseks. Muidugi tahaksime, et iga kubit jääks sinna, kuhu see on pandud, nii et aluses on kolm 1/4-20 koputatud auku. Eesmärk on kasutada keskmist, kuid teisi saab kasutada asjade turvalisemaks muutmiseks või juhul, kui keskniit liigse pingutamise tõttu lahti võetakse. Seega puuritakse iga kubiti jaoks alusse kaks tihedalt asetsevat auku: üks läbib 1/4-20 kruvikeerme, teine aga servokaabli pistiku.

Kuna 3/4 "puit on kõige tavalisem, soovite seda tõenäoliselt kasutada aluse ülaosas-nagu minagi. Sellisel juhul vajate umbes 1,25" kruvi või kruvi. pikk. Saate neid osta igast ehituspoest hinnaga umbes 1 dollar kuue eest. Teise võimalusena saate neid 3D-printida … kuid kui printite, soovitan need printida ükshaaval, sest see vähendab peenike kruvikeerme defekte.

Ilmselgelt ei ole kinnituse mõõtmed kriitilised, kuid need määravad vajalike pikendusjuhtmete pikkused. KREQC tehti kahe rida kolmekordset peamiselt selleks, et kinnitus mahuks kaasaskantavasse kohvrisse, nii viisime selle oma IEEE/ACM SC18 uurimisnäitusele.

9. samm: brändige see

Brändige see
Brändige see
Brändige see
Brändige see
Brändige see
Brändige see

Viimase sammuna ärge unustage oma kvantarvutit sildistada!

3D-trükkisime mustale kullale nimesildi, mis seejärel kinnitati aluse puidust esiküljele. Märgistage julgelt oma omadusi muul viisil, näiteks lisatud PDF-i plaadipildi 2D-printimisel laser- või tindiprinteriga. Samuti ei teeks paha, kui märgistate iga kubiti oma positsiooniga, eriti kui muutute liiga loominguliseks kubittide baasil korraldamisel.

Samuti võiksite jagada 3D-prinditud qubiti võtmehoidjaid; need ei ole takerdunud ega mootoriga, kuid pöörlevad vabalt, kui neile peale puhute ja meenutate suurepäraselt koju kaasa võtmist KREQC meeleavaldusest.

Soovitan: