Sisällysluettelo:

KREQC: Kentuckyn kiertoemuloitu kvanttitietokone: 9 vaihetta
KREQC: Kentuckyn kiertoemuloitu kvanttitietokone: 9 vaihetta

Video: KREQC: Kentuckyn kiertoemuloitu kvanttitietokone: 9 vaihetta

Video: KREQC: Kentuckyn kiertoemuloitu kvanttitietokone: 9 vaihetta
Video: KREQC in operation 2024, Heinäkuu
Anonim
KREQC: Kentuckyn pyörivä emuloitu kvanttitietokone
KREQC: Kentuckyn pyörivä emuloitu kvanttitietokone
KREQC: Kentuckyn pyörivä emuloitu kvanttitietokone
KREQC: Kentuckyn pyörivä emuloitu kvanttitietokone

Kutsumme sitä "puroksi" - kirjoitettu KREQC: Kentuckyn kierto -emuloitu kvanttitietokone. Kyllä, tämä opas näyttää sinulle, kuinka tehdä oma toimiva kvanttitietokone, joka toimii luotettavasti huoneenlämmössä ja jonka kiertoaika on vähintään 1/2 sekuntia. Kokonaiskustannukset ovat 50-100 dollaria.

Toisin kuin toisessa kuvassa näkyvä IBM Q-kvanttitietokone, KREQC ei käytä suoraan kvanttifysiikan ilmiöitä täysin sotkeutuneiden qubittiensa toteuttamiseen. Luulen, että voisimme väittää, että kaikki käyttää kvanttifysiikkaa, mutta se on oikeastaan vain perinteisesti ohjattuja servoja, jotka toteuttavat Einsteinin "pelottavaa toimintaa etäisyydellä" KREQC: ssä. Toisaalta näiden servojen avulla KREQC voi jäljitellä käyttäytymistä melko hyvin, mikä tekee toiminnasta helpon nähdä ja selittää. Selityksistä puheen ollen ….

Vaihe 1: Mikä on kvanttitietokone?

Image
Image

Ennen kuin annamme selityksen, tässä on linkki mukavaan selitykseen IBM Q Experience -dokumentaatiosta. Nyt otamme laukauksemme….

Epäilemättä olet kuullut enemmän kuin vähän (pun -tarkoitus) siitä, miten qubitit antavat maagisia laskennallisia kykyjä kvanttitietokoneissa. Perusajatus on, että vaikka tavallinen bitti voi olla joko 0 tai 1, qubit voi olla 0, 1 tai määrittämätön. Se ei sinänsä vaikuta erityisen hyödylliseltä - ja vain yhdellä kubitilla se ei ole - mutta useilla sotkeutuneilla kubitilla on melko hyödyllinen ominaisuus, että niiden määrittelemättömät arvot voivat samanaikaisesti kattaa kaikki mahdolliset bittiarvojen yhdistelmät. Esimerkiksi 6 bitillä voi olla mikä tahansa arvo välillä 0-63 (eli 2^6), kun taas 6 kubitilla voi olla määrittämätön arvo, joka on kaikki arvot 0-63, ja jokaiseen mahdolliseen arvoon liittyy mahdollisesti erilainen todennäköisyys. Kun kubitin arvo luetaan, sen ja kaikkien siihen kietoutuneiden kubitien arvot määritetään siten, että kullekin kubitille yksittäinen lukema valitaan satunnaisesti todennäköisyyksien mukaisesti; jos määrittämätön arvo on 75% 42 ja 25% 0, niin noin 3 joka neljästä kvanttilaskennan suorituskerrasta, tulos on 42 ja muulla kertaa se on 0. Keskeistä on, että kvanttilaskenta arvioi kaikki mahdolliset arvot ja palauttaa yhden (mahdollisesti useista) kelvollisista vastauksista ja yrittää eksponentiaalisesti monia arvoja samanaikaisesti - ja se on jännittävä osa. Se tarvitsisi 64 6-bittistä järjestelmää tehdäkseen mitä yksi 6-kubitinen järjestelmä voi tehdä.

Kullakin KREQC: n kuudesta täysin sotkeutuneesta kubitista voi olla 0, 1 tai määrittämätön kiertoarvo. Todennäköistä määrittämätöntä arvoa edustavat kaikki kubitit vaaka -asennossa. Kvanttilaskennan edetessä eri arvojen todennäköisyydet muuttuvat. Lopulta kvanttilaskenta päätetään mittaamalla sotkeutuneet kubitit, mikä romahtaa määrittämättömän arvon täysin määritettyyn 0s ja 1s sekvenssiin. Yllä olevassa videossa näet KREQC: n laskevan "vastauksen elämän, maailmankaikkeuden ja kaiken perimmäiseen kysymykseen" - toisin sanoen 42 … joka binäärinä on 101010, 101 kubitin takarivillä ja 010 in etuosa.

Tietenkin kvanttitietokoneissa on joitain ongelmia, ja myös KREQC kärsii niistä. Ilmeinen on se, että haluamme todella miljoonia kubitteja, ei vain kuutta. On kuitenkin myös tärkeää huomata, että kvanttitietokoneet toteuttavat vain yhdistelmälogiikkaa - toisin kuin me tietokoneinsinöörit kutsumme tilakoneeksi. Pohjimmiltaan tämä tarkoittaa sitä, että kvanttikone itsessään on heikompi kuin Turingin kone tai perinteinen tietokone. KREQC: n tapauksessa toteutamme tilakoneita ohjaamalla KREQC: tä käyttämällä tavanomaista tietokonetta kvanttilaskentasarjan suorittamiseksi, yksi tilakonekäynnin aikana tilakoneen suorituksessa.

Joten rakennetaan huoneenlämpöinen kvanttitietokone!

Vaihe 2: Työkalut, osat ja materiaalit

3D-painetut osat: sisäosa
3D-painetut osat: sisäosa

KREQC: ssä ei ole paljon, mutta tarvitset joitain osia ja työkaluja. Aloitetaan työkaluista:

  • Pääsy kuluttajatason 3D-tulostimeen. Olisi mahdollista valmistaa KREQC: n kubitit CNC -jyrsinkoneella ja puulla, mutta niiden tekeminen suulakepuristamalla PLA -muovia on paljon helpompaa ja siistimpää. Suurin 3D-tulostettu osa on 180x195x34mm, joten asiat ovat paljon helpompia, jos tulostimessa on tarpeeksi suuri tulostusmäärä, joka tulostaa sen yhtenä kappaleena.
  • Juotosrauta. Käytetään PLA -osien hitsaamiseen.
  • Lankaleikkurit tai jotain muuta, joka voi leikata pieniä 1 mm paksuisia muoviosia (servosarvia).
  • Vaihtoehtoisesti puuntyöstötyökalut puupohjan valmistamiseksi qubitien kiinnittämistä varten. Pohjaa ei välttämättä tarvita, koska jokaisessa bitissä on sisäänrakennettu jalusta, jonka avulla ohjauskaapeli voi reitittää takaosan.

Et tarvitse myöskään monia osia tai materiaaleja:

  • PLA qubitien tekemiseen. Jos tulostetaan 100% täyttöasteella, se on silti alle 700 grammaa PLA: ta kubitilla; kohtuullisemmalla 25% täytöllä 300 grammaa olisi parempi arvio. Siten 6 qubitia voitaisiin valmistaa käyttämällä vain yhtä 2 kg: n kelaa, materiaalikustannuksella noin 15 dollaria.
  • Yksi SG90 -mikropalvelu kubitille. Nämä ovat helposti saatavilla alle 2 dollaria kappale. Muista hankkia mikro-servoja, jotka määrittävät 180 asteen paikannustoiminnon-et halua 90 asteen tai sellaisia, jotka on suunniteltu jatkuvalle pyörimiselle vaihtelevalla nopeudella.
  • Servo -ohjainkortti. Valintoja on monia, mukaan lukien Arduinon käyttäminen, mutta erittäin helppo valinta on Pololu Micro Maestro 6-kanavainen USB-servo-ohjain, joka maksaa alle 20 dollaria. On myös muita versioita, jotka voivat käsitellä 12, 18 tai 24 kanavaa.
  • Jatkokaapelit SG90 -laitteille tarpeen mukaan. SG90 -kaapeleiden pituudet vaihtelevat jonkin verran, mutta kubitit on erotettava vähintään noin 6 tuumaa, joten jatkokaapeleita tarvitaan. Nämä ovat helposti alle 0,50 dollaria kukin pituudesta riippuen.
  • 5 V: n virtalähde Pololu- ja SG90 -malleille. Normaalisti Pololu saa virtansa USB -liitännän kautta kannettavaan tietokoneeseen, mutta voi olla viisasta hankkia erillinen virtalähde servoille. Käytin 5V 2.5A seinäsyynyä, joka minulla oli noin, mutta uusia 3A: n voi ostaa alle 5 dollarilla.
  • Valinnaisesti 2-puolinen teippi pitää asiat yhdessä. VHB (Very-High Bond) -nauha toimii hyvin pitämään jokaisen kubitin ulkokuoren yhdessä, vaikka hitsaus toimii vielä paremmin, jos sitä ei tarvitse koskaan irrottaa.
  • Vaihtoehtoisesti puu- ja viimeistelytarvikkeet pohjan tekemiseen. Ompelumme valmistettiin myymäläjätteistä, ja niitä pitävät yhdessä keksejä, joiden viimeistelyssä on useita kerroksia kirkasta polyuretaania.

Kaiken kaikkiaan rakentamamme 6-kubitinen KREQC maksoi tarvikkeita noin 50 dollaria.

Vaihe 3: 3D-painetut osat: sisäosa

3D-painetut osat: sisäosa
3D-painetut osat: sisäosa
3D-painetut osat: sisäosa
3D-painetut osat: sisäosa

Kaikki 3D-painetut osamallit ovat vapaasti saatavana Thingiversen nimellä Thing 3225678. Mene hakemaan kopiosi nyt, odotamme….

Ah, niin pian takaisin? Ok. Varsinainen "bitti" qubitissa on yksinkertainen osa, joka on painettu kahtena kappaleena, koska on helpompi käsitellä kahden kappaleen hitsausta yhteen kuin käyttää tukia korotettujen kirjainten tulostamiseen yhden osan molemmille puolille.

Suosittelen tulostamaan tämän värin, joka on ristiriidassa qubitin ulkoosan kanssa - esimerkiksi mustalla. Versiossamme painoimme yläosan 0,5 mm valkoiseksi kontrastin aikaansaamiseksi, mutta se vaati hehkulangan vaihtamista. Jos et halua tehdä sitä, voit aina maalata "1" ja "0" korotetut pinnat. Molemmat osat tulostuvat ilman jännevälejä ja siten ilman tukia. Käytimme 25% täyttöä ja 0,25 mm puristuskorkeutta.

Vaihe 4: 3D-painetut osat: ulompi osa

3D-painetut osat: ulompi osa
3D-painetut osat: ulompi osa
3D-painetut osat: ulompi osa
3D-painetut osat: ulompi osa

Jokaisen kubitin ulompi osa on hieman hankalampi. Ensinnäkin nämä kappaleet ovat suuria ja litteitä, joten niitä voidaan nostaa paljon tulostusvuoteesta. Yleensä tulostan kuumalle lasille, mutta nämä vaativat ylimääräisen tikun tulostamista kuumalle siniselle maalarinteipille vääntymisen välttämiseksi. Jälleen 25% täyttö ja 0,25 mm kerroksen korkeuden pitäisi olla enemmän kuin tarpeeksi.

Näissä osissa on myös jännevälit. Servoa pitävässä ontelossa on jänneväliä molemmilla puolilla, ja on tärkeää, että ontelon mitat ovat oikeat - joten sen on tulostettava tuella. Kaapelin reitityskanava on vain paksummalla takapuolella, ja se on rakennettu välttämään jänneväliä lukuun ottamatta pientä bittiä aivan pohjassa. Molempien kappaleiden pohjan sisäpuolella on teknisesti tukematon alue pohjan sisäkaarelle, mutta sillä ei ole väliä, painuuko tämä osa hiukan, joten et tarvitse tukea siellä.

Jälleen värivalinta, joka on ristiriidassa sisäosien kanssa, tekee qubittien "Q" näkyvämmäksi. Vaikka tulostimme etuosan valkoisilla PLA-osilla "AGGREGATE. ORG" ja "UKY. EDU" sinisellä PLA-taustalla, saatat pitää hellävaraisempana, jos niissä on rungon väri. Arvostamme, että jätit ne muistuttamaan katsojia siitä, mistä malli on peräisin, mutta sinun ei tarvitse huutaa näitä URL -osoitteita visuaalisesti.

Kun nämä osat on tulostettu, poista kaikki tukimateriaalit ja varmista, että servo sopii yhteen kahden kappaleen kanssa. Jos se ei sovi, jatka tukimateriaalin poimimista. Se on melko tiukka istuvuus, mutta sen pitäisi sallia molempien puolikkaiden työntäminen yhteen. Huomaa, että tulostuksessa ei ole tarkoituksella kohdistusrakenteita, koska pienikin vääntyminen estäisi niiden kokoonpanon.

Vaihe 5: Kokoa sisäosa

Kokoa sisäosa
Kokoa sisäosa
Kokoa sisäosa
Kokoa sisäosa

Ota kaksi sisäosaa ja kohdista ne peräkkäin siten, että "1": n vasemmalla puolella oleva terävä nivel on linjassa "0": n terävän nivelen kanssa. Voit halutessasi pitää niitä tilapäisesti yhdessä kaksipuolisen teipin kanssa, mutta tärkeintä on käyttää kuumaa juotosrautaa hitsaamaan ne yhteen.

Riittää, että hitsataan reunoista yhteen. Tee tämä ensin hitsaamalla hitsaamalla juottimella ja vetämällä PLA yhteen kahden kappaleen välisen reunan yli useissa kohdissa. Kun osat on kiinnitetty yhteen, aja juotosrauta ympäri saumaa ja luo pysyvä hitsaus. Kahden kappaleen tulisi muodostaa yllä olevassa kuvassa näkyvä osa.

Voit tarkistaa tämän hitsatun osan sopivuuden asettamalla sen takaosan ulko -osaan. Sinun on kallistettava sitä hieman, jotta terävä nivel tulee sivulle, jolla ei ole servo -onteloa, mutta kun se on sisäänpäin, sen pitäisi pyöriä vapaasti.

Vaihe 6: Suuntaa servo ja aseta äänitorvi

Suuntaa servo ja aseta torvi
Suuntaa servo ja aseta torvi

Jotta tämä toimisi, meillä on oltava tiedossa oleva suora vastaavuus servo -ohjauksen ja servon pyörimisasennon välillä. Jokaisella servolla on minimi- ja maksimipulssileveys, joihin se reagoi. Sinun on löydettävä ne empiirisesti servoillesi, koska luotamme täyteen 180 asteen liikkeeseen ja eri valmistajat tuottavat SG90-malleja, joiden arvot ovat hieman erilaiset (itse asiassa myös niiden koot ovat hieman erilaiset, mutta niiden tulisi olla riittävän lähellä mahtuu sallittuun tilaan). Kutsutaan lyhin pulssin leveys "0" ja pisin "1".

Ota yksi servosi mukana tulleista sarvista ja leikkaa siivet irti lankaleikkureilla tai muulla sopivalla työkalulla - kuten yllä olevassa kuvassa näkyy. Servon erittäin hienoa vaihteistoa on erittäin vaikea tulostaa 3D-muodossa, joten käytämme sen sijaan yhden servosarven keskikohtaa. Aseta leikattu servosarvi yhden servon päälle. Liitä nyt servo, aseta se "1" -asentoon ja jätä se tähän asentoon.

Olet todennäköisesti huomannut, että ei-terävässä nivelessä on sylinterimäinen ontelo, joka on suunnilleen servosi hammaspyörän pään kokoinen-ja hieman pienempi kuin leikatun sarvikeskuksen halkaisija. Ota kuuma juotosrauta ja pyöritä sitä varovasti nivelen reiän sisällä ja myös leikatun sarvikeskuksen ulkopuolella; et myöskään yritä sulattaa, vaan saada ne pehmeiksi. Pidä sitten servosta kiinni ja työnnä äänitorven keskikohta suoraan kääntöaukon reikään siten, että servo on asennossa "1" - sisäosassa näkyy "1", kun servo on asennossa kuten silloin, kun lepää ulko -takaosan ontelossa.

Sinun pitäisi nähdä PLA taittuvan hieman itsestään, kun työnnät leikattua sarvea sisään, luoden erittäin lujan yhteyden sarveen. Anna sidoksen jäähtyä hieman ja vedä sitten servo ulos. Sarven pitäisi nyt sitoa osa riittävän hyvin, jotta servo voi vapaasti pyörittää osaa ilman merkittävää välystä.

Vaihe 7: Kokoa jokainen Qubit

Kokoa jokainen Qubit
Kokoa jokainen Qubit
Kokoa jokainen Qubit
Kokoa jokainen Qubit

Nyt olet valmis rakentamaan qubitit. Aseta ulompi takaosa tasaiselle pinnalle (esim. Pöydälle) siten, että servo -aukko on ylöspäin ja jalusta roikkuu pinnan reunan yli siten, että ulompi takaosa on tasainen. Ota nyt servo ja sisäosa, jotka on kiinnitetty sarvessa, ja aseta ne takaosaan. Paina servokaapeli sen kanavaan.

Kun kaikki istuu tasaisesti, aseta etuosa ulko -osa kokoonpanon päälle. Liitä servo ja käytä sitä pitäen kokoonpanoa yhdessä varmistaaksesi, ettei mikään sido tai ole kohdakkain. Käytä nyt VHB -teippiä tai juotosraudalla hitsatessasi etu- ja takaosan ulkoa yhteen.

Toista nämä vaiheet jokaiselle kubitille.

Vaihe 8: Asennus

Asennus
Asennus
Asennus
Asennus

Jokaisen kubitin pienessä pohjassa on leikkaus takana, jonka avulla voit viedä servokaapelin takaa ja muodostaa yhteyden ohjaimeen, ja pohja on riittävän leveä, jotta jokainen kubitti on vakaa itsestään, joten voit yksinkertaisesti laittaa jatkojohtoja jokaiseen servoon ja vedä ne pöydälle tai muulle tasaiselle pinnalle. Se näyttää kuitenkin johdot, jotka yhdistävät ne….

Minusta tuntuu, että johtojen näkeminen pilaa illuusion pelottavasta toiminnasta kaukaa, joten haluan piilottaa johdot kokonaan. Tätä varten tarvitsemme vain asennusalustan, jonka jokaisen kubitin alla on reikä, joka on riittävän suuri servokaapeliliittimen läpi. Tietenkin haluaisimme, että jokainen kubitti pysyy paikallaan, joten pohjassa on kolme 1/4-20 kierteistä reikää. Tarkoituksena on käyttää keskimmäistä, mutta muita voidaan käyttää asioiden turvallisuuden parantamiseen tai jos keskikierre irtoaa liian kiristämällä. Siten porataan kaksi lähekkäin olevaa reikää pohjaan kutakin kubittia kohden: toinen kulkee 1/4-20 ruuvikierteen läpi, toinen ohittaa servokaapelin liittimen.

Koska 3/4 "puu on yleisin, haluat todennäköisesti käyttää sitä pohjan yläosassa-kuten minäkin. Siinä tapauksessa tarvitset 1/4-20 ruuvin tai pultin, joka on noin 1,25" pitkä. Voit ostaa niitä mistä tahansa rautakaupasta hintaan 1 $ kuusi. Vaihtoehtoisesti voit tulostaa ne 3D-muodossa … mutta suosittelen tulostamaan ne yksi kerrallaan, jos tulostat ne, koska se minimoi viat ruuvikierteessä.

Ilmeisesti telineen mitat eivät ole kriittisiä, mutta ne määräävät tarvittavien jatkojohtojen pituudet. KREQC tehtiin kahdella kolmen qubitin rivillä pääasiassa niin, että teline mahtuu käsimatkatavaraan, joten toimme sen IEEE/ACM SC18 -näyttelyyn.

Vaihe 9: Merkitse se

Merkki se
Merkki se
Merkki se
Merkki se
Merkki se
Merkki se

Viimeisenä vaiheena, älä unohda merkitä kvanttitietokoneesi!

Tulostimme 3D-nimikilven mustalla kullalla, joka kiinnitettiin sitten alustan puiseen etuosaan. Voit vapaasti merkitä omasi muilla tavoilla, kuten liitetyn PDF-tyyppikilven kuvan 2D-tulostuksella laser- tai mustesuihkutulostimella. Ei myöskään haittaa merkitä jokaista qubitia sijainnillaan, varsinkin jos olet liian luova siitä, miten järjestät qubitit pohjaan.

Saatat myös nauttia 3D-tulostettujen qubit-avainnippujen jakamisesta; ne eivät ole sotkeutuneita eivätkä moottoroituja, mutta ne pyörivät vapaasti, kun puhallat niihin ja teet suuren muistutuksen KREQC-mielenosoituksesta.

Suositeltava: