Indholdsfortegnelse:

KREQC: Kentuckys rotationsemulerede kvantecomputer: 9 trin
KREQC: Kentuckys rotationsemulerede kvantecomputer: 9 trin

Video: KREQC: Kentuckys rotationsemulerede kvantecomputer: 9 trin

Video: KREQC: Kentuckys rotationsemulerede kvantecomputer: 9 trin
Video: KREQC in operation 2024, Juni
Anonim
KREQC: Kentuckys rotationsemulerede kvantecomputer
KREQC: Kentuckys rotationsemulerede kvantecomputer
KREQC: Kentuckys rotationsemulerede kvantecomputer
KREQC: Kentuckys rotationsemulerede kvantecomputer

Vi kalder det "creek" - stavet KREQC: Kentuckys rotationsemulerede kvantecomputer. Ja, denne instruktive viser dig, hvordan du laver din egen kvantecomputer, der fungerer pålideligt ved stuetemperatur med en minimum cyklustid på ca. 1/2 sekund. De samlede byggeomkostninger er $ 50-$ 100.

I modsætning til IBM Q-kvantecomputeren vist på det andet foto, bruger KREQC ikke direkte kvantefysikfænomener til at implementere sine fuldt sammenfiltrede qubits. Tja, jeg formoder, at vi kunne argumentere for, at alt bruger kvantefysik, men det er egentlig bare konventionelt kontrollerede servoer, der implementerer Einsteins "uhyggelige handling på afstand" i KREQC. På den anden side giver disse servoer KREQC mulighed for at efterligne adfærden ret godt, hvilket gør betjeningen let at se og forklare. Apropos forklaringer ….

Trin 1: Hvad er en kvantecomputer?

Image
Image

Inden vi giver vores forklaring, er her et link til en god forklaring fra IBM Q Experience -dokumentation. Nu tager vi vores skud….

Du har uden tvivl hørt mere end en smule (ordspil beregnet) om, hvordan qubits tilfører magiske beregningsevner på kvantecomputere. Grundtanken er, at mens en almindelig bit enten kan være 0 eller 1, kan en qubit være 0, 1 eller ubestemt. I sig selv virker det ikke særlig nyttigt - og med kun en qubit er det ikke - men flere sammenfiltrede qubits har den ret nyttige egenskab, at deres ubestemte værdier samtidigt kan dække alle mulige kombinationer af bitværdier. For eksempel kan 6 bits have en hvilken som helst værdi fra 0 til 63 (dvs. 2^6), mens 6 qubits kan have en ubestemt værdi, som alle er værdier fra 0 til 63 med en potentielt forskellig sandsynlighed forbundet med hver mulig værdi. Når værdien af en qubit læses, bestemmes værdierne for den og alle qubits, der er viklet ind i den, idet den enkelte værdi, der læses for hver qubit, vælges tilfældigt i overensstemmelse med sandsynlighederne; hvis den ubestemte værdi er 75% 42 og 25% 0, så cirka 3 ud af hver fjerde gang kvanteberegningen udføres, vil resultatet være 42 og de andre gange vil det være 0. Nøglepunktet er, at kvanteberegningen evaluerer alle mulige værdier og returnerer et (af potentielt flere) gyldige svar og prøver eksponentielt mange værdier samtidigt - og det er den spændende del. Det ville tage 64 6-bit systemer at gøre, hvad et 6-qubit system kan.

Hver af KREQCs 6 fuldt sammenfiltrede qubits kan have en rotationsværdi, der er 0, 1 eller ubestemt. Den uforudsigelige ubestemte værdi repræsenteres ved, at alle qubits er i vandret position. Efterhånden som en kvanteberegning skrider frem, ændres sandsynlighederne for forskellige værdier - repræsenteret i KREQC ved at de enkelte qubits vakler og antager statistiske positioner, der afspejler sandsynlighederne for værdier. Til sidst afsluttes kvanteberegningen ved at måle de sammenfiltrede qubits, som kollapser den ubestemte værdi i en fuldstændig bestemt sekvens på 0s og 1s. I videoen ovenfor ser du KREQC beregne "svaret på det ultimative spørgsmål om liv, universet og alt" - med andre ord 42 … som i binær er 101010 med 101 i den bageste række af qubits og 010 i fronten.

Selvfølgelig er der nogle problemer med kvantecomputere, og KREQC lider dem også. En indlysende er, at vi virkelig ønsker millioner af qubits, ikke kun 6. Det er dog også vigtigt at bemærke, at kvantecomputere kun implementerer kombinatorisk logik - i modsætning til hvad vi computeringeniører kalder en statsmaskine. Grundlæggende betyder det, at en kvantemaskine i sig selv er mindre i stand end en Turing -maskine eller en konventionel computer. I KREQC's tilfælde implementerer vi statsmaskiner ved at styre KREQC ved hjælp af en konventionel computer til at udføre en sekvens af kvanteberegninger, en pr. Statsbesøg i udførelsen af statsmaskinen.

Så lad os gå og bygge en kvantecomputer ved stuetemperatur!

Trin 2: Værktøjer, dele og materialer

3D-printede dele: den indre del
3D-printede dele: den indre del

Der er ikke meget at KREQC, men du skal bruge nogle dele og værktøjer. Lad os starte med værktøjerne:

  • Adgang til en 3D-printer i forbrugerklasse. Det ville være muligt at lave KREQC's qubits ved hjælp af en CNC -fræser og træ, men det er meget lettere og pænere at lave dem ved at ekstrudere PLA -plast. Den største 3D-printede del er 180x195x34mm, så tingene er meget lettere, hvis printeren har en tilstrækkelig stor udskrivningsvolumen til at printe den i ét stykke.
  • Et loddejern. Skal bruges til svejsning af PLA -dele.
  • Trådskærere eller andet, der kan skære små 1 mm tykke plastdele (servohornene).
  • Eventuelt træbearbejdningsværktøjer til fremstilling af en træbase til montering af qubits. En base er ikke strengt nødvendig, fordi hver bit har et indbygget stativ, der gør det muligt for et styrekabel at føre bagud.

Du behøver heller ikke mange dele eller materialer:

  • PLA til fremstilling af qubits. Hvis det udskrives med 100% fyld, ville det stadig være mindre end 700 gram PLA pr. Qubit; ved en mere rimelig fyldning på 25% ville 300 gram være et bedre skøn. Således kunne der laves 6 qubits ved hjælp af kun en 2 kg spole til en materialepris på omkring $ 15.
  • Én SG90 mikro servo pr. Qubit. Disse er let tilgængelige for under $ 2 hver. Sørg for at få mikroservoer, der angiver 180-graders positioneringsoperation-du ønsker ikke 90-graders, og du vil heller ikke have dem designet til kontinuerlig rotation med variabel hastighed.
  • Et servokontrolkort. Der er mange valgmuligheder, herunder at bruge en Arduino, men et meget let valg er Pololu Micro Maestro 6-kanals USB Servo Controller, der koster under $ 20. Der er andre versioner, der kan håndtere 12, 18 eller 24 kanaler.
  • Forlængerkabler til SG90'erne efter behov. Kablerne på SG90'erne varierer noget i længden, men du skal bruge qubits for at være adskilt med mindst ca. 6 tommer, så forlængerkabler vil være nødvendige. Disse er let under $ 0,50 hver, afhængigt af længden.
  • En 5V strømforsyning til Pololu og SG90'erne. Normalt drives Pololu via USB -forbindelse til en bærbar computer, men det kan være klogt at have en separat strømforsyning til servoerne. Jeg brugte en 5V 2.5A vægvorte, jeg havde omkring, men nye 3A kan købes for under $ 5.
  • Eventuelt 2-sidet tape til at holde tingene sammen. VHB (Very-High Bond) tape fungerer godt til at holde den ydre skal af hver qubit sammen, selvom svejsning fungerer endnu bedre, hvis du aldrig behøver at skille den ad.
  • Eventuelt træ og efterbehandling forsyninger til fremstilling af basen. Vores var lavet af butiksrester og blev holdt sammen af kiksfuger, med flere lag klar polyurethan som den sidste finish.

Alt i alt koster den 6-qubit KREQC, vi byggede, omkring $ 50 i forsyninger.

Trin 3: 3D-printede dele: den indre del

3D-printede dele: den indre del
3D-printede dele: den indre del
3D-printede dele: den indre del
3D-printede dele: den indre del

Alle 3D-printede deldesigner er frit tilgængelige som Thing 3225678 på Thingiverse. Få dit eksemplar nu … vi venter….

Ah, tilbage så hurtigt? Okay. Den egentlige "bit" i qubit er en simpel del, der er trykt i to stykker, fordi det er lettere at håndtere at svejse to stykker sammen end at bruge understøtninger til at udskrive hævede bogstaver på begge sider af den ene del.

Jeg anbefaler at udskrive dette i en farve, der står i kontrast til den ydre del af qubit - f.eks. Sort. I vores version trykte vi den øverste 0,5 mm i hvid for at give kontrast, men det krævede skiftende filament. Hvis du hellere ikke vil gøre det, kan du altid bare male de hævede overflader på "1" og "0." Begge disse dele udskrives uden spænd og dermed uden understøtninger. Vi brugte 25% fyld og 0,25 mm ekstruderingshøjde.

Trin 4: 3D-printede dele: den ydre del

3D-printede dele: den ydre del
3D-printede dele: den ydre del
3D-printede dele: den ydre del
3D-printede dele: den ydre del

Den ydre del af hver qubit er lidt mere tricky print. For det første er disse stykker store og flade, og derfor kan der løftes meget fra din print seng. Jeg udskriver normalt på varmt glas, men disse krævede et ekstra tryk med tryk på varmtblåt malerbånd for at undgå vridning. Igen skal 25% fyld og 0,25 mm laghøjde være mere end nok.

Disse dele har også begge spænd. Hulrummet, der holder servoen, har spænd på begge sider, og det er kritisk, at dimensionerne på dette hulrum er korrekte - så det skal udskrives med understøttelse. Kabelføringskanalen er kun på den tykkere bagside og er konstrueret til at undgå spændinger bortset fra en mindre bit helt i bunden. Indersiden af basen på begge stykker har teknisk set et ikke -understøttet spænd for bundens indre kurve, men det er ligegyldigt, om den del af printet sænker sig lidt, så du behøver ikke støtte der.

Igen vil et farvevalg, der står i kontrast til de indre dele, gøre qubittenes "Q" mere synlig. Selvom vi har udskrevet fronten med "AGGREGATE. ORG" og "UKY. EDU" -delene i hvid PLA på den blå PLA-baggrund, kan det være, at du ser det lavere kontrastudseende af at have kropsfarven til at være mere tiltalende. Vi sætter pris på, at du lader dem være der for at minde seerne om, hvor designet kom fra, men det er ikke nødvendigt at visuelt råbe disse webadresser.

Når disse dele er blevet udskrevet, skal du fjerne alt understøttende materiale og sørge for, at servoen passer med de to stykker, der holdes sammen. Hvis det ikke passer, skal du fortsætte med at vælge støttematerialet. Det er en temmelig stram pasform, men skal gøre det muligt for begge halvdele at blive skubbet sammen. Bemærk, at der bevidst ikke er nogen justeringsstrukturer i udskriften, fordi selv en lille vridning ville få dem til at forhindre samling.

Trin 5: Saml den indre del

Saml den indre del
Saml den indre del
Saml den indre del
Saml den indre del

Tag de to indvendige dele og juster dem bag-til-ryg, så den spidse drejning til venstre for "1" stemmer overens med den spidse drejning på "0." Du kan midlertidigt holde dem sammen med 2-sidet tape, hvis det ønskes, men nøglen er at bruge et varmt loddejern til at svejse dem sammen.

Det er tilstrækkeligt at svejse, hvor kanterne kommer sammen. Gør dette ved først at klæbe svejsning ved at bruge loddejernet til at trække PLA sammen hen over kanten mellem de to stykker på flere steder. Når delene er blevet klæbet sammen, køres loddejernet rundt om sømmen for at skabe en permanent svejsning. De to stykker skal udgøre den del, der er vist på billedet ovenfor.

Du kan kontrollere pasformen af denne svejsede del ved at indsætte den i den bageste ydre del. Du bliver nødt til at vippe den lidt for at få den spidse drejning ind i siden, der ikke har servokaviteten, men når den er i gang, skal den rotere frit.

Trin 6: Orienter servoen og sæt hornet

Orienter servoen og sæt hornet
Orienter servoen og sæt hornet

For at dette kan fungere, skal vi have en kendt direkte overensstemmelse mellem servostyring og servoens rotationsposition. Hver servo har en minimum og maksimal pulsbredde, som den vil reagere på. Du bliver nødt til at opdage dem empirisk for dine servoer, fordi vi regner med den fulde 180-graders bevægelse, og forskellige producenter producerer SG90'er med lidt forskellige værdier (faktisk har de også lidt forskellige størrelser, men de skal være tæt nok på passer inden for det tilladte rum). Lad os kalde den korteste pulsbredde "0" og den længste "1".

Tag et af hornene, der fulgte med din servo, og trim vingerne af det ved hjælp af trådskærere eller et andet passende værktøj - som det ses på billedet ovenfor. Den meget fine gearhøjde på servoen er meget vanskelig at 3D-udskrive, så vi vil i stedet bruge midten af et af servohornene til det. Sæt det trimmede servohorn på en af servoerne. Tilslut nu servoen, sæt den til sin "1" position og lad den stå i den position.

Du har sikkert bemærket, at den ikke-spidse pivot har et cylindrisk hulrum i sig, der er omtrent på størrelse med gearhovedet på din servo-og noget mindre end diameteren på dit trimmede horncenter. Tag det varme loddejern, og hvirv det forsigtigt ind i hullet i drejetappen og også rundt om ydersiden af det trimmede horncenter; du prøver heller ikke at smelte, men bare for at få dem bløde. Hold derefter servoen og skub hornets midte lige ind i hullet i drejen med servoen i stillingen "1" - med den indvendige del, der viser "1", når servoen er placeret, som den ville være når hviler i hulrummet i den ydre bageste del.

Du bør se PLA foldes lidt om sig selv, mens du skubber det trimmede horn ind, hvilket skaber en meget fast forbindelse til hornet. Lad bindingen afkøle lidt, og træk derefter servoen ud. Hornet skal nu binde delen godt nok, så servoen frit kan dreje delen uden væsentligt spil.

Trin 7: Saml hver Qubit

Saml hver Qubit
Saml hver Qubit
Saml hver Qubit
Saml hver Qubit

Nu er du klar til at bygge qubits. Placer den ydre bageste del på en plan overflade (f.eks. Et bord), så servokaviteten vender opad, og stativet hænger over overfladekanten, så den ydre bageste del sidder fladt. Tag nu servoen og den inderste del, der er fastgjort af hornet, og sæt dem i den bageste ydre del. Tryk kablet fra servoen ind i kanalen til det.

Når alt, hvad der sidder flush, placeres den forreste ydre del over samlingen. Tilslut servoen, og betjen den, mens du holder enheden sammen for at sikre, at intet binder eller er forkert justeret. Brug nu enten VHB -tape eller brug et loddejern til at svejse den ydre forside og bagsiden sammen.

Gentag disse trin for hver qubit.

Trin 8: Montering

Montering
Montering
Montering
Montering

Den lille base af hver qubit har et snit i ryggen, der giver dig mulighed for at køre servokablet ud af bagsiden for at oprette forbindelse til din controller, og basen er bred nok til, at hver qubit er stabil af sig selv, så du kan simpelthen sætte forlængerkabler på hver servo og før dem spredt ud over et bord eller en anden flad overflade. Det viser dog ledninger, der forbinder dem….

Jeg føler, at at se ledninger ødelægger illusionen om uhyggelig handling på afstand, så jeg foretrækker at skjule ledningerne helt. For at gøre det er alt, hvad vi har brug for, en monteringsplatform med et hul under hver qubit, der er stort nok til, at servokabelstikket kan passere igennem. Selvfølgelig vil vi gerne have, at hver qubit bliver, hvor den er sat, så der er tre 1/4-20 bankede huller i basen. Hensigten er at bruge den midterste, men de andre kan bruges til at gøre tingene mere sikre, eller hvis den centrale tråd bliver fjernet ved at stramme. Således borer man to huller i tæt afstand i basen for hver qubit: det ene til at passere et 1/4-20 skruegevind, det andet for at passere servokabelstikket.

Da 3/4 "træ er mest almindeligt, vil du sandsynligvis gerne bruge det til toppen af basen-som jeg gjorde. I så fald skal du bruge en 1/4-20 skrue eller bolt ca. 1,25" lang. Du kan købe dem i enhver isenkræmmer for en pris på omkring $ 1 for seks. Alternativt kan du 3D-udskrive dem … men jeg anbefaler at udskrive dem én ad gangen, hvis du udskriver dem, fordi det minimerer fejlene i det fine skruegevind.

Det er klart, at mountens dimensioner ikke er kritiske, men de vil bestemme længderne på forlængerkabler, du skal bruge. KREQC blev udført som to rækker med tre qubits primært, så fæstnet ville passe i en håndbagage, og det var sådan, vi bragte det til vores IEEE/ACM SC18 forskningsudstilling.

Trin 9: Brand It

Mærke det
Mærke det
Mærke det
Mærke det
Mærke det
Mærke det

Som et sidste trin, glem ikke at mærke din kvantecomputer!

Vi 3D-printede et navneskilt i sort på guld, som derefter blev fastgjort til træfronten på basen. Du er velkommen til at mærke din på andre måder, f.eks. 2D-udskrivning af det vedhæftede PDF-navneskiltbillede med en laser- eller inkjetprinter. Det ville heller ikke skade at mærke hver qubit med sin position, især hvis du bliver for kreativ om, hvordan du arrangerer qubits på basen.

Du kan også nyde at dele 3D-printede qubit-nøgleringe ud; de er ikke sammenfiltrede og de er heller ikke motoriserede, men de snurrer frit, når du blæser på dem og minder om en god husvisning om en KREQC-demonstration.

Anbefalede: