Komputery kwantowe - o co w tym chodzi?

Komputery kwantowe mają mieć potencjał rozwiązywania problemów, z którymi te klasyczne ani nawet superkomputery nie są w stanie sobie poradzić albo zajęłoby im to niewyobrażalnie dużo czasu, na przykład tysiące lat, w porównaniu z minutami w przypadku komputerów kwantowych. W artykule przedstawiamy zasady mechaniki kwantowej, na których mają się opierać te urządzenia, ich część sprzętową, przykłady algorytmów i potencjalne aplikacje.

Posłuchaj
00:00

Zachowania cząstek kwantowych wydają się "dziwne", sprzeczne z intuicją, a nawet niemożliwe z punktu widzenia fizyki klasycznej. Ponieważ jej prawa nie mają w ich przypadku zastosowania, na potrzeby ich opisu opracowano zasady mechaniki kwantowej. Ich znajomość jest niezbędna, żeby można było zrozumieć podstawy działania komputerów kwantowych.

Najważniejsze z nich to: superpozycja, dekoherencja, splątanie i interferencja. Ważnym terminem jest też kubit (qubit), czyli bit kwantowy. Jest to podstawowa jednostka informacji w komputerach kwantowych. Można go uznać za kwantowy odpowiednik "zwykłego" bitu, który jest nośnikiem danych w klasycznych komputerach.

Na czym polega superpozycja?

Superpozycja jest fundamentalną koncepcją mechaniki kwantowej. Opisuje sytuację, w której układ kwantowy może istnieć w wielu różnych stanach równocześnie. W przypadku "zwykłych" bitów możliwe są tylko dwa – 0 albo 1. Kubit z kolei może istnieć w stanie 0, 1 albo dowolnym, który jest liniową kombinacją stanów 0 i 1.

Superpozycję kubitu można wyjaśnić na przykładzie z życia codziennego. Jeżeli rzucamy monetą, która spada na stół, zgodnie z naszym doświadczeniem (i zarazem zasadami mechaniki klasycznej), spodziewamy się, że wypadnie orzeł albo reszka. Według zasad mechaniki kwantowej możliwe jest natomiast wypadnięcie jednocześnie orła i reszki.

Superpozycję opisuje następująca formuła:

|ψ〉 = α|0〉 + β|1〉

gdzie |ψ〉 jest stanem kubitu, |0〉 i |1〉 to stany bazowe, a α i β są amplitudami prawdopodobieństwa, które określają szanse wystąpienia kubitu w danym stanie. Graficzną reprezentację tej zależności jest sfera Blocha, która przedstawia kubit w superpozycji (rys. 1). Stan pośredni utrzymuje się do czasu pomiaru, kiedy zachodzi dekoherencja. Wówczas kubit "zapada się" do jednego ze stanów bazowych.

Rys. 1. Sfera Blocha

Kubit sam w sobie nie jest zbyt użyteczny. Jeśli jednak zostanie wykorzystany jako nośnik danych zapisanych jako superpozycja kombinacji jego prawdopodobnych stanów, można tworzyć złożone, wielowymiarowe przestrzenie obliczeniowe. Pozwala to przedstawiać skomplikowane problemy w zupełnie nowatorski sposób i rozwiązywać je dzięki paralelizmowi obliczeniowemu.

Ten jest nieosiągalny w klasycznych komputerach, które (w uproszczeniu) wykonują tylko jedną operację naraz, zależnie od wartości bitu ("jeżeli 1, wykonaj operację 1, jeżeli 0, wykonaj operację 2"). Komputery kwantowe natomiast, dzięki temu, że kubit może znajdować się w superpozycji 0 i 1, są w stanie wykonywać wiele obliczeń równolegle, przetwarzając jednocześnie wszystkie stany kubitu.

Splątanie

Splątanie jest kolejną koncepcją mechaniki kwantowej, diametralnie odróżniającą ją od mechaniki klasycznej. Opisuje ono korelację polegającą na wystąpieniu wspólnego stanu kwantowego między dwoma lub większą liczbą cząstek kwantowych, nawet gdy dzieli je duża odległość.

Jeżeli cząstki kwantowe są splątane, ich wypadkowa funkcja falowa nie może być wyrażana jako iloczyn ich funkcji falowych. Zamiast tego są one opisywane nową funkcją falową, uwzględniającą korelację między nimi. W konsekwencji wszelkie działania wykonane na jednej ze splątanych cząstek wpływają na stan pozostałych.

W praktyce oznacza to, że stanu żadnej z nich nie można odczytać niezależnie – trwają one w superpozycji, dopóki jedna z nich nie zostanie zmierzona. Wówczas wszystkie ulegają "zapadnięciu się", zaś te, których nie zmierzono, przyjmują stan przeciwny do tego odczytanego. Na przykład, jeżeli jeden z pary splątanych kubitów zostanie zmierzony w stanie 1, drugiemu można przypisać stan 0. Chociaż zjawisko to wciąż nie jest w pełni zrozumiałe, ma ogromny potencjał.

W komputerach kwantowych splątanie dzięki temu, że pozwala na manipulowanie stanem wielu kubitów w jednej operacji, jeszcze zwiększa możliwości w zakresie paralelizmu obliczeniowego. Jest także kluczowe w korekcji błędów kwantowych, która jest niezbędna do ochrony informacji kwantowych przed dekoherencją. Umożliwia ponadto teleportację kwantową, czyli transfer stanów kwantowych między dwoma odległymi systemami.

Jak wykorzystać interferencję?

Interferencja, inaczej niż superpozycja i splątanie, nie jest zjawiskiem typowo kwantowym – można ją również obserwować w skali makro. Dlatego w dyskusji o komputerach kwantowych często się ją pomija, mimo że jest kluczowa dla ich działania.

Przyczyną interferencji kwantowej jest dualizm korpuskularno-falowy cząstek kwantowych, z powodu którego w skali subatomowej mają właściwości falowe. Gdy cząstka kwantowa znajduje się w superpozycji wielu stanów, mogą one ze sobą interferować, konstruktywnie lub destruktywnie. W pierwszym przypadku nakładają się na siebie dwie fale w fazie, co skutkuje ich wzmocnieniem. Mamy wtedy do czynienia z interferencją konstruktywną. W przypadku ich wygaszenia na skutek tego, że są w przeciwfazie, występuje z kolei interferencja destruktywna.

W komputerach kwantowych tytułowe zjawisko jest wykorzystywane do wpływania na amplitudy prawdopodobieństwa, czyli innymi słowy, na szanse wystąpienia każdego możliwego wyniku. Jeżeli w obliczeniach używa się pojedynczego kubitu, możliwe wyniki to jedynie 0 i 1. Jeśli używa się dwóch, liczba możliwych wyników podwaja się (00, 01, 10, 11), podobnie, jak przy trzech kubitach (000, 001, 010, 011, 100, 101, 110, 111). To właśnie dzięki tej zależności komputery kwantowe pod względem potencjału mocy obliczeniowej przewyższają najpotężniejsze klasyczne superkomputery.

Dla każdego możliwego wyniku prawdopodobieństwo może być tak niskie jak 0 i tak wysokie jak 100%. Szanse wszystkich możliwych wyników sumują się do 100%. W komputerach kwantowych interferencja jest właśnie wykorzystywana do manipulowania i kontrolowania stanów kwantowych w taki sposób, aby "wzmacniać" niektóre wyniki i "tłumić" pozostałe. Ponadto porównując wzory interferencji kwantowej kubitów, można korygować błędy.

Jak zbudować kubit?

W teorii każdy układ kwantowy o właściwościach przełączanych między wyraźnie rozróżnialnymi stanami można wykorzystać jako kubit. Kryteria te w naturze spełniają atomy. W ich przypadku tą pożądaną cechą są dyskretne poziomy energii elektronów walencyjnych w stanie podstawowym i po ich wzbudzeniu. Takie naturalne kubity nie są jednak stabilne. Dlatego, by zbudować komputer kwantowy, konieczna jest dostępność technologii produkcji struktur o właściwościach podobnych do tych atomu, ale trwałych i kontrolowanych.

Obecnie pracuje się nad kilkoma takimi rozwiązaniami. Spośród nich za najbardziej obiecujące uważa się kubity wykorzystujące kwantowe zjawisko nadprzewodnictwa. Wykonanymi z materiałów o takich właściwościach kubitami, działającymi w ekstremalnie niskich temperaturach, można manipulować za pomocą impulsów mikrofalowych. Ich zaletą jest szybkość przełączania, ale niestety też szybko ulegają dekoherencji.

Pracuje się ponadto nad kubitami w postaci jonów "uwięzionych" w polu elektromagnetycznym, których stan jest przełączany za pomocą lasera. Pułapki jonowe wolniej niż kubity nadprzewodzące ulegają dekoherencji, dzięki czemu są stabilniejsze i działają w temperaturze pokojowej. Z drugiej strony są wolniejsze.

Jako kubity próbuje się także wykorzystać kropki kwantowe w postaci "uwięzionego" elektronu. W tym przypadku właściwością przełączaną jest jego spin zmieniany pod wpływem przyłożonego pola magnetycznego. Największe zalety kubitów w postaci kropek kwantowych to ich skalowalność oraz możliwość produkcji w ramach standardowych procesów technologicznych wykorzystywanych w branży półprzewodników.

Poza tym jako kubity pod uwagę brane są fotony, w przypadku których informacja kwantowa jest przechowywana w ich polaryzacji. Zaletą jest ich odporność na wpływy otoczenia na stan kwantowy, wyzwaniem pozostaje jednak konstrukcja opartych na nich struktur do realizacji złożonych obliczeń.

Bramki kwantowe

W procesorach kwantowych w celu modyfikowania i odczytywania stanów kubitów korzysta się z bramek kwantowych, podobnie jak w procesorach klasycznych z bramek logicznych. Wyróżnić można jedno- i wielokubitowe bramki kwantowe.

Bramki jednokubitowe operują na pojedynczych kubitach. Najważniejsze z nich to bramki Pauliego X, Y i Z. Bramka X działa analogicznie jak klasyczna bramka NOT, zmieniając stan kubita z |0〉 na |1〉 lub z |1〉 na |0〉. Bramka Z zmienia fazę stanu |1〉, pozostawiając stan |0〉 niezmieniony. Bramka Y natomiast jest równoważna zastosowaniu bramek X i Z. Korzysta się także z: bramek Hadamarda, które wywołują stan superpozycji przez przekształcenie stanu |0〉 w równą superpozycję stanów |0〉 i |1〉, bramek S, które wprowadzają przesunięcie fazowe o π/2 radianów dla stanu |1〉, bramek T, które wprowadzają przesunięcie fazowe o π/4 radianów dla stanu |1〉 oraz bramek Rx(θ), Ry(θ) i Rz(θ), wywołujących dowolny obrót wokół trzech osi sfery Blocha.

Jak pisaliśmy wcześniej, jest to sfera reprezentująca możliwe stany kubitu. Jej bieguny, północny i południowy, odpowiadają odpowiednio stanom |0〉 i |1〉. Wszystkie inne punkty na powierzchni sfery reprezentują stany pośrednie, które dzięki superpozycji są liniowymi kombinacjami stanów |0〉 i |1〉. Wpływ operacji kwantowych realizowanych w poszczególnych bramkach na stany kubitu można sobie wyobrazić właśnie jako przesuwanie tych punktów.

Przykładowo zastosowanie bramki Hadamarda do kubitu w stanie |0〉 powoduje, że przesuwa się z bieguna północnego sfery do równika, co odpowiada równej superpozycji stanów |0〉 i |1〉. Podobnie podanie na wejście bramki X kubitu w stanie |0〉 powoduje, że przesunie się z bieguna północnego na biegun południowy (obrót o 180° wokół osi X), co odpowiada odwróceniu stanu z |0〉 na |1〉. Bramka Y powoduje obrót o 180° wokół osi Y, przekształcając |0〉 na j|1〉 i |1〉 na -j|0〉, a bramka Z – obrót o 180° wokół osi Z, co nie wpływa na |0〉, ale przekształca |1〉 na –|1〉.

Bramki wielokubitowe natomiast operują na dwóch i więcej kubitach jednocześnie. To umożliwia tworzenie i manipulowanie stanami splątanymi.

Do tej kategorii zaliczane są: bramki CNOT (Controlled NOT), które wykonują operację NOT na kubicie docelowym wtedy i tylko wtedy, gdy kubit kontrolny znajduje się w stanie |1〉, dwukubitowe bramki SWAP, które zamieniają stany dwóch kubitów, bramki trzykubitowe CCNOT (Controlled-Controlled-NOT), które wykonują operację NOT na kubicie docelowym wtedy i tylko wtedy, gdy oba kubity kontrolne znajdują się w stanie |1〉.

Algorytmy kwantowe

Jedną z tradycyjnych metod rozwiązywania problemów obliczeniowych jest algorytm siłowy (brute force), który polega na sukcesywnym sprawdzaniu wszystkich możliwych kombinacji rozwiązań. Jest on zazwyczaj wysoce nieoptymalny, ale zarazem najprostszy w implementacji. W przypadku bardzo skomplikowanych problemów, które wymagają uwzględnienia wielu różnych zmiennych, takie skrupulatne wypróbowywanie wszystkich możliwych rozwiązań, aż do czasu znalezienia tego właściwego nawet przez najpotężniejsze superkomputery może się wiązać z ogromną stratą czasu i zasobów. Alternatywa na przykład w postaci metody Monte Carlo także nie daje wówczas gwarancji znalezienia rozwiązania w optymalnym czasie. W przypadku komputerów kwantowych można jednak oczekiwać, że dzięki paralelizmowi obliczeniowemu, jednoczesne sprawdzanie wielu rozwiązań może znacząco skrócić poszukiwanie tego prawidłowego.

Podobnie jak komputery klasyczne, te kwantowe także, przeprowadzając obliczenia, implementują konkretne algorytmy. Te kwantowe różnią się od swoich klasycznych odpowiedników tym, że do wykonywania operacji wykorzystują unikalne właściwości cząstek kwantowych w oparciu o zasady mechaniki kwantowej, takie jak opisane superpozycja, splątanie i interferencja. Może to prowadzić do nowych sposobów rozwiązywania złożonych problemów, dlatego opracowywanie algorytmów kwantowych jest szybko rozwijającą się dziedziną.

Algorytm Grovera

Przykładem jest algorytm Grovera wyszukiwania konkretnego elementu w nieposortowanej tablicy lub bazie danych. Wykorzystuje się w nim superpozycję, splątanie i interferencję. Jego pierwszym krokiem jest inicjalizacja.

Polega ona na przygotowaniu rejestru kwantowego w superpozycji wszystkich możliwych stanów, z których każdy reprezentuje potencjalne rozwiązanie. Zazwyczaj realizuje się to za pomocą bramek Hadamarda, które generują równą superpozycję wszystkich stanów bazowych.

Najważniejszy etap to iteracja (operator) Grovera, na którą składają się wielokrotnie powtarzane dwie operacje: zmiany fazy amplitudy prawdopodobieństwa związanej z poprawnym rozwiązaniem oraz wzmacniania amplitudy prawdopodobieństwa poprawnego rozwiązania, przy jednoczesnym zmniejszaniu pozostałych. W ten sposób stopniowo rosną szanse znalezienia poszukiwanego elementu.

Złożoność obliczeniowa algorytmu Grovera przy założeniu, że przeszukiwana tablica ma N elementów, wynosi O(√N). Dla porównania w klasycznych algorytmach jest to O(N). Oznacza to znaczące przyspieszenie, tym bardziej odczuwalne, im zbiór danych jest większy. Dzięki temu zakres zastosowań algorytmu Grovera wykracza poza przeszukiwanie baz danych – potencjalnie może na przykład, w połączeniu z uczeniem maszynowym, zrewolucjonizować algorytmy dopasowania wzorca, jak również niestety umożliwić odwracanie funkcji skrótu. To stanowić będzie zagrożenie dla zabezpieczeń kryptograficznych.

Podsumowanie

Potencjał komputerów kwantowych jest ogromny. Ich przykładowe zastosowania obejmują m.in.: badania oddziaływania cząsteczek w celu odkrywania nowych leków i innych materiałów o różnych zastosowaniach (na przykład paliw, tworzyw sztucznych), przetwarzanie danych meteorologicznych i tworzenie modeli matematycznych prognozujących pogodę i opisujących postępowanie zmian klimatu, kryptografię kwantową, optymalizacja tras flot transportowych z uwzględnieniem bardzo dużej liczby zmiennych, przetwarzanie danych finansowych, na przykład w celu szacowania ryzyka kredytowego, optymalizacji portfeli inwestycyjnych, opracowywania nowych strategii handlowych.

Równie duże są jednak wyzwania towarzyszące rozwojowi komputerów kwantowych.

Ich podsumowanie stanowią kryteria zaproponowane w 2000 roku przez fizyka Davida DiVincenzo, które od tamtej pory stanowią wytyczne dla naukowców budujących komputery kwantowe. Według nich kubit musi być dobrze scharakteryzowany, co oznacza, że powinien istnieć jego opis zgodny z zasadami mechaniki kwantowej i trzeba zapewnić skalowalność, czyli możliwość kontrolowania nie tylko jednego kubitu, ale i ich większej liczby. Przed wykonaniem obliczeń kubity powinny znajdować się w dobrze zdefiniowanym stanie, odtwarzalnym z akceptowalnym marginesem błędu. Ponadto czas dekoherencji musi być wystarczająco długi, aby można było wykonywać użyteczne operacje na kubitach. Wymagana jest dostępność zestawu bramek kwantowych, które pozwolą wykonywać dowolne operacje na kubitach. Dostępne muszą być też techniki precyzyjnego pomiaru stanu kubitów. Mimo starań naukowców i postępów, jakie możemy obserwować w dziedzinie komputerów kwantowych, wszystkich tych wytycznych nie udało się jeszcze spełnić.

 

Monika Jaworowska

Zobacz więcej w kategorii: Technika
PCB
Projektowanie płytek drukowanych pod kątem testowania - stanowiska z sondami stałymi i latającymi
Projektowanie i badania
Zarządzanie blokami IP w projektach układów scalonych
Projektowanie i badania
Jak znaleźć zamiennik komponentu?
Projektowanie i badania
Zamienniki dla układów elektronicznych
Projektowanie i badania
Wybór czujnika temperatury - rozważania projektanta
Mikrokontrolery i IoT
Sztuczna inteligencja w rozpoznawaniu gestów
Zobacz więcej z tagiem: Mikrokontrolery i IoT
Technika
Sztuczna inteligencja w rozpoznawaniu gestów
Technika
Nowoczesne rozwiązania w zakresie interfejsu użytkownika w systemach embedded
Technika
Secure component jako podstawa bezpieczeństwa systemów cyfrowych
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów