Jak działają komputery kwantowe. Układamy puzzle

Jak działają komputery kwantowe. Układamy puzzle

Komputery kwantowe i obliczenia kwantowe to nowe buzzword, które pojawiły się w naszej przestrzeni informacyjnej obok sztucznej inteligencji, uczeniu maszynowym i innych wysokotechnologicznych terminów. Mimo to nie udało mi się znaleźć w internecie materiału, który ułożyłby mi w głowie układankę pod tytułem „jak działają komputery kwantowe”. Tak, jest wiele wspaniałych prac, w tym na Habrze (patrz Lista zasobów), komentarze do których, jak to zwykle bywa, są jeszcze bardziej informacyjne i pomocne, ale obraz w głowie, że tak powiem, się nie składał.

Ostatnio podeszli do mnie koledzy i zapytali „Czy rozumiesz, jak działa komputer kwantowy? Możesz nam opowiedzieć?” I wtedy zrozumiałem, że problem ze składaniem całościowego obrazu istnieje nie tylko u mnie.

W rezultacie podjęto próbę skompilowania informacji o komputerach kwantowych w spójną logiczną schemę, która na podstawowym poziomie, bez głębokiego zanurzenia w matematykę i strukturę kwantowego świata, wyjaśnia, czym jest komputer kwantowy, na jakich zasadach działa oraz jakie problemy napotykają naukowcy przy jego tworzeniu i eksploatacji.


Spis treści

Wyłączenie odpowiedzialności

(do spisu treści)

Autor nie jest specjalistą w dziedzinie obliczeń kwantowych, a docelowa grupa odbiorców artykułu to podobni specjaliści IT, którzy nie są ekspertami kwantowymi, którzy również chcą ułożyć w głowie obraz pod tytułem „Jak działają komputery kwantowe”. Z tego powodu wiele pojęć w artykule zostało świadomie uproszczonych dla lepszego zrozumienia technologii kwantowych na „podstawowym” poziomie, ale bez zbytniego uproszczenia z utratą informacyjności i adekwatności..

W artykule w niektórych miejscach wykorzystano materiały z innych źródeł, lista których znajduje się na końcu artykułu.Gdzie tylko było to możliwe, dodano bezpośrednie linki i odniesienia do oryginału tekstu, tabeli lub rysunku. Jeśli coś lub kogoś pominąłem, pisz — poprawię.

Wprowadzenie

(do spisu treści)

W tym rozdziale krótko omówimy, jak rozpoczęła się era kwantowa, co skłoniło do powstania idei komputera kwantowego, które (jakie kraje i korporacje) są obecnie wiodącymi graczami na tym polu, a także krótko porozmawiamy o głównych kierunkach rozwoju obliczeń kwantowych.

Jak to się wszystko zaczęło

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Punktem wyjścia ery kwantowej przyjmuje się rok 1900, kiedy to M. Planck po raz pierwszy zaproponował hipotezę że energia jest emitowana i pochłaniana nie w sposób ciągły, lecz w oddzielnych kwantach (porcjach). Ideę tę podjęli i rozwijali liczni wybitni uczeni tamtych czasów — Bohr, Einstein, Heisenberg, Schrödinger, co w końcu doprowadziło do stworzenia i rozwoju takiej nauki jak fizyka kwantowa. W Sieci jest wiele dobrych materiałów na temat kształtowania się fizyki kwantowej jako nauki, w tym artykule nie będziemy się na tym szczegółowo zatrzymywać, ale konieczne było wskazanie daty, kiedy weszliśmy w nową epokę kwantową.

Fizyka kwantowa przyniosła do naszego codziennego życia wiele wynalazków i technologii, bez których teraz trudno sobie wyobrazić otaczający świat. Na przykład laser, który jest obecnie używany wszędzie, od urządzeń gospodarstwa domowego (laserowe niwelatory i inne) po systemy wysokotechologiczne (lasery do korekcji wzroku, witaj meklon ). Logicznym byłoby założyć, że prędzej czy później ktoś wysunie ideę, by używać systemów kwantowych do obliczeń. I tak w 1980 roku to się wydarzyło.

Wikipedia wskazuje, że pierwszą ideę obliczeń kwantowych w 1980 roku zaproponował nasz uczony Jurij Manin. Jednak o niej naprawdę zaczęto mówić dopiero w 1981 roku, kiedy to nie mniej znany R. Feynman w referacie na pierwszej konferencji na temat fizyki obliczeń, zorganizowanej w Massachusetts Institute of Technology, zauważył, że niemożliwe jest efektywne modelowanie ewolucji systemu kwantowego na klasycznym komputerze. Zaproponował elementarny model komputera kwantowego, który będzie w stanie przeprowadzić takie modelowanie.

W Sieci znajduje się taka praca, w której chronologia rozwoju obliczeń kwantowych Zostanie to zbadane bardziej akademicko i szczegółowo, my jednak przebrniemy przez to krótko:

Główne etapy w historii tworzenia komputerów kwantowych:

Jak widać, minęło 17 lat (od 1981 do 1998) od pomysłu do jego pierwszej realizacji w komputerze z 2 kubitami, a 21 lat (od 1998 do 2019), aż liczba kubitów wzrosła do 53. Zajęło to 11 lat (od 2001 do 2012), aby poprawić wynik realizacji algorytmu Shora (o którym porozmawiamy szczegółowo nieco później) z 15 do 21. Także dopiero trzy lata temu zdołaliśmy zrealizować to, o czym mówił Feynman, i nauczyć się symulować najprostszego fizyczne systemy.

Rozwój obliczeń kwantowych postępuje powoli. Przed naukowcami i inżynierami stoją bardzo trudne zadania, stany kwantowe są bardzo nietrwałe i delikatne, a aby utrzymać je wystarczająco długo do wykonania obliczeń, trzeba budować sarkofagi za dziesiątki milionów dolarów, w których utrzymywana jest temperatura tuż nad zerem bezwzględnym, i które są maksymalnie chronione przed działaniem zewnętrznym. Następnie omówimy te zadania i problemy bardziej szczegółowo.

Liderzy

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Slajdy do tej sekcji pochodzą z artykułu Komputer kwantowy: wielka gra na podwyżki. Wykład w Yandexie, od pracownika naukowego Rosyjskiego Centrum Kwantowego Alekseja Fiodorowa. Pozwolę sobie na bezpośrednie cytaty:

Wszystkie technologicznie rozwinięte kraje aktywnie zajmują się w tej chwili rozwojem technologii kwantowych. W te badania inwestowane są ogromne środki, tworzone są specjalne programy wsparcia dla technologii kwantowych.

Jak działają komputery kwantowe. Układamy puzzle

W wyścigu kwantowym biorą udział nie tylko państwa, ale również prywatne firmy. Łącznie Google, IBM, Intel i Microsoft zainwestowali około 0,5 miliarda dolarów w rozwój komputerów kwantowych w ostatnim czasie, tworząc duże laboratoria i centra badawcze.
Jak działają komputery kwantowe. Układamy puzzle

Na Habrze i w sieci jest wiele artykułów, na przykład, oto, oto i oto, w których aktualny stan rozwoju technologii kwantowych w różnych krajach jest omawiany bardziej szczegółowo. Dla nas najważniejsze jest to, że wszystkie wiodące technologicznie kraje i gracze inwestują ogromne środki w badania w tym kierunku, co daje nadzieję na wyjście z obecnego technologicznego impasu.

Kierunki rozwoju

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Na chwilę obecną (mogę się mylić, poprawcie mnie) główne wysiłki (i w miarę znaczące wyniki) wszystkich wiodących graczy skoncentrowane są na dwóch kierunkach:

  • Spezjalizowane komputery kwantowe, które są ukierunkowane na rozwiązanie jednego konkretnego, specyficznego zadania, na przykład zadania optymalizacji. Przykładem produktu są komputery kwantowe D-Wave.
  • Uniwersalne komputery kwantowe — które są w stanie realizować dowolne algorytmy kwantowe (Shora, Grovera itd.). Realizacje od IBM, Google.

Inne kierunki rozwoju, jakie oferuje nam fizyka kwantowa, takie jak:

niewątpliwie również znajdują się w zestawie kierunków badań, ale obecnie brakuje wyraźniejszych, znaczących wyników.

Dodatkowo można przeczytać mapę drogową rozwoju technologii kwantowych, no i googlujcie “rozwój technologii kwantowych”, na przykład, oto, oto i oto.

Podstawy. Obiekt kwantowy i systemy kwantowe

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Najważniejsze, co należy zrozumieć z tej sekcji, to to, że

Komputer kwantowy (w przeciwieństwie do zwykłego) jako nośniki informacji wykorzystuje obieki kwantowe, a do przeprowadzania obliczeń obieki kwantowe muszą być połączone w system kwantowy..

Czym jest obiekt kwantowy?

Obiekt kwantowy — obiekt mikroswiata (świata kwantowego), który przejawia właściwości kwantowe:

  • Ma określony stan z dwoma granicznymi poziomami.
  • Znajduje się w superpozycji swojego stanu do momentu pomiaru.
  • Splata się z innymi obiektami, aby tworzyć systemy kwantowe.
  • Wykonuje twierdzenie o zakazie klonowania (stan obiektu nie może być skopiowany)

Przyjrzyjmy się każdemu z właściwości bardziej szczegółowo:

Posiada określony stan z dwoma granicznymi poziomami (stan końcowy)

Klasyczny przykład z rzeczywistego świata — moneta. Ma stan „strona”, który przyjmuje dwa graniczne poziomy — „orzeł” i „reszka”.

Znajduje się w superpozycji swojego stanu do momentu pomiaru.

Podnieśliśmy monetę, ona leci i wiruje. Dopóki wiruje, nie możemy stwierdzić, w którym z granicznych poziomów znajduje się jej stan „strona”. Ale wystarczy ją przytrzymać i spojrzeć na wynik — jak superpozycja stanów natychmiast zapada się w jeden z dwóch granicznych — „orzeł” i „reszka”. Przytrzymanie monety w naszym przypadku to pomiar.

Splata się z innymi obiektami, aby tworzyć systemy kwantowe.

Z monetą jest trudno, ale spróbujmy. Wyobraź sobie, że podnieśliśmy trzy monety tak, że wirują, trzymając się nawzajem, coś w stylu żonglowania monetami. W każdej chwili nie tylko każda z nich znajduje się w superpozycji stanów, ale te stany wzajemnie na siebie wpływają (monety się zderzają).

Wykonuje twierdzenie o zakazie klonowania (stan obiektu nie może być skopiowany)

Dopóki monety lecą i wirują, nie mamy żadnego sposobu na stworzenie oddzielnej od systemu kopii wirującego stanu którejkolwiek z monet. System żyje sam w sobie i bardzo skrupulatnie podchodzi do wydania jakiejkolwiek informacji na zewnątrz.

Jeszcze kilka słów o samym pojęciu „superpozycji”, praktycznie we wszystkich artykułach superpozycję wyjaśnia się jako „jest w każdym stanie jednocześnie”, co, oczywiście, jest prawdą, ale czasami wprowadza w zbłądzenie. Superpozycję stanów można sobie wyobrazić także jako to, że w każdej chwili kwantowy obiekt ma określone prawdopodobieństwa zapadnięcia się w każdy ze swoich granicznych poziomów, a łącznie te prawdopodobieństwa, naturalnie, wynoszą 1. Następnie przy rozważaniu kubitu zatrzymamy się na tym bardziej szczegółowo.

Dla monet można to sobie wyobrazić wizualnie — w zależności od początkowej prędkości, kąta rzutu, stanu otaczającego środowiska, w którym leci moneta, w każdej chwili prawdopodobieństwo uzyskania „orła” lub „reszki” jest różne. I, jak wspomniano wcześniej, stan takiej lecącej monety można sobie wyobrazić jako „jest w każdym ze swoich granicznych stanów jednocześnie, ale z różnymi prawdopodobieństwami ich realizacji”.

Każdy obiekt, który spełnia wyżej wymienione właściwości i który możemy stworzyć i zarządzać nim, może być używany jako nośnik informacji w komputerze kwantowym.

Nieco dalej omówimy aktualny stan realizacji kubitów jako obiektów kwantowych oraz to, co obecnie naukowcy wykorzystują w tym celu.

Tak więc trzecia właściwość stwierdza, że obiekty kwantowe mogą być splątane, tworząc systemy kwantowe. Czym w ogóle jest system kwantowy?

System kwantowy — to system splątanych obiektów kwantowych, który ma następujące właściwości:

  • System kwantowy znajduje się w superpozycji wszystkich możliwych stanów obiektów, z których się składa
  • Nie można poznać stanu systemu przed dokonaniem pomiaru
  • W momencie pomiaru system realizuje jeden z możliwych wariantów swoich granicznych stanów

(i, zahaczając o przyszłość)

Skutek dla programów kwantowych:

  • Program kwantowy ma zadany stan systemu na wejściu, superpozycję wewnętrzną, superpozycję na wyjściu
  • Na wyjściu programu po pomiarze uzyskujemy probabilistyczną realizację jednego z możliwych końcowych stanów systemu (plus możliwe błędy)
  • Każdy program kwantowy ma architekturę komina (wejście -> wyjście. Nie ma cykli, nie można zobaczyć stanu systemu w trakcie procesu.)

Porównanie komputera kwantowego i klasycznego

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Porównajmy teraz zwykły komputer z kwantowym.

Zwykły komputerKomputer kwantowy

Logika

0 / 1`a|0> + b|1>, a²+b²=1`

Fizyka

Półprzewodnikowy tranzystorObiekt kwantowy

Nośnik inf.

Poziomy napięciaPolaryzacja, spin,…

Operacje

NOT, AND, OR, XOR na bitachBramki: CNOT, Hadamarda,…

Powiązania

Półprzewodnikowy chipSplątanie między sobą

Algorytmy

Standardowe (zob. Knuth)Specjalne (Shor, Grover)

Zasada

Cyfrowy, deterministycznyAnalogowy, probabilistyczny

Poziom logiczny
Jak działają komputery kwantowe. Układamy puzzle

W zwykłym komputerze to bit. Doskonale znany nam do głębi deterministyczny bit. Może przyjmować wartości 0 lub 1. Doskonale spełnia rolę jednostki logicznej dla zwykłego komputera, ale zupełnie nie nadaje się do opisywania stanu obiektu kwantowego, który, jak już wspomnieliśmy, w rzeczywistości znajduje się w superpozycji swoich granicznych stanów..

W tym celu wymyślono kubit.W swoich granicznych stanach realizuje stany podobne do 0 i 1 |0> i |1>, a w superpozycji stanowi rozkład prawdopodobieństwa na swoich stanach brzegowych |0> i |1>:

 a|0> + b|1>, przy czym a^2+b^2=1

a i b to amplitudy prawdopodobieństwa, a kwadraty ich modułów to rzeczywiste prawdopodobieństwa uzyskania właśnie tych wartości stanów brzegowych |0> i |1>, jeśli zmierzyć kubit teraz.

Poziom fizyczny

Na obecnym etapie rozwoju technologicznym fizyczną realizacją bitu dla konwencjonalnego komputera jest tranzystor półprzewodnikowy, dla kwantowego, jak już mówiliśmy, dowolny obiekt kwantowy. W następnym rozdziale porozmawiamy o tym, co obecnie jest używane jako nośniki fizyczne kubitów.

Nośnik informacji

Dla konwencjonalnego komputera to prąd elektryczny — poziomy napięcia, obecność lub brak prądu, itd., dla kwantowego — to samo stan obiektu kwantowego (kierunek polaryzacji, spin, itd.), który może znajdować się w stanie superpozycji.

Operacje

Do realizacji schematów logicznych na konwencjonalnym komputerze stosuje się nam wszystkim dobrze znane operacje logiczne, do operacji na kubitach trzeba było wymyślić całkowicie inną system operacji, nazywaną bramkami kwantowymi. Bramki są jedno-kubitowe i dwu-kubitowe, w zależności od tego, na ile kubitów dokonuje się przekształcenia.

Przykłady bramek kwantowych:
Jak działają komputery kwantowe. Układamy puzzle

Istnieje pojęcie uniwersalnego zestawu bramek, który wystarcza do wykonania dowolnego obliczenia kwantowego. Na przykład, uniwersalnym jest zestaw, który obejmuje bramkę Hadamarda, bramkę przesunięcia fazowego, bramkę CNOT i bramkę π⁄8. Dzięki nim można przeprowadzić dowolne obliczenie kwantowe na dowolnym zestawie kubitów.

W tym artykule nie będziemy szczegółowo omawiać systemu bramek kwantowych, więcej na ich temat oraz operacji logicznych na kubitach można przeczytać, na przykład, tutaj. Najważniejsze, co należy zapamiętać:

  • Operacje na obiektach kwantowych wymagają tworzenia nowych operatorów logicznych (bramek kwantowych)
  • Bramki kwantowe są jedno-kubitowe i dwu-kubitowe
  • Istnieją uniwersalne zestawy bramek, dzięki którym można wykonać dowolne obliczenie kwantowe

Powiązania

Jeden tranzystor jest dla nas zupełnie bezużyteczny, aby przeprowadzać obliczenia, musimy połączyć wiele tranzystorów ze sobą, czyli stworzyć półprzewodnikowy chip z milionów tranzystorów, na których można już budować logiczne układy, ALU i w końcu uzyskać nowoczesny procesor w jego klasycznej formie.

Jeden kubit także jest nam zupełnie bezużyteczny (no chyba, że w aspekcie akademickim),

aby przeprowadzać obliczenia, potrzebujemy systemu kubitów (kwantowych obiektów),

który, jak już wspomnieliśmy, powstaje dzięki splątaniu kubitów ze sobą w taki sposób, aby zmiany w ich stanach zachodziły w sposób skoordynowany.

Algorytmy

Standardowe algorytmy, które ludzkość zgromadziła do tej pory, wcale nie nadają się do realizacji na komputerze kwantowym. A tak naprawdę to i nie ma sensu. Komputery kwantowe, oparte na logice bramek nad kubitami, wymagają stworzenia zupełnie innych algorytmów, tzw. algorytmów kwantowych. Z najbardziej znanych algorytmów kwantowych można wyróżnić trzy:

Zasada

I najważniejsza różnica — to zasada działania. W standardowym komputerze jest to cyfrowa, ściśle deterministyczna zasada,oparta na tym, że jeśli zadamy jakiś początkowy stan systemu i przepuścimy go przez zadany algorytm, to wynik obliczeń będzie taki sam, ile razy byśmy tej obliczeni nie uruchamiali. Właściwie takie zachowanie to jest to, czego oczekujemy od komputera.

Komputer kwantowy działa na analogowej, probabilistycznej zasadzie.Wynik działania danego algorytmu na zadanym początkowym stanie stanowi próbkę z rozkładu prawdopodobieństwa końcowych realizacji algorytmu plus możliwe błędy.

Taka probabilistyczna natura obliczeń kwantowych jest uwarunkowana samą probabilistyczną istotą świata kwantowego. „Bóg nie gra w kości z wszechświatem”, — mówił starzec Einstein, ale wszystkie eksperymenty i obserwacje jak dotąd (w obecnej paradygmacie naukowym) potwierdzają odwrotne.

Fizyczne realizacje kubitów

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Jak już mówiliśmy, kubit może być reprezentowany jako obiekt kwantowy, to znaczy jako fizyczny obiekt, który realizuje opisane powyżej właściwości kwantowe. Innymi słowy, każdy fizyczny obiekt, który ma dwa stany i te dwa stany są w stanie superpozycji, można wykorzystać do budowy komputera kwantowego.

„Jeśli potrafimy umieścić atom na dwóch różnych poziomach i nimi zarządzać, oto macie kubit. Jeśli możemy to zrobić z jonem, – kubit. Tak samo z prądem. Jeśli uruchamiamy go zgodnie z ruchem wskazówek zegara i przeciwnie, oto kubit.” (C)

Tak wspaniały komentarz do artykuł, w którym obecne bogactwo fizycznych realizacji kubitu jest omawiane w bardziej szczegółowy sposób; my po prostu wymienimy najbardziej znane i powszechne:

Spośród tego bogactwa najdogodniejszą metodą uzyskiwania kubitów jest ta oparta na suprprzewodnikach. Google, IBM, Intel i inni kluczowi gracze właśnie tego używają do budowy swoich systemów.

A także przeczytajcie przegląd możliwych fizycznych realizacji kubitów od Andrew Daley, 2014.

Podstawy. Zasada działania komputera kwantowego

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Materiały do tej sekcji (zadanie i obrazki) pochodzą z artykułu „Prosto o trudnym. Jak działa komputer kwantowy”.

Zatem wyobraźmy sobie, że mamy następujące zadanie:

Jest grupa trzech osób: (A)ndrej, (B)ołodia i (C)zeryja. Są dwa taksówki (0 i 1).

Znamy również, że:

  • (A)ndrej, (B)ołodia – przyjaciele
  • (A)ndrej, (C)zeryja – wrogowie
  • (B)ołodia i (C)zeryja – wrogowie

Zadanie: Rozmieścić ludzi w taksówkach tak, aby Max(przyjaciele) i Min(wrogowie)

Ocena: L = (liczba przyjaciół) – (liczba wrogów) dla każdej opcji rozmieszczenia.

WAŻNE: Zakładamy, że nie ma heurystyk, nie ma optymalnego rozwiązania. W takim przypadku zadanie rozwiązuje się tylko przez pełne przeszukiwanie wariantów.

Jak działają komputery kwantowe. Układamy puzzle

Rozwiązanie na zwykłym komputerze

Jak rozwiązać to zadanie na zwykłym (super)komputerze (lub klastrze) – jasne, że trzeba przeszukać w cyklu wszystkie możliwe warianty.. Jeśli mamy system wieloprocesorowy, można równolegle przeprowadzić obliczenia na kilku procesorach, a następnie zebrać wyniki.

Mamy 2 możliwe warianty rozmieszczenia (taksówka 0 i taksówka 1) i 3 osoby. Przestrzeń rozwiązań 2^3 = 8. Możemy przekonać się o 8 wariantach nawet na kalkulatorze, to nie problem. A teraz utrudnimy zadanie — mamy 20 osób i dwa autobusy, przestrzeń rozwiązań 2^20 = 1 048 576. Również nic skomplikowanego. Zwiększamy liczbę ludzi 2,5 razy — weźmiemy 50 osób i dwa pociągi, przestrzeń rozwiązań teraz 2^50 = 1,12 x 10^15. Zwykły (super)komputer już zaczyna mieć poważne problemy. Zwiększymy liczbę ludzi 2 razy, 100 osób da nam już 1,2 x 10^30 możliwości wariantów.

Wszystko, w rozsądnym czasie tej zadania nie da się policzyć.

Podłączamy superkomputer

Najpotężniejszy komputer obecnie — numer 1 z Top500, jest Summit, wydajnością 122 PFlops. Zakładając, że na obliczenie jednego wariantu wystarczy nam 100 operacji, to aby rozwiązać zadanie dla 100 osób będziemy potrzebować:

(1,2 x 10^30 100) / 122×10^15 / (606024365) = 3 x 10^37 lat.

Jak widzimy, przy zwiększeniu wymiarowości danych wyjściowych przestrzeń rozwiązań rośnie według zasady potęgowej, w ogólnym przypadku dla N bitów mamy 2^N możliwych wariantów rozwiązań, które przy stosunkowo małym N (100) dają nam nieprzewidywalną (na obecnym poziomie technologicznym) przestrzeń rozwiązań.

Czy są jakieś alternatywy? Jak już zgadliście, tak, są.

Ale zanim przejdziemy do tego, jak i dlaczego komputery kwantowe pozwalają efektywnie rozwiązywać takie zadania, przypomnijmy sobie trochę, czym jest rozkład prawdopodobieństwa.Nie bójcie się, artykuł ma charakter przeglądowy, nie będzie tu skomplikowanej matematyki, obędziemy się klasycznym przykładem z workiem i kulkami.

Trochę kombinatoryki, teorii prawdopodobieństwa i dziwnego eksperymentatora

Weźmiemy worek i włożymy do niego 1000 białych i 1000 czarnych kulek.Będziemy przeprowadzać eksperyment — wyjmować kulkę, zapisywać kolor, zwracać kulkę do worka i mieszać kulki w worku.

Przeprowadziliśmy eksperyment 10 razy, wyciągnęliśmy 10 czarnych kulek.Możliwe? Jak najbardziej. Daje nam ta próbka jakieś sensowne pojęcie o prawdziwym rozkładzie w worku? Oczywiście, że nie. Co trzeba zrobić — zgadliście, ppowtórzyć eksperyment milion razy i obliczyć częstotliwości wystąpień czarnych i białych kulek. Uzyskamy na przykład 49,95% czarnych i 50,05% białych.W takim przypadku już bardziej- mniej jasna jest struktura rozkładu, z którego próbkujemy (wyciągamy jedną kulkę).

Najważniejsze, co trzeba zrozumieć, to sam eksperyment ma charakter probabilistyczny., jednym próbkowaniem (kulą) nie poznamy prawdziwej struktury rozkładu, musimy wielokrotnie powtórzyć eksperyment i uśrednić wyniki.

Dodajmy do naszego worka 10 czerwonych i 10 zielonych kul (błędów). Powtórzymy eksperyment 10 razy. Wwyciągnęliśmy 5 czerwonych i 5 zielonych. Czy to możliwe? Tak. Czy możemy coś powiedzieć o prawdziwym rozkładzie — Nie. Co należy zrobić — no, rozumiesz.

Aby zrozumieć strukturę rozkładu prawdopodobieństwa, należy wielokrotnie pobierać próbki z tego rozkładu i uśredniać wyniki.

Łączymy teorię z praktyką

Teraz zamiast czarnych i białych kul weźmy kule bilardowe i włóżmy do worka 1000 kul z numerem 2, 1000 z numerem 7 i 10 kul z innymi numerami. Wyobraźmy sobie eksperymentatora, który potrafi wykonywać najprostsze czynności (wyciągnąć kulę, zapisać numer, włożyć kulę z powrotem do worka, wymieszać kule w worku) i robi to w 150 mikrosekund. Taki eksperymentator działa na pełnych obrotach (to nie reklama narkotyków!!!). W ciągu 150 sekund będzie mógł przeprowadzić nasz eksperyment 1 milion razy

i przedstawić nam wyniki uśrednienia.

Po usadzeniu eksperymentatora, podaniu worka, odwróceniu się, czekaliśmy 150 sekund — otrzymaliśmy:

numer 2 — 49,5%, numer 7 — 49,5%, pozostałe numery w sumie — 1%. Tak, wszystko się zgadza,nasz worek — to komputer kwantowy z algorytmem rozwiązującym nasze zadanie , a kule — to możliwe warianty rozwiązania. Ponieważ poprawnych rozwiązań jest dwa,komputer kwantowy będzie losowo generował jedno z tych możliwych rozwiązań, a 0,5% (10/2000) błędów

, o których porozmawiamy później.

Aby uzyskać wynik działania komputera kwantowego, należy wielokrotnie uruchomić algorytm kwantowy na tym samym zestawie danych wejściowych i uśrednić wynik.

Skalowalność komputera kwantowegoTeraz wyobraźmy sobie, że dla zadania, w którym bierze udział 100 osób ( przestrzeń rozwiązań 2^100, pamiętamy o tym), jest tylko dwa poprawne rozwiązania. W takim przypadku, jeśli weźmiemy 100 kubitów i napiszemy algorytm, obliczający naszą funkcję celu (L, patrz powyżej) na tych kubitach, otrzymamy worek, w którym będzie 1000 kul z numerem pierwszego poprawnego rozwiązania, 1000 z numerem drugiego poprawnego rozwiązania i 10 kul z innymi numerami. A nasz eksperymentator w ciągu tych samych 150 sekund dostarczy nam oceny rozkładu prawdopodobieństwa poprawnych odpowiedzi..

Czas realizacji algorytmu kwantowego (przy pewnych założeniach) można uznać za stały O(1) w odniesieniu do wymiaru przestrzeni rozwiązań (2^N).

I to właśnie ta cecha komputera kwantowego — stałość czasu realizacji w odniesieniu do rosnącej w sposób potęgowy złożoności przestrzeni rozwiązań jest kluczowa.

Kubity i równoległe wszechświaty

Jak to się dzieje? Co pozwala komputerom kwantowym tak szybko przeprowadzać obliczenia? Wszystko polega na kwantowej naturze kubitu.

Patrzcie, mówiliśmy, że kubit jako obiekt kwantowy realizuje jeden z dwóch swoich stanów przy jego obserwacji, ale w "żywej naturze" znajduje się w superpozycji stanów, to znaczy znajduje się w obu swoich skrajnych stanach jednocześnie (z pewnym prawdopodobieństwem).

Weźmy (A)ndrieja i przedstawmy jego stan (w jakim środku transportu— 0 lub 1) jako kubit. Wtedy w naszym kwantowym świecie powstaje dwa równoległe wszechświaty, w jednym (A) siedzi w taksówce 0, w drugim świecie — w taksówce 1. Jednocześnie w dwóch taksówkach, ale z pewnym prawdopodobieństwem można go znaleźć w każdej z nich przy obserwacji.

Weźmy (W)łodka i również przedstawimy jego stan jako kubit. Powstają dwa inne równoległe wszechświaty. Ale na razie te pary światów (A) i (W) nawzajem się nie oddziałują. Co trzeba zrobić, żeby stworzyć powiązany system? Oczywiście, trzeba te kubity połączyć (zaplotować). Bierzemy i plątamy (A) z (W) — otrzymujemy kwantowy system z dwóch kubitów (A, W), realizujący w sobie cztery wzajemnie zależne równoległe światy. Dodajemy (S)iergieja i otrzymujemy system z trzech kubitów (ABS), realizujący osiem wzajemnie zależne równoległych światów.

Istotą obliczeń kwantowych (realizacji łańcucha kwantowych bramek nad systemem powiązanych kubitów) jest fakt, że obliczenia odbywają się jednocześnie we wszystkich równoległych wszechświatach.

I nie ma znaczenia, ile ich mamy, 2^3 czy 2^100, algorytm kwantowy zostanie zrealizowany w skończonym czasie nad wszystkimi tymi równoległymi wszechświatami i dostarczy nam wyniku, który jest próbką z rozkładu prawdopodobieństwa odpowiedzi algorytmu.

Dla lepszego zrozumienia można sobie wyobrazić, że komputer kwantowy na poziomie kwantowym uruchamia 2^N równoległych procesów rozwiązania, z których każdy pracuje nad jednym możliwym wariantem, a następnie zbiera wyniki pracy — i podaje nam odpowiedź w postaci superpozycji rozwiązania (rozkładu prawdopodobieństwa odpowiedzi), z którego za każdym razem (przy każdym eksperymencie) losujemy jedno.

Zapamiętaj czas, jaki potrzebuje nasz eksperymentator (150 µs) na przeprowadzenie eksperymentu, przyda nam się to później, gdy będziemy mówić o głównych problemach komputerów kwantowych i czasie dekoherencji.

Algorytmy kwantowe

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Jak już zostało wspomniane, zwykłe algorytmy oparte na logice binarnej są nieprzydatne w komputerze kwantowym, który wykorzystuje logikę kwantową (bramki kwantowe). Musiano wymyślić nowe, w pełni wykorzystujące potencjał ukryty w kwantowej naturze obliczeń.

Najbardziej znane do dziś algorytmy to:

W przeciwieństwie do klasycznych, komputery kwantowe nie są uniwersalne.
Jak dotąd znaleziono tylko niewielką liczbę algorytmów kwantowych.(C)

Dziękuję oxoron za link do Quantum Algorithm Zoo, miejsce, gdzie, według zapewnień autora (Stephen Jordan), zbierane i wciąż zbierane są najlepsze przedstawiciele świata algorytmów kwantowych.

W tym artykule nie będziemy szczegółowo omawiać algorytmów kwantowych, w sieci jest wiele doskonałych materiałów na każdy poziom trudności, ale krótko omówić trzy najbardziej znane wciąż musimy.

Algorytm Shora.

(do spisu treści)

Najbardziej znanym algorytmem kwantowym jest algorytm Shora (wymyślony w 1994 roku przez angielskiego matematyka Petera Shora), który ma na celu rozwiązanie zadania rozkładu liczb na czynniki pierwsze (problem faktoryzacji, logarytmu dyskretnego).

To właśnie ten algorytm przytaczany jest jako przykład, gdy pisze się o tym, że twoje systemy bankowe i hasła wkrótce zostaną złamane. Biorąc pod uwagę, że długość używanych obecnie kluczy wynosi co najmniej 2048 bitów, czas na ich złamanie jeszcze nie nadszedł.

W chwili obecnej wyniki są bardziej niż skromne. Najlepsze wyniki faktoryzacji za pomocą algorytmu Shora — liczby 15 i 21, co jest znacznie mniejsze niż 2048 bitów. Dla pozostałych wyników z tabeli zastosowano inne algorytm obliczenia, ale nawet najlepszy wynik uzyskany dzięki temu algorytmowi (291311) jest daleki od realnego zastosowania.

Jak działają komputery kwantowe. Układamy puzzle

Подробнее про алгоритм Шора можно почитать, например, tutaj. Про практическую реализацию — tutaj.

Одна из текущих оценок сложности и необходимой мощности для факторизации числа из 2048 бит это компьютер с 20 миллионами кубитов. Спим спокойно.

Algorytm Grovera

(do spisu treści)

Algorytm Groveraквантовый алгоритм решения задачи перебора, то есть нахождения решения уравнения F(X) = 1, где F — есть булева функция od n переменных. Был предложен американским математиком Ловом Гровером do 1996 году.

Алгоритм Гровера может быть использован для нахождения медианы i среднего арифметического числового ряда. Кроме того, он может применяться для решения NP-полных задач путем исчерпывающего поиска среди множества возможных решений. Это может повлечь значительный прирост скорости по сравнению с классическими алгоритмами, хотя и не предоставляя «полиномиального решения» в общем виде.(C)

Więcej informacji można przeczytać tutaj, lub tutaj. Еще tutaj есть хорошее объяснение алгоритма на примере ящиков и мяча, но, к сожалению, по независящим ни от кого причинам, данный сайт у меня из России не открывается. Если у вас этот сайт тоже заблокирован, то вот краткая выжимка:

Алгоритм Гровера. Представьте, что у вас имеется N штук пронумерованных закрытых коробок. Они все пустые кроме одной, в которой находится мячик. Ваша задача: узнать номер коробки, в которой находится мячик (этот неизвестный номер часто обозначают буквой w).
Jak działają komputery kwantowe. Układamy puzzle

Как решать эту задачу? Самым тупым способом, по очереди открывать коробки, и рано или поздно вы наткнетесь на коробку с мячиком. А сколько в среднем коробок нужно проверить до того, как будет обнаружена коробка с мячиком? В среднем нужно открыть примерно половину коробок N/2. Главное здесь то, что если мы увеличим число коробок в 100 раз, то в те же 100 раз увеличится и среднее число коробок, которые нужно открыть до того, как будет найдена коробка с мячиком.

Teraz dokonajmy jeszcze jednego wyjaśnienia. Powiedzmy, że nie otwieramy pudełek rękami i nie sprawdzamy, czy w każdym z nich znajduje się piłka, ale mamy pośrednika, nazwijmy go Oracle. Mówimy Oracle: „sprawdź pudełko numer 732”, a Oracle uczciwie sprawdza i odpowiada: „w pudełku numer 732 nie ma piłki”. Teraz zamiast mówić o tym, ile pudełek musimy średnio otworzyć, mówimy „ile razy średnio musimy zwrócić się do Oracle’a, aby znaleźć numer pudełka z piłką”

Okazuje się, że jeśli tę zadanie z pudełkami, piłką i Oracle’em przetłumaczymy na język kwantowy, to uzyskujemy wspaniały wynik: aby znaleźć numer pudełka z piłką wśród N pudełek, musimy poprosić Oracle’a tylko około SQRT(N) razy!

To znaczy, że złożoność zadania przeszukiwania przy użyciu algorytmu Grovera zmniejsza się w pierwiastek kwadratowy.

Algorytm Deutcha-Jozsa

(do spisu treści)

Algorytm Doycha – Joży (znany również jako algorytm Doycha – Jozasa) – [kwantowy algorytm](https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC), предложенный David Doychem i Richardem Jożym do w 1992 roku, i stał się jednym z pierwszych przykładów algorytmów przeznaczonych do wykonywania na kwantowych komputerach. _

Zadanie Doycha – Joży polega na określeniu, czy funkcja wielu zmiennych binarnych F(x1, x2, … xn) jest stała (przyjmuje wartość 0 lub 1 dla dowolnych argumentów) czy zbalansowana (dla połowy dziedziny przyjmuje wartość 0, dla drugiej połowy 1). Przy tym zakłada się a priori, że funkcja jest albo stała, albo zbalansowana. (C)

Można też poczytać tutaj. Prostsze wyjaśnienie:

Algorytm Doycha (Doycha – Joży) oparty jest na przeszukiwaniu, ale pozwala na wykonanie go szybciej niż zwykle. Wyobraź sobie, że na stole leży moneta i musisz sprawdzić, czy jest fałszywa. W tym celu musisz dwa razy spojrzeć na monetę i określić: „orzeł” i „reszka” – prawdziwa, dwa „orły”, dwie „reszki” – fałszywa. Tak więc, korzystając z kwantowego algorytmu Doycha, tę ocenę można dokonac za jednym spojrzeniem – pomiarem. (C)

Problemy komputerów kwantowych

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Podczas projektowania i eksploatacji kwantowych komputerów przed naukowcami i inżynierami pojawia się ogromna ilość problemów, które do dziś są rozwiązywane z różnym powodzeniem. Zgodnie z badaniem (i jeszcze tutaj) można wyróżnić następujący szereg problemów:

  • Czułość na otoczenie i interakcje z otoczeniem
  • Akumulacja błędów w obliczeniach
  • Trudności z początkową inicjalizacją stanów kubitów
  • Trudności z tworzeniem systemów wielokubitowych

Gorąco polecam przeczytać artykuł “Cechy komputerów kwantowych”, szczególnie komentarze do niego.

Zgrupujmy wszystkie kluczowe problemy w trzy duże grupy i przyjrzyjmy się każdemu z nich bardziej szczegółowo:

Dekoherecja

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Opis od N+1.

Stan kwantowy bardzo delikatna sprawa, kubity w splątanym stanie są niezwykle niestabilne, jakakolwiek zewnętrzna interwencja może zniszczyć (i niszczy) to połączenie. Zmiana temperatury o najmniejszą część stopnia, ciśnienie, przypadkowy foton przelatujący obok — to wszystko destabilizuje nasz system.

Aby rozwiązać ten problem, buduje się niskotemperaturowe sarkofagi, w których temperatura (-273,14 stopnia Celsjusza) jest nieco powyżej zera bezwzględnego, z maksymalną izolacją wnętrza komory z procesorem od wszelkich (możliwych) wpływów otoczenia.

Maksymalny czas życia systemu kwantowego składającego się z kilku splątanych kubitów, w którym zachowuje on swoje właściwości kwantowe i może być używany do obliczeń, nazywa się czasem dekoherencji.

Na obecnym etapie czas dekoherencji w najlepszych rozwiązaniach kwantowych wynosi około dziesiątek i setek mikrosekund.

Jest doskonały stronę, można je zobaczyć tabelach porównawczych parametrów wszystkich stworzonych systemów kwantowych. W tym artykule dla przykładu przedstawiono tylko dwa czołowe procesory — od IBM IBM Q System One i od Google Sycamore. Jak możemy zobaczyć, czas dekoherencji (T2) nie przekracza 200 µs.

Nie znalazłem dokładnych danych na temat Sycamore, ale w samej artykuł o przewadze kwantowej podane są dwie liczby — 1 milion obliczeń w 200 sekund, w innym miejscu — w czasie 130 sekund bez strat na sygnały sterujące i inne. W każdym razie daje nam to czas dekoherencji rzędu 150 µs. Pamiętajmy o naszym eksperymencie z torbą? Ну так вот он.

Nazwa komputeraN kubitówMax sparowaneT2 (µs)
IBM Q System One20670
Google Sycamore534~150-200

Czym grozi nam dekoherencja?

Głównym problemem jest to, że po 150 µs nasz system obliczeniowy z N splątanych kubitów zacznie wydawać na wyjściu zamiast prawdopodobnego rozkładu prawidłowych rozwiązań — prawdopodobny biały szum.

Czyli musimy:

  • Zainicjować system kubitów
  • Przeprowadzić obliczenie (ciąg operacji bramkowych)
  • Zanotuj wynik

I zrób to wszystko w 150 µs. Nie zdążyłeś – wynik zamienia się w dynię.

Ale to jeszcze nie wszystko…

Błędy

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Jak już powiedzieliśmy, procesy kwantowe i obliczenia kwantowe mają probabilistyczny charakter, nie możemy być pewni na 100% w niczym, a tylko z pewnym prawdopodobieństwem. Sytuacja pogarsza się jeszcze tym, że obliczenia kwantowe są podatne na błędy. Główne typy błędów podczas obliczeń kwantowych to:

  • Błędy dekoherencji, spowodowane złożonością systemu i interakcją z otoczeniem
  • Błędy obliczeniowe bramek (spowodowane kwantowym charakterem obliczeń)
  • Błędy odczytu końcowego stanu (wyniku)

Błędy związane z dekoherencją, pojawiają się od razu, gdy tylko splątamy nasze kubity i zaczniemy przeprowadzać obliczenia. Im więcej kubitów splątamy, tym bardziej skomplikowany staje się system, tym łatwiej go zniszczyć. Niskotemperaturowe sarkofagi, chronione komory, wszystkie te technologiczne sztuczki są właśnie skierowane na to, aby zmniejszyć liczbę błędów i wydłużyć czas dekoherencji.

Błędy obliczeniowe bramek – każda operacja (bramka) na kubitach może z pewnym prawdopodobieństwem zakończyć się błędem, a do realizacji algorytmu musimy wykonać setki bramek, więc wyobraź sobie, co uzyskamy na końcu wykonywania naszego algorytmu. Klasyczna odpowiedź na pytanie — “Jakie jest prawdopodobieństwo spotkania dinozaura w windzie?” — to 50 na 50, albo spotkasz, albo nie.

Problem pogarsza się jeszcze tym, że standardowe metody korekcji błędów (powielanie obliczeń i uśrednianie) w świecie kwantowym nie działają z powodu twierdzenia o zakazie klonowania. Aby korygować błędy w obliczeniach kwantowych trzeba było wymyślić kwantowe metody korekcji.Mówiąc nieskrętnie, bierzemy N zwykłych kubitów i tworzymy z nich 1 kubit logiczny o mniejszym poziomie błędów.

Ale pojawia się inny problem — ogólna liczba kubitów.Zobacz, załóżmy, że mamy procesor ze 100 kubitami, z których 80 kubitów jest zajętych korekcją błędów, wtedy pozostało nam tylko 20 do obliczeń.

Błędy odczytu końcowego wyniku – jak pamiętamy, wynik obliczeń kwantowych przedstawiany jest w postaci rozkładu prawdopodobieństwa odpowiedzi. Ale odczyt końcowego stanu również może zakończyć się błędem.

W tym samym stronie znajdują się porównawcze tabele procesorów według poziomów błędów. Do porównania weźmy te same procesory, co w poprzednim przykładzie — IBM IBM Q System One i Google Sycamore:

KomputerFidelność bramki 1-kubity2-Fidelność bramki kubitowejFidelność odczytu
IBM Q System One99.96%98.31%
Google Sycamore99.84%99.38%96.2%

Tutaj fidelność — miara podobieństwa dwóch stanów kwantowych. Wartość błędu można w przybliżeniu przedstawić jako 1-Fidelność. Jak widzimy, błędy w bramkach 2-kubity oraz błędy odczytu stanowią główną przeszkodę w realizacji skomplikowanych i długich algorytmów na istniejących komputerach kwantowych.

Można też poczytać mapa drogowa z 2016 roku od NQIT w celu rozwiązania problemu korekcji błędów.

Architektura procesora

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Teoretycznie budujemy i operujemy schematami z dziesiątkami splątanych kubitów, w rzeczywistości jednak jest to bardziej skomplikowane. Wszystkie istniejące chipy kwantowe (procesory) są zbudowane w taki sposób, aby zapewnić bezproblemowe splątanie jednego kubitu tylko z sąsiadami, których nie ma więcej niż sześciu.

Jeśli jednak musimy splątać 1. kubit, powiedzmy, z 12., to będziemy musieli budować łańcuch dodatkowych operacji kwantowych, angażować dodatkowe kubity i inne, co zwiększa ogólny poziom błędów. Tak, i nie zapominaj o czasie dekoherencji, możliwe, że w momencie, gdy skończysz łączyć kubity w potrzebny ci schemat, czas się skończy, a cały schemat zamieni się w sympatyczny generator białego szumu.

Nie zapominaj również, że architektura wszystkich procesorów kwantowych jest różna, a program napisany w emulatorze w trybie „łączności wszystkich ze wszystkimi” będzie musiał być „przekompilowany” w architekturę konkretnego chipa. Istnieją nawet specjalne programy optymalizacyjne do wykonania tej operacji.

Maksymalna łączność i maksymalna liczba kubitów dla tych samych topowych chipów:

Nazwa komputeraN kubitówMax sparowaneT2 (µs)
IBM Q System One20670
Google Sycamore534~150-200

I dla porównania, tabela z danymi poprzedniej generacji procesorów. Porównaj liczbę kubitów, czas dekoherencji i procent błędów z tym, co mamy obecnie w nowej generacji. Postęp jednak powoli, ale ewoluuje.

Jak działają komputery kwantowe. Układamy puzzle

A zatem:

  • Obecnie nie ma w pełni połączonych architektur z > 6 kubitami
  • Aby splątać kubit 0 z, na przykład, 15., może być potrzebnych kilka dziesiątków dodatkowych operacji
  • Więcej operacji -> więcej błędów -> silniejsze wpływy dekoherencji

Podsumowanie

(do spisu treści)

Dekoherencja to wstęga współczesnych obliczeń kwantowych. W 150 µs musimy pomieścić wszystko:

  • Inicjalizacja początkowego stanu kubitów
  • Obliczenie zadania przy użyciu bramek kwantowych
  • Przeprowadzenie korekcji błędów, aby uzyskać znaczący wynik
  • Zanotować uzyskany wynik

Jak na razie wyniki są niezadowalające, chociaż tutaj twierdzą, że osiągają 0,5 s czasu utrzymywania koherencji na komputerze kwantowym opartym na pułapkach jonowych:

Mierzymy czas koherencji kubitu wynoszący ponad 0,5 s, a dzięki osłonie magnetycznej spodziewamy się, że poprawi się on do ponad 1000 s

O tej technologii można jeszcze poczytać tutaj lub na przykład tutaj.

Sytuację komplikuje fakt, że przy wykonywaniu skomplikowanych obliczeń należy stosować kwantowe schematy korekcji błędów, co również pochłania czas i dostępne kubity.

No i wreszcie, nowoczesne architektury nie pozwalają na realizację schematów splątania przy minimalnych kosztach lepiej niż 1 do 4 lub 1 do 6.

Sposoby rozwiązania problemów

(do spisu treści)

W celu rozwiązania powyższych problemów obecnie stosuje się następujące podejścia i metody:

  • Wykorzystanie kriokomórk o niskich temperaturach (10 mK (–273,14°C))
  • Wykorzystanie maksymalnie zabezpieczonych przed zewnętrznymi wpływami bloków procesorowych
  • Wykorzystanie systemów kwantowej korekcji błędów (Kubit logiczny)
  • Wykorzystanie optymalizatorów przy programowaniu schematów dla konkretnego procesora

Prowadzone są również badania mające na celu zwiększenie czasu dekoherecji, poszukiwanie nowych (i udoskonalenie znanych) fizycznych realizacji obiektów kwantowych, optymalizację schematów korekcji i tak dalej. Postęp jest, (zobacz powyżej cechy wcześniejszych i obecnie najlepszych chipów), ale jak na razie przebiega wolno, naprawdę bardzo wolno.

D-Wave

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Komputer 2000-kubitowy D-Wave 2000Q. Źródło: D-Wave Systems

W obliczu ogłoszenia Google o osiągnięciu przewagi kwantowej przy użyciu procesora z 53 kubitami, komputery i zapowiedzi firmy D-Wave, w których liczba kubitów sięga tysięcy, nieco dezorientują. Cóż, rzeczywiście, jeśli 53 kubity mogły osiągnąć przewagę kwantową, to do czego zdolny jest komputer z 2048 kubitami? Ale nie jest tak dobrze...

Krótko mówiąc (z wikipedii):

Komputery D-Wave działają na zasadzie kwantowej relaksacji (kwantowego wyżarzania), mogą rozwiązywać niezwykle ograniczoną podgrupę zadań optymalizacyjnych i nie nadają się do realizacji tradycyjnych algorytmów kwantowych i bramek kwantowych.

Można przeczytać więcej, na przykład, tutaj, tutaj (z ostrożnością, może nie otwierać się z Rosji), lub u Scott Aaronson do artykuł z jego blogu. Przy okazji, bardzo polecam przeczytać jego bloga, jest tam wiele dobrego materiału

W rzeczywistości już od początku ogłoszenia, w środowisku naukowym pojawiały się pytania dotyczące komputerów D-Wave. Na przykład, w 2014 roku IBM zakwestionowało to, że D-Wave używa efektów kwantowych. Sytuacja doszła do tego, że w 2015 roku Google razem z NASA kupiło jeden z takich komputerów kwantowych, a po badaniach potwierdziła, rzeczywiście komputer działa i oblicza zadanie szybciej niż tradycyjny. Więcej o oświadczeniu Google można przeczytać tutaj i, na przykład, tutaj.

Najważniejsze jest to, że komputery D-Wave, z ich setkami i tysiącami kubitów, nie mogą być używane do obliczania i uruchamiania algorytmów kwantowych. Nie można na nich uruchomić algorytmu Shora, na przykład. Wszystko, co mogą, to rozwiązanie konkretnego problemu optymalizacji, korzystając z pewnych mechanizmów kwantowych. Można to porównać do kwantowego ASIC do konkretnego zadania.

Trochę o symulacji komputerów kwantowych

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Obliczenia kwantowe można emulować na tradycyjnym komputerze. Właśnie, patrzcie:

  • Stan kubitu można przedstawić liczbą zespoloną, zajmującą od 2x32 do 2x64 bitów (8-16 bajtów) w zależności od architektury procesora
  • Stan N powiązanych kubitów można przedstawić jako 2^N liczb zespolonych, czyli 2^(3+N) dla 32-bitowej architektury i 2^(4+N) dla 64-bitowej.
  • Operację kwantową nad N kubitami można przedstawić macierzą 2^N x 2^N

W takim razie:

  • Do przechowywania emulowanych stanów 10 kubitów potrzebne są 8 KB
  • Do przechowywania stanów 20 kubitów potrzebne są 8 MB
  • Do przechowywania stanów 30 kubitów potrzebne są 8 GB
  • Do przechowywania stanów 40 kubitów potrzebne są 8 Terabajtów
  • Do przechowywania stanów 50 kubitów potrzebne są 8 Petabajtów itd.

(C)

Dla porównania, Summit (Top-1 z Top-500) ma zaledwie 2.8 Petabajtów pamięci.

Aktualny rekord symulacji — 49 kubitów, ustawiony w zeszłym roku na największym chińskim superkomputerze (Sunway Taihu Light)

Limit symulacji komputera kwantowego na klasycznych systemach jest ograniczony ilością pamięci operacyjnej potrzebnej do przechowywania stanu kubitów.

Zalecam również przeczytanie tego komentarza. Stamtąd:

Co do operacji — do dokładnej emulacji schematu na 49 kubitach potrzebnych było jakieś 39 „takty” (niezależnych warstw bramek) było wymagane 2^63 złożonych mnożeń — 4 PFlop/s superkomputera przez 4 godziny

Emulacja komputera kwantowego z 50+ kubitami na systemach klasycznych uważa się za niewykonalną w rozsądnym czasie. Między innymi z tego powodu Google użył do swojego eksperymentu z kwantową przewagą procesora z 53 kubitami.

Kwantowa przewaga obliczeniowa.

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Wikipedia podaje nam następującą definicję kwantowej przewagi obliczeniowej:

Kwantowa przewaga — zdolność urządzeń obliczeniowych kwantowych do rozwiązywania problemów, które klasyczne komputery praktycznie nie są w stanie rozwiązać.

Faktycznie osiągnięcie kwantowej przewagi oznacza, że na przykład faktoryzacja dużych liczb według algorytmu Shora może być rozwiązana w rozsądnym czasie, lub można symulować na poziomie kwantowym złożone molekuły chemiczne, i tak dalej. Oznacza to, że nastała nowa era.

Jednak w sformułowaniu definicji jest pewna luka, "które klasyczne komputery praktycznie nie mogą rozwiązać". Faktycznie oznacza to, że jeśli stworzymy komputer kwantowy z 50+ kubitami i uruchomimy na nim pewną schemat kwantowy, to, jak omawialiśmy wcześniej, wynik działania tej schemy nie będzie możliwy do zasymulowania na zwykłym komputerze. To znaczy, że klasyczny komputer nie będzie w stanie odtworzyć wyniku działania takiego schematu.

Czy taki wynik jest rzeczywistą kwantową przewagą, czy nie, to raczej kwestia filozoficzna. Ale warto zrozumieć, co zrobił Google i na czym opiera się jego niedawne oświadczenie o osiągnięciu kwantowej przewagi na swoim nowym procesorze Sycamore trzeba.

Oświadczenie Google o osiągnięciu kwantowej przewagi

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle
54-kubitowy procesor Sycamore

W październiku 2019 roku programiści Google opublikowali w czasopiśmie naukowym Nature artykuł "Kwantowa przewaga z zastosowaniem programowalnego procesora nadprzewodnikowego". Autorzy ogłosili osiągnięcie po raz pierwszy w historii kwantowej przewagi za pomocą 54-kubitowego procesora "Sycamore".

W sieci w artykułach Sycamore często wspomina się o nim zarówno jako o 54-kubitowym procesorze, jak i 53-kubitowym. Prawda jest taka, że według oryginalnym artykule, procesor fizycznie składa się z 54 kubitów, ale jeden z nich jest nieczynny i wyłączony z eksploatacji. W ten sposób w rzeczywistości mamy 53-kubitowy procesor.

W sieci od razu pojawiło się wiele materiałów na ten temat, których stopień wahał się od entuzjastycznych do sceptycznych.

Później pracownicy działu obliczeń kwantowych firmy IBM oświadczyli, że Google błędnie ogłosiło osiągnięcie kwantowej supremacji. W firmie twierdzą, że zwykły komputer poradzi sobie z tym zadaniem w najgorszym przypadku w ciągu 2,5 dnia, a uzyskane odpowiedzi będą bardziej dokładne niż te uzyskane przez komputer kwantowy. Takie wnioski wyciągnięto na podstawie teoretycznej analizy kilku metod optymalizacji.

No i, oczywiście, Scott Aaronson w swoim blogu nie mógł przejść obojętnie obok tego oświadczenia. Jego analiza razem ze wszystkimi linkami i Scott’s Supreme Quantum Supremacy FAQ! jak zwykle warto poświęcić im swój czas. Na habrze jest tłumaczenie tego FAQ, i koniecznie przeczytajcie komentarze, są tam linki do wstępnych dokumentów, które wyciekły do sieci przed oficjalnym ogłoszeniem.

Co tak naprawdę zrobił Google? Aby zrozumieć to szczegółowo, przeczytajcie Aaarona, a w skrócie oto:

Mogę wam oczywiście powiedzieć, ale czuję się przy tym nieco głupio. Obliczenia są następujące: eksperymentator generuje losowy schemat kwantowy C (tj. losowa sekwencja bramek 1-qbitowych i 2-qbitowych — pomiędzy najbliższymi sąsiadami — o głębokości na przykład 20, działający na dwuwymiarowej sieci n=50-60 kubitów). Następnie eksperymentator wysyła C do komputera kwantowego i prosi o zastosowanie C do początkowego stanu z 0, zmierzenie rezultatu w bazie {0,1}, odesłanie n-bitowej sekwencji obserwacyjnej (ciąg) i powtórzenie tego kilka tysięcy lub milionów razy. W końcu, używając swojej wiedzy o C, eksperymentator przeprowadza statystyczną weryfikację zgodności wyniku z oczekiwanym wyjściem od komputera kwantowego.

Jak działają komputery kwantowe. Układamy puzzle

Krótko mówiąc:

  • Tworzy się losowy schemat długości 20 z 53 kubitów używając bramek
  • Schemat uruchamia się z początkowym stanem [0…0] do wykonania
  • Wyjście schematu stanowi losowy ciąg bitów (próbka)
  • Rozkład wyników nie jest losowy (interferencja)
  • Rozkład uzyskanych próbek porównuje się z oczekiwanym
  • Wyciąga się wnioski o kwantowej supremacji

Google zrealizował syntetyczne zadanie na 53-kubitowym procesorze, a swoje stwierdzenie o osiągnięciu kwantowej przewagi opiera na fakcie, że nie jest możliwe emulowanie takiego procesora na standardowych systemach w rozsądnym czasie.

Aby zrozumieć — w tej części w żaden sposób nie umniejsza się osiągnięcia Google,inżynierowie faktycznie wykazali się, a kwestia, czy można to uznać za rzeczywistą kwantową przewagę, jak już wcześniej wspomniano, jest raczej filozoficzna niż inżynieryjna. Należy jednak zrozumieć, że osiągając taką przewagę obliczeniową, wcale nie zbliżamy się do możliwości uruchomienia algorytmu Shora na 2048-bitowych liczbach.

Podsumowanie

(do spisu treści)
Jak działają komputery kwantowe. Układamy puzzle

Komputery kwantowe i obliczenia kwantowe to bardzo obiecująca, młoda i wciąż mało stosowana w przemyśle dziedzina technologii informacyjnej.

Rozwój obliczeń kwantowych pozwoli (kiedyś) rozwiązywać zadania:

  • Modelowania skomplikowanych systemów fizycznych na poziomie kwantowym.
  • Nierozwiązywalne na klasycznym komputerze z powodu złożoności obliczeniowej.

Główne problemy przy tworzeniu i eksploatacji komputerów kwantowych:

  • Dekoherecja
  • Błędy (dekoherencje i błędy bramkowe).
  • Architektura procesorów (powiązane schematy kubitów).

Stan rzeczy na obecny moment:

  • Faktycznie — na bardzo wczesnym etapie. R&D.
  • PRAWIDŁOWEj komercyjnej eksploatacji jeszcze nie ma (i nie wiadomo, kiedy będzie).

Co może pomóc:

  • Jakieś fizyczne odkrycie, które zmniejszy koszty związane z podporą i eksploatacją procesorów.
  • Odkrycie czegoś, co znacznie wydłuży czas dekoherencji i/lub zmniejszy liczbę błędów.

Moim zdaniem (wyłącznie moje osobiste zdanie), w obecnej paradygmatycznej wiedzy naukowej nie osiągniemy znaczących postępów w rozwoju technologii kwantowych.wymagana jest tutaj jakościowa zmiana w jakiejś dziedzinie nauki podstawowej lub stosowanej, która da impuls nowym pomysłom i metodom.

A na razie — zdobywamy doświadczenie w programowaniu kwantowym, zbieramy i tworzymy algorytmy kwantowe, testujemy pomysły i tak dalej, i tak dalej. Czekamy na przełom.

Podsumowanie

(do spisu treści)

W tym artykule omówiliśmy główne kamienie milowe w rozwoju obliczeń kwantowych oraz komputerów kwantowych, przyjrzeliśmy się zasadzie ich działania, a także omówiliśmy główne problemy, przed którymi stoją inżynierowie przy projektowaniu i eksploatacji procesorów kwantowych. Dodatkowo spojrzeliśmy na to, czym tak naprawdę są komputery wielokubitetowe D-Wave oraz na niedawne oświadczenie Google o osiągnięciu kwantowej przewagi.

Na marginesie pozostały pytania dotyczące programowania komputerów kwantowych (języki, podejścia, metody itp.) oraz kwestii związanych z konkretną fizyczną realizacją procesorów, takich jak zarządzanie kubitami, ich łączenie, odczytywanie itp. Być może będzie to temat następnego artykułu lub artykułów.

Dziękuję za uwagę, mam nadzieję, że ten artykuł będzie dla kogoś przydatny.

(C) Kruegger

Podziękowania

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

@Oxoron za korektę i uwagi do tekstu oraz za artykuł „Cechy komputerów kwantowych”

@a5b za bogate w informacje komentarze do „Cechy komputerów kwantowych”, a także do pozostałych, które w dużej mierze pomogły mi zrozumieć tę układankę.

Wszystkim autorom artykułów i publikacji, których materiały zostały wykorzystane przy pisaniu tego artykułu.

Lista zasobów

(do spisu treści)

Jak działają komputery kwantowe. Układamy puzzle

Artykuły o aktualnej sytuacji od [The National Academies Press]

http://cs.brown.edu/courses/csci1800/sources/2018_NAE_QuantumComputing_ProgressAndProspects.pdf
https://www.nap.edu/catalog/25196/quantum-computing-progress-and-prospects

Artykuły z Habr (w przypadkowej kolejności)

https://habr.com/ru/post/458450/
https://habr.com/ru/post/401315/
https://habr.com/ru/post/458134/
https://habr.com/ru/post/246483/
https://habr.com/ru/post/95428/
https://habr.com/ru/post/387761/
https://habr.com/ru/post/468911/
https://habr.com/ru/post/435560/
https://habr.com/ru/post/316810/
https://habr.com/ru/company/microsoft/blog/351624/
https://habr.com/ru/company/microsoft/blog/351628/
https://habr.com/ru/company/ua-hosting/blog/377533/
https://habr.com/ru/company/acronis/blog/455559/
https://habr.com/ru/company/yandex/blog/332106/
https://habr.com/ru/company/mailru/blog/350208/
https://habr.com/ru/company/mailru/blog/476444/
https://habr.com/ru/company/misis/blog/470445/
https://habr.com/ru/company/it-grad/blog/452424/
https://habr.com/ru/company/piter/blog/450480/

Nieposortowane (ale nie mniej interesujące) artykuły z przestrzeni Internetu

http://homepages.spa.umn.edu/~duplij/publications/Duplij-Shapoval_TOPOLOGICAL-QUANTUM-COMPUTERS.pdf
https://quantum.country/qcvc
http://extremal-mechanics.org/wp-content/uploads/2015/07/RIFFEL.pdf
https://thecode.media/quantum/
https://naked-science.ru/article/nakedscience/quantum-computers
https://ru.ihodl.com/technologies/2018-10-29/prosto-o-slozhnom-kak-rabotaet-kvantovyj-kompyuter/
https://pikabu.ru/story/chto_takoe_kvantovyiy_kompyuter_5204054
https://nplus1.ru/search?q=%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B0%D0%B7%D0%B1%D1%83%D0%BA%D0%B0
https://www.scottaaronson.com/blog/?p=4372
https://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80
https://quantumcomputingreport.com/scorecards/qubit-quality/
https://quantumcomputing.stackexchange.com/questions/2499/is-quantum-computing-just-pie-in-the-sky
https://quantumcomputing.stackexchange.com/questions/1289/how-does-a-quantum-computer-do-basic-math-at-the-hardware-level
https://www.extremetech.com/extreme/284306-how-quantum-computing-works
https://techno.nv.ua/it-industry/chto-takoe-kvantovyy-kompyuter-i-kvantovoe-prevoshodstvo-google-protiv-ibm-50049940.html
https://www.nature.com/articles/s41586-019-1666-5?utm_source=commission_junction&utm_medium=affiliate
https://petrimazepa.com/nemnogo_o_kvantovykh_kompyuterakh
https://www.forbes.ru/tehnologii/371669-ibm-protiv-d-wave-nastupila-li-era-kvantovyh-kompyuterov

Kursy i wykłady

https://www.coursera.org/learn/kvantovyye-vychisleniya
https://www.youtube.com/watch?v=uPw9nkJAwDY&amp=&index=4&amp=&t=0s
https://courses.edx.org/courses/BerkeleyX/CS191x/2013_Spring/course/#
https://www.youtube.com/watch?v=xLfFWXUNJ_I&list=PLnbH8YQPwKbnofSQkZE05PKzPXzbDCVXv
https://cs269q.stanford.edu/syllabus.html
https://quantum-computing.ibm.com/support/guides/user-guide?section=5dcb2b45330e880045abccb0
https://gitlab.com/qkitchen/basics-of-quantum-computing

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster