Effekten av en kvantdator mÀts i kubiter, den grundlÀggande enheten för mÀtning i en kvantdator. .
Jag gör facepalm efter varje lÀsning av en sÄdan fras. Det har inte lett till nÄgot bra; min syn börjar bli dÄlig; snart mÄste jag vÀnda mig till Meklon.
Jag tror det Àr dags att systematisera huvudparametrarna för en kvantdator. Det finns flera:
- Antal kubiter
- KohÀrensbevarande tid (dekoherenstid)
- FelnivÄ
- Processorns arkitektur
- Pris, tillgÀnglighet, underhÄllsvillkor, avskrivningstid, programmeringsverktyg, o.s.v.
Antal kubiter
Det hÀr Àr uppenbart, ju fler desto bÀttre. I praktiken mÄste man dock betala för kubiter, och i idealfallet ska man köpa precis sÄ mÄnga kubiter som krÀvs för att utföra uppgiften. För en utvecklare av exklusiva spelautomater rÀcker det med en kubit per automat (för att generera slumpmÀssighet). För "brute force" av RSA-2048 behövs minst 2048 kubiter.
De mest hypade kvantalgoritmerna bÀr namnen Grover och Shor. Grover gör det möjligt att "hacka" hashvÀrden. För att knÀcka bitcoin behövs datorer med minst 256 kubiter ombord (man kan experimentera med bitcoins svÄrighetsgrad, men lÄt oss stanna vid det hÀr runda talet). Shor möjliggör faktoriserande av tal. För att faktorisera ett tal av lÀngd n binÀra siffror behövs minst n kubiter.
Nuvarande maximum: 50 kubiter (). Och faktiskt, 50 kubiter Àr grÀnsen. GrÀnsen för simuleringen av en kvantdator. I teorin kan vi simulera vilket antal kubiter som helst pÄ klassiska datorer. I praktiken krÀver tillÀgg av en kubit till simuleringen en fördubbling av de klassiska datorerna. LÀgg till rykten om att kubiterna fördubblas varje Är och stÀll dig sjÀlv frÄgan: hur debuggas algoritmer för 25651210242048 kubiter? Det finns ingen simulator, pÄ en kvantdator kan man inte sÀtta en brytpunkt.
KohÀrensbevarande tid (dekoherenstid)
KohĂ€rens och koherens Ă€r inte samma sak. Jag föredrar att jĂ€mföra koherens med regenerering av RAM-minnet. PĂ„ RAM-modulen finns miljarder celler, var och en med en laddning, antingen noll eller ett. Denna laddning har en intressant egenskap â den avtar. En "ett"-cell blir en cell med 0,99, sedan 0,98, och sĂ„ vidare. Samtidigt ackumuleras 0,01, 0,02, 0,03⊠pĂ„ nollan. DĂ€rför behöver denna laddning uppdateras, "regenereras". Allt som Ă€r mindre Ă€n hĂ€lften Ă„terstĂ€lls till noll, allt annat justeras upp till ett.
Kvantprocessorer kan inte regenereras. DÀrför finns det bara en cykel för alla berÀkningar, fram till den första "lÀckande" qubit. Tiden till den första "lÀckan" kallas dekohÀrens tid. KohÀren Àr ett tillstÄnd dÀr qubits Ànnu inte har "lÀckt". man kan titta pÄ nÄgot mer mogna förklaringar.
DekohÀrens Àr relaterad till antalet qubits: ju fler qubits, desto svÄrare Àr det att bibehÄlla koherens. à andra sidan, med ett stort antal qubits kan man anvÀnda en del av dem för att korrigera fel relaterade till dekohÀrens. HÀrifrÄn följer, att antalet qubits i sig sjÀlv inte löser nÄgot. Man kan dubbla antalet qubits och spendera 90% av dem pÄ att hantera dekohÀrens.
HĂ€r uppstĂ„r begreppet logisk qubit. Enkelt uttryckt, om du har en processor med 100 qubits, men 40 av dem Ă€r inriktade pĂ„ att hantera dekohĂ€rens â Ă„terstĂ„r 60 logiska qubits. De som du kör din algoritm pĂ„. Begreppet logiska qubits Ă€r nu mer teoretiskt, jag har personligen inte hört om praktiska implementationer.
Fel och deras korrigering
En annan plÄga för kvantprocessorer. Om du inverterar en qubit, Àr det med 2% sannolikhet som operationen avslutas med fel. Om du sammanflÀtar 2 qubits, nÄr fel sannolikheten 8%. Ta ett tal i 256 bitar, hash det med SHA-256, berÀkna antalet operationer, berÀkna sannolikheten att utföra ALLA dessa operationer utan fel.
Matematiker erbjuder en lösning: felkorrigering. Det finns algoritmer. Implementeringen av en sammanflÀtning av 2 logiska qubits krÀver 100 000 fysiska qubits. Bitco-krisen kommer inte att intrÀffa snart.
Processorns arkitektur
Rent konkret finns det inga kvantdatorer. Det finns bara kvantprocessorer. Varför behöver man RAM nĂ€r arbetstiden Ă€r begrĂ€nsad till millisekunder? Jag programmerar i Q#, men det Ă€r ett hög-nivĂ„sprĂ„k. Jag tilldelade mig 15 kubiter, och gör vad du vill med dem. Om jag vill kan jag sammanflĂ€ta den första kubiten med den tionde. Vill jag â sammanflĂ€tar jag de första sex.
PĂ„ en verklig processor finns det inte samma frihet. Jag bad om att sammanflĂ€ta den första kubiten med den 15:e â kompileraren genererar 26 ytterligare operationer. Om jag har tur. Om jag inte har tur â genererar det hundra. Grejen Ă€r att en kubit endast kan sammanflĂ€tas med sina grannar. Mer Ă€n 6 grannar per kubit har jag aldrig sett. I princip finns det optimerande kvantprogramkompilatorer, men de Ă€r fortfarande mer teoretiska.
Varje processor har sin egen uppsÀttning instruktioner, och kopplingarna mellan kubiterna varierar. I en ideal vÀrld har vi godtyckliga Rx, Ry, Rz, och deras kombinationer, plus fri sammanflÀtning över ett dussin egenskaper, plus Swap: kolla in operatörerna i . Men i verkligheten har vi ett par kubiter, och sammanflÀtning CNOT (q[0], q[1]) kostar en operation, medan CNOT(q[1], q[0]) redan kostar 7. Och koherensen minskar...
Kostnad, tillgÀnglighet, underhÄllsförhÄllanden, avskrivningstid, programmeringsverktyg...
Priserna offentliggörs inte, tillgÀngligheten för vanliga medborgare Àr nÀstan noll, avskrivningstiden har praktiskt taget inte berÀknats, programmeringsverktygen Àr fortfarande i sin linda. Dokumentation finns pÄ arxiv.org.
Vilken information bör vi begÀra frÄn experterna vid lanseringen av en ny kvantdator?
Förutom listan ovan gillar jag alternativen frÄn och :
TĂ€nk om varje artikel om en ny kvantdator började med tvĂ„ egenskaper â antal samtida sammanflĂ€tade kubiter och tiden för att hĂ„lla kubiterna.
Eller Ă€nnu bĂ€ttre â med tiden för att köra det enklaste benchmark-testet, till exempel att hitta primtalsfaktorerna för nummer 91.
KĂ€lla: habr.com
