Charakterystyka komputerów kwantowych

Moc komputera kwantowego mierzy się w kubitach, podstawowej jednostce miary w komputerze kwantowym. źródło.

Robię facepalm za każdym razem, gdy czytam takie zdanie. Nie doprowadziło to do niczego dobrego; mój wzrok zaczął słabnąć; Niedługo będę musiał zwrócić się do Meklona.

Myślę, że czas nieco usystematyzować podstawowe parametry komputera kwantowego. Jest ich kilka:

  1. Liczba kubitów
  2. Czas utrzymywania koherencji (czas dekoherencji)
  3. Poziom błędu
  4. Architektura procesora
  5. Cena, dostępność, warunki konserwacji, czas amortyzacji, narzędzia programistyczne itp.

Liczba kubitów

Tutaj wszystko jest oczywiste, im więcej, tym lepiej. W rzeczywistości za kubity trzeba płacić, a najlepiej kupić dokładnie tyle kubitów, ile potrzeba do wykonania zadania. Dla twórcy ekskluzywnych automatów do gier wystarczy jeden kubit na maszynę (aby wygenerować losowość). W przypadku „brutalnej siły” RSA-2048 - co najmniej 2048 kubitów.

Najbardziej nagłośnione algorytmy kwantowe noszą imiona Grovera i Shora. Grover pozwala na „hakowanie” skrótów. Aby spowodować awarię Bitcoina, potrzebujesz komputerów z co najmniej 256 kubitami na pokładzie (możesz pobawić się złożonością Bitcoina, ale trzymajmy się tej okrągłej liczby). Shor pozwala na rozkład liczb na czynniki. Aby rozłożyć liczbę długości n cyfr binarnych, potrzebujesz co najmniej n kubitów.

Aktualne maksimum: 50 kubitów (już 72?). Tak naprawdę limitem jest 50 kubitów. Granice symulacji komputerowej kwantowej. Teoretycznie na klasycznych komputerach możemy symulować dowolną liczbę kubitów. W praktyce dodanie jednego kubitu do symulacji wymaga podwojenia wydajności klasycznych komputerów. Dodaj do tego pogłoski o podwajaniu się kubitów co roku i zadaj sobie pytanie: jak debugować algorytmy dla 25651210242048 kubitów? Nie ma symulatora; nie można ustawić punktu przerwania na procesorze kwantowym.

Czas utrzymywania koherencji (czas dekoherencji)

Spójność i spójność to nie to samo. Lubię porównywać spójność do regeneracji pamięci roboczej. Na pasku RAM znajdują się miliardy komórek, każda z ładunkiem, zerowym lub jednym. Ładunek ten ma bardzo ciekawą właściwość - drenuje. Początkowo komórka „jednostkowa” staje się komórką 0.99, następnie komórką 0.98 i tak dalej. Odpowiednio 0.01, 0.02, 0.03 kumuluje się przy zera... Ładunek ten trzeba odnowić, „zregenerować”. Wszystko, co jest mniejsze niż połowa, jest resetowane do zera, wszystko inne jest przesuwane do jedynki.

Procesorów kwantowych nie można regenerować. W związku z tym istnieje jeden cykl dla wszystkich obliczeń, aż do pierwszego „wyciekniętego” kubitu. Czas przed pierwszą „kapką” nazywany jest czasem dekoherencji. Spójność to stan, w którym kubity jeszcze nie „wyciekły”. Tutaj Możesz spojrzeć na trochę bardziej dorosłe wyjaśnienia.

Dekoherencja jest związana z liczbą kubitów: im więcej kubitów, tym trudniej jest zachować spójność. Z drugiej strony, jeśli masz dużą liczbę kubitów, część z nich możesz wykorzystać do skorygowania błędów związanych z dekoherencją. Stąd następujeże sama liczba kubitów niczego nie rozwiązuje. Możesz podwoić liczbę kubitów i wydać 90% z nich na naprawę dekoherencji.

W tym miejscu pojawia się koncepcja kubitu logicznego. Z grubsza rzecz biorąc, jeśli masz procesor ze 100 kubitami, ale 40 z nich ma na celu naprawienie dekoherencji, pozostaje 60 kubitów logicznych. Te, na których wykonujesz swój algorytm. Koncepcja kubitów logicznych jest obecnie raczej teoretyczna; osobiście nie słyszałem o praktycznych wdrożeniach.

Błędy i ich poprawianie

Kolejna plaga procesorów kwantowych. Jeśli odwrócisz kubit, istnieje 2% szans, że operacja się nie powiedzie. Jeśli splątasz 2 kubity, poziom błędu wynosi do 8%. Weź liczbę 256-bitową, zaszyfruj ją do SHA-256, policz liczbę operacji, oblicz prawdopodobieństwo wykonania WSZYSTKICH tych operacji bez błędu.

Matematycy dostarczają rozwiązanie: korekcję błędów. Istnieją algorytmy. Implementacja jednego splątania 2 kubitów logicznych wymaga 100.000 XNUMX kubitów fizycznych. Nie minie dużo czasu, zanim nadejdzie koniec.

Architektura procesora

Ściśle mówiąc, nie ma komputerów kwantowych. Istnieją tylko procesory kwantowe. Po co Ci pamięć RAM, skoro czas pracy ograniczony jest do milisekund? Programuję w Q#, ale jest to język wysokiego poziomu. Przydziel sobie 15 kubitów i rób z nimi, co chcesz. Chciał, splątał pierwszy kubit z dziesiątym. Pożądane - pomyliłem pierwsze sześć.

Na prawdziwym procesorze nie ma takiej swobody. Poprosiłem o splątanie pierwszego kubitu z 15 - kompilator wygeneruje 26 dodatkowych operacji. Jeśli masz szczęście. Jeśli masz pecha, wygeneruje sto. Faktem jest, że kubit może zaplątać się jedynie w swoich sąsiadów. Nie widziałem więcej niż 6 sąsiadów na kubit. W zasadzie istnieją kompilatory optymalizujące programy kwantowe, ale nadal są one raczej teoretyczne.

Każdy procesor ma inny zestaw instrukcji, a połączenia między kubitami są inne. W idealnym świecie mamy dowolne Rx, Ry, Rz i ich kombinacje, plus swobodne splątanie oparte na tuzinie funkcji, plus Zamiana: spójrz na operatory w Dziwactwo. W rzeczywistości mamy kilka par kubitów, a splątanie CNOT (q[0], q[1]) kosztuje jedną operację, a CNOT(q[1], q[0]) zajmuje 7. I spójność topnieje.. .

Cena, dostępność, warunki konserwacji, czas amortyzacji, narzędzia programistyczne...

Ceny nie są ogłaszane, dostępność dla przeciętnego obywatela jest bliska zeru, w praktyce nie obliczono czasu amortyzacji, narzędzia programistyczne są dopiero w powijakach. Dokumentacja na arxiv.org.

Jakich zatem informacji wymagacie od ekspertów, wypuszczając na rynek nowy komputer kwantowy?

Oprócz powyższej listy podobają mi się opcje z PerlPower и Alter2:

Gdyby tylko każdy artykuł o nowym komputerze kwantowym zaczynał się od dwóch cech – ilości jednoczesny splątane kubity i czas retencji kubitów.

Albo jeszcze lepiej – od czasu przeprowadzenia prostego testu porównawczego, na przykład znalezienia czynników pierwszych liczby 91.

Źródło: www.habr.com

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster