Komputer kwantowy idea i perspektywy realizacji Arkadiusz Wójs Instytut Fizyki Politechnika Wrocławska Wykład otwarty Oddziału PTF w Szczecinie 9 stycznia 2012 http://themillerminute.wordpress.com Plan • • • • • • • • • Elementarz informatyki Bardzo krótka historia komputerów Prawo Moore’a wykładniczego rozwoju Współczesne (super)komputery Problemy obliczeniowe o wykładniczej złożoności Mechanika kwantowa x2 Idea komputera kwantowego Problem utraty informacji kwantowej Wykorzystanie egzotycznych cząstek kwantowych Dalszy rozwój komputerów – perspektywy Maszyna Turinga (abstrakcyjny model komputera, 1930) Alan Mathison Turing (1912-1954) angielski matematyk kryptolog współtwórca informatyki 1. Taśma; ciąg nieskończonej liczby komórek; każda komórka zawiera literę ze skończonego alfabetu (np. „0” i „1”) lub jest pusta 2. Maszyna; może być w jednym ze skończonej liczny stanów 3. Głowica; ustawiona nad dowolną komórką Rozkaz/instrukcja: (litera1, stan1) (litera2, stan2, ruch głowicy) Program = sekwencja rozkazów Rozstrzygalność w matematyce • David Hilbert: Czy istnieje algorytm dla każdego problemu matematyki? David Hilbert • Kurt Gödel (1931): Nie! W każdym (1862-1943) zbiorze aksjomatów i reguł istnieją niemiecki matematyk zdania, których prawdziwości nie można rozstrzygnąć (w obrębie tego zbioru) • Każdy dostatecznie złożony system logiczny (np. ,) jest niezupełny (więc także nierozstrzygalny) Kurt Gödel (1906-1978) austriacki logik System logiczny jest: spójny – nie można udowodnić że S i ~S są jednocześnie prawdziwe zupełny – albo S, albo ~S jest prawdziwe rozstrzygalny – można udowodnić czy S jest prawdziwe • Są zadania arytmetyczne, których nie rozwiąże żaden komputer (maszyna Turinga, choć nieskończona, jest ograniczona; nie wiadomo czy są potężniejsze) Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 2 1 + 1 3 1 1 =? … 1 a ) ) Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 1 1 1 … 1 a ) ) Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 1 1 1 1 b ) ) … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 1 1 1 b ) ) 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 1 1 b ) ) 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 1 1 b ) ) 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 1 c ) ) 1 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 1 d ) ) 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 1 b ) ) 1 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 c ) ) 1 1 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 d ) ) 1 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 b ) ) 1 1 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3=? Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) … 1 c ) ) 1 1 1 1 … Dodawanie na maszynie Turinga Układ jedynkowy – alfabet zawiera tylko jeden znak: „1” Zapis liczb: 1=„1”, 2=„11”, 3=„111”, itd. Cztery stany głowicy (a, b, c, d) Przykład: 2+3= Program: (a ) (b (b ) (c (b 1) (b 1 (c ) STOP (c 1) (d (d ) (b 1 ) ) ) ) ) … 1 5 1 1 1 1 … Układ dwójkowy Liczby całkowite: an1 a1a0 2 a0 2 a1 2 0 1 an 1 2 n 1 ak 2 k n 1 k 0 Np.: 11001011 20 21 23 26 27 1 2 8 64 128 203 2 Liczby zmienno-przecinkowe: an 1 a1a0 . a1a2 Np.: 101.0112 23 2 2 20 2 2 Układ dwójkowy - wygoda zapisu liczb w urządzeniach elektrycznych: 1 bit = dwie wartości (0 lub 1) = dwa stany napięcia elektrycznego (off/on) a m 2 n 1 a 2 k m 1 1 1 4 5.375 8 4 k k Arytmetyka w układzie dwójkowym Tabliczka dodawania bitów dwójkowo dzięsiętnie dodawanie mnożenie Teza Churcha-Turinga Algorytm: skończony, uporządkowany ciąg dokładnie zdefiniowanych czynności, koniecznych do wykonania zadania Hipoteza C-T: Każda funkcja obliczalna algorytmem jest obliczalna na maszynie Turinga – i odwrotnie. Stephen Cole Kleene (1909-1994) amerykański matematyk Nie wszystkie funkcje/problemy są rozwiązywalne na maszynie Turinga (algorytmicznie) – np. funkcja „pracowitego bobra”1 lub „problem stopu”2 N = maksymalnej jedynek (znaków „1”) zapisanych przez maszynę Turinga o zadanej liczbie stanów N przed zatrzymaniem; 0=0, 1=1, 2=4, 3=6, 4=13, N>4 = nieznane/nieobliczalne 1Wyznaczenie 2Stwierdzenie czy program realizujący dany algorytm zatrzyma się po skończonej liczbie kroków Elementarne bramki logiczne Obliczenie (algorytm) wykorzystuje przekształcenia liczb dwójkowych. Wygodnie jest zdefiniować przekształcenia elementarne, czyli bramki: NOT FAN NOR AND NAND XOR SWAP OR Układy zupełne bramek Działanie bramek logicznych związane jest prawami De Morgana, np. ~(pq) = ~p~q Układ zupełny umożliwia konstrukcję dowolnej funkcji logicznej Przykład: AND, OR, XOR, FAN dodawanie s = a + b (c = bit przeniesienia): Augustus De Morgan (1806-1871) angielski matematyk i logik Przykład konstrukcji elektronicznej Bramka NAND z opornika (R) i pary tranzystorów (T1, T2): Bramka NAND jest funkcjonalnie pełna (przy użyciu samych NAND można zbudować układ realizujący dowolną funkcję logiczną) Pierwszy komputer Maszyna analityczna (pierwszy projekt: 1837): konstrukcja mechaniczna, napęd - silnik parowy, wejście – karty perforowane, wyjście – drukarka/ploter, rozdział pamięci i jednostki obliczeniowej (tak jak współcześnie); maszyna kompletna w sensie Turinga (pętle, warunki, itp.); pierwszy komputer dla którego napisano programy. Charles Babbage (1791-1871) angielski matematyk, astronom i mechanik autor tablic logarytmicznych, konstruktor mechanicznych maszyn liczących Muzeum Nauki (Londyn) Pierwszy komputer elektroniczny ENIAC (Electronic Numerical Integrator And Computer) 27 ton, 167m2, 18,000 lamp elektronowych; 10 cyfr, 5kHz, 357 mnożeń/sekundę John William Mauchly (1907-1980) amerykański fizyk John Adam Presper Eckert Jr. (1919-1995) amerykański inżynier Próby - jesień 1945, start - lato 1947 1000 większa moc obliczeniowa niż wcześniejsze maszyny Plan - obliczenia balistyczne dla artylerii Rzeczywistość - m.in. bomba wodorowa Prawo Moore’a Prawo empiryczne - obserwacja (1965), że liczba tranzystorów w układzie scalonym w kolejnych latach rośnie wykładniczo (podwaja się co 12-24 miesiące). Przez analogię,prawo Moore'a stosuje się też do innych parametrów sprzętu komputerowego (pojemności dysków, wielkości pamięci, itp.) Dla porównania: średnie zużycie energii na osobę: Bangladesz - 200W Polska - 3.3kW USA - 12.7kW Norwegia - 27.7kW ludzka praca fizyczna ~ 10W Gordon Earle Moore (1929-) współzałożyciel Intela Wzrost wykładniczy f t f 0 1 r 1 r f 0 1 r f 0 2t t 1 r (r = tempo wzrostu) ( = czas podwojenia) f 0 et T r 1% 5% 10% 20% 70 14 7.3 3.8 (1+r)30 1.3 4.3 17.4 237.4 Albert Einstein (1879-1955) „Największym wynalazkiem ludzkości jest procent składany” Współczesne procesory Miniaturyzacja: wymiar tranzystora 180nm szerokość ścieżki 32nm (=59 atomów krzemu) Złożoność: liczba tranzystorów >500M (>1B) Intel® Core™ i7-3960X (15M Cache, 3.30 GHz) data wprowadzenia: IV kwartał 2011 Szybkość: częstość taktowania min. 3GHz (liczba operacji/sekundę = 3109, czas 1 operacji = 0.310-9 s = 0.3 ns = 10 cm świetlnych) Równoległość: kilka rdzeni/wątków (obecnie - 6/12; wkrótce: 22nm Knight’s Corner - 50) Moc 130W; rozmiar ~15mm problem chłodzenia Współczesne komputery 88 Zeus Cluster Platform 3000 BL 2x220, Xeon X5650 6C 2.66 GHz, Infiniband Cyfronet Polska Rmax Pamięć Liczba Moc Mflop (Pflop) (TB) rdzeni (kW) /W 10.5 1 410 705 024 12 660 830 2.6 229 186 368 4 040 635 1.8 224 162 6 950 253 1.3 120 640 2 580 493 1.2 90 73 278 1 399 852 0.13 22 15 264 Silna równoległość (główny) problem z przesyłem danych (także: zasilanie/chłodzenie, bezawaryjność, bezpieczeństwo danych…) superkomputer – komputer znacznie przewyższający możliwościami powszechnie używane komputery K computer Advanced Institute for Computational Science Riken, Japonia Fujitsu, 2011 moc obliczeniowa: 10.51 Pflops („kei” = 1016) liczba rdzeni: 705 024, pobór mocy: 12.7 MW, pamięć: 1410 TB Ewolucja listy Top-500 (prawo Moore’a) (porównanie ze wzrostem tempa przetwarzania energii: 10 104 W w ciągu całej historii) Ewolucja listy Top-500 (prawo Moore’a) 100 różnicy między #1 a #500 Ewolucja listy Top-500 (prawo Moore’a) 100 różnicy między #1 a #500 6 lat „życia” od #1 do #500 Ewolucja listy Top-500 (prawo Moore’a) 100 różnicy między #1 a #500 6 lat „życia” od #1 do #500 notebook (i7) Ewolucja listy Top-500 (prawo Moore’a) 100 różnicy między #1 a #500 6 lat „życia” od #1 do #500 notebook (i7) inteligentny telefon Problem o dużej złożoności: Rozkład liczby całkowitej na dzielniki pierwsze Problem typu: rozwiązanie jest trudne, ale łatwo weryfikowalne. Mnożenie pary liczb: n pq wymaga liczby operacji o log 2 p log 2 q log 2 p d 2 p = „długość” (liczba cyfr) p w przedstawieniu dwójkowym Ogólnie, liczba operacji jest proporcjonalna do iloczynu długości: o d p d q Znalezienie dzielników – wymaga „nadwielomianowej” liczby operacji: o n rośnie szybciej niż jakakolwiek potęga log n Liczba operacji dla najlepszego znanego algorytmu (sito ciała liczbowego): o e C d 1 3 ln d 23 (gdzie C 1.9 oraz d log n) Kwantowy algorytm faktoryzacji (1994) Liczba operacji potrzebna dla faktoryzacji liczby n za pomocą kwantowego algorytmu Shora wynosi: o n ~ d 3 Następujący rozkład liczby 129-cyfrowej na dzielniki 64i 65-cyfrowe wymagała (w 1994) użycia 1600 komputerów rozproszonych na całym świecie: Peter Williston Shor 11438162575788886766923577997614661201021829672124236256256184293… …5706935245733897830597123563958705058989075147599290026879543541 (1959-) = 3490529510847650949147849619903898133417764638493387843990820577 32769132993266709549961988190834461413177642967992942539798288533 Załóżmy że rozkład ten trwa 1 miesiąc algorytmem klasycznym i kwantowym. Wówczas rozkład liczby 400-cyfrowej potrwałby: na komputerze kwantowym: poniżej 3 lat na komputerze klasycznym: ~10 miliardów lat (wiek Wszechświata) Inne problemy o dużej złożoności Faktoryzacja liczb pierwszych jest istotna dla kryptografii. Inne klasycznie nierozwiązywalne problemy: Symulacje układów kwantowych ogólna inżynieria materiałów złożone cząsteczki (leki) dynamika białek życie… świadomość… Problem fizyki klasycznej jest efektywnie nierozwiązywalny jeśli czas obliczeń jest rzędu czasu trwania zjawiska: o ~ t (zamiast, np.: o ~ log t) – np. chaos Algorytmy kwantowe Znamy dopiero niewielką liczbę algorytmów kwantowych (wykładniczo szybszych niż najszybszy algorytm klasyczny) Najważniejsze: Algorytm Deutscha-Jozsa (1992) odróżniania funkcji dwójkowej zrównoważonej (xx lub x~x) od stałej (x0 lub x1) rozwiązanie wymaga obliczenia f(0)+f(1) Algorytm Shora (1994) znajdowania liczb pierwszych Algorytm Kitajewa (1995) szybkiej kwantowej transformacji Fouriera Algorytm Grovera (1996) przeszukiwania bazy danych Algorytm Simona (1997) znajdowania maski XOR funkcji 2-na-1 Mechanika kwantowa Dwa istotne elementy rzeczywistości zasadniczo odmienne od (ludzkiej) intuicji: Niels H. D. Bohr 1. Superpozycja (złożenie) stanów model atomu Bohra (Nobel 1922) orbitale elektronu w atomie wodoru (Nobel 1929) różne położenia jednocześnie (1885 -1962) Louis V. P. R. de Broglie (1892-1987) hybrydyzacja sp3 różne momenty pędu jednocześnie (0 lub ℏ10-34Js) Mechanika kwantowa Dwa istotne elementy rzeczywistości zasadniczo odmienne od (ludzkiej) intuicji: 1. Superpozycja (złożenie) stanów 0 1 Wielkość A, jest określona w stanach 0, 1, …, czyli powtarzany pomiar zawsze daje te same wartości: A0 w stanie 0, A1 w stanie 1, … W stanie ta wielkość (A) jest nieokreślona, (Hitachi 1989) czyli jej powtarzany pomiar daje różne wyniki. Prawdopodobieństwa uzyskania wyników A0, A1, … wynoszą | |2, | |2, … Układ w stanie nie zachowuje się „średnio”, lecz losowo (jak 0 albo 1) Mechanika kwantowa Dwa istotne elementy rzeczywistości zasadniczo odmienne od (ludzkiej) intuicji: John Stewart Bell (1928-1990) 1. Superpozycja (złożenie) stanów 2. Splątanie stanów Dwie cząstki, każda w stanie* 0 lub 1 *np. fotony o polaryzacji +/–, elektrony o spinie /, cząstki w obszarze „lewy”/„prawy” W takich stanach układu pomiary dla każdej cząstki są przewidywalne: 00 , 01 , 10 , 11 W takich stanach wyniki są losowe, ale nie skorelowane: 00 01 , 00 01 10 11 W takich stanach (splątanych) wyniki są skorelowane: 01 10 , 00 11 oberstufenphysik.de Mechanika kwantowa Richard Phillips Feynman (1918-1988 ) amerykański fizyk teoretyk laureat nagrody Nobla 1965 „I think I can safely say that nobody understands quantum mechanics” „...while I am describing to you how Nature works, you won't understand why Nature works that way. But you see, nobody understands that.” Informacja kwantowa – qubit bit (binary digit) – podstawowa jednostka informacji (klasycznej) qubit (quantum bit) – jednostka informacji kwantowej cos 2 0 ei sin 2 1 dowolna superpozycja pary klasycznych stanów logicznych (umownie: 0 i 1) Felix Bloch sfera Blocha (1905-1983) szwajcarski fizyk Obliczenia kwantowe Informacja wejściowa (dane) – superpozycja stanów 0 i 1 0 1 Obliczenie – proces fizyczny, przebiegający inaczej dla 0 i 1 (ewolucja układu w czasie opisywana prawami mechaniki kwantowej) 0 F 0 , 1 F 1 Wynik – superpozycja (nie średnia!) wyników dla danych 0 i 1 F 0 F 1 Obliczenie równolegle na obu bitach (0 i 1) Dla liczby K-bitowej – zrównoleglenie wykładnicze (2K) David P. DiVincenzo (1959-) Problemy, przeszkody 1. Odczytanie wyniku = pomiar (probabilistyczny) dla niektórych zagadnień konieczność powtarzania obliczenia 2. Nietrwałość informacji kwantowej dekoherencja - spontaniczna utrata informacji przez nieuniknione oddziaływanie z otoczeniem 3. Fizyczna implementacja qubitu fotony, elektrony, jądra atomowe, atomy, kropki kwantowe, … 4. Konstrukcja uniwersalnego zestawu bramek logicznych np.: Hadamard + R + CNOT Cząstki o ułamkowej nieprzemiennej statystyce kwantowej elektrony Gaz elektronów w dwóch wymiarach, w silnym polu magnetycznym B Animacje – Layla Hormozi (Pennsylvania State University) Cząstki o ułamkowej nieprzemiennej statystyce… K. von Klitzing Nobel 1985 R. B. Laughlin H. L. Störmer Nobel 1998 D. C. Tsui ciecz Przy odpowiedniej kombinacji natężenia pola magnetycznego B i koncentracji elektronowej (liczba/powierzchnia) gaz elektronów kondensuje do nowego stanu skupienia – cieczy elektronowej Cząstki o ułamkowej nieprzemiennej statystyce kwantowej elektron (ładunek = e) kwazicząstki (ładunek = e/3) Elektron dodany do cieczy elektronowej „rozpada się” na kilka ułamkowo naładowanych kwazicząstek (elektrony rozsuwają w cieczy się wzajemnie pozostawiając trzy „zgrubienia” obdarzone m.in. ładunkiem elektrycznym i poruszające się niezależnie od siebie) czas Cząstki o ułamkowej nieprzemiennej statystyce kwantowej 2 wymiary (płaszczyzna) Zamiana „w lewo” Zamiana „w prawo” Linie świata cząstek w 2+1 wymiarach tworzą „warkocze” Cząstki o ułamkowej nieprzemiennej statystyce kwantowej 1 U 2 U 1 U 1 2 W 2+1 D: Podwójna zamiana tożsamość U U 1 2 Cząstki o ułamkowej nieprzemiennej statystyce kwantowej Konwencjonalne cząstki kwantowe (np. elektrony): zamiana pary cząstek miejscami stan nieodróżnialny od wyjściowego stan kwantowy (wektor) co najwyżej zmienia znak: fermiony (-1; elektrony, kwarki) lub bozony (+1; fotony) Kwazicząstki cieczy elektronowej: zamiana pary miejscami zmiana wektora stanu o ei (statystyka ułamkowa), lub zmiana wektora stanu na całkiem inny (jeśli cząstki mają pamięć – statystyka nieprzemienna) Qubit w postaci określonego „nawinięcia” kwazicząstek (historii) – a nie ich położeń – jest odporny na utratę informacji! Michio Kaku „Wizje” (1997) Perspektywy Rozwój komputerów wszechobecność/niezauważalność komputerów (jak litery czy silniki elektryczne) inteligencja (działanie w odpowiedzi na sygnał – inteligentny dom, samochód) komunikacja z człowiekiem (klawiatura, mysz, ekran dotykowy, głos, twarz, …) zdrowy rozsądek (rozumienie człowieka, czyli zdań nielogicznych) „rozsądny komputer” obliczenia rozwój nauki/wiedzy/cywilizacji wolność/człowieczeństwo(?) Rozwój internetu (największy wynalazek ludzkości?) komunikacja między ludźmi i między komputerami (cała wiedza dostępna zawsze i wszędzie) złożoność świadomość? Wynalazek komputera kwantowego symulacja rzeczywistości (układów kwantowych) rozwiązanie problemów zupełności opisu fizycznego, życia, świadomości?... odpowiedź na każde pytanie? Aspekt ludzki – psychologia (np. potrzeba stabilności, intuicyjności świata) Prawo Moore’a…