INHOUDSOPGAWE:

KREQC: Kentucky se rotasie -geïmuleerde kwantumrekenaar: 9 stappe
KREQC: Kentucky se rotasie -geïmuleerde kwantumrekenaar: 9 stappe

Video: KREQC: Kentucky se rotasie -geïmuleerde kwantumrekenaar: 9 stappe

Video: KREQC: Kentucky se rotasie -geïmuleerde kwantumrekenaar: 9 stappe
Video: CS50 2014 - Week 2, continued 2024, Julie
Anonim
KREQC: Kentucky se rotasie -nabootsende kwantumrekenaar
KREQC: Kentucky se rotasie -nabootsende kwantumrekenaar
KREQC: Kentucky se rotasie -nabootsende kwantumrekenaar
KREQC: Kentucky se rotasie -nabootsende kwantumrekenaar

Ons noem dit 'creek' - gespel KREQC: Kentucky's Rotationally Emulated Quantum Computer. Ja, hierdie instruksies sal u wys hoe u u eie werkende kwantumrekenaar kan maak wat betroubaar werk by kamertemperatuur met 'n minimum siklustyd van ongeveer 1/2 sekonde. Die totale boukoste is $ 50-$ 100.

Anders as die IBM Q-kwantumrekenaar wat op die tweede foto getoon word, gebruik KREQC nie kwantumfisika-verskynsels direk om sy volledig verstrengelde qubits te implementeer nie. Wel, ek veronderstel dat ons kan argumenteer dat alles kwantumfisika gebruik, maar dit is eintlik net konvensioneel beheerde servo's wat Einstein se 'spooky action on a distance' in KREQC implementeer. Aan die ander kant laat hierdie servo's toe dat KREQC die gedrag nogal goed navolg, wat die werking maklik maak om te sien en te verduidelik. Gepraat van verduidelikings ….

Stap 1: Wat is 'n kwantumrekenaar?

Image
Image

Hier is 'n skakel na 'n goeie verduideliking uit die dokumentasie van IBM Q Experience voordat ons ons verduideliking gee. Nou neem ons ons kans …

U het ongetwyfeld meer as 'n bietjie gehoor (woordspeling bedoel) oor hoe qubits magiese berekeningsvermoëns op kwantumrekenaars verleen. Die basiese idee is dat hoewel 'n gewone bietjie 0 of 1 kan wees, 'n qubit 0, 1 of onbepaald kan wees. Op sigself lyk dit nie besonder handig nie - en met net een qubit is dit nie die geval nie - maar veelvoudige verstrengelde qubits het die taamlik nuttige eienskap dat hul onbepaalde waardes gelyktydig alle moontlike kombinasies van bitwaardes kan dek. Byvoorbeeld, 6 bisse kan enige waarde van 0 tot 63 (d.w.s. 2^6) hê, terwyl 6 qubits 'n onbepaalde waarde kan hê, wat alle waardes van 0 tot 63 is, met 'n moontlik verskillende waarskynlikheid wat met elke moontlike waarde verband hou. As die waarde van 'n qubit gelees word, word die waardes daarvan en alle qubits wat daarmee verstrengel word bepaal, met die enkele waarde wat vir elke qubit gelees word, lukraak volgens die waarskynlikhede gekies; as die onbepaalde waarde 75% 42 en 25% 0 is, dan is ongeveer 3 uit elke vier keer dat die kwantumberekening uitgevoer word, die resultaat 42 en die ander kere is dit 0. Die belangrikste punt is dat die kwantumberekening geëvalueer word alle moontlike waardes en gee een (van potensieel veelvuldige) geldige antwoorde op en probeer eksponensieel baie waardes gelyktydig probeer - en dit is die opwindende deel. Dit sou 64 6-bis-stelsels neem om te doen wat 'n 6-qubit-stelsel kan doen.

Elkeen van KREQC se 6 volledig verstrengelde qubits kan 'n rotasiewaarde hê wat 0, 1 of onbepaald is. Die onbepaalde onbepaalde waarde word voorgestel deur al die qubits in die horisontale posisie. Namate 'n kwantumberekening verloop, verander die waarskynlikhede van verskillende waardes - verteenwoordig in KREQC deur die individuele qubits wat wankel en statistiese posisies aanneem wat die waarskynlikhede van waardes weerspieël. Uiteindelik word die kwantumberekening beëindig deur die verstrengelde qubits te meet, wat die onbepaalde waarde ineenstort in 'n volledig bepaalde volgorde van 0s en 1s. In die video hierbo sien u KREQC wat die 'antwoord op die uiteindelike vraag van lewe, die heelal en alles' bereken - met ander woorde 42 … wat in binêre 101010 is, met 101 in die agterste ry qubits en 010 in die voorkant.

Daar is natuurlik probleme met kwantumrekenaars, en KREQC ly ook daaronder. Dit is duidelik dat ons regtig miljoene qubits wil hê, nie net 6. Dit is egter ook belangrik om daarop te let dat kwantumrekenaars slegs kombinatoriese logika implementeer - in teenstelling met wat ons rekenaaringenieurs 'n staatsmasjien noem. Dit beteken basies dat 'n kwantummasjien op sigself minder bekwaam is as 'n Turing -masjien of 'n konvensionele rekenaar. In die geval van KREQC implementeer ons staatsmasjiene deur KREQC te beheer met behulp van 'n konvensionele rekenaar om 'n reeks kwantumberekenings uit te voer, een per staatsbesoek in die uitvoering van die staatsmasjien.

Laat ons dus 'n kwantumrekenaar by kamertemperatuur bou!

Stap 2: Gereedskap, onderdele en materiaal

3D-gedrukte onderdele: die binneste deel
3D-gedrukte onderdele: die binneste deel

Daar is nie veel aan KREQC nie, maar u benodig 'n paar onderdele en gereedskap. Kom ons begin met die gereedskap:

  • Toegang tot 'n 3D-drukker van verbruikersgraad. Dit sou moontlik wees om KREQC se qubits te maak met 'n CNC -freesmasjien en hout, maar dit is baie makliker en netjieser om dit te maak deur PLA -plastiek uit te druk. Die grootste 3D-gedrukte deel is 180x195x34mm, dus dit is baie makliker as die drukker 'n groot genoeg drukvolume het om dit in een stuk te druk.
  • 'N Soldeerbout. Te gebruik vir die sweis van PLA -onderdele.
  • Draadsnyers of iets anders wat klein plastiekdele van 1 mm dik (die servohorings) kan sny.
  • Opsioneel, houtbewerkingsgereedskap vir die maak van 'n houtbasis om die qubits te monteer. 'N Basis is nie streng nodig nie, want elke bietjie het 'n ingeboude staander waarmee 'n beheerkabel van agter af kan lei.

U het ook nie baie onderdele of materiale nodig nie:

  • PLA vir die maak van die qubits. As dit met 100% vulling gedruk word, sal dit steeds minder as 700 gram PLA per kwbit wees; By 'n meer redelike vul van 25% sou 300 gram 'n beter skatting wees. U kan dus 6 qubits maak met slegs een spoel van 2 kg, teen 'n materiaalprys van ongeveer $ 15.
  • Een SG90 mikroservo per kwbit. Dit is geredelik beskikbaar vir minder as $ 2 elk. Maak seker dat u mikroservo's kry wat 'n posisioneringsbewerking van 180 grade spesifiseer-u wil nie 90 grade hê nie, en u wil ook nie dat hulle ontwerp is vir deurlopende rotasie teen veranderlike snelheid nie.
  • 'N Servobestuurderbord. Daar is baie keuses, insluitend die gebruik van 'n Arduino, maar 'n baie maklike keuse is die Pololu Micro Maestro 6-kanaal USB-servo-beheerder wat minder as $ 20 kos. Daar is ander weergawes wat 12, 18 of 24 kanale kan hanteer.
  • Verlengkabels vir die SG90's soos benodig. Die kabels op die SG90's wissel ietwat in lengte, maar u moet qubits met 'n minimum van ongeveer 6 duim skei, dus verlengkabels sal nodig wees. Dit is maklik minder as $ 0,50 elk, afhangende van die lengte.
  • 'N 5V -kragtoevoer vir die Pololu en SG90's. Normaalweg word die Pololu via 'n USB -verbinding met 'n skootrekenaar aangedryf, maar dit kan verstandig wees om 'n aparte kragtoevoer vir die servo's te hê. Ek het 'n muurvrat van 5V 2.5A gebruik, maar ek kan nuwe 3A koop vir minder as $ 5.
  • Opsioneel, dubbelzijdige band om dinge bymekaar te hou. VHB (Very-High Bond) band werk goed om die buitenste dop van elke qubit bymekaar te hou, alhoewel sweiswerk nog beter werk as u dit nooit hoef uitmekaar te haal nie.
  • Opsioneel, hout en afwerkingsvoorrade vir die vervaardiging van die basis. Ons is gemaak van afvalstrokies en word vasgemaak deur beskuitjies, met 'n paar lae helder poliuretaan as finale afwerking.

Alles in ag genome kos die KREQC van 6 qubit wat ons gebou het ongeveer $ 50 aan voorraad.

Stap 3: Onderdele met 3D-druk: die binneste deel

3D-gedrukte onderdele: die binneste deel
3D-gedrukte onderdele: die binneste deel
3D-gedrukte onderdele: die binneste deel
3D-gedrukte onderdele: die binneste deel

Al die 3D-gedrukte onderdeelontwerpe is gratis beskikbaar as Thing 3225678 by Thingiverse. Gaan haal nou u kopie … ons wag ….

Ag, so gou terug? Ok. Die werklike 'bietjie' in die qubit is 'n eenvoudige deel wat in twee stukke gedruk word, omdat dit makliker is om twee stukke aan mekaar te sweis as om stutte aan beide kante van een deel te druk.

Ek beveel aan dat u dit in 'n kleur druk wat in kontras is met die buitenste deel van die qubit - byvoorbeeld swart. In ons weergawe het ons die boonste 0,5 mm in wit gedruk om kontras te gee, maar dit was nodig om die filament te verander. As u dit eerder nie wil doen nie, kan u altyd die verhoogde oppervlaktes van die "1" en "0." verf Beide hierdie dele druk sonder omhulsels en dus sonder steun. Ons gebruik 25% vul en 0,25 mm extrusiehoogte.

Stap 4: Onderdele met 3D-druk: die buitekant

3D-gedrukte onderdele: die buitekant
3D-gedrukte onderdele: die buitekant
3D-gedrukte onderdele: die buitekant
3D-gedrukte onderdele: die buitekant

Die buitenste deel van elke qubit is 'n bietjie moeiliker druk. Eerstens is hierdie stukke groot en plat, en daarom is dit baie nodig om uit u bed te lig. Ek druk gewoonlik op warm glas, maar dit het 'n ekstra drukstuk op warmblou skilder se band nodig om te voorkom dat dit kronkel. Weereens, 25% vul en 0.25mm laaghoogte behoort meer as genoeg te wees.

Hierdie dele het ook albei spanne. Die holte wat die servo bevat, het weerskante aan beide kante en dit is van kritieke belang dat die afmetings van hierdie holte korrek is - daarom moet dit met ondersteuning gedruk word. Die kabelgeleidingskanaal is slegs aan die dikker agterkant en is opgestel om spanne te vermy, behalwe 'n klein bietjie aan die onderkant. Die binnekant van die basis op beide stukke het tegnies 'n nie -ondersteunde span vir die binnekromme van die basis, maar dit maak nie saak of die gedeelte van die afdruk effens sak nie, sodat u nie ondersteuning nodig het nie.

Weereens, 'n kleurkeuse wat in kontras is met die binneste dele, sal die 'Q' van die qubits meer sigbaar maak. Alhoewel ons die voorkant met die dele "AGGREGATE. ORG" en "UKY. EDU" in wit PLA op die blou PLA-agtergrond gedruk het, is dit moontlik dat die voorkoms met 'n laer kontras aantrekliker lyk. Ons waardeer dat u hulle daar gelaat het om kykers te herinner waar die ontwerp vandaan kom, maar dit is nie nodig om hierdie URL's visueel te skree nie.

Sodra hierdie dele gedruk is, verwyder die ondersteuningsmateriaal en maak seker dat die servo pas by die twee stukke wat bymekaar gehou word. As dit nie pas nie, gaan voort om die ondersteuningsmateriaal uit te haal. Dit pas redelik styf, maar dit moet toelaat dat albei helftes inmekaar gestoot word. Let op dat daar doelbewus geen belyningstrukture in die druk is nie, want selfs deur geringe kronkels kan dit voorkom dat dit monteer.

Stap 5: Monteer die binneste deel

Monteer die binneste deel
Monteer die binneste deel
Monteer die binneste deel
Monteer die binneste deel

Neem die twee binneste dele en pas dit van agter tot agter sodat die puntige draai links van die "1" in lyn is met die puntige draai op die "0." U kan dit tydelik met dubbelzijdige kleefband bymekaar hou, maar die sleutel is om 'n warm soldeerbout te gebruik om dit saam te sweis.

Dit is voldoende om te sweis waar die rande bymekaar kom. Doen dit deur eers te sweis deur die soldeerbout te gebruik om PLA op verskeie plekke oor die rand tussen die twee stukke te sleep. Nadat die dele vasgemaak is, laat die soldeerbout rondom die naat loop om 'n permanente las te vorm. Die twee stukke moet die deel in die bostaande prentjie maak.

U kan die pasvorm van hierdie gelaste deel nagaan deur dit in die agterste buitenste deel te plaas. U sal dit effens moet kantel om die puntige draaipunt in die kant te kry wat nie die servoholte het nie, maar een keer moet dit vrylik draai.

Stap 6: Oriënteer die servo en sit die horing

Rig die servo en sit die horing
Rig die servo en sit die horing

Om dit te laat werk, moet ons 'n bekende direkte ooreenkoms hê tussen servobesturing en rotasieposisie van die servo. Elke servo het 'n minimum en maksimum polswydte waarop dit sal reageer. U moet dit empiries vir u servo's ontdek, want ons reken op die volle beweging van 180 grade en verskillende vervaardigers produseer SG90's met effens verskillende waardes (hulle het ook effens verskillende groottes, maar hulle moet naby genoeg wees om pas binne die toegelate ruimte). Kom ons noem die kortste polswydte "0" en die langste "1".

Neem een van die horings wat by u servo gekom het en sny die vlerke daarvan af met behulp van draadknipers of enige ander toepaslike hulpmiddel - soos op die foto hierbo gesien. Die baie fyn ratkas op die servo is baie moeilik om in 3D te druk, daarom gebruik ons eerder die middel van een van die servohorings daarvoor. Sit die afgesnyde servohoring op een van die servo's. Steek nou die servo in, stel dit in sy "1" posisie en laat dit in die posisie.

U het waarskynlik opgemerk dat die nie-puntige spilpunt 'n silindriese holte bevat wat ongeveer die grootte van die ratkop op u servo is-en effens kleiner as die deursnee van u gesnyde horingsentrum. Neem die warm soldeerbout en draai dit saggies binne -in die gat in die spilpunt en ook om die buitekant van die gesnyde horingsentrum; jy probeer ook nie smelt nie, maar net om dit sag te maak. Hou dan die servo vas, druk die horing middel reguit in die gat in die spilpunt met die servo in die posisie "1" - met die binneste deel wat die "1" toon wanneer die servo geposisioneer is soos wanneer dit sou wees rus in die holte in die buitenste agterste deel.

U moet die PLA 'n bietjie op homself sien vou terwyl u die afgesnyde horing instoot, wat 'n baie stewige verbinding met die horing skep. Laat die bondel 'n bietjie afkoel en trek dan die servo uit. Die horing moet die deel nou goed genoeg bind sodat die servo die deel vrylik kan draai sonder om te speel.

Stap 7: Monteer elke Qubit

Monteer elke Qubit
Monteer elke Qubit
Monteer elke Qubit
Monteer elke Qubit

Nou is u gereed om die qubits te bou. Plaas die buitenste agterste deel op 'n plat oppervlak (byvoorbeeld 'n tafel) sodat die servoholte na bo wys en die staander oor die oppervlakrand hang sodat die buitenste agterste deel plat sit. Neem nou die servo en die binneste deel wat deur die horing geheg is, en plaas dit in die agterste buitenste deel. Druk die kabel van die servo in die kanaal daarvoor.

Plaas die voorste buitenste deel oor die eenheid sodra alles gelyk is. Sluit die servo aan en gebruik dit terwyl u die eenheid bymekaar hou om seker te maak dat niks bind of verkeerd is nie. Gebruik nou VHB -band of gebruik 'n soldeerbout om die buitekant van die voor- en agterkant aanmekaar te sweis.

Herhaal hierdie stappe vir elke qubit.

Stap 8: Montering

Montering
Montering
Montering
Montering

Die klein basis van elke qubit het 'n sny aan die agterkant waarmee u die servokabel agteruit kan laat loop om aan te sluit op u kontroleerder, en die basis is breed genoeg sodat elke qubit op sigself stabiel is, sodat u eenvoudig kan sit verlengkabels op elke servo en plaas dit oor 'n tafel of ander plat oppervlak. Dit sal egter wys hoe drade hulle verbind …

Ek voel dat die sien van drade die illusie van spookagtige aksie op 'n afstand verwoes, so ek verkies om die drade heeltemal weg te steek. Om dit te kan doen, benodig ons slegs 'n bevestigingsplatform met 'n gat onder elke qubit wat groot genoeg is om deur die servokabelaansluiting te gaan. Natuurlik wil ons graag hê dat elke qubit bly waar dit geplaas word, so daar is drie 1/4-20 getikte gate in die basis. Die bedoeling is om die middelste een te gebruik, maar die ander kan gebruik word om dinge veiliger te maak, of as die sentrale draad gestroop word. So boor die een twee gate met 'n goeie afstand in die basis vir elke qubit: die een om 'n 1/4-20 skroefdraad te slaag, die ander om die servokabelaansluiting deur te gaan.

Aangesien hout 3/4 duim die algemeenste is, sal u dit waarskynlik aan die bokant van die basis wil gebruik-soos ek gedoen het. In hierdie geval benodig u 'n 1/4-20 skroef of bout ongeveer 1,25 lank. U kan dit by elke hardewarewinkel koop vir ongeveer $ 1 vir ses. U kan dit ook 3D-druk … maar ek beveel aan dat u dit een vir een druk as u dit afdruk, want dit verminder die gebreke aan die skroefdraad.

Uiteraard is die afmetings van die houer nie kritiek nie, maar dit bepaal die lengte van verlengkabels wat u benodig. KREQC is hoofsaaklik gedoen in twee rye van drie qubits sodat die houer in 'n draagtas kan pas, en dit is hoe ons dit na ons IEEE/ACM SC18-navorsingsuitstalling gebring het.

Stap 9: Merk dit

Merk dit
Merk dit
Merk dit
Merk dit
Merk dit
Merk dit

As 'n laaste stap, vergeet nie om u kwantumrekenaar te benoem nie!

Ons het 'n naambord in swart op goud 3D gedruk, wat dan aan die voorkant van die hout vasgemaak is. Merk u s'n ook op ander maniere, soos 2D-druk van die aangehegte PDF-naamplaatjieprent met 'n laser- of inkjetdrukker. Dit sal ook nie skade doen om elke qubit met sy posisie te benoem nie, veral as u te kreatief raak oor hoe u die qubits op die basis rangskik.

U sal dit ook geniet om 3D-gedrukte qubit-sleutelhangers uit te deel; hulle is nie verstrengel nie en word ook nie gemotoriseer nie, maar hulle draai vryelik as jy op hulle blaas en 'n goeie herinnering aan 'n KREQC-demonstrasie maak.

Aanbeveel: