Teleportacja kwantowa

Informatyka kwantowa to nowa dziedzina informatyki, która - co może być pewnym zaskoczeniem, rozwija się już od lat 80. dwudziestego wieku. Jednym z jej niezwykłych osiągnięć dziedziny jest protokół teleportacji kwantowej.
Informatyka kwantowa to nowa dziedzina informatyki, która - co może być pewnym zaskoczeniem, rozwija się już od lat 80. dwudziestego wieku. Jednym z jej niezwykłych osiągnięć dziedziny jest protokół teleportacji kwantowej.

Raczej niewiele osób zgodzi się z opinią, że łatwo jest wytłumaczyć podstawy fizyki kwantowej oraz nowej dziedziny, jaką jest informatyka kwantowa. Dlatego zamiast zajmować się matematycznymi podstawami, spróbujemy przybliżyć ją na przykładzie rzeczywistego eksperymentu rodem z filmów science fiction - algorytmu opisującego teleportację kwantową.

Krótko o historii

Nim zaczniesz pisać swoje pierwsze, ale co trzeba podkreślić, bardzo proste kwantowe programy, przestudiuj kilka interesujących informacji z historii informatyki kwantowej. Podobnie jak w klasycznej informatyce, badania dotyczą technologii oraz teorii. Na obecnym etapie, jak się wydaje, większe osiągnięcia są na polu teoretycznym.

Mianowicie w roku 2001 udało się przeprowadzić eksperyment na siedmio-qubitowym rejestrze. Polegał on na wykonaniu algorytmu Shora, czyli na przeprowadzeniu faktoryzacji liczby 15. Inaczej mówiąc, rozłożono ją na dwa pierwsze czynniki: pięć i trzy (5 * 3 = 15). Choć nie wydaje się to zbyt wielkim osiągnięciem, trzeba pamiętać, że algorytm był wykonywany na poziomie pojedynczych molekuł, daleko mniejszych niż obecne rozmiary tranzystorów stosowanych w najnowszych procesorach.

Innym znaczącym osiągnięciem jest algorytm Grover'a, za pomocą którego możemy sprawdzić, czy w bazie danych istnieje pewien element. Klasyczny algorytm w najgorszym wypadku będzie przeglądał wszystkie elementy, czyli czas wyszukiwania wyniesie N (gdzie N to liczba danych). Natomiast stosując algorytm Grovera, element znajdziemy już po czasie sqrt(N) - pierwiastek kwadratowy z N.
Ostatnim sporym osiągnięciem jest rejestr 12-qubitowy, opracowany w laboratorium IBM, jednakże eksperyment Big Blue został przyćmiony przez kanadyjską firmę D-Weave Systems Inc., która opracowała prototypową maszynę o nazwie Orion. Maszyna dysponuje 16 qubitami, ale działającymi na podstawie tzw. adiabatycznego modelu obliczeń.
Należy też podkreślić, że na każdym domowym komputerze można symulować funkcjonowanie systemu zbudowanego z 16 qubitów. Z tym tylko, że układ o 32 qubitach wymaga aż 64 GB dostępnej pamięci RAM. Każdy kolejny qubit podwaja tę wielkość.

Podstawowe instrukcje kwantowe

Qubit to tzw. superpozycja dwóch stanów bazowych, którą wygodnie jest przedstawiać na tzw. sferze Blocha.Kliknij, aby powiększyćQubit to tzw. superpozycja dwóch stanów bazowych, którą wygodnie jest przedstawiać na tzw. sferze Blocha.Podstawową jednostką informacji w informatyce kwantowej jest qubit (bit kwantowy). Jednakże od odróżnieniu od swojego klasycznego odpowiednika, bitu, może się on znajdować w dwóch stanach równocześnie. Mówiąc potocznie, może być zarówno czarny, jak i biały, czyli znajdować się trochę w stanie zero oraz trochę w stanie jeden. Taka sytuacja naturalnie nie jest możliwa w wypadku klasycznego bitu, który jest albo zerem, albo jedynką.

Jak zawsze, najlepiej uczyć się na przykładach. Na dołączonej płycie CD/DVD znajduje się specjalny pakiet (o nazwie QCS - Quantum Computation Simulator) do języka Python, który umożliwia symulację kwantowego komputera mającego rejestr (pojęcie to jest identyczne z klasycznym rejestrem) zbudowany z qubitów. Jako pierwsze zadanie opracujemy prosty skrypt, który przygotuje rejestr kwantowy o trzech qubitach. Qubit pierwszy będzie się znajdował w stanie zero, a dwa pozostałe w stanie jeden.

Ponieważ pakiet QCS jest biblioteką Pythona rozszerzającą możliwości tego języka, to pierwszy wiersz naszego skryptu zawiera polecenie: import qcs, dokonujące załadowania biblioteki do obliczeń kwantowych. Następna czynności to utworzenie rejestru, a dokładniej obiektu, który reprezentuje ten rejestr: q=qcs.QuantumReg(3).

Gdy mamy utworzony obiekt, możemy wykonywać, a dokładniej symulować działanie różnych operacji kwantowych. Aby ustawić rejestr zgodnie z naszym założeniem, wywołujemy metodę Reset, która ustali stan rejestru na trzy zera (wszystkie trzy qubity znajdują się w stanie zero), co zwykło się zapisywać jako |000>. Qubit pierwszy o numerze zero ma już odpowiedni stan, a ustawienie dwóch pozostałych qubitów nie będzie trudne - skorzystamy z operacji negacji (Not). Zapiszemy to w następujący sposób:
<KOD>
q.Reset()
q.NotN(1)
q.NotN(2)
</KOD>
Możemy teraz zobaczyć stan rejestru, wyświetlając jego zawartość za pomocą metody Pr: q.Pr():
<KOD>
1.000000 + 0.000000i |011>
</KOD>
Powyższe wyrażenie pokazuje stan rejestru - zapis oznacza, że rejestr znajduje się w stanie 011, co jest zapisem binarnym wartości trzy. Jednakże ważną funkcję pełni wartość 1.000000 + 0.000000i, będaca tzw. amplitudą prawdopodobieństwa (możliwe są także wartości zespolone). Jej wartość podniesiona do drugiej potęgi określa prawdopodobieństwo wystąpienia danego stanu. Powinniśmy też przypomnieć o metodzie PrFull, która wyświetla cały rejestr, łącznie ze wszystkimi zerami (metoda Pr pomija stany, dla których mamy zerową amplitudę).

Sprawdźmy teraz, jak funkcjonuje bardzo ważna operacja o skrócie CNOT. Jest to tzw. kontrolowana negacja, wykonywana, gdy wskazany qubit znajduje się w stanie jeden. Spróbujemy za pomocą tej instrukcji zmienić stan qubitu zerowego. Qubitem sterującym może być jeden z dwóch pozostałych qubitów. Po wykonaniu operacji CNot, czyli instrukcji q.CNot(1,0), nasz rejestr przedstawia się następująco:
<KOD>
1.000000 + 0.000000i |111>
</KOD>
Ocena:
Twoja ocena:

Komentarze

Kariera w IT 2012

Kariera w IT 2012
Uczelnie, rynek pracy, rekrutacja, pracodawcy, rozwój zawodowy - czyli wszystko, co chcielibyście wiedzieć o pracy specjalistów IT w Polsce. Piszemy jakie uczelnie wybrać, dlaczego warto studiować informatykę i kierunki techniczne, jak wygląda proces rekrutacji i jak dobrze wypaść przed pracodawcą, opisujemy pracodawców - firmy IT - i możliwe ścieżki kariery.

Polecane