fbpx

Komputery kwantowe – opis i zastosowanie

Nikt nie wie co dokładnie przyniesie przyszłość. Obecnie jesteśmy zafascynowani rosnącą mocą obliczeniową w smartfonach, które nosimy cały czas przy sobie, a liczne głośy powtarzają, że kolejny ogromny zysk wydajności przyjdzie wraz z komputerami kwantowymi. Na czym jednak one polegają i czy obecnie możemy je gdzieś wykorzystać?

Przepiękna fizyka w tle

W klasycznym komputerze bity, czyli podstawowe jednostki informacji, mogą przyjmować tylko dwie wartości: 0 albo 1. Odpowiadają im dwa z elementarnych układów tworzących mikroprocesor i są to różne napięcia na tranzystorach, które z kolei tworzą bramki logiczne. Jakiekolwiek obliczenia opierają się właśnie na manipulowaniu stanami tranzystorów.

W komputerze kwantowym musimy porzucić tak prosty stan. Dowolne dane nie są reprezentowane przez dwustanowe wartości napięcia, ale stan kwantowy układu, gdzie bit jest zastąpiony przez kubit. Można się również spotkać z nazwami bit kwantowy lub, wprost z angielskiego, qubit. Kubit stanowi tu superpozycję klasycznego zera i jedynki, co da się w skrócie określić, że przyjmuje po części wartość 0 i po części 1 w jednym momencie.

Do czego można to porównać? Najlepiej to zobrazuje krótki eksperyment z monetą. Z jednej strony mamy orzełka, z drugiej reszkę. Podrzucając monetę, możemy być pewni, że spadnie ona na jedną ze stron i będziemy widzieć albo orzełka albo reszkę. Taka sytuacja to idealna alegoria bita. Z kolei w przypadku kręcenia monetą, nie jesteśmy w stanie do końca określić, która strona jest u góry, a która na dole. Prawdziwym byłoby określenie, że równie prawdopodobne jest pojawienie się tam orzełka, co reszki, więc można uznać, że obie opcje są realne w tym momencie. Taki eksperyment myślowy może nieco pomóc w zrozumieniu zawiłej specyfiki kubita.

Warto w tym miejscu napisać co nieco na temat różnicy w wydajności obliczeniowej. Dwa klasyczne bity przechowują maksymalnie jedną z czterech możliwych wartości (00 => 0, 01 => 1, 10 => 2 lub 11 => 3), podczas gdy dwa kubity są w stanie pomieścić cztery wartości. Przy 8 kubitach mówimy już o 64, przy 16 – o 256, a przy 32 – o 1024. W tym właśnie tkwi największa przewaga komputera kwantowego nad klasycznym i to umożliwia mu być szybszym w wykonywaniu wielu zadań równoległych, gdzie zwykły sprzęt po prostu sobie nie poradzi równie szybko.

Jak świat jest widziany przez komputer kwantowy? Kubit stanowi superopozycję 0 i 1, co rozumiemy jako ukazanie prawdopodobieństwa na to, że jest w stanie 0 i na to, że jest w stanie 1, a ich suma wynosi 1 (100%). Dokładny wynik obliczeń takiego układu nigdy nie może być pewny. Z racji na tą cechę wykonuje się serię obliczeń i dopiero po uśrednieniu otrzymanych wyników można podjąć się próby określenie prawidłowego wyniku działania.

Jak z kubita powstaje komputer kwantowy?

Kubit to elementarna część większej całości. Jego zbiór tworzy rejestr kwantowany i ten może występować jako jeden układ, złożony z wielu. Dane z rejestru są przetwarzane przez obwody kwantowe, za których działanie odpowiadają kwantowe bramki logiczne. Tyle teorii, bo obecnie mamy do czynienia z różnymi technologiami i każda firma chwali obraną przez siebie ścieżkę rozwoju.

Co jednak stoi na przeszkodzie do popularyzacji komputerów kwantowych? Warto przybliżyć termin dekoherencjikwantowej. Jest to proces opisujący oddziaływanie obiektu kwantoego z otoczeniem i można to zrozumieć jako utratę informacji o układzie wskutek tego oddziaływania. Co gorsza, im więcej kubitów w rejestrze kwantowym, tym szybciej ulegają one dekoherencji, a właśnie od liczby kubitów zależy wprost wydajność komputera. Z tego względu każde urządzenie z układem kwantowym musi być całkowicie odizolowane od otoczenia. Ciekawostką jest to, że temperatura wewnątrz musi być utrzymywana na poziomie prawie zera całkowitego (w przypadku IBM Q mówimy o temperaturze wynoszącej zaledwie 0,001 Kelwina, czyli -273,149 °C).

Sporym utrudnieniem jest fakt, że pomiar stanu obiektu kwantowego zmienia go i możemy stracić wynik obliczeń. Rozwiązaniem pozostaje wykorzystanie splątania kwantowego. W tym przypadku dwa kubity są ze sobą łączone w taki sposób, aby drugi stanowił kopię pierwszego. W dodatku pozwala to otrzymać bardziej dokładny wynik i zmniejszyć liczbę wykonywach obliczeń, ale uzyskiwanie superpopozycji nie należy do prostych zadań.

Było o utrudnieniach fizycznych, teraz czas na kłopot natury oprogramowania. Aby móc realnie wykorzystać komputer kwantowy, musimy stworzyć odpowiednią aplikację i tu ponownie dostrzeżemy różnicę względem klasycznych sprzętów. Mianowicie takie oprogramowanie musi korzystać z mechaniki kwantowej, np. kwantowego splątania czy superopozycji, a same wbudowane w nie algorytmy bazować będą na rozkładzie prawdopodobieństwa i jego zmianie.

Należy w tym miejscu wyróżnić najbardziej znane algorytmy, wykorzystujące mechanikę kwantową. Na pierwszym miejscu wśród popularności stoi algorytm Shore’a, służący do rozkładu ogromnych liczb na liczby pierwsze. Na drugim sklasyfikowałbym algorytm Grovera, opracowany do szybkiego przeszukiwania bazy danych, natomiast na trzecim – algorytm rozwiązujący problem komiwojażera. Zadanie to polega na tym, że tytułowy komiwojażer musi odwiedzić określoną liczbę miast, a podróż między dwoma konkretnymi zajmuje dokładną liczbę czasu, odległości i kosztów. Zadaniem komputera jest wyznaczenie najbardziej optymalnej trasy. Przykładowe opracowanie można zobaczyć pod tym linkiem: http://www.solvequantum.com/

Żadna fantastyka, a realne zastosowania

Komputery kwantowe mogą służyć jako wydajne narzędzie do opracowywania zupełnie nowych rozwiązań. Jednym z ciekawszych zastosowań może być symulacja struktury molekuł, aby sprawdzić jak one reagują i odpowiadają, a to wszystko w celu opracowania nowego lekarstwa. Branża medyczna może najwięcej zyskać na takich sprzętach.

Również sektor finansowy sprawdza już korzyści, jakie może zapewnić im komputer kwantowy. Szczególnie przyda się on przy zapewnianiu coraz to wyższego poziomu bezpieczeństwa, ponieważ algorytmy kwantowe mogą być znacznie bardziej zaawansowane. Wspomina się tu też o kwantowym blockchainie. Jednocześnie w dłuższej perspektywie taka technologia pozwoliłaby bankom na użycie bardziej rozbudowanej sztucznej inteligencji do podejmowania decyzji i oceny ryzyka na rynku, co może przynieść ogromne zyski.

Komputery kwantowe są sprawdzane nawet przez firmy motoryzacyjne. Volkswagen Group ogłosiło nawiązanie współpracy z Google, aby przy wykorzystaniu tego rozwiązania stworzyć aplikację do optymalizacji ruchu. Firmy planuję także zbadać, jak mogą zostać poprawione baterie czy opracowane jeszcze bardziej wytrzymałe i lżejsze materiały do produkcji pojazdów.

Na dobrą sprawę dopiero odsłaniamy całe spektrum zastosowań.

Jak zacząć własną przygodę z komputerem kwantowym?

Aktualnie trudno marzyć o zakupie komputera kwantowego. Mimo wszystko da się złożyć zamówienie na taki sprzęt i obecnie IBM chwali się możliwością zakupu IBM Q dla każdego. Na razie to jednak sprzęt kosztujący bardzo dużo i trudno mówić o szybkiej popularyzacji.

Na szczęście nie trzeba mieć koniecznie komputera kwantowego, aby móc rozpocząć zabawę z programowaniem go. Ba! Możemy połączyć się do już istniejącego, udostępnionego społeczności, bądź zasymulować jego działanie.

Aktualnie znajdziemy kilka projektów, które to umożliwiają i teraz krótko je przybliżymy. Sam miałem do czynienia z dwoma pierwszymi i moim zdaniem oraz na podstawie opinii innych, to właśnie one są na razie najbardziej rozwinięte. Widać jednak ogromny progres na przestrzeni ostatnich dwóch lat. Rigetti Forest oferuje symulację środowiska kwantowego za pomocą QVM (kwantowa maszyna wirtualna), a do programowania otrzymujemy zestaw instrukcji kwantowych Quil. Ważniejsze jest to, że cały kod da się zapisać w Pythonie za pomocą PyQuil. Więcej informacji znajdziecie pod tym linkiem: http://www.rigetti.com/forest.

IBM z kolei proponuje swoje API do programowania o nazwie QISKIT, które również wspiera kod w Pythonie. Samo IBM Quantum Experiencie dzieli się na cztery części o różnym poziomie skomplikowania (przedstawione od najbardziej przyjaznego początkującym): Aer, Ignis, Aqua i Terra. Więcej informacji znajdziecie pod tymi linkami: https://www.research.ibm.com/ibm-q/https://qiskit.org/.

Dostęp do swojego komputera kwantowego z 11 kubitami udziela Alibaba i wszystkie operacje musimy wykonywać z poziomu interfejsu w przeglądarce, a uzyskane wyniki możemy pobrać. Więcej informacji pod linkiem: http://quantumcomputer.ac.cn/index.html.

ProjectQ to kolejny open-source’owy framework, który umożliwia implementowanie kody w Pythonie do wykonywania obliczeń na komputera kwantowych i mogą być one wykonywane na dowolnym urządzeniu. Więcej informacji pod linkiem: https://projectq.ch/.

Cirq również jest biblioteką dla Pythona. Wspierana jest przez OpenFermion-Cirq, czyli platformę służącą do rozwiązywania algorytmów związanych z problemami chemicznymi. Więcej informacji pod linkiem: https://github.com/quantumlib/cirq.

Xanadu natomiast przygotowało dwa różne produkty do programowania komputerów kwantowych. PennyLane jest biblioteką dla Pythona, która umożliwia kwantowe uczenie maszynowe i optymalizację obliczeń z użyciem komputerów kwantowych i klasycznych. Z kolei Strawberry Fields umożliwia już pełne projektowanie i symulowanie, będąc zaprojektowana pod kątem przygotowywanego przez Xanadu hardware’u. Więcej informacji pod tym linkiem: https://www.xanadu.ai/software/.

Na świecie stworzono naturalnie jeszcze więcej dedykowanych bibliotek czy rozwiązań pozwalających na zrozumienie zasad działania komputera kwantowego w praktyce, np. QUI z Uniwersytetu w Melbourne, Quantum Learning as a Service od Atosa i SFTC czy Blueqat.

Przyszłość komputerów kwantowych

Komputery kwantowe powoli stają się czymś, co firmy mogą realnie u siebie wykorzystać. Liczba potencjalnych zastosowań jest ogromna. Wymaga to jednak dopracowania samej technologii i uczynienia jej bardziej przystępną.

Czy jednak układy kwantowe trafią również do domów? Patrząc na trendy, można stwierdzić, że nie, ponieważ statystyczni użytkownicy nie potrzebują aż tak ogromnej mocy, jaką będą w stanie zapewnić komputery kwantowe, a zważywszy na ograniczenia spry€tu, trudno sobie na razie wyobrazić stosowanie ich w laptopach czy smartfonach. Zresztą paradoksalnie w wielu zadaniach to klasyczne procesy będą bardziej użyteczne.

Udostępnij:

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn