Wykład 1
Transkrypt
Wykład 1
Wykład 1 8 kwietnia 2015 Informatyka kwantowa i jej fizyczne podstawy Łukasz Cywiński [email protected] http://info.ifpan.edu.pl/~lcyw/ Wykłady: 8, 15, 22, 29 kwietnia oraz 6 maja (na ostatnim wykładzie będzie test) Prace domowe: sugerowane zadania będą pojawiać się na stronie internetowej (patrz wyżej). Plan wykładów 1) Klasyczne i kwantowe komputery: czemu warto bity zastąpić kubitami. Elementy teorii złożoności obliczeniowej. Przetwarzanie informacji a fizyka. Co naprawdę mogą dać nam komputery kwantowe? 2) Od bramki jedno- i dwu-kubitowych do algorytmów. Koherentna kontrola jednego kubitu (elementy teorii elektronowego rezonansu spinowego). Bramka dwukubitowa na przykładzie bramki wymiennej. Obwody kwantowe i algorytmy. 3) Realizacja kubitów w kropkach kwantowych. Nanostruktury dla informatyki kwantowej i przykładowe kluczowe doświadczenia. 4) Czemu kubity są bardzo delikatne - dekoherencja wywołana oddziaływaniem z otoczeniem. Opcjonalnie: 5) Splątanie kwantowe - zastosowanie do komunikacji kwantowej i kwantowej korekcji błędu. Algorytmy i klasyczne komputery Algorytm – precyzyjny przepis na to, jak wykonać jakieś zadanie Algorytm Euklidesa (ok. 300 p.n.e.) na znajdowanie największego wspólnego dzielnika A oraz B. Pytanie Davida Hilberta (1928): Czy istnieje algorytm sprawdzający prawdziwość dowolnego twierdzenia matematycznego? (maszyna do dowodzenia twierdzeń) „Entscheidungsproblem” Alan Turing, Alonzo Church (około 1936): NIE! "Euclid flowchart" by Somepics - Own work. Licensed under CC BY-SA 4.0 via Wikimedia Commons http://commons.wikimedia.org/wiki/File:Euclid_flowchart.svg#/media/File:Euclid_flowchart.svg Maszyna Turinga q – stan procesora x – zapis z taśmy s = rozkaz przesunięcia głowicy (L, P, albo „stój”) Linie programu: < q,x,q’,x’,s> : jeśli q=x to zamień q na q’, x na x’, i wykonaj ruch s głowicą Teza Churcha-Turinga: Każdy problem, który może być intuicyjnie uznany za obliczalny, jest rozwiązywalny przez maszynę Turinga. (to jest tak naprawdę definicja tego, że da się wykonać jakieś zadanie algorytmiczne) Bramki logiczne „obwodowy model komputera” – sygnały 0 i 1 (bity) przesyłane pomiędzy bramkami logicznymi Bramka NOT Bramka AND Jest on równoważny maszynie Turinga – mają one takie same zdolności obliczeniowe. Złożonośc obliczeniowa Liczba bitów danych = n Czas obliczeń jest O(f(n)) gdy istnieją takie no oraz c dla których zachodzi Czas(n>n0) < cf(n) Przykłady: • Dodawanie jest O(n) • Mnożenie jest O(n2), choć ścisłe górne ograniczenie to O(nlog 3) Podstawowe rozróżnienie: • Złożoność wielomianowa: czas = O(nk) – „łatwe” • Złożoność wykładnicza: czas = O(cn) – „trudne” Złożonośc obliczeniowa Podstawowe rozróżnienie: • Złożoność wielomianowa: czas = O(nk) – „łatwe” • Złożoność wykładnicza: czas = O(cn) – „trudne” Motywacja dla powyższego rozróżnienia: Dla złożoności wykładniczej jest bardzo ostra granica pomiędzy tym co praktycznie jeszcze możliwe, a co już nie. Silniejsza wersja tezy Churcha-Turinga: Każdy "rozsądny" model obliczeń może być efektywnie zasymulowany na probabilistycznej Maszynie Turinga. Efektywnie = z co najwyżej wielomianowym wzrostem złożoności Klasyczny komputer • Informacja kodowana w bitach (0/1) • Bramki logiczne: • jednobitowe (NOT) • dwubitowe (AND, OR, NAND…) Najpopularniejsza implementacja: Technologia CMOS – transistory krzemowe Mechanika kwantowa potrzebna jest do modelowania tranzystorów i zrozumienia własności półprzewodników, ale efektywnie równoważny komputer można zbudować z elementów klasycznych (np. kasa na korbkę) Fizyczne realizacje klasycznych komputerów To działa jak system zaworów (napięcie na bramce kontroluje czy tranzystor przewodzi prąd – jeżeli tak, to może on naładować bramkę innego tranzystora Mikrofluidyka (procesy mikroprzepływowe – krople o objętości pikolitrów) http://www.microfluidicfuture.com/blog/microfluidics-a-beginners-guide Trochę zoologii Kraby z gatunku Mictyris guinotae – bardzo deterministycznie działający instynkt stadny (swarming behavior) Klasy złożoności algorytmicznej: P vs NP Klasa P (polynomial time) - problemy, które maszyna Turinga rozwiązuje w czasie wielomianowym Wiadomo, że wiele problemów jest poza P, ale bardzo trudno jest pokazać, że konkretny problem nie jest w P. Podejrzenie: rozkład liczby na czynniki pierwsze nie jest w P – najlepszy znany algorytm jest Klasa NP - problemy, których rozwiązanie maszyna Turinga może sprawdzić w czasie wielomianowym Rozkład liczby na czynniki pierwsze na pewno jest w NP – sprawdzenie czy p*q=N jest trywialne. Rozłożenie N na p i q jest za to trudne… Klasy złożoności algorytmicznej: P vs NP Wbrew temu co często można przeczytać, NP nie znaczy koniecznie „trudne”. P NP P ≠ NP ? - P na pewno zawiera się w NP. Ale czy NP jest większe? najważniejsze otwarte pytanie teorii złożoności obliczeniowej Problemy NP-zupełne - są co najmniej tak trudne jak każdy inny problem z NP, inne problemy można sprowadzić do nich („jeden problem by wszystkie rozwiązać”). Rozwiązanie w czasie wielomianowym jakiegokolwiek z nich pokaże, że P=NP! Z punktu widzenia złożoności algorytmicznej różne realizacje (klasycznego) komputera są sobie równoważne, ale… Informacja jest fizyczna Nauka o komputerach = informatyka (czyli nauka o informacji i jej przetwarzaniu). Rolf Landauer: „Informacja jest fizyczna” tzn: nie należy o informacji myśleć w sposób zupełnie abstrakcyjny, trzeba pamiętać o tym, że zawsze musi ona mieć fizyczną reprezentację! Jeden bit (kawałek) informacji: zakodowany w stanie układu bistabilnego mającego dwa rozróżnialne i stabilne stany, pomiedzy którymi możemy go przełączać. Komputer kwantowy Zamiast klasycznego bitu – kwantowy układ dwupoziomowy • Dwa poziomy energetyczne atomu (np. stan podstawowy i jeden ze stanów wzbudzonych • Spin-1/2 elektronu– dwie wartości rzutu na daną oś • Dwie polaryzacje pojedynczego fotonu • Dwa kierunki płynięcią prądu w mikroobwodzie zbudowanym z nadprzewodników. • Stan podstawowy i stan optycznie wzbudzony (tzw. ekscyton) w samozorganizowanej kropce kwantowej Klasycznie: bistabilny system w stanie 0 lub 1 Kwantowo: liniowa superpozycja 0 i 1 Ekstremalnie krótki kurs mechaniki kwantowej Istnieją kwantowe stany czyste |Ψ>, które dają maksymalną dostępną informację o danym układzie fizycznym. Są one bardzo trudne do uzyskania dla większych układów, a dla atomów czy nanostruktur też nie są tak łatwe do wytworzenia. Dla ograniczonego przestrzennie układu (atom, kropka kwantowa) mamy przeliczalne stany, np. stany własne energii |0> , |1>, |2>… Możliwe stany tworzą przestrzeń wektorową nad ciałem liczb zespolonych (przestrzeń Hilberta): Dla układu w stanie |Ψ>, prawdopodobieństwo zaobserwowania go w stanie |n> wynosi Stany kubitu a, b – zespolone amplitudy Wektor Blocha: |a|2 – prawdopodobieństwo zmierzenia 0 |b|2 - prawdopodobieństwo zmierzenia 1 |a|2 + |b|2 = 1 Jeden kubit opisany przez 2 liczby rzeczywiste Mamy kontinuum stanów kubitu. Stany wielu kubitów Kontinuum stanów kubitu – jak w komputerze analogowym? NIE! – komputer kwantowy różni się jakościowo od klasycznej maszyny analogowej Superpozycyjne stany wielu kubitów mogą być bardzo nieklasyczne! Dla dwóch kubitów: Splątanie Zasada superpozycji: Co z tego wynika jeśli mamy więcej kubitów? Stan splątany wykazujący nieklasyczne korelacje Stan odpowiadający „klasycznym” intuicjom Stany splątane: łamią nierówności Bella, kluczowe dla komunikacji kwantowej, teleportacji kwantowej, kwantowej metrologii, oraz komputerów kwantowych Program wykonywany na komputerze kwantowym Inicjalizacja N kubitów w stanie czystym A następnie kodujemy dane wejściowe… Ewolucja |> jest opisana przez równanie Schroedringera z zależnym od czasu Hamiltonianem H, który kontrolujemy – program zakodowany jest w Hamiltonianie: Często powtarzane: komputer kwantowy jest szybszy, bo wykonuje obliczenia dla wszystkich możliwych danych wejściowych jednocześnie. Chwila zastanowienia nad naturą pomiaru w mechanice kwantowej prowadzi do wniosku, że to nie jest prawda! Na końcu dokonujemy pomiaru. Nie da się zrekonstruować stanu wszystkich kubitów z pojedynczego pomiaru, ale różne wyniki otrzymujemy z różnymi prawdopodobieństwami -> wynik programu jest probabilistyczny! Do czego mogłoby to się przydać? Problemy, które trudno jest rozwiązać, ale dla których łatwo jest sprawdzić, czy odpowiedź jest prawidłowa. Klasa NP (te problemy, które nie są chyba w P) Kryptografia z kluczem publicznym (RSA) – złamanie klucza wymaga rozłożenia dużej liczby na czynniki pierwsze. Klasyczny algorytm w czasie ~ exp( N1/3) (złamanie RSA-768 – faktoryzacja liczby z 232 cyframi zajęło 2 lata pracy kilkuset komputerów – 2000 lat pracy jednordzeniowego 2.2 GHz AMD Opteron) Kwantowy algorytm Petera Shora (’94): Czas wykonania ~ O(N3) (tylko w teorii, w praktyce nie mamy komputera kwantowego…)