Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Podobne dokumenty
Symulacja obliczeń kwantowych

Kwantowa kooperacja. Robert Nowotniak. Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej Politechnika Łódzka

Wprowadzenie do teorii komputerów kwantowych

Informatyka Kwantowa Sekcja Informatyki Kwantowej prezentacja

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

VIII. TELEPORTACJA KWANTOWA Janusz Adamowski

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Protokół teleportacji kwantowej

- nowe wyzwanie. Feliks Kurp

Algorytm faktoryzacji Petera Shora dla komputera kwantowego

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13

Obliczenia inspirowane Naturą

Wstęp do Modelu Standardowego

Wstęp do komputerów kwantowych

Podstawy informatyki kwantowej

Informatyka kwantowa i jej fizyczne podstawy Rezonans spinowy, bramki dwu-kubitowe

Historia. Zasada Działania

Wykorzystanie metod ewolucyjnych sztucznej inteligencji w projektowaniu algorytmów kwantowych

Podstawy robotyki. Wykład II. Robert Muszyński Janusz Jakubiak Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska

Informatyka kwantowa. Karol Bartkiewicz

bity kwantowe zastosowania stanów splątanych

V. KWANTOWE BRAMKI LOGICZNE Janusz Adamowski

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

bity kwantowe zastosowania stanów splątanych

O informatyce kwantowej

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

2.12. Zadania odwrotne kinematyki

Modelowanie Preferencji a Ryzyko. Dlaczego w dylemat więźnia warto grać kwantowo?

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Język programowania komputerów kwantowych oparty o model macierzy gęstości

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ. 1. Ciała

Wstęp do algorytmiki kwantowej

Symulacja sygnału czujnika z wyjściem częstotliwościowym w stanach dynamicznych

Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku

Komputery Kwantowe. Ravindra W. Chhajlany. 16 stycznia Komputery Kwantowe

Metody numeryczne. Sformułowanie zagadnienia interpolacji

PODSTAWY RACHUNKU WEKTOROWEGO

Komputery Kwantowe. Sprawy organizacyjne Literatura Plan. Komputery Kwantowe. Ravindra W. Chhajlany. 27 listopada 2006

PROJEKT NR 2 STATECZNOŚĆ RAM WERSJA KOMPUTEROWA

Obliczenia iteracyjne

Symetria w fizyce materii

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Wykład 14. Elementy algebry macierzy

High level programming in quantum computer science

VII Festiwal Nauki i Sztuki. Wydziale Fizyki UAM

Quantum Computer I (QC) Zapis skrócony. Zapis skrócony

Kwantowe języki programowania

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

POSTULATY MECHANIKI KWANTOWEJ cd i formalizm matematyczny


Metody systemowe i decyzyjne w informatyce

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

REZONANSY : IDENTYFIKACJA WŁAŚCIWOŚCI PRZEZ ANALIZĘ FAL PARCJALNYCH, WYKRESY ARGANDA

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Fizyka dla wszystkich

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

W5. Komputer kwantowy

Matematyka liczby zespolone. Wykład 1

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Drgania poprzeczne belki numeryczna analiza modalna za pomocą Metody Elementów Skończonych dr inż. Piotr Lichota mgr inż.

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Obliczenia inspirowane Naturą

Rozdział 2. Liczby zespolone

Spacery losowe generowanie realizacji procesu losowego

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Podstawy Programowania C++

Transformaty. Kodowanie transformujace

II. POSTULATY MECHANIKI KWANTOWEJ W JĘZYKU WEKTORÓW STANU. Janusz Adamowski

Obliczenia inspirowane Naturą

Strategie kwantowe w teorii gier

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Gry kwantowe na łańcuchach spinowych

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Informatyka kwantowa

1. Liczby zespolone i

MECHANIKA OGÓLNA (II)

Numeryczne metody optymalizacji Optymalizacja w kierunku. informacje dodatkowe

Matematyka stosowana i metody numeryczne

Układy liniowo niezależne

Aby przygotować się do kolokwiów oraz do egzaminów należy ponownie przeanalizować zadania

KLUCZ PUNKTOWANIA ODPOWIEDZI

Aproksymacja funkcji a regresja symboliczna

Testowanie hipotez statystycznych

Przekształcenia liniowe

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Metody Lagrange a i Hamiltona w Mechanice

5. Rozwiązywanie układów równań liniowych

Metody numeryczne w przykładach

Zadania egzaminacyjne

Zadania laboratoryjne i projektowe - wersja β

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Rozwiązywanie równań nieliniowych

Programowanie liniowe metoda sympleks

Liczby zespolone. P. F. Góra (w zastępstwie prof. K. Rościszewskiego) 27 lutego 2007

Wykłady z Mechaniki Kwantowej

ALGEBRA z GEOMETRIA, ANALITYCZNA,

Transkrypt:

Wydział Fizyki Technicznej, Informatyki i Matematyki Stosowanej Politechnika Łódzka 13 listopada 2007

Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna interpretacja geometryczna 4 Uzasadnienie matematyczne 5 Wynik symulacji w Numerical Python

Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna interpretacja geometryczna 4 Uzasadnienie matematyczne 5 Wynik symulacji w Numerical Python

Informatyka Kwantowa podstawy Podstawowa jednostka informacji w informatyce kwantowej sa kubity (ang. qubits) i rejestry kwantowe (ang. quantum registers). φ = α 0 + β 1 α, β C α 2 + β 2 = 1 [ ] [ ] 1 0 0 = 1 = 0 1 Liczby α i β nazywamy amplitudami prawdopodobieństwa. W wyniku pomiaru wartości rejestru kwantowego, stan rejestru przyjmuje wartość 0 (ket 0) z prawdopodobieństwem α 2 lub wartość 1 (ket 1) z prawdopodobieństwem β 2.

Informatyka Kwantowa podstawy Układ wielu kubitów tworzy rejestr kwantowy. Pojedynczy kubit ψ C 2 reprezentowany jest jako para liczb zespolonych, układ dwukubitowy reprezentowany jest wektorem z przestrzeni C 4.

Informatyka Kwantowa podstawy Układ wielu kubitów tworzy rejestr kwantowy. Pojedynczy kubit ψ C 2 reprezentowany jest jako para liczb zespolonych, układ dwukubitowy reprezentowany jest wektorem z przestrzeni C 4. Stan trzykubitowego rejestru jest opisany przez wektor z przestrzeni C 8 itd φ = α 1 000 + α 2 001 +... α 8 111

Informatyka Kwantowa podstawy Układ wielu kubitów tworzy rejestr kwantowy. Pojedynczy kubit ψ C 2 reprezentowany jest jako para liczb zespolonych, układ dwukubitowy reprezentowany jest wektorem z przestrzeni C 4. Stan trzykubitowego rejestru jest opisany przez wektor z przestrzeni C 8 itd φ = α 1 000 + α 2 001 +... α 8 111 Dla uproszczenia używa się także zapisu dziesiętnego 101 = 5, 110 = 6 itd.

Informatyka Kwantowa podstawy Ewolucja układu kwantowego opisywana jest przez operatory unitarne reprezentowane przez macierze liczb zespolonych i spełniajace warunek UU = I. Przykładowa bramka Hadamarda, to jedna z podstawowych bramek kwantowych: [ ] 2 1 1 H 1 = 2 1 1

Informatyka Kwantowa podstawy Rezultat działania pewnej bramki kwantowej (reprezentowanej przez macierz unitarna) na rejestr kwantowy, obliczany jest przez pomnożenie macierzy przez wektor stanu rejestru. Przykład H 1 0 = 2 2 [ 1 1 1 1 ] [ 1 0 ] = [ 2 2 2 2 ] = 2 2 2 0 + 2 1 H 1 1 = 2 2 [ 1 1 1 1 ] [ 0 1 ] = [ 2 2 2 2 ] = 2 2 2 0 2 1

Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna interpretacja geometryczna 4 Uzasadnienie matematyczne 5 Wynik symulacji w Numerical Python

Opis problemu przeszukiwanie zbioru 1 Przeszukiwany jest pewien N-elementowy zbiór 2 Dokładnie jeden obiekt w tym zbiorze posiada poszukiwana cechę 3 Elementy w zbiorze nie sa w żaden sposób uporzadkowane

Opis problemu przeszukiwanie zbioru 1 Przeszukiwany jest pewien N-elementowy zbiór 2 Dokładnie jeden obiekt w tym zbiorze posiada poszukiwana cechę 3 Elementy w zbiorze nie sa w żaden sposób uporzadkowane 4 Przy takich założeniach, najlepszy klasyczny algorytm, znajdujacy poszukiwany element, ma złożoność O(N) 5...ponieważ w najgorszym przypadku musi sprawdzić N 1 elementów, a w przeciętnym przypadku N 2 elementów

Opis problemu przeszukiwanie zbioru 1 Przeszukiwany jest pewien N-elementowy zbiór 2 Dokładnie jeden obiekt w tym zbiorze posiada poszukiwana cechę 3 Elementy w zbiorze nie sa w żaden sposób uporzadkowane 4 Przy takich założeniach, najlepszy klasyczny algorytm, znajdujacy poszukiwany element, ma złożoność O(N) 5...ponieważ w najgorszym przypadku musi sprawdzić N 1 elementów, a w przeciętnym przypadku N 2 elementów 6 Kwantowy algorytm Grovera realizuje to zadanie ze złożonościa O( N).

podstawowe informacje Lov K. Grover. A fast quantum-mechanical algorithm for database search. Proceedings of the 28th Annual ACM Symposium on the Theory of Computing STOC, 212-219 (1996) 1 Wyszukiwanie elementu w zbiorze np. przeszukiwanie nieuporzadkowanej bazy danych 2 Złożoność obliczeniowa: O( N) 3 Klasa złożoności BQP (ang. bounded-error, quantum, polynomial) ograniczone prawdopodobieństwo błędu w czasie wielomianowym 4 W rejestrze kwantowym przetwarzana jest jednocześnie superpozycja wszystkich rozwiazań 5 Wykorzystuje iteracyjne wzmacnianie amplitudy prawdopodobieństwa (ang. amplitude amplification) poszukiwanego rozwiazania

podstawowe informacje II 1 Algorytm używa jednego rejestru kwantowego φ

podstawowe informacje II 1 Algorytm używa jednego rejestru kwantowego φ 2 Wymiar przestrzeni stanów rejestru φ jest określony przez rozmiar N przeszukiwanego zbioru.

podstawowe informacje II 1 Algorytm używa jednego rejestru kwantowego φ 2 Wymiar przestrzeni stanów rejestru φ jest określony przez rozmiar N przeszukiwanego zbioru. 3 Każdemu elementowi zbioru odpowiada jeden wektor bazy przestrzeni stanów rejestru: 0, 1, 2,..., N 1.

podstawowe informacje II 1 Algorytm używa jednego rejestru kwantowego φ 2 Wymiar przestrzeni stanów rejestru φ jest określony przez rozmiar N przeszukiwanego zbioru. 3 Każdemu elementowi zbioru odpowiada jeden wektor bazy przestrzeni stanów rejestru: 0, 1, 2,..., N 1. 4 Poczatkowy stan rejestru φ 0 jest ustawiany na równomierna superpozycję wszystkich możliwych rozwiazań

podstawowe informacje II 1 Algorytm używa jednego rejestru kwantowego φ 2 Wymiar przestrzeni stanów rejestru φ jest określony przez rozmiar N przeszukiwanego zbioru. 3 Każdemu elementowi zbioru odpowiada jeden wektor bazy przestrzeni stanów rejestru: 0, 1, 2,..., N 1. 4 Poczatkowy stan rejestru φ 0 jest ustawiany na równomierna superpozycję wszystkich możliwych rozwiazań 5 W kolejnych iteracjach algorytmu wykonywane sa cyklicznie dwie procedury kwantowe, reprezentowane przez operatory A i B. φ n+1 = BA φ n

Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna interpretacja geometryczna 4 Uzasadnienie matematyczne 5 Wynik symulacji w Numerical Python

Amplituda prawdopodobieństwa

Reprezentacja kubitu na płaszczyźnie zespolonej

Reprezentacja kubitu na płaszczyźnie zespolonej

Reprezentacja 3-kubitowego rejestru

Reprezentacja rejestru kwantowego

Reprezentacja stanu 000

Rejestr w stanie superpozycji

Poczatkowa superpozycja stanów

Operator A: selektywny obrót amplitudy

Operator B: obrót wokół średniej

Operator B: obrót wokół średniej

Stan po pierwszej iteracji

Operator A: selektywny obrót amplitudy

Operator B: obrót wokół średniej

Operator B: obrót wokół średniej

Stan po dwóch iteracjach

Stan po trzech iteracjach

Stan po operacji pomiaru

Prawdopodobieństwo sukcesu Po wykonaniu k iteracji prawdopodobieństwo odczytu wartości zwiazanej z szukanym elementem wyraża się wzorem: ( )) α k 2 1 = sin ((2k 2 + 1)arcsin N

Prawdopodobieństwo sukcesu Po wykonaniu k iteracji prawdopodobieństwo odczytu wartości zwiazanej z szukanym elementem wyraża się wzorem: ( )) α k 2 1 = sin ((2k 2 + 1)arcsin N Maksymalne prawdopodobieństwo otrzymania właściwego stanu ω 0 jest dla dla liczby kroków k równej: ( ( )) 1 k = π 1 arcsin 4 N Prawdopodobieństwo to jest wówczas większe od 1 1 N

Prawdopodobieństwo w kolejnych krokach

Prawdopodobieństwo w kolejnych krokach

Prawdopodobieństwo w kolejnych krokach

Prawdopodobieństwo w kolejnych krokach Przeszukiwanie czterokrotnie większego zbioru wymaga jedynie dwukrotnie większej liczby operacji.

Prawdopodobieństwo w kolejnych krokach Przeszukiwanie czterokrotnie większego zbioru wymaga jedynie dwukrotnie większej liczby operacji. (złożoność obliczeniowa O( N))

Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna interpretacja geometryczna 4 Uzasadnienie matematyczne 5 Wynik symulacji w Numerical Python

Algorytm polega na iteracyjnym wykonywaniu operacji: φ n+1 = BA φ n

Algorytm polega na iteracyjnym wykonywaniu operacji: Operatory A i B maja postać: φ n+1 = BA φ n A = I 2 ω 0 ω 0 B = 2 φ 0 φ 0 I Operator A pełni rolę procedury kwantowej, sprawdzajacej jednocześnie wszystkie elementy i zmieniajacej znak amplitudy poszukiwanego elementu.

Uzasadnienie algorytmu Jak działa operator A na dowolny stan bazowy ω?

Uzasadnienie algorytmu Jak działa operator A na dowolny stan bazowy ω? Działanie operatora A A ω = (I 2 ω 0 ω 0 ) ω

Uzasadnienie algorytmu Jak działa operator A na dowolny stan bazowy ω? Działanie operatora A A ω = (I 2 ω 0 ω 0 ) ω { 1 gdy ω = ω0 = ω 2 ω 0 0 gdy ω ω 0

Uzasadnienie algorytmu Jak działa operator A na dowolny stan bazowy ω? Działanie operatora A A ω = (I 2 ω 0 ω 0 ) ω { 1 gdy ω = ω0 = ω 2 ω 0 0 gdy ω ω 0 = { ω gdy ω = ω0 ω gdy ω ω 0

Uzasadnienie algorytmu Jak działa operator B na dowolny stan φ? B φ =... = N 1 [α + (α α ω )] ω ω=0

Uzasadnienie algorytmu Jak działa operator B na dowolny stan φ? B φ = B = = ( N 1 ) N 1 N 1 ( ) 2 α ω ω = α ω B ω = α ω N φ 0 ω ω=0 ω=0 ω=0 N 1 2 N 1 α ω φ 0 α ω ω N ω=0 ( ) N 1 2 N 1 1 α ω k N N ω=0 k=0 N 1 ω=0 α ω ω ω=0 = 2 1 N 1 N 1 N 1 α ω k α ω ω N ω=0 k=0 ω=0 }{{} α N 1 N 1 = (2α α ω ) ω = [α + (α α ω )] ω ω=0 ω=0

Uzasadnienie algorytmu Podsumowujac: Operator A obrót amplitudy prawdopodobieństwa zwiazanej z poszukiwanym elementem Operator B obrót wszystkich amplitud wokół wartości średniej

Uzasadnienie algorytmu Podsumowujac: Operator A obrót amplitudy prawdopodobieństwa zwiazanej z poszukiwanym elementem Operator B obrót wszystkich amplitud wokół wartości średniej Rezultat Wzmacnianie amplitudy prawdopodobieństwa zwiazanej z właściwym rozwiazaniem

Plan wystapienia 1 Informatyka Kwantowa podstawy 2 Opis problemu (przeszukiwanie zbioru) 3 Intuicyjna interpretacja geometryczna 4 Uzasadnienie matematyczne 5 Wynik symulacji w Numerical Python

Symulacja Total number of steps: 2 Step number: 0 ---------------- Probability of search success: 0.1250 Step number: 1 ---------------- Probability of search success: 0.7812 Step number: 2 ---------------- Probability of search success: 0.9453 Final quantum register phi> state: [[-0.0884] [-0.0884] [-0.0884] [-0.0884] [-0.0884] [ 0.9723] [-0.0884] [-0.0884]] Probability of search success: 0.9453 MEASUREMENT! -> success.

Koniec Dziękuję. Pytania lub watpliwości?