Innehållsförteckning:

KREQC: Kentuckys rotationsemulerade kvantdator: 9 steg
KREQC: Kentuckys rotationsemulerade kvantdator: 9 steg

Video: KREQC: Kentuckys rotationsemulerade kvantdator: 9 steg

Video: KREQC: Kentuckys rotationsemulerade kvantdator: 9 steg
Video: KREQC in operation 2024, Juli
Anonim
KREQC: Kentuckys rotationsemulerade kvantdator
KREQC: Kentuckys rotationsemulerade kvantdator
KREQC: Kentuckys rotationsemulerade kvantdator
KREQC: Kentuckys rotationsemulerade kvantdator

Vi kallar det "creek" - stavat KREQC: Kentuckys rotationsemulerade kvantdator. Ja, denna instruerbara visar dig hur du gör din egen fungerande kvantdator som fungerar tillförlitligt vid rumstemperatur med en minsta cykeltid på cirka 1/2 sekund. Total byggkostnad är $ 50-$ 100.

Till skillnad från IBM Q-kvantdator som visas på det andra fotot använder KREQC inte direkt kvantfysikfenomen för att implementera sina helt intrasslade qubits. Tja, jag antar att vi kan argumentera för att allt använder kvantfysik, men det är egentligen bara konventionellt styrda servon som implementerar Einsteins "spöklik handling på avstånd" i KREQC. Å andra sidan tillåter dessa servon KREQC att efterlikna beteendet ganska bra, vilket gör operationen lätt att se och förklara. På tal om förklaringar ….

Steg 1: Vad är en kvantdator?

Image
Image

Innan du ger vår förklaring, här är en länk till en trevlig förklaring från IBM Q Experience -dokumentationen. Nu tar vi vårt skott ….

Utan tvekan har du hört mer än lite (ordspel) om hur qubits ger magiska beräkningsförmågor på kvantdatorer. Grundtanken är att medan en vanlig bit antingen kan vara 0 eller 1, kan en qubit vara 0, 1 eller obestämd. I sig verkar det inte särskilt användbart - och med bara en qubit är det inte det - men flera intrasslade qubits har den ganska användbara egenskapen att deras obestämda värden samtidigt kan täcka alla möjliga kombinationer av bitvärden. Till exempel kan 6 bitar ha vilket som helst värde från 0 till 63 (dvs. 2^6), medan 6 qubits kan ha ett obestämt värde som alla är värden från 0 till 63 med en potentiellt annan sannolikhet associerad med varje möjligt värde. När värdet av en qubit läses, bestäms värdena för den och alla qubits som är intrasslade med den, varvid det enda värdet som läses för varje qubit väljs slumpmässigt i enlighet med sannolikheterna; om det obestämda värdet är 75% 42 och 25% 0, så ungefär 3 av var fjärde gång kvantberäkningen utförs, blir resultatet 42 och andra gånger blir det 0. Nyckelpunkten är att kvantberäkningen utvärderar alla möjliga värden och returnerar ett (av potentiellt flera) giltiga svar, försöker exponentiellt många värden samtidigt - och det är den spännande delen. Det skulle ta 64 6-bitars system för att göra vad ett 6-qubit-system kan göra.

Var och en av KREQC: s 6 helt intrasslade qubits kan ha ett rotationsvärde som är 0, 1 eller obestämt. Det utrustningsbara obestämda värdet representeras av att alla qubits är i horisontell position. När en kvantberäkning fortskrider förändras sannolikheterna för olika värden - representerade i KREQC av de enskilda qubitsna som vinglar och antar statistiska positioner som återspeglar värdenas sannolikheter. Så småningom avslutas kvantberäkningen genom att mäta de intrasslade qubitsna, som kollapsar det obestämda värdet till en fullständigt bestämd sekvens av 0s och 1s. I videon ovan ser du KREQC beräkna "svaret på den ultimata frågan om livet, universum och allt" - med andra ord 42 … som i binär är 101010, med 101 på bakre raden med qubits och 010 i fronten.

Naturligtvis finns det några problem med kvantdatorer, och KREQC lider också av dem. En uppenbar är att vi verkligen vill ha miljontals qubits, inte bara 6. Men det är också viktigt att notera att kvantdatorer bara implementerar kombinatorisk logik - till skillnad från vad vi datoringenjörer kallar en tillståndsmaskin. I grund och botten betyder det att en kvantmaskin i sig är mindre kapabel än en Turing -maskin eller en konventionell dator. I KREQC: s fall implementerar vi tillståndsmaskiner genom att styra KREQC med en konventionell dator för att utföra en sekvens av kvantberäkningar, en per statsbesök i tillståndsmaskinens körning.

Så låt oss bygga en rumstemperatur kvantdator!

Steg 2: Verktyg, delar och material

3D-tryckta delar: den inre delen
3D-tryckta delar: den inre delen

Det finns inte mycket att KREQC, men du behöver några delar och verktyg. Låt oss börja med verktygen:

  • Tillgång till en 3D-skrivare av konsumentkvalitet. Det skulle vara möjligt att göra KREQC: s qubits med en CNC -fräsmaskin och trä, men det är mycket enklare och snyggare att göra dem genom att extrudera PLA -plast. Den största 3D-tryckta delen är 180x195x34mm, så saker är mycket lättare om skrivaren har tillräckligt stor utskriftsvolym för att skriva ut den i ett stycke.
  • Ett lödkolv. Används för svetsning av PLA -delar.
  • Trådskärare eller något annat som kan skära små 1 mm tjocka plastdelar (servohornen).
  • Eventuellt träbearbetningsverktyg för att göra en träbas för att montera qubitsna. En bas behövs inte strikt eftersom varje bit har ett inbyggt stativ som gör att en kontrollkabel kan leda ut baksidan.

Du behöver inte heller många delar eller material:

  • PLA för att göra qubits. Om det skrivs ut med 100% fyllning skulle det fortfarande vara mindre än 700 gram PLA per qubit; vid en rimligare 25% fyllning skulle 300 gram vara en bättre uppskattning. Således kan 6 qubits göras med bara en 2 kg spole, till en materialkostnad på cirka $ 15.
  • En SG90 mikro servo per qubit. Dessa är lätt tillgängliga för under $ 2 vardera. Var noga med att skaffa mikroservos som anger 180-graders positioneringsoperation-du vill inte ha 90-graders och inte heller att de är utformade för kontinuerlig rotation med variabel hastighet.
  • Ett servokontrollkort. Det finns många val, inklusive att använda en Arduino, men ett mycket enkelt val är Pololu Micro Maestro 6-kanals USB Servo Controller som kostar under $ 20. Det finns andra versioner som kan hantera 12, 18 eller 24 kanaler.
  • Förlängningskablar för SG90s vid behov. Kablarna på SG90s varierar något i längd, men du behöver qubits för att vara åtskilda med minst cirka 6 tum, så förlängningskablar kommer att behövas. Dessa är lätt under $ 0,50 vardera, beroende på längd.
  • En 5V strömförsörjning för Pololu och SG90s. Normalt drivs Pololu via USB -anslutning till en bärbar dator, men det kan vara klokt att ha en separat strömförsörjning för servon. Jag använde en 5V 2.5A väggvarta som jag hade runt, men nya 3A kan köpas för under $ 5.
  • Eventuellt 2-sidig tejp för att hålla ihop saker. VHB (Very-High Bond) -tejp fungerar bra för att hålla ihop det yttre skalet på varje qubit, även om svetsning fungerar ännu bättre om du aldrig behöver ta isär det.
  • Valfritt, trä och efterbehandlingstillbehör för att göra basen. Vår var gjord av butiksrester och hölls ihop av kexfogar, med flera lager klar polyuretan som slutfinish.

Sammantaget kostade 6-qubit KREQC vi byggde cirka $ 50 i leveranser.

Steg 3: 3D-tryckta delar: den inre delen

3D-tryckta delar: den inre delen
3D-tryckta delar: den inre delen
3D-tryckta delar: den inre delen
3D-tryckta delar: den inre delen

Alla 3D-tryckta deldesigner är fritt tillgängliga som Thing 3225678 på Thingiverse. Hämta ditt exemplar nu … vi väntar ….

Åh, tillbaka så snart? Ok. Själva "biten" i qubiten är en enkel del som skrivs ut i två delar eftersom det är lättare att hantera två delar tillsammans än att använda stöd för att skriva ut upphöjda bokstäver på båda sidor av en del.

Jag rekommenderar att du skriver ut den i en färg som står i kontrast till qubitens yttre del - till exempel svart. I vår version skrev vi ut den övre 0,5 mm i vitt för att ge kontrast, men det krävde byte av glödtråd. Om du hellre inte gör det kan du alltid bara måla de upphöjda ytorna på "1" och "0." Båda dessa delar trycks utan spännvidd och därmed utan stöd. Vi använde 25% fyllning och 0,25 mm extruderingshöjd.

Steg 4: 3D-tryckta delar: den yttre delen

3D-tryckta delar: den yttre delen
3D-tryckta delar: den yttre delen
3D-tryckta delar: den yttre delen
3D-tryckta delar: den yttre delen

Den yttre delen av varje qubit är lite knepigare tryck. För det första är dessa bitar stora och plana, därför kan de lyftas från din skrivbädd. Jag skriver normalt ut på varmt glas, men dessa krävde en extra tryckning på hetblå målartejp för att undvika snedvridning. Återigen borde 25% fyllning och 0,25 mm lagerhöjd vara mer än tillräckligt.

Dessa delar har också båda spännvidd. Hålrummet som håller servon har spännvidd på båda sidor och det är kritiskt att måtten på detta hålrum är korrekta - så det måste skrivas ut med stöd. Kabeldragningskanalen är bara på den tjockare baksidan och är konstruerad för att undvika spännvidd förutom en mindre bit längst ner. Insidan av basen på båda delarna har tekniskt sett ett stöd som inte stöds för basens inre kurva, men det spelar ingen roll om den delen av utskriften sjunker lite, så du behöver inte stöd där.

Återigen, ett färgval som står i kontrast med de inre delarna kommer att göra Qbits "Q" mer synliga. Även om vi tryckt framsidan med "AGGREGATE. ORG" och "UKY. EDU" -delarna i vit PLA på den blå PLA-bakgrunden, kanske du tycker att den lägre kontrasten ser ut att ha kroppsfärgen som mer tilltalande. Vi uppskattar att du lämnade dem där för att påminna tittarna om var designen kommer ifrån, men det finns ingen anledning att visuellt skrika dessa webbadresser.

När dessa delar har skrivits ut, ta bort eventuellt stödmaterial och se till att servon passar ihop med de två bitarna som hålls ihop. Om det inte passar, fortsätt att plocka ut stödmaterialet. Det är en ganska tight passform, men bör tillåta båda halvorna att skjutas ihop. Lägg märke till att det medvetet inte finns några inriktningsstrukturer i utskriften eftersom även små snedvridningar skulle få dem att förhindra montering.

Steg 5: Montera den inre delen

Montera inre delen
Montera inre delen
Montera inre delen
Montera inre delen

Ta de två inre delarna och rikta in dem mot varandra så att den spetsiga svängen till vänster om "1" ligger i linje med den spetsiga vridningen på "0." Du kan tillfälligt hålla ihop dem med dubbelsidig tejp om så önskas, men nyckeln är att använda ett varmt lödkolv för att svetsa ihop dem.

Det är tillräckligt att svetsa där kanterna kommer ihop. Gör detta genom att först häva svetsning genom att använda lödkolven för att dra PLA ihop över kanten mellan de två bitarna på flera ställen. När delarna har klistrats ihop kör du lödkolven runt sömmen för att skapa en permanent svetsning. De två bitarna ska göra delen som visas på bilden ovan.

Du kan kontrollera passformen för denna svetsade del genom att sätta in den i den bakre yttre delen. Du måste luta den något för att få den spetsiga svängen in i sidan som inte har servokaviteten, men en gång in ska den rotera fritt.

Steg 6: Orientera servon och ställ in hornet

Orientera servon och ställ in hornet
Orientera servon och ställ in hornet

För att detta ska fungera måste vi ha en känd direkt överensstämmelse mellan servostyrning och servoposition. Varje servo har en minsta och maximal pulsbredd som den kommer att svara på. Du måste upptäcka dem empiriskt för dina servon, eftersom vi räknar med hela 180-graders rörelse och olika tillverkare producerar SG90 med lite olika värden (de har faktiskt också lite olika storlekar, men de bör vara tillräckligt nära passar inom det tillåtna utrymmet). Låt oss kalla den kortaste pulsbredden "0" och den längsta "1".

Ta ett av hornen som följde med din servo och klipp av vingarna med hjälp av trådskärare eller något annat lämpligt verktyg - som på bilden ovan. Den mycket fina växellådan på servon är mycket svår att 3D-skriva ut, så vi använder istället mitten av ett av servohornen för det. Sätt det trimmade servohornet på en av servona. Anslut nu servon, ställ den till dess "1" -läge och låt den stå i den positionen.

Du har antagligen märkt att den icke-spetsiga pivot har en cylindrisk hålighet i den som är ungefär lika stor som växelhuvudet på din servo-och något mindre än diametern på ditt trimmade horncentrum. Ta det varma lödkolvet och virvla det försiktigt inuti hålet i svängen och även runt utsidan av det trimmade hornets centrum; du försöker inte smälta heller, utan bara för att få dem mjuka. Håll därefter servon, skjut hornet mitt rakt in i hålet i svängen med servon i läget "1" - med den inre delen som visar "1" när servon är placerad som den skulle vara när vilar i hålrummet i den yttre bakre delen.

Du bör se PLA vika lite över sig själv när du trycker in det trimmade hornet, vilket skapar en mycket fast anslutning till hornet. Låt bindningen svalna lite och dra sedan ut servon. Hornet bör nu binda delen tillräckligt bra så att servon fritt kan snurra delen utan betydande spel.

Steg 7: Montera varje Qubit

Montera varje Qubit
Montera varje Qubit
Montera varje Qubit
Montera varje Qubit

Nu är du redo att bygga qubits. Placera den yttre bakre delen på en plan yta (t.ex. ett bord) så att servokaviteten är vänd uppåt och stativet hänger över ytkanten så att den yttre bakre delen sitter platt. Ta nu servo och inre del som fästs av hornet och sätt in dem i den bakre yttre delen. Tryck in kabeln från servon i kanalen för den.

När allt som sitter jämnt placerar du den främre yttre delen över enheten. Anslut servon och använd den medan du håller ihop enheten för att se till att inget binder eller är felriktat. Använd nu antingen VHB -tejp eller använd ett lödkolv för att svetsa ytter- och baksidan ihop.

Upprepa dessa steg för varje qubit.

Steg 8: Montering

Montering
Montering
Montering
Montering

Den lilla basen på varje qubit har ett snitt på baksidan som gör att du kan köra ut servokabeln bakifrån för att ansluta till din handkontroll, och basen är tillräckligt bred för att varje qubit ska vara stabil av sig själv, så att du enkelt kan sätta förlängningskablar på varje servo och för dem ut över ett bord eller annan plan yta. Det kommer dock att visa trådar som ansluter dem ….

Jag känner att att se trådar förstör illusionen av spöklik handling på avstånd, så jag föredrar att gömma trådarna helt. För att göra det behöver vi bara en monteringsplattform med ett hål under varje qubit som är tillräckligt stort för att servokabelkontakten ska passera igenom. Naturligtvis skulle vi vilja att varje qubit skulle stanna där den är placerad, så det finns tre 1/4-20 knackade hål i basen. Avsikten är att använda den mittersta, men de andra kan användas för att göra saker säkrare eller om den centrala tråden avlägsnas genom att dra åt. Således borrar en två hål i täta avstånd i basen för varje qubit: en för att passera en 1/4-20 skruvgänga, den andra för att passera servokabelkontakten.

Eftersom 3/4 "trä är vanligast, kommer du förmodligen att vilja använda det på toppen av basen-som jag gjorde. I så fall behöver du en 1/4-20 skruv eller bult cirka 1,25" lång. Du kan köpa dem i alla järnaffärer till en kostnad av cirka $ 1 för sex. Alternativt kan du 3D-skriva ut dem … men jag rekommenderar att du skriver ut dem en i taget om du skriver ut dem eftersom det minimerar defekterna i den fina skruvgängan.

Uppenbarligen är fästets dimensioner inte kritiska, men de kommer att avgöra längden på förlängningskablar du behöver. KREQC gjordes som två rader med tre qubits främst för att fästet skulle passa i en resväska, vilket är hur vi tog det till vår IEEE/ACM SC18 forskningsutställning.

Steg 9: Brand It

Märk det
Märk det
Märk det
Märk det
Märk det
Märk det

Som ett sista steg, glöm inte att märka din kvantdator!

Vi 3D-tryckt en namnskylt i svart på guld, som sedan fästes på träets framsida av basen. Märk gärna dina på andra sätt, till exempel 2D-utskrift av den bifogade PDF-namnskyltbilden med en laser- eller bläckstråleskrivare. Det skulle inte heller skada att märka varje qubit med sin position, särskilt om du blir för kreativ om hur du ordnar qubitsna på basen.

Du kanske också gillar att dela ut 3D-tryckta qubit-nyckelringar; de är inte förtrasslade och de är inte motoriserade, men de snurrar fritt när du blåser på dem och gör en bra påminnelse om en KREQC-demonstration.

Rekommenderad: