Wprowadzenie do teorii komputerów kwantowych mgr inż. Olga Siedlecka olga@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Wprowadzenie do teorii komputerów kwantowych p.1/35
Plan seminarium Wstęp Historia Fizyka klasyczna Układy probabilistyczne Mechanika kwantowa Informacja kwantowa Algorytm Grovera Wprowadzenie do teorii komputerów kwantowych p./35
Wstęp Teoria komputerów kwantowych zawiera piękno niezależnie od tego czy uda się kiedyś zrealizować ja w praktyce. N.D. Mermin Wprowadzenie do teorii komputerów kwantowych p.3/35
Historia Richard Feynman - symulacja ewolucji układów kwantowych na klasycznych maszynach, Rolf Laundauer, Charles H. Bennet - udowodnili, że wszystkie algorytmy, które przeprowadza zwykła maszyna Turinga, moga być przeprowadzone w taki sposób, aby były odwracalne, lata 80 - te, Paul Benioff wykazał, że komputer może działać opierajac się jedynie o operacje kwantowo - mechaniczne, David Deutsch - podał dwa modele obliczeń kwantowych: uniwersalna kwantowa maszynę Turinga i sieć bramek kwantowych Wprowadzenie do teorii komputerów kwantowych p.4/35
Historia 1994r. Peter W. Shor - algorytm rozkładu liczby na czynniki pierwsze przy użyciu zjawisk splatania i superpozycji, 1995r. Lov Grover - zaproponował kwantowy algorytm wyszukiwania informacji w dużych zbiorach danych. 1995r. konferencja w Turynie (we Włoszech) - projekty budowy obwodów kwantowych, 1996r. Christopher R. Monroe, David J.Wineland, H. Jeff Kimble - zbudowali niektóre prototypowe elementy mogace posłużyć do budowy komputera kwantowego, Wprowadzenie do teorii komputerów kwantowych p.5/35
Fizyka klasyczna Fizyka klasyczna jest nauka empiryczna, zatem teoria zostaje uznana za prawdziwa, gdy jej przewidywania zgodza się z wynikami doświadczalnymi. Pojęcie obserwabli (zmiennych dynamicznych) ma w niej ogromne znaczenie. Przykładami obserwabli zwiazanych z układem fizycznym jest położenie i pęd. Pełny opis układu nazywamy stanem układu. Wprowadzenie do teorii komputerów kwantowych p.6/35
Fizyka klasyczna Fizyka klasyczna jest nauka empiryczna, zatem teoria zostaje uznana za prawdziwa, gdy jej przewidywania zgodza się z wynikami doświadczalnymi. Pojęcie obserwabli (zmiennych dynamicznych) ma w niej ogromne znaczenie. Przykładami obserwabli zwiazanych z układem fizycznym jest położenie i pęd. Pełny opis układu nazywamy stanem układu. Układ fizyczny jest opisany wektorem stanu x R k dla danego k. Zbiór możliwych stanów układu nazywamy przestrzenia fazowa układu. Wprowadzenie do teorii komputerów kwantowych p.6/35
Fizyka klasyczna Fizyka klasyczna jest nauka empiryczna, zatem teoria zostaje uznana za prawdziwa, gdy jej przewidywania zgodza się z wynikami doświadczalnymi. Pojęcie obserwabli (zmiennych dynamicznych) ma w niej ogromne znaczenie. Przykładami obserwabli zwiazanych z układem fizycznym jest położenie i pęd. Pełny opis układu nazywamy stanem układu. Układ fizyczny jest opisany wektorem stanu x R k dla danego k. Zbiór możliwych stanów układu nazywamy przestrzenia fazowa układu. Jeżeli stan układu zależy od czasu możemy używać oznaczenia x(t) lub x t. Wprowadzenie do teorii komputerów kwantowych p.6/35
Fizyka klasyczna Fizyka klasyczna jest nauka empiryczna, zatem teoria zostaje uznana za prawdziwa, gdy jej przewidywania zgodza się z wynikami doświadczalnymi. Pojęcie obserwabli (zmiennych dynamicznych) ma w niej ogromne znaczenie. Przykładami obserwabli zwiazanych z układem fizycznym jest położenie i pęd. Pełny opis układu nazywamy stanem układu. Układ fizyczny jest opisany wektorem stanu x R k dla danego k. Zbiór możliwych stanów układu nazywamy przestrzenia fazowa układu. Jeżeli stan układu zależy od czasu możemy używać oznaczenia x(t) lub x t. Jeżeli dwa układy sa opisane stanami x oraz y, to stan układu powstałego z ich połaczenia będzie iloczynem kartezjańskim wektorów stanu podukładów (x, y). Wprowadzenie do teorii komputerów kwantowych p.6/35
Układy probabilistyczne W wypadku układów probabilistycznych nie znamy stanu układu z całkowita pewnościa, znamy jedynie rozkład prawdopodobieństwa dla stanów: układ może znajdować się w stanach x 1,x,...,x n z prawdopodobieństwem odpowiednio p 1, p,..., p n, takimi że p 1 + p +... + p n = 1. Wprowadzenie do teorii komputerów kwantowych p.7/35
Układy probabilistyczne W wypadku układów probabilistycznych nie znamy stanu układu z całkowita pewnościa, znamy jedynie rozkład prawdopodobieństwa dla stanów: układ może znajdować się w stanach x 1,x,...,x n z prawdopodobieństwem odpowiednio p 1, p,..., p n, takimi że p 1 + p +... + p n = 1. Wyrażenie p 1 [x 1 ]+ p [x ]+...+ p n [x n ], gdzie p i 0 oraz p 1 + p +...+ p n = 1, reprezentuje rozkład prawdopodobieństwa i oznacza, że układ znajduje się w stanie x i z prawdopodobieństwem p i. Powyższy rozkład jest nazywany stanem mieszanym, natomiast stany x i sa tzw. stanami czystymi. Wprowadzenie do teorii komputerów kwantowych p.7/35
Układy probabilistyczne W wypadku układów probabilistycznych nie znamy stanu układu z całkowita pewnościa, znamy jedynie rozkład prawdopodobieństwa dla stanów: układ może znajdować się w stanach x 1,x,...,x n z prawdopodobieństwem odpowiednio p 1, p,..., p n, takimi że p 1 + p +... + p n = 1. Wyrażenie p 1 [x 1 ]+ p [x ]+...+ p n [x n ], gdzie p i 0 oraz p 1 + p +...+ p n = 1, reprezentuje rozkład prawdopodobieństwa i oznacza, że układ znajduje się w stanie x i z prawdopodobieństwem p i. Powyższy rozkład jest nazywany stanem mieszanym, natomiast stany x i sa tzw. stanami czystymi. Każdy układ można uczynić probabilistycznym przy użyciu układu pomocniczego. W taki sposób sa konstruowane algorytmy probabilistyczne: algorytm sam w sobie jest ściśle deterministyczny, natomiast korzysta on z bitów losowych. Wprowadzenie do teorii komputerów kwantowych p.7/35
Układy probabilistyczne Załóżmy, że ewolucja czasowa układu ze stanami czystymi x 1,x,...,x n zależy od układu pomocniczego ze stanami czystymi o oraz r, w taki sposób, że stan układu złożonego (x i,o) przechodzi w ustalonym przedziale czasu w stan (x o(i),o), natomiast stan (x i,r) przechodzi w (x r(i),r), gdzie o,r : {1,...,n} {1,...,n} sa pewnymi funkcjami. Układ ze stanami o oraz r jest układem sterujacym, który w stanie mieszanym nazywamy randomizerem. Wprowadzenie do teorii komputerów kwantowych p.8/35
Układy probabilistyczne Załóżmy, że ewolucja czasowa układu nie jest deterministyczna i układ zmienia się w taki sposób, iż każdy stan przechodzi w rozkład x i p 1i [x 1 ] + p i [x ] +... + p ni [x n ] gdzie p 1 + p +...+ p n = 1 dla każdego i. Wielkość p ji jest prawdopodobieństwem, że układ znajdujacy się w stanie x i przejdzie do stanu x j. W danym przedziale czasu rozkład p 1 [x 1 ] + p [x ] +... + p n [x n ] przechodzi w p 1 (p 11 [x 1 ] +... + p n1 [x n ]) +... + p n (p 1n [x 1 ] +... + p nn [x n ]) = = (p 11 p 1 +... + p 1n p n )[x 1 ] +... + (p n1 p 1 +... + p nn p n )[x n ] = = p 1 [x 1 ] + p [x ] +... + p n[x n ], p i = p i1 p 1 +... + p in p n. Wprowadzenie do teorii komputerów kwantowych p.9/35
Układy probabilistyczne Prawdopodobieństwa p i oraz p i zwiazane sa zależnościa: p 1 p. p n = p 11 p 1... p 1n p 1 p... p n........ p n1 p n... p nn Przy czym zachodzi p 1i + p i +...+ p ni = 1, co zapewnia spełnienie równości p 1 + p +... + p n = p 1 + p +... + p n. Macierz o takiej własności nazywa się macierza Markowa, natomiast układ probabilistyczny zmieniajacy się w czasie w sposób opisany powyżej - łańcuchem Markowa. p 1 p. p n Wprowadzenie do teorii komputerów kwantowych p.10/35
Mechanika kwantowa W mechanice kwantowej stan n-poziomowego układu jest reprezentowany przez wektor jednostkowy w n-wymiarowej zespolonej przestrzeni wektorowej H n, która nazywamy przestrzenia stanów układu. Wybierzmy w przestrzeni stanów H n bazę ortonormalna { x 1, x,..., x n }. Wektory bazowe x i nazywamy stanami bazowymi. Dowolny stan układu kwantowego można przedstawić w postaci superpozycji stanów bazowych: α 1 x 1 + α x +... + α n x n gdzie α i sa liczbami zespolonymi nazywanymi amplitudami prawdopodobieństwa względem wybranej bazy. Warunek unormowania wektora stanu wymaga, by spełniały one równanie α 1 + α +... + α n = 1 Prawdopodobieństwo zaobserwowania własności x i wynosi α 1. Wprowadzenie do teorii komputerów kwantowych p.11/35
Informacja kwantowa - qubity Bitem kwantowym (qubitem) nazywać będziemy dwupoziomowy układ kwantowy. W dwuwymiarowej zespolonej przestrzeni wektorowej H wybierzmy bazę ortonormalna B = { 0, 1 }, tzw. bazę obliczeniowa. Stany 0 i 1 nazywamy stanami bazowymi. Dowolny stan qubitu można przedstawić w postaci superpozycji stanów bazowych: α 0 0 + α 1 1 o jednostkowej normie, tzn. α 0 + α 1 = 1, liczby α 0 i α 1 sa amplitudami stanów bazowych, odpowiednio 0 i 1.Mówimy, że obserwacja (odczyt) qubitu daje wynik 0 lub 1 z prawdopodobieństwem odpowiednio α 0 i α 1. Wprowadzenie do teorii komputerów kwantowych p.1/35
Informacja kwantowa - unarne bramki kwantowe Unarna (jednoargumentowa) bramka kwantowa nazywamy operację na qubicie, której odpowiada unitarne odwzorowanie U : H H. Unarna bramka kwantowa definiuje liniowa operację 0 a 0 + b 1 1 c 0 + d 1 taka, że macierz: a c b d jest unitarna, tzn. a c b d a b c d = 1 0 0 1 Wprowadzenie do teorii komputerów kwantowych p.13/35
Informacja kwantowa - unarne bramki kwantowe Bramka kwantowej negacji: M = 0 1 1 0 M 0 = 1 M 1 = 0 Wprowadzenie do teorii komputerów kwantowych p.14/35
Informacja kwantowa - unarne bramki kwantowe Bramka kwantowej negacji: M = 0 1 1 0 M 0 = 1 M 1 = 0 Pierwiastek kwadratowy z negacji: M = 1+i 1 i 1 i 1+i M M = M M 0 = 1 + i 0 + 1 i 1 M 1 = 1 i 0 + 1 + i 1 Wprowadzenie do teorii komputerów kwantowych p.14/35
Informacja kwantowa - unarne bramki kwantowe Bramka Hadamarda-Walsha: W = 1 1 1 1 W 0 = 1 0 + 1 1 W 1 = 1 0 1 1 W W 0 = 0 interferencja konstruktywna W W 1 = 1 interferencja destruktywna Wprowadzenie do teorii komputerów kwantowych p.15/35
Informacja kwantowa - unarne bramki kwantowe Bramka Hadamarda-Walsha: W = 1 1 1 1 W 0 = 1 0 + 1 1 W 1 = 1 0 1 1 Bramka zmiany fazy: W W 0 = 0 interferencja konstruktywna W W 1 = 1 interferencja destruktywna 1 0 0 1 Wprowadzenie do teorii komputerów kwantowych p.15/35
Informacja kwantowa - pary qubitów Stany układu dwóch bitów kwantowych tworza czterowymiarowa przestrzeń Hilberta H 4 = H H z baza ortonormalna { 0 0, 0 1, 1 0, 1 1 }. Stan układu dwóch qubitów jest wektorem: α 0 00 + α 1 01 + α 10 + α 3 11 o jednostkowej normie, tzn. α 0 + α 1 + α + α 3 = 1. Odczyt układu dwóch qubitów daje wynik 00, 01, 10, 11 z prawdopodobieństwem odpowiednio α 0, α 1, α, α 3. Jeżeli chcemy odczytać stan jednego z qubitów, to dla pierwszego otrzymamy 0 z prawdopodobieństwem α 0 + α 1, zaś 1 z prawdopodobieństwem α + α 3. Analogicznie dla drugiego qubitu. Wprowadzenie do teorii komputerów kwantowych p.16/35
Informacja kwantowa - splatanie Stan układu dwóch qubitów z H 4 jest rozkładalny, jeżeli można go przedstawić za pomoca w postaci iloczynu tensorowego stanów z przestrzeni H, z = x x. Stan, który nie jest rozkładalny, jest splatany. Stan 1 ( 00 + 01 + 10 + 11 ) jest rozkładalny: 1 1 ( 0 0 + 0 1 + 1 0 + 1 1 ) = ( 0 + 1 ) 1 ( 0 + 1 ) Stan 1 ( 00 + 11 ) jest splatany, odczyt każdego qubitu z osobna da wynik 0 lub 1 z jednakowym prawdopodobieństwem.odczyt układu jako całości da zawsze qubity o jednakowej wartości. Para takich qubitów jest nazywana para EPR (Einstein, Podolski, Rosen). Wprowadzenie do teorii komputerów kwantowych p.17/35
Informacja kwantowa - bramki binarne Binarna bramka kwantowa nazywamy operację na parach qubitów, której odpowiada unitarne odwzorowanie U : H 4 H 4. Bramka sterowanej negacji: M cnot = 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 M cnot 00 = 00 M cnot 01 = 01 M cnot 10 = 11 M cnot 11 = 10 Wprowadzenie do teorii komputerów kwantowych p.18/35
Informacja kwantowa - bramki binarne Bramka Hadamarda-Walsha: W 4 = W W = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Dla dowolnych x 0,x 1 {0,1} zachodzi W 4 x 0 x 1 = 1 ( 0 + ( 1)x 0 1 )( 0 + ( 1) x 1 1 ) = = 1 ( 00 + ( 1)x 1 01 + ( 1) x 0 10 + ( 1) x 0+x 1 11 ) Wprowadzenie do teorii komputerów kwantowych p.19/35
Informacja kwantowa - rejestry Uporzadkowany układ m qubitów będziemy nazywać rejestrem kwantowym o długości m. Przestrzeń stanów takiego układu jest m-krotnym iloczynem tensorowym H m = H... H, natomiast stany bazowe maja postać { x : x {0,1} m } Jeżeli x = x 1...x m utożsamimy z liczba zapisana w systemie dwójkowym, to można powiedzieć, że stany bazowe maja postać { a : a {0,1,..., m 1}} Stan układu m-qubitów ma postać: α 0 0 + α 1 1 +... + α m 1 m 1 Wprowadzenie do teorii komputerów kwantowych p.0/35
Informacja kwantowa - nieklonowanie Rozważmy układ kwantowy o n stanach bazowych a 1,..., a n. Wyróznijmy stan a 1 jako stan, na którym będziemy dokonywać zapisu informacji. Unitarne odwzorowanie w przestrzeni H n H n nazywamy kwantowa maszyna kopiujac a, jeżeli dla dowolnego stanu x H n zachodzi U( x a 1 ) = x x. Twierdzenie o nieklonowaniu: Dla n > 1 kwantowa maszyna kopiujaca nie istnieje. Możliwe jest jedynie otrzymanie kopii stanów bazowych. Wprowadzenie do teorii komputerów kwantowych p.1/35
Informacja kwantowa - obserwacja Postulat rzutowania: po dokonaniu pomiaru układ znajduje się w jednym ze swoich stanów bazowych. Załóżmy, że przeprowadzamy pomiar na układzie w stanie: α 1 x 1 + α x +... + α n x n Otrzymaliśmy w wyniku x k, co za tym idzie układ jest w stanie bazowym x k. Wprowadzenie do teorii komputerów kwantowych p./35
Informacja kwantowa - obserwacja Rozpatrzmy układ złożony: n i=1 m α i j x i y j j=1 obserwacja pierwszego podukładu dała w wyniku x k z prawdopodobieństwem P(k) = m j=1 α k j, zatem układ znajduje się w stanie: 1 P(k) m j=1α k j x k y j Przejście pierwszego ze stanów w drugi jest nieodwracalne, a zatem niezgodne z zasada ewolucji unitarnej. Proponowane rozwiazanie to wprowadzenie układu pomocniczego, do którego kopiujemy stany bazowe x i x 1 x i x i. Wprowadzenie do teorii komputerów kwantowych p.3/35
Informacja kwantowa - teleportacja Załóżmy, że Alicja i Bob, to dwie komunikujace się ze soba strony, Alicja jest w posiadaniu qubitu a 0 + b 1, który chce teleportować. Teleportacja kwantowa jest możliwa, jeżeli obie strony posiadaja qubity splatane ze soba, np. 1 ( 00 + 11 ). Przyjmijmy, że qubit lewy należy do Alicji, zaś prawy do Boba. Stan złożonego układu ma postać: (a 0 + b 1 ) 1 ( 00 + 11 ) = = a 0 00 + a 0 11 + b 1 00 + b 1 11 = = a 000 + a 011 + b 100 + b 111 Wprowadzenie do teorii komputerów kwantowych p.4/35
Informacja kwantowa - teleportacja Protokół teleportacji: Alicja wykonuje na swoich qubitach operację sterowanej negacji: a 000 + a 011 + b 110 + b 101 Wprowadzenie do teorii komputerów kwantowych p.5/35
Informacja kwantowa - teleportacja Protokół teleportacji: Alicja wykonuje na swoich qubitach operację sterowanej negacji: a 000 + a 011 + b 110 + b 101 Alicja wykonuje transformatę Hadamarda-Walsha na lewym qubicie: a 1 ( 0 + 1 ) 00 + a 1 ( 0 + 1 ) 11 + b 1 ( 0 1 ) 10 + b 1 ( 0 1 ) 01 = a 000 + a 100 + a 011 + a 111 + b 010 b 110 + b 001 b 101 Wprowadzenie do teorii komputerów kwantowych p.5/35
Informacja kwantowa - teleportacja Wydzielamy qubit Boba: 1 00 a 0 + 1 10 a 0 + 1 01 a 1 + 1 11 a 1 + 1 01 b 0 1 11 b 0 + 1 00 b 1 1 10 b 1 = Wprowadzenie do teorii komputerów kwantowych p.6/35
Informacja kwantowa - teleportacja Wydzielamy qubit Boba: 1 00 a 0 + 1 10 a 0 + 1 01 a 1 + 1 11 a 1 + 1 01 b 0 1 11 b 0 + 1 00 b 1 1 10 b 1 = 1 00 (a 0 + b 1 ) + 1 01 (a 1 + b 0 )+ 1 10 (a 0 b 1 ) + 1 11 (a 1 b 0 ) Wprowadzenie do teorii komputerów kwantowych p.6/35
Informacja kwantowa - teleportacja Wydzielamy qubit Boba: 1 00 a 0 + 1 10 a 0 + 1 01 a 1 + 1 11 a 1 + 1 01 b 0 1 11 b 0 + 1 00 b 1 1 10 b 1 = 1 00 (a 0 + b 1 ) + 1 01 (a 1 + b 0 )+ 1 10 (a 0 b 1 ) + 1 11 (a 1 b 0 ) Alicja przeprowadza obserwacje stanu swoich dwóch qubitów i przesyła jej wynik do Boba. Wprowadzenie do teorii komputerów kwantowych p.6/35
Informacja kwantowa - teleportacja Jeżeli Bob otrzymał 00, nie musi nic robić, jego qubit jest już w stanie a 0 + b 1. Wprowadzenie do teorii komputerów kwantowych p.7/35
Informacja kwantowa - teleportacja Jeżeli Bob otrzymał 00, nie musi nic robić, jego qubit jest już w stanie a 0 + b 1. Jeżeli Bob otrzymał 01, wykonuje na swoim qubicie operację negacji. Wprowadzenie do teorii komputerów kwantowych p.7/35
Informacja kwantowa - teleportacja Jeżeli Bob otrzymał 00, nie musi nic robić, jego qubit jest już w stanie a 0 + b 1. Jeżeli Bob otrzymał 01, wykonuje na swoim qubicie operację negacji. Jeżeli Bob otrzymał 10, wykonuje operację zmiany fazy. Wprowadzenie do teorii komputerów kwantowych p.7/35
Informacja kwantowa - teleportacja Jeżeli Bob otrzymał 00, nie musi nic robić, jego qubit jest już w stanie a 0 + b 1. Jeżeli Bob otrzymał 01, wykonuje na swoim qubicie operację negacji. Jeżeli Bob otrzymał 10, wykonuje operację zmiany fazy. Jeżeli Bob otrzymał 11, wykonuje operację negacji, a następnie zmiany fazy. Wprowadzenie do teorii komputerów kwantowych p.7/35
Informacja kwantowa - kodowanie supergęste Załóżmy, że Alicja tym razem nie chce przesłać stanu dodatkowego qubitu, ale zwykła parę bitów. Jest to operacja komplementarna do teleportacji, a nazywamy ja kodowaniem supergęstym. Alicja posiada dwa klasyczne bity b 1 i b oraz lewy qubit pary EPR, Bob posiada prawy qubit pary EPR: 1 ( 00 + 11 ) Wprowadzenie do teorii komputerów kwantowych p.8/35
Informacja kwantowa - kodowanie supergęste Protokół kodowania supergęstego: Alicja wykonuje operacje na swoim qubicie w zależności od wartości bitów b 1 i b b 1 b Operacja wykonana przez Alicję 0 0 1 ( 00 + 11 ) 0 1 1 ( 10 + 01 ) 1 0 1 ( 00 11 ) 1 1 1 ( 10 01 ) Wprowadzenie do teorii komputerów kwantowych p.9/35
Informacja kwantowa - kodowanie supergęste Protokół kodowania supergęstego: Alicja wykonuje operacje na swoim qubicie w zależności od wartości bitów b 1 i b b 1 b Operacja wykonana przez Alicję 0 0 1 ( 00 + 11 ) 0 1 1 ( 10 + 01 ) 1 0 1 ( 00 11 ) 1 1 1 ( 10 01 ) Alicja przesyła swój qubit Bobowi Wprowadzenie do teorii komputerów kwantowych p.9/35
Informacja kwantowa - kodowanie supergęste Bob wykonuje na obu qubitach bramkę kwantowa zdefiniowana przez macierz: B = 1 1 0 0 0 1 1 0 1 0 0 1 0 1 1 0 Wprowadzenie do teorii komputerów kwantowych p.30/35
Informacja kwantowa - kodowanie supergęste Bob wykonuje na obu qubitach bramkę kwantowa zdefiniowana przez macierz: B = 1 1 0 0 0 1 1 0 1 0 0 1 0 1 1 0 Bob po wykonaniu operacji otrzymuje wartości bitów b 1 i b Wprowadzenie do teorii komputerów kwantowych p.30/35
Algorytm wyszukiwania Grovera Dany jest nieuporzadkowany zbiór S zawierajacy n -elementów, szukamy w nim elementu y. Dana jest również funkcja f : S {0,1}, w przypadku wyszukiwania kwantowego funkcja f ma postać: f : F n F, gdzie F jest ciałem o dwóch elementach 0 i 1. Dodawanie i mnożenie zdefiniowane sa następujaco: 0 + 0 = 1 + 1 = 0, 0 + 1 = 1, 0 0 = 0 1 = 0, 1 1 = 1 Funkcja f jest określona: f (x) = 1 x = y 0 x y Wprowadzenie do teorii komputerów kwantowych p.31/35
Algorytm wyszukiwania Grovera Algorytm Grovera, to algorytm wyszukiwania probabilistycznego, tzn. nie będziemy wymagać, aby algorytm zawsze znajdował taki x, że f (x) = 1, chcemy jedynie, aby dawał poprawny wynik z niezerowym prawdopodobieństwem (0 < p 1). Algorytm ma charakter iteracyjny, w każdym kroku stan bazowy odpowiadajacy szukanemu elementowi ma zmieniana fazę, poza tym następuję obrót wokół średniej wszystkich amplitud, a także wzmocnienie amplitudy szukanego stanu. Wprowadzenie do teorii komputerów kwantowych p.3/35
Algorytm wyszukiwania Grovera Etapy algorytmu wyszukiwania Grovera: Posługujac sie transformata Hadamarda H n normalizujemy rejestr φ = 0 (n) : H n x = 1 n y F n ( 1) xy y φ 0 = H n 0 (n) = 1 n x x F n Wprowadzenie do teorii komputerów kwantowych p.33/35
Algorytm wyszukiwania Grovera Etapy algorytmu wyszukiwania Grovera: Posługujac sie transformata Hadamarda H n normalizujemy rejestr φ = 0 (n) : H n x = 1 n y F n ( 1) xy y φ 0 = H n 0 (n) = 1 n x x F n Stosujemy operator G n (operator Grovera), 1 4 Π n razy, gdzie G n = H n R n H n V f H n - transformata Hadamarda R n - operator kwantowy, V f - zmodyfikowany operator sprawdzenia Wprowadzenie do teorii komputerów kwantowych p.33/35
Algorytm wyszukiwania Grovera G n = H n R n H n V f H n x = 1 n y F n ( 1) xy y R n 0 = 0, R n x = x, gdy x 0 R n = V f x = ( 1) f (x) x 1 0... 0 0 1... 0........ 0 0... 1 Wprowadzenie do teorii komputerów kwantowych p.34/35
Algorytm wyszukiwania Grovera G n = H n R n H n V f H n x = 1 n y F n ( 1) xy y R n 0 = 0, R n x = x, gdy x 0 R n = Dokonujemy pomiaru. V f x = ( 1) f (x) x 1 0... 0 0 1... 0........ 0 0... 1 Wprowadzenie do teorii komputerów kwantowych p.34/35
Źródła E. Riffel, W. Polak, An introduction to quantum computation for non physics, ACM Computer Surveys, vol. 3, issue 3, Sept.000 L. K. Grover, A fast quantum-mechanical algorithm for database search, Proceedings of the 8th Annual ACM Symposium on the Theory of Computing - STOC, 1-19 (1996) M. Hirvensalo, Algorytmy kwantowe, Wydawnictwa Szkolne i Pedagogiczne S.A., Warszawa 004 S. Węgrzyn, J. Klamka, J.A. Miszczak, Kwantowe systemy informatyki, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice 003 Wprowadzenie do teorii komputerów kwantowych p.35/35