Wprowadzenie

Informatyka kwantowa

notebook wprowadzający

Informatyka kwantowa jest nauką na pograniczu informatyki i fizyki kwantowej, która wykorzystuje zjawiska kwantowe takie jak superpozycja i splątanie występujące między cząstkami do efektywnego prowadzenia obliczeń. Do wykonania tego notebooka potrzebne będą wybrane biblioteki.

Kubit

Dane w komputerach kwantowych są reprezentowane przez kubity — elementarne jednostki informacji kwantowej.

Podstawową jednostką służącą do przetwarzania informacji w klasycznych komputerach jest bit. Jednym bitem może być stan tranzystora działającego jak prosty przełącznik. Najogólniej mówiąc, logicznej „jedynce” odpowiada wysokie napięcie, a logicznemu „zeru” napięcie niskie. Kwantowym odpowiednikiem klasycznego bitu jako podstawowej jednostki informacji jest kubit. W odróżnieniu od bitu kubit wykazuje naturę kwantową, gdyż może znajdować się w superpozycji dwóch stanów bazowych. Kubit może więc być w obu stanach jednocześnie, np. być jednocześnie trochę bardziej jedynką i trochę mniej zerem.

Bramkowy model przetwarzania

W najpopularniejszym – bramkowym modelu przetwarzania kwantowego, kubity przetwarza się przy pomocy zapisu podobnego do klasycznych elektronicznych bramek logicznych. Stan każdego kubitu inicjalizowany jest najczęściej wartością |0>, a następnie przechodzi przez szereg bramek kwantowych, które oddziałują na jego przez wykonanie określonych operacji. Na koniec wykonany jest pomiar wartości kubitu, który na tym etapie przyjmuje wartość
0 lub1. Operacja pomiaru sprawia jednak, że wszystkie własności kwantowe obwodu zostają utracone.

Bramki kwantowe

Każdy algorytm kwantowy można zapisać przy pomocy transformacji kubitów. Poprzez analogię do układów logicznych (cyfrowych), do zapisu algorytmów kwantowych stosuje się obwody kwantowe składające się z bramek.

 

Bramki kwantowe to elementarne jednostki służące do programowania komputerów kwantowych, których zadaniem jest transformacja stanu kubitów wejściowych. Matematyczna reprezentacja działania wykonywanego przez bramkę kwantową jest wyrażona jako mnożenie wektora stanu kubitu przez macierz odpowiadającą danej bramce.

 

Algorytm kwantowy jest realizowany przy pomocy obwodu kwantowego. Stan każdego kubitu inicjowany jest najczęściej wartością |0〉, a następnie przechodzi przez szereg transformacji, a na koniec wykonany jest pomiar wartości kubitu, który na tym etapie przyjmuje wartość 0 lub 1. Operacja pomiaru sprawia jednak, że wszystkie własności kwantowe obwodu zostają utracone.

Bramki kwantowe to elementarne jednostki służące do programowania komputerów kwantowych.

Każda bramka kwantowa może oddziaływać na 1 lub więcej kubitów. Bramki kwantowe są reprezentowane przez macierze o rozmziarach 2x22x2. Działanie wykonywane przez bramkę kwantową na kubicie to mnożenie wektora stanu kubitu przez macierz odpowiadającą danej bramce. Wszystkie bramki kwantowe muszą być odwracalne, czyli ich wejście musi móc zostać przewidziane na podstawie ich wyjść.

Wykorzystamy bramki Hadamarda (H), w celu uzyskania superpozycji stanów, a także kontrolowaną bramkę NOT (CX lub CNOT), w celu splątania ze sobą zmiennych reprezentujących foton i bombę.
Pomiar wyjścia obwodu będzie teraz procesem probabilistycznym. Interesujący nas wynik, w którym bomba nie wybuchła i aktywowany został detektor A, powinniśmy odczytać z prawdopodobieństwem zbliżonym do 25%.

Superpozycja

Na prostym przykładzie pokażemy, jak można wykorzystać superpozycję i splątanie, w celu uzyskania lepszego niż jest to możliwe klasycznie detektora bomb. Do tego celu potrzebne będzie skonstruowanie obwodu optycznego składającego się ze źródła fotonów, dwóch płytek półprzepuszczalnych, dwóch zwierciadeł oraz dwóch detektorów.

Pojedynczy foton po przejściu przez pierwszą płytkę półprzepuszczalną znajduje się w superpozycji, co oznacza, że znajduje się jednocześnie w górnej i dolnej ścieżce. Następnie interferuje sam ze sobą, przez co następuje wygaszenie na drodze do detektora A i wzmocnienie na drodze do detektora B. Ponieważ na ścieżce do detektora A występuje interferencja destruktywna, to prawdopodobieństwo odczytu fotonu w detektorze B wynosi 100%. Jest to pewnego rodzaju transformacja eksperymentu z dwoma szczelinami, w którym również cząstka interferowała sama ze sobą, dzięki czemu możliwe było utworzenie wzoru interferencyjnego na ekranie.

Do układu na jednej ze ścieżek fotonu dodamy teraz bombę, która wybucha przy kontakcie z fotonem. Ponieważ wybuch bomby stanowi klasyczny akt pomiaru, istnieje 50-procentowe prawdopodobieństwo, że bomba wybuchnie. Jeżeli jednak foton przeleciał górną częścią obwodu, to znów z prawdopodobieństwem 50% rozdzieli się na wiązkę górną i dolną, a zatem z równym prawdopodobieństwem aktywuje detektory A i B.

Prawdopodobieństwo 25% nie wydaje się duże, zwłaszcza jeśli zależy od niego detonacja bomby. Jednak nadal jest to więcej, niż bylibyśmy w stanie zrobić, wykorzystując zasady mechaniki klasycznej, gdzie niemożliwe byłoby wykrycie bomby bez jej detonacji. Poza tym stosując innego rodzaju płytki półprzepuszczalne ze współczynnikami transmisji i odbicia innymi niż 50%, możliwe jest dowolnie duże zbliżenie się do prawdopodobieństwa równego 100%.

Wykorzystamy bramki Hadamarda (H), w celu uzyskania superpozycji stanów, a także kontrolowaną bramkę NOT (CX lub CNOT), w celu splątania ze sobą zmiennych reprezentujących foton i bombę. Pomiar wyjścia obwodu będzie teraz procesem probabilistycznym. Interesujący nas wynik, w którym bomba nie wybuchła i aktywowany został detektor A, powinniśmy odczytać z prawdopodobieństwem zbliżonym do 25%.

Splątanie kwantowe

Drugim zjawiskiem, które jest wykorzystywane w obliczeniach kwantowych, jest splątanie. Oznacza to, że stany kwantowe dwóch cząstek są powiązane ze sobą i zależne od siebie, a odczyt wyniku jednej natychmiast powoduje zmianę stanu drugiej. Ta właściwość cząstek pozwala tworzyć stany kwantowe składające się z większej liczby cząstek, dzięki czemu liczba jednocześnie obliczanych rozwiązań przyrasta w sposób wykładniczy.

Bardziej złożone obwody i bramki

Możliwe jest tworzenie bardziej złożonych, wielokubitowych bramek, również takich, przyjmująych zewnętrzne parametry. Bardziej wyczerpująca lista bramek znajduje się m.in. na stronie: https://en.wikipedia.org/wiki/Quantum_logic_gate lub jest opisana w podręczniku do nauki biblioteki qiskit: https://qiskit.org/textbook/preface.html, oraz w dokumentacji: https://qiskit.org/documentation/ Część z nich zostanie wykorzystana
w kolejnych tutorialach.

Możliwe jest odtworzenie układu z bombą dla większej liczby kubitów. Każdorazowo prawdopodobieństwo
przejścia fotonu przez płytkę przepuszczalną jest dane bramką rotacji Rx(πn)Rx(πn). Dodatkowo na pierwszym kubiie została wprowadzona bramka Hadamarda, pełniąca rolę losowego generatora, czy bomba znajduje się
w układzie czy nie.

Sprawdź w jaki sposób zachowują się prawdopodobieństwa wykrycia bomby,
wraz ze wzrostem liczbą kubitów.

Algorytm Shora

Jednym z najbardziej znanych algorytmów kwantowych jest algorytm Shora, który daje możliwość faktoryzacji liczby na czynniki pierwsze. W informatyce jest to bardzo ważne zagadnienie, ponieważ na faktoryzacji dużych liczb opierają się klucze szyfrujące, zabezpieczające bezpieczeństwo haseł, stron internetowych, transakcji bankowych i wielu innych poufnych kanałów informacji w sieci.

Obecnie nasze dane są bezpieczne, ponieważ do pomyślnego przeprowadzenia faktoryzacji dużych liczb, nawet największe superkomputery potrzebowały by wielu lat obliczeń. Wraz z pojawieniem się komputera kwantowego, będzie jednak możliwe dużo szybsze łamanie tych zabezpieczeń.

Spróbuj rozłożyć na czynniki pierwsze różne liczby
przy pomocy przygotowanego algorytmu.

Gratulacje

Ukończyłeś prosty tutorial dotyczacy programowania obwodów kwantowych. Jeśli chcesz wiedziec więcej zaloguj się na stronie jupyter.quantum.psnc.pl i użyj kodu: „quantum2022”, żeby uzyskać dostęp do większej liczby materiałów i zadań.