Wyobraź sobie, że jest piątek wieczór. Po całym tygodniu pracy lub nauki należy Ci się chwila relaksu. Zaparzasz herbatę, rozsiadasz się wygodnie przed komputerem i włączasz grę, żeby się odprężyć.

Słyszałeś, że ostatnio IBM udostępnił swoje komputery kwantowe online, a Steam przygotował do nich specjalną wtyczkę. Zaciekawiony, aktywujesz ją.
Gra startuje jak zwykle. Intro wygląda świetnie. W miedzy czasie sprawdzasz jeszcze czas rozgrywki. Wszystko się zgadza, zapowiada się idealny weekend.
Nagle ekran końcowy! Gratulacje! Przeszedłeś wszystkie możliwe scenariusze w 15 nanosekund.

Patrzysz tępo w ekran. Herbata jeszcze paruje. Jest niezbyt miło. Jedyny plus taki, że jeszcze cały weekend przed Tobą. Zastanawiasz się co poszło nie tak. Podejrzewasz, że to ta wtyczka, do komputera kwantowego coś przekombinowała. No i... masz rację.
Jak działa komputer kwantowy?
Ta historia, choć przerysowana, całkiem dobrze oddaje sposób, w jaki działa komputer kwantowy. Zamiast przechodzić kolejne scenariusze krok po kroku, komputer kwantowy rozważa wszystkie możliwe ścieżki naraz, w jednym uruchomieniu. Przy odpowiedniej konfiguracji może też odpowiedzieć na pytania typu: „Który scenariusz jest najdłuższy?”.
Czy kwantowe PC-ty zastąpią nasze komputery?
Raczej nie. Komputery kwantowe znajdą wyspecjalizowane zastosowania i będą stanowiły osobny komponent cyfrowego komputera. Podobnie jak dzisiejsze karty graficzne, Które, jak sama nazwa wskazuje, wykorzystywane są… między innymi do kopania kryptowalut albo trenowania modeli sztucznej inteligencji. 😉

A czy będą używane w grach? Pewnie, tak. Choć niekoniecznie w taki sposób, żeby odebrać nam przyjemność z grania ;-). Wyobraź sobie dynamiczne, zmieniające się światy, które nigdy nie powtarzają tych samych scenariuszy, NPC , które adaptują się do zachowania gracza, albo realistyczną symulację fizyki.
Disclamier

W tym artykule posługuję się różnymi przykładami, metaforami i humorystycznymi historyjkami, których celem jest pobudzenie Twojej wyobraźni i przybliżenie trudnej tematyki działania komputerów kwantowych oraz zasad mechaniki kwantowej.
Nie należy ich jednak traktować dosłownie, za to rozbudzać nimi swoją wyobraźnie i szukać wskazówek, analogii. Świat kwantowy rządzi się zupełnie innymi prawami niż świat klasyczny, którego na codzień doświadczamy. Ten kwantowy jest mniej intuicyjny, trudniejszy do zrozumienia. Jak powiedział kiedyś Richard Feynman:
„Każdy, kto mówi, że rozumie mechanikę kwantową, albo kłamie, albo jest szalony.”
Mechanika kwantowa
Skoro chcemy zrozumieć, jak działają komputery kwantowe, to choć na chwilę musimy zanurzyć się w świat mechaniki kwantowej.
Spokojnie, nie będzie matematyki ani greckich literek :). Zamiast tego, postaram się opowiedzieć ciekawe historie o tym, jak naukowcy próbowali ogarnąć coś, co wymykało się ich wyobraźni.
Czy trzeba znać mechanikę kwantową, żeby ogarniać komputery kwantowe? Cóż... Niby niekoniecznie, bo w sumie nie musisz rozumieć teorii względności, żeby używać GPS-a. Jednak aktualny etap rozwoju i wdrożeń technologii kwantowej jest taki, że raczej bez fizyki się nie obędzie. Ale za to dość ciekawej fizyki.
Na ilustracji poniżej przedstawione jest jedno z najbardziej znanych równań mechaniki kwantowej. Równanie Schrödingera. Mówi nam ono, jak obiekt zmienia się w czasie i co może się z nim stać. Spokojnie, to jedyny wzór, który pokażę w tym artykule 😉.

Katastrofa w nadfiolecie
Ale jak to się wszytko zaczęło? A no zaczęło się od katastrofy, ad dokładniej od katastrofy w nadfiolecie.
Fizycy z XIX wieku mieli poważny problem z tak zwanym ciałem doskonale czarnym. Co to jest ciało doskonale czarne? To taka idealna, czarna wnęka, coś jak zamknięte pudełko z dziurką, które pochłania i emituje promieniowanie. Takie jak to widoczne poniżej.

Zgodnie z ówczesną teorią, jeśli podgrzejesz takie ciało, to powinno emitować światło. Ale coś się nie zgadzało. Dla krótkich fal, czyli w nadfiolecie, intensywność rosła… do nieskończoności.
To prowadzi do tak zwanej osobliwości. A fizycy nie lubią osobliwości, bo nie wiedzą co się wtedy dzieje.
Kwanty
W 1900 roku Max Planck, po pięciu latach męczarni nad tym problemem, zaproponował coś zupełnie nowego:
Może energia nie jest ciągła? Może występuje tylko w małych porcjach - kwantach?

No i to był przełom. Zrewolucjonizował fizykę jednym równaniem E=hv
. (To już naprawdę ostani wzór :)). Wprowadził tzw. „stałą Plancka" i oznaczył ją literką h. Słyszałem zabawną anegdotę, że to sobie zabawnie zinterpretować, że to od niemieckiego hilfe, czyli „pomocy”, bo, jak sam powiedział, ta teoria była aktem desperacji.
Tak narodziła się fizyka kwantowa.
Najbardziej inteligentne zdjęcie w historii ludzkości
W ciągu kolejnego dwudziestolecia kwantowa rewolucja nabierała tempa. Jak to rewolucja wzbudzała wiele emocji i skrajnych stanowisk. Jedni z najbardziej znanych fizyków ówczesnych czasów, czyli Schrödinger, Heisenberg, Dirac, Bohr, Born rozwinęli tą koncepcję i stworzyli formalne zapisy i wzory.
Naukowcy omawiali swoje prace i debatowali na konferencjach. Najbardziej znana to ta która odbywała się w Solvay.
Tam doszło do legendarnej debaty między Einsteinem a Nielsem Bohrem na temat interpretacji mechaniki kwantowej. Einstein nie mógł się pogodzić z tym, że coś może być „losowe” z natury. A poźniej, w swoim liście do Borna napisał nawet "Bóg nie gra w kości". Na co przy innej okazji dostał ripostę od Bohra "Nie mów Bogu co ma robić" ;).
W 1935 roku, razem ze swoimi studentami Podolskym i Rosenem, przedstawił tzw. paradoks EPR, próbując udowodnić, że teoria kwantowa jest niekompletna, a nawet błędna, mimo że zgodna z eksperymentami.

To legendarne zdjęcie z konferencji w Solvay, na którym widać całą śmietankę ówczesnej fizyki, Na jednym zdjęciu 29 osób, z czego aż 17 dostało później Nagrodę Nobla. Fotografia ta często nazywana jest „najbardziej inteligentnym zdjęciem w historii”. Warto zwrócić uwagę na jedyną kobietę na zdjęciu, a do tego Polkę. To Maria Skłodowska-Curie.
Komputery klasyczne
Kiedy rodziła się mechanika kwantowa, komputer elektroniczny jeszcze nie istniał. Ale już niecałe 50 lat później budowano pierwsze wielkie maszyny, które trafiały do laboratoriów badawczych. Na zdjęciu poniżej mamy przykład takiego superkomputera o nazwie Cray-1. Patrząc na niego, trzeba przyznać, że wygląda równie futurystycznie nawet jak na dzisiejsze czasy.... tak jak dzisiejsze komputery kwantowe.

W latach 80. komputery osobiste zaczęły wchodzić na rynek i szybko trafiły pod strzechy. Pojawiły się wtedy takie cuda jak Apple II, Commodore 64 czy ZX Spectrum. Komputery były już na tyle mocne, że można było na nich nie tylko pograć. W tym czasie już ale również wspierały biznes, finanse. No i oczywiście były wykorzystywane do prowadzania w badaniach naukowych.

Mimo że z roku na rok, zgodnie z prawem Moora, moc obliczeniowa rosła to naukowcy dostrzegli, że niektórych problemów nie uda się rozwiązać przez dokładanie, kolejnych i kolejnych tranzystorów. To się nie skalowało równomiernie z ich problemami i zagadnieniami. Bo natura nie działa jak komputer klasyczny i nigdy nie zbudujemy tylu tranzystorów, żeby zasymulować każdy prosty proces naturalny. Ba, nawet nie ma tyle krzemu na Ziemi, poza tym nie starczyłoby miejsca i energii we wszechświecie ;).
Dobitnie podkreślił to w 1981 roku, na konferencji MIT, laureat Nagrody Nobla, Richard Feynman. Wypowiedział wtedy, dziś legendarne już zdanie: „Natura nie jest klasyczna, do cholery! Jeśli chcesz ją zasymulować, rób to zgodnie z zasadami mechaniki kwantowej.” I dodał: „To piękny problem, bo wcale nie wygląda na taki prosty.”

Chodziło mu o to, że musimy zbudować taki system obliczeniowy, który rośnie liniowo wraz ze złożonością problemu. Chociaż Feynman rzucił tylko pomysł i nie stworzył żadnego konkretnego projektu komputera kwantowego, był to przełomowy moment w historii, a jego słowa często uznaje się za symboliczny początek tej dziedziny.
Za ojca komputerów kwantowych uznaje się natomiast Davida Deutscha z Uniwersytetu Oksfordzkiego, który to w 1985 roku formalnie opisał, jak powinien działać komputer kwantowy.

Co więcej, wymyślił pierwszy algorytm, znany dziś jako algorytm Deutscha-Jozsy, który był testem dla proponowanego rozwiązania i miał pokazać, że taki komputer może faktycznie działać i co najważniejsze przewyższać klasyczne maszyny. Wygląda to jak solidna inżynieria oprogramowania, prawie TDD ;)
Algorytm był dość prosty, miał za zadanie sprawdzić, czy dana funkcja jest stała, czyli zawsze zwraca taki sam wynik, czy zrównoważona, czyli dla połowy wejść daje 0, a dla połowy 1. Klasyczny komputer musiałby sprawdzić wiele przypadków, a kwantowy robi to w jednym kroku. Czyli rozwiązuje problem w jednym uruchomieniu. Podobnie jak rozwiązana została nasza gra we wstępie.
Dla ciekawszego zobrazowania tego problemu możemy ponownie posłużyć się przykładem ze świata gry Fallout. Wyobraź sobie, że jesteś Vault Boyem z Fallouta i wychodzisz ze schronu. Wszędzie cisza, nie wiadomo, czy świat przetrwał. Żeby to sprawdzić, musiałbyś obdzwonić wszystkich NPC-ów, ale nie masz na to czasu, bo promieniowanie!

Na szczęście masz przy sobie telefon kwantowy z algorytmem Deutscha. Wysyłasz jedno zapytanie do wszystkich NPC na raz i natychmiast i otrzymujesz odpowiedź zapisaną w postaci kwantowych faz. Odczytujesz i już wiesz, czy wszyscy żyją.
Ten algorytm nie był specjalnie praktyczny, ale pokazał ogromny potencjał, no i demonstrował że projekt może działać.
Natomiast pierwszym praktycznym algorytmem, który naprawdę wywołał duże poruszenie, był algorytm Shora z 1994 roku.

Służy on do rozkładania liczb na czynniki pierwsze. No i to wyjaśnia, czemu wywołał takie zainteresowanie. Dlaczego to takie interesujące? Bo współczesne szyfrowanie (np. RSA) opiera się właśnie na tym, że odgadnięcia liczby pierwszej użytej do szyfrowania jest bardzo, bardzo trudne, a w zasadzie nie tyle trudne co czasochłonne. Gdyby komputer kwantowy mógł rozłożyć ogromne liczby na czynniki, to mógłby złamać wiele dzisiejszych systemów bezpieczeństwa.
Kiedy Shor zaprezentował swój algorytm, reakcje były mieszane. Niby genialny pomysł, ale… nie było komputerów, które mogłyby go uruchomić. Wielu uważało, że komputery kwantowe to czyste rozważania teoretyczne.
Aż do 1995 roku, kiedy David Wineland stworzył pierwszy działający kubit. Użył do tego pojedynczego jonu uwięzionego w pułapce pól elektromagnetycznych. Za to osiągnięcie dostał w 2012 roku Nobla. Od tego momentu przeszliśmy z teorii do praktyki.

Oczywiście, utrzymanie jonu w pułapce elektromagnetycznej to nie taka prosta sprawa. Wyobraź sobie kulkę balansującą na siodle, którą trzeba trzymać w równowadze, kręcąc i manipulującym tym siodłem. Tak właśnie wygląda stabilizacja kubitu, to jest bardzo dynamiczne zadanie.
Padło tu słowo-klucz: kubit. Co to właściwie jest?

Komputer klasyczny przetwarza informacje w oparciu o bity. A bit to 0 lub 1. Bit to pojemnik na zero lub jeden. Proste.
Komputer kwantowy przetwarza informacje w oparciu o qubity. A kubit to 0 i 1 w tym samym czasie! Qubit to pojemnik na przechowywanie stanu superpozycji 0 i 1.
I tu mamy drugie słowo-klucz: superpozycja.
Superpozycja to cecha obiektów kwantowych, polegająca na tym, że dopóki nikt na nie nie patrzy, są w wielu stanach jednocześnie. Kot Schrödingera to klasyczny przykład, dopóki nie otworzysz pudełka, jest jednocześnie żywy i martwy. Elektron może mieć spin w górę i w dół jednocześnie.

Zachowanie to opisuje funkcja falowa, którą widzieliśmy w równaniu Schrödinger'a na samym początku. Ona opisuje nam z jakim prawdopodioeństwem, który stan odczytamy. Pomiar zmusza badany obiekt do wybrania jednego stanu, wtedy jego funkcja falowa załamuje się, a superpozycja znika. Sam otrzymany stan jest w pełni losowy, ale zgodny z rozkładem prawdopodobieństwa, który zwraca funkcja falowa.
Einstein czasem śmiał się z tej zasady i pytał swoich gości, którzy odwiedzali go wieczorem:
„Czy Księżyc istnieje tylko dlatego, że mój kot na niego patrzy?”.
David Deutsch, ten od projektu komputera kwantowego, poszedł dalej i zaproponował, żeby takim obserwatorem był nie człowiek, tylko… sztuczna inteligencja. Ciekawe, prawda? Szczególnie dziś, gdy AI rozwija się w takim tempie.
Z życia wzięty przykład superpozycji? Mój syn dostał katar. Żona mówi: „Bo mówiłeś o tym, że na pewno się rozchoruje!” A ja: „Czyli jakbym nie powiedział, to by nie dostał kataru?” A ona: „No tak! To jak z tą twoją fizyką, dopóki o czymś nie powiesz, to tego nie ma!” 😄
Jeszcze inna popularna analogia - wirująca moneta. Leżąca moneta to klasyczny bit: orzeł albo reszka. A wirująca moneta? To kubit w superpozycji, dopiero jak ją zatrzymasz, czyli wykonasz pomiar, pokazuje wynik.

I właśnie na tym polega programowanie komputerów kwantowych. Manipulujemy funkcją falową w taki sposób, żeby zmieniać stan superpozycji poszczególnych kubitów, tak aby zmienić prawdopodobieństwo zwrotu 0 lub 1. Albo, w uproszczeniu: zakręcamy monetą tak, żeby częściej wypadał orzeł niż reszka.
Wracając do Winelanda. Wiemy już jak utrzymał jon w pułapce, ale jak wprowadził go w stan superpozycji? Zrobił to strzelając w niego precyzyjnie laserem. To wywoływało oscylacje między dwoma poziomami energetycznymi: wzbudzonym i podstawowym. Te poziomy odpowiadały 0 i 1.

I tak powstał pierwszy fizyczny kubit.
Wineland dał dowód na to, że komputery kwantowe będzie można zbudować w praktyce. Co prawda, od pojedynczego kubitu do układu na którym można wykonać algortym była jeszcze daleka droga, ale dało to nowy wiatr w żagle naukowców i mimo braku fizycznego sprzętu fascynacja obliczeniami kwantowymi dalej się rozwijała.
W 1996 roku pojawił się drugi najbardziej znany algorytm kwantowy – algorytm Grovera. Jakie było jego główne przeznaczenia? Znalezienie konkretnego elementu w nieuporządkowanym zbiorze danych.

Ten algorytm ponownie zademonstrował przewagę obliczeń kwantowych nad klasycznymi. Bo jak wykazał Grover, jego złożoność to pierwiastek z N. Czyli jak masz milion elementów, to zamiast miliona kroków jak w klasycznym podejściu, wystarczy około tysiąca. To ogromne przyspieszenie. W klasycznym podejściu musisz sprawdzać po kolei element po elemencie, aż trafisz na właściwy. W najgorszym wypadku zatrzymasz się na przedostatnim. A tutaj mamy kwantowy skrót.
Oczywistym zastosowaniem jest przeszukiwanie nieindeksowanych baz danych, przyspieszanie procesów w uczeniu maszynowym. Jednak pojawiły się również głosy, że ten algorytm może również obniżyć dotychczasowe cyfrowe bezpieczeństwo. Mianowicie chodzi o łamanie haseł. No bo jak masz hasło słownikowe, tylko trzeba testować wszystkie możliwości, to Grover przyspieszy cały ten proces.
Jak można ciekawie porównać algorytm Shora i Grovera? Można to zobrazować tak.

Shor to taki genialny matematyk, który analizuje problem i elegancko wyprowadza rozwiązanie. Ma swój piękny aparat matematyczny, którym się posługuje. A Grover? To taki brute force, czyli tępa siła z turbodoładowaniem. Nie szuka eleganckiego rozwiązania, tylko sprawdza wszystkie opcje, ale robi to migiem.
Poznaliśmy już trzy algorytmy kwantowe, więc naturalnie pojawia się pytanie, jak właściwie wygląda ich implementacja?
Na ilustracji poniżej można zobaczyć przykład, w którym zaimplementowałem algorytm Grovera na komputerze kwantowym.

Ten konkretny przypadek pokazuje, jak znaleźć jeden element w zbiorze ośmiu elemntów. Nie będziemy teraz wchodzić w szczegóły techniczne, ale warto zwrócić uwagę na kilka rzeczy.
Po pierwsze, te pierwsze trzy poziome linie to kubity. Ostatnia to linia odczytu, czyli to, co zbieramy z kubitów po wykonaniu obliczeń i załamaniu ich funkcji falowej. Te wszystkie kwadraciki na liniach to bramki logiczne. Podobnie jak w klasycznej elektronice mamy bramki typu NAND, OR, NOT, tu jest podobnie, tylko że w wersji kwantowej.
Szczególnie interesujące są te bramki, które wyglądają jak brązowe kwadraty z literą H. To bramki Hadamarda. Ich zadaniem jest wprowadzenie kubitów w stan idealnej superpozycji, czyli że kubit zaczyna być jednocześnie zerem i jedynką. To właśnie dzięki nim kwantowy komputer może testować wszystkie możliwości naraz.
Drugie ciekawe bramki, to te zielone, z iksem lub plusem. One łączą różne kubity ze sobą. To coś, czego w klasycznych komputerach nie ma, one pozwalają kubitom oddziaływać, "komunikować się ze sobą". One wprowadzają splątanie kwantowe. A to z kolei sprawia, że wynik obliczenia zależy od wszystkich kubitów naraz.
I to właśnie na takich podstawach działają kwantowe algorytmy – trochę matematyki, trochę fizyki, a reszta to magia superpozycji i splątania.
W części drugiej artykułu zapoznamy się z drugim najważniejszym zjawiskiem mechaniki kwantowej, dzięki któremu komputery kwantowe mogą działać czyli splątaniem kwantowym. Zobaczymy też jak wyglądają komputery kwantowe budowane dziś i czy faktycznie są one bardziej wydajne od komputerów klasycznych.
Spis ilustracji
- Obrazek tytułowy wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys. 1: Gra - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 2. Koniec gry ze wspomaganiem komputera kwantowego - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 3. Farma kart graficznych - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 4. Quantum Disclaimer - stworzony przez autora artykułu.
- Rys 5. Równanie Schrödingera - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 6. Ciało doskonale czarne - Wikimedia
- Rys 7. Max Planck - stworzone na podstawie Max Planck w 1933 roku, fot. Wikimedia Commons/domena publiczna
- Rys 8. Konferencja w Solvay w 1927 -
- Rys 9. Superkomputer Cray-1 - Linuxadcots
- Rys 10. Reklama IBM PC - PCMAG
- Rys 11. Richard Feynman -
- Rys 12. David Deutch - ojciec komputerów kwantowych - stworzony na podstawie kadru z filmu David Deutsch - What is Ultimate Reality? Closer To Truth
- Rys 13. Kwantowy telefon - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 14. Peter Shor - Kwantowa faktoryzacja liczb pierwszych - stworzony na podstawie kadru z filmu Quantum Expert Insight: Peter Shor Qiskit
- Rys 15. David Wineland - Pierwszy kubit - stworzony na podstawie kadru z filmu Ion Trapping - Dr. David Wineland Institute for Quantum Computing
- Rys 16. Bit vs Qubit - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 17. Superpozycja to 0 i 1 jednocześnie - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 18. Wirująca moneta z gry Fallout - inny obrazowy przykład superpozycji stanów - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 19. Stany energetyczne jonu wysoki i niski odpowiadają 0 lub 1 - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 20. Grover - algorytm przeszukiwania -
- Rys 21. Shor vs Grover - wygenerowany przez autora artykułu z użyciem narzędzi AI.
- Rys 22. Kwantowa implementacja algorytmu Grovera - stworzony przez autora artykułu.
Licencja
Artykuł i ilustracje przeze mnie wygenerowane z użyciem AI udostępnione są na licencji Creative Commons Attribution 4.0 International
Możesz dowolnie kopiować, cytować i modyfikować treść oraz grafiki, pod warunkiem wyraźnego podania źródła: "Łukasz Herok i link do tej strony".