Zastanawialiście się kiedyś nad tym, gdzie leży granica możliwości znanych nam komputerów, zwłaszcza gdy postęp naukowy w dużej mierze zależy od ich wykorzystania? W IBM nie tylko o tym myślimy, ale też wychodząc naprzeciw wyzwaniom rozwojowym od kilku lat intensywnie pracujemy nad rozwiązaniem – stworzeniem komercyjnie dostępnego komputera kwantowego ogólnego przeznaczenia. Jednak póki co moc kubitów już teraz udostępniamy nauce i biznesowi za pośrednictwem chmury obliczeniowej.
Dla klasycznego komputera, opartego o tranzystory, podstawową jednostką jest bit. Ten może przyjmować wyłącznie jedną wartość na raz – 0 albo 1. Z komputerem kwantowym sprawa wygląda zupełnie inaczej, funkcjonuje bowiem w myśl reguł mechaniki kwantowej, opisującej świat na poziomie cząstek elementarnych. Kwantowy bit, czyli kubit, działa na podstawie dwóch zasad – superpozycji i splątania. Ta pierwsza mówi, że kubit może przyjmować jednocześnie dowolną wartość – 0, 1 oraz wszystkie pomiędzy nimi. Splątanie z kolei oznacza, że stan jednego kubitu może zależeć od drugiego, ponieważ mogą być one między sobą skorelowane.
W praktyce kubity umożliwiają tworzenie znacznie większej liczby kombinacji – nie na zasadzie mnożenia, ale potęgowania. Moc komputera kwantowego jest pochodną możliwości zrównoleglania obliczeń. Ze względu na wynikającą z tego potencjalnie nieograniczoną moc obliczeniową komputery kwantowe przede wszystkim mogą przetwarzać dane znacznie szybciej. I to o tysiące razy, ponieważ metody obliczeniowe i algorytmy mające zastosowanie w warunkach kwantowych działają nieporównywalnie sprawniej.
Jak to wygląda na poziomie matematyki? Otóż model obliczeń kwantowych jest znacząco różny od modelu klasycznego. Z tego powodu na wczesnym etapie ich rozwoju specjalną uwagę przykłada się do algorytmów działających sprawniej niż na klasycznych układach komputerowych. Do najbardziej znanych obecnie należą: algorytm Deutscha-Jozsy (odróżniania funkcję zrównoważonej od stałej), algorytm Grovera (przeszukiwania bazy danych), algorytm Simona (znajdowania maski XOR funkcji 2-na-1), szybka transformata Fouriera (FFT; implementacja kwantowej wersji przez algorytm Kitajewa) oraz algorytm Shora. Szczególna uwaga należy się tym dwóm ostatnim.
Pierwszy z nich (FFT) używany jest przez współczesne algorytmy kompresji danych np. jpg czy mp3. Drugi zaś służy do rozkładu liczb naturalnych na czynniki pierwsze (faktoryzacja) stanowiąc bezpośrednie wyzwanie i zagrożenie dla zaprojektowanego w 1977 roku algorytmu RSA (Rivest, Shamir, Adleman).
Kryptosystem RSA jest obecnie powszechnie używany w internecie do szyfrowania danych z wykorzystaniem pary kluczy (w tym klucza jawnego). Jego bezpieczeństwo opiera się na skomplikowaniu algorytmicznym rozkładu dużych liczba na czynniki pierwsze, gdzie w zależności od siły użytego klucza – wielkości liczby (długość klucza) – czas jej rozkładu dąży do nieskończoności. Dzięki temu uważa się, że dla dostatecznie dużych liczb szyfr RSA jest praktycznie nie do złamania. Aktualny stan wiedzy pozwala jednak na stosowanie bardziej zaawansowanych metod oceny siły algorytmów szyfrujących.
Implementacja kwantowego algorytmu Shora (1994) może zostać zrealizowana jedynie z wykorzystaniem komputera kwantowego. Umożliwia ona efektywne odtworzenie liczb pierwszych na podstawie dostępnego klucza publicznego, co pozwala poznać klucz prywatny i tym samym złamać cały szyfr służący do kodowania informacji. W 2001 roku grupa informatyków z IBM i Uniwersytetu Stanford zademonstrowała jego działanie na 7-kubitowym wówczas komputerze kwantowym opartym o jądrowy rezonans magnetyczny.
Co w praktyce wynika z tych modeli matematycznych? Oparte na nich komputery kwantowe będą w stanie zmienić nasze dotychczasowe spojrzenie na rzeczy niepoliczalne lub bardzo trudno policzalne, bo chociaż obecnie w teorii jesteśmy w stanie policzyć wszystko, to ogranicza nas czas działania – a ten drastycznie się skróci, kiedy będziemy mogli używać maszyn działających z wykorzystaniem kubitów.
Stały postęp naukowy sprawia, że w niektórych obszarach doszliśmy już do etapu, w którym wyzwania są zbyt skomplikowane by rozwiązać je przy zastosowaniu narzędzi jakie mamy do dyspozycji. Z pomocą przyjdzie nam połączenie sztucznej inteligencji analizującej duże zbiory informacji, odkrywającej korelacje między danymi, wnioskującej i wyciągającej kontekst z danych oraz możliwości obliczeniowych komputerów kwantowych, które w przyszłości stanie się faktem.
Komputer kwantowy to ogromny krok w rozwoju naukowym, który pozwoli nam na rozwiązywanie problemów, z którymi dotychczas nie byliśmy w stanie sobie poradzić. W IBM pracujemy w kierunku zbudowania systemu ogólnego przeznaczenia, który w perspektywie dwudziestu lat będzie mógł zawitać nawet do naszych domów. Jednak już teraz z rozwiązań kwantowych IBM można korzystać za pośrednictwem chmury obliczeniowej IBM za pośrednictwem projektu „Quantum Experience”, który pozwala na formułowanie i testowanie algorytmów, pracę z pojedynczymi kubitami oraz zapoznawanie się z instrukcjami i symulacjami pokazującymi, jakie korzyści niosą ze sobą procesory kwantowe.
Udostępnienie modelu obliczeniowego komputerów kwantowych w chmurze jest ważnym krokiem do rozwoju tej dziedziny informatyki, ale też otwiera drogę innym ważnym badaniom naukowym. Dzięki komputerom kwantowym naukowcy będą mogli rozwikłać złożone wzory molekularne oraz reakcje chemiczne, co może doprowadzić do odkrycia nowych leków. „Kubity” uproszczą operacje logistyczne, optymalizując trasy dostaw, pozwolą na znalezienie nowych metod modelowania finansowego i ograniczania ryzyka, wesprą rozwój sztucznej inteligencji czy zwiększenia ochrony przez cyberprzestępcami z zastosowaniem algorytmów postkwantowych. Pozwolą na dalszy postęp nauki i tworzenie technologii jutra.