Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi
Plan wykładu 1 2 Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie
Informatyka Plan wykładu W świetle obecnie prowadzonych badań jest uzasadnione bardziej ogólne traktowanie informatyki jako dziedziny o ruchu i przetwarzaniu informacji w komputerach elektronicznych, w innych technicznych systemach informatyki, np. nano czy kwantowych, w systemach informatyki istniejących w organizmach biologicznych.
Systemy informatyki Plan wykładu Techniczne systemy informatyki budowane przez ludzi od lat 40-tych XXw., ich zadaniem jest realizacja procesów obliczeniowych i procesów gromadzenia, przetwarzania i przekazywania danych. tworzone przez naturę od miliardów lat, ich zadaniem jest rozwój i utrzymywanie życia na ziemi.
Techniczne vs biologiczne systemy informatyki Techniczne systemy informatyki Algorytm zbiór operacji, po których wykonaniu otrzymuje się rozwiązanie dowolnego zadania z określonej klasy zadań o charakterze matematycznym. Algorytm zbiór operacji technologicznych, po których wykonaniu otrzymuje się dowolny obiekt (organizm) z określonej klasy obiektów.
Odwzorowanie biologicznych systemów informatyki Wzorując się na BSI ludzie zamierzają budować systemy, których zadaniem ma być sterowanie realizacją nanotechnologicznych procesów wytwarzania samoreplikujących się obiektów. Kwas deoksyrybonukleinowy (DNA, ang. deoxyribonucleic acid) występujący w chromosomach nośnik informacji genetycznej, bierze udział w biosyntezie białka, polimer nukleotydów składający się z zasad purynowych (adenina A, guanina G), zasad pirymidynowych (cytozyna C, tymina T), reszt deoksyrybozowych i reszt kwasu fosforowego.
Cząsteczka DNA Plan wykładu
Cząsteczka DNA Plan wykładu W skład cząsteczki DNA wchodzą dwa łańcuchy, które owijają się wokół wspólnej osi, tworząc podwójną helisę, biegną antyrównolegle, koniec jednego jest dokładnie naprzeciw początku drugiego.
Replikacja DNA Plan wykładu Proces, w którym podwójna nić DNA ulega skopiowaniu. Jest semikonserwatywna (półzachowawcza) w każdej z dwóch uzyskanych podwójnych nici DNA będzie jedna nić macierzysta i jedna nowa. Prawdopodobieństwa wystąpienia błędu wynosi około 1 błąd na 10 9 nukleotydów (dla porównania błąd transkrypcji - 1 na 10 4 ).
DNA - kod genetyczny Łańcuch nici DNA zawiera informację genetyczną o kolejności aminokwasów w białkach kodowaną w postaci trójek nukleotydowych odpowiadających odpowiednim aminokwasom podczas syntezy białka.
Cechy kodu genetycznego Trójkowy trzy leżące obok siebie nukleotydy tworzą podstawową jednostkę informacyjną (triplet, inaczej kodon). Niezachodzący kodony nie zachodzą na siebie. Bezprzecinkowy każdy nukleotyd wchodzi w skład jakiegoś kodonu. Zdegenerowany różne kodony mogą kodować ten sam aminokwas. Jednoznaczny danej trójce nukleotydów w DNA lub RNA odpowiada zawsze tylko jeden aminokwas 1. Kolinearny kolejność ułożenia aminokwasów w białku jest wiernym odzwierciedleniem ułożenia odpowiednich kodonów na matrycowym RNA. Uniwersalny powyższe zasady są przestrzegane dość dokładnie przez układy biosyntezy białek u wszystkich organizmów. 1 Jednak trzem kodonom nie odpowiadają żadne aminokwasy (kodony STOP).
Plan wykładu Proces doprowadzający do wytworzenia w pełni funkcjonalnych cząsteczek białek. Zachodzi żywych komórkach lub przeprowadzany jest in vitro etapami: 1 transkrypcja - przepisanie informacji z DNA na RNA, 2 translacja - odkodowanie informacji zawartej w RNA i na tej podstawie utworzenie łańcucha polipeptydowego, 3 ukształtowanie struktury drugo- i trzeciorzędowej, czyli odpowiednie zwinięcie się łańcucha aminokwasów, 4 potranslacyjna modyfikacja cząsteczki białkowej (etap nie zawsze obecny).
Przebieg transkrypcji Transkrypcji ulega tylko jedna nić podwójnej helisy DNA, zwana nicią matrycową. Energia niezbędna w transkrypcji pochodzi z hydrolizy dwóch wiązań wysokoenergetycznych trójfosfonukleotydów. Syntezę RNA katalizuje enzym nazywany polimerazą RNA, który porusza się tylko w jednym kierunku od 5 do 3. W procesie transkrypcji wyróżnia się trzy zasadnicze etapy: inicjację, elongację, terminację.
Przebieg transkrypcji Inicjacja: związanie się polimerazy RNA z odcinkiem pasma matrycowego DNA - promotorem, lokalne rozsunięcie nici DNA pod wpływem helikazy. Elongacja: przesuwanie się polimerazy RNA wzdłuż helisy DNA i wydłużanie łańcucha mrna, zgodnie z zasadą komplementarności, rozpad kompleksu DNA-RNA: DNA powraca do swojej dwuniciowej struktury, łańcuch powstającego mrna oddziela się. Terminacja dotarcie polimerazy RNA do sekwencji stanowiącej sygnał terminacji, rozpad kompleksu enzym-dna-rna, mrna jest gotowe do translacji.
Przebieg transkrypcji - podsumowanie Transkrypcja polega na przepisywaniu informacji genetycznej z DNA na mrna i odbywa się w obrębie jądra komórkowego.
Przebieg translacji - aparat translacyjny Do przebiegu syntezy łańcucha polipeptydowego potrzebne są: rybosomy struktury zbudowane są z rrna i kilkudziesięciu różnych białek, składają się z dwóch połączonych ze sobą podjednostek: małej i dużej, mrna matryca, według którego składane są ze sobą aminokwasy, amino-acylo-trna połączenie trna z odpowiednim dla siebie aminokwasem, enzymy warunkujące prawidłowy przebieg wszystkich etapów translacji. Elementy te tworzą tzw. aparat (kompleks) translacyjny.
Przebieg translacji - etapy Energia do przeprowadzenia translacji pochodzi z rozpadu wysokoenergetycznego wiązania kowalencyjnego występującego pomiędzy aminokwasem a trna w amino-acylo-trna. Translacja składa się z czterech faz: 1 aktywacja, 2 inicjacja, 3 elongacja, 4 terminacja.
Przebieg translacji - aktywacja Aktywacja Połączenie się aminokwasu z cząsteczką trna i wytworzenie kompleksu amino-acylo-trna. Zadaniem trna jest rozpoznanie odpowiedniego dla siebie aminokwasu, przyłączenie go do końca 3 i przetransportowanie do rybosomu. Amino-acylo-tRNA rozpoznaje w mrna odpowiednią dla siebie trójkę nukleotydów, gdyż zawiera komplementarną dla niej sekwencję zwaną antykodonem.
Przebieg translacji - inicjacja Inicjacja Połączenie podjednostek rybosomowych i dołączenie do nich mrna. Rybosom rozpoznaje na mrna tzw. trójkę startową nukleotydów AUG, kodującą metioninę. Antykodon UAC trna znajduje kodon startowy AUG. Może oddzielić się metionina pierwszy aminokwas w powstającym łańcuchu białkowym.
Przebieg translacji - elongacja Elongacja Wydłużanie łańcucha aminokwasów. Rybosom przesuwa się po nici mrna i odczytuje kolejne trójki nukleotydów. Zgodnie z informacją zapisaną na mrna z cytoplazmy przywędrowują cząsteczki trna z określonymi aminokwasami. Aminokwasy łączą się ze sobą za pomocą wiązań peptydowych. Wolne trna (po zostawieniu aminokwasu) wracają do cytoplazmy a rybosom przesuwa się o kolejna trójkę nukleotydów i proces powtarza się.
Przebieg translacji - terminacja Terminacja Zakończenie translacji Rybosom natrafia na kodony STOP trójki nonsensowne: AUU, UAG, UGA, niekodujące żadnego aminokwasu. Uwalnia się łańcuch polipeptydowy, trna oddziela się od mrna, a rybosom rozpada się na podjednostki.
Przebieg translacji - podsumowanie Translacja to proces syntezy łańcucha polipeptydowego białek na matrycy mrna i odbywa się w cytoplazmie.
Programy w systemach biologicznych Program zapisany jest w pamięci jądro komórkowe, DNA, przepisywany jest na mrna, realizowany jest za pomocą rybosomów w cytoplazmie. W wyniku działania programu powstaje obiekt białko. Format tekstu programu RNA < gen strukturalny >::=< gen strukturalny >< kodon > < kodon > < kodon >::=< nukleotyd >< nukleotyd >< nukleotyd > < nukleotyd >::= A U G C
Systemy techniczne vs Systemy biologiczne Cecha Systemy techniczne Systemy biologiczne Cele Rozwiązywanie zadań Budowa obiektów programów Systemy 2-wartościowy 4-wartościowy kodowania Reprezentacja 0,1 A, C, G, T symboli przerzutnik RS molekuły Operacje matematyczne technologiczne w algorytmach Wyniki Liczby, Obiekty materialne realizacji obrazy, programów teksty Systemy Przesył operacji Przesył komunikatów operacyjne i komunikatów (enzymy)
Komputer DNA założenia W komputerze DNA (biokomputerze) obliczenia zachodzą dzięki reakcjom chemicznym między cząsteczkami DNA. Informacja jest zakodowana w postaci łańcuchów DNA. Składa się z bramek logicznych, które są oparte na enzymach. Enzymy powodują reakcje chemiczne między łańcuchami, a ich wynik stanowi nową informację. Komputer taki jest probabilistyczny - wynik każdego działania otrzymuje się jedynie z pewnym prawdopodobieństwem.
Próby realizacji komputera DNA 1994r. Leonard Adleman, koncepcja zastosowania cząsteczek DNA do obliczeń, metoda rozwiązania problemu komiwojażera dla 7 miast i 13 dróg między nimi. 1997r. Uniwersytet w Rochester, konstrukcja pierwszych bramek logicznych DNA. 2001r. idea komputera peptydowego
Próby realizacji komputera DNA 2002r. Instytut Weizmanna, konstrukcja komputera DNA, który wyposażony w prosty moduł wejścia i wyjścia mógł diagnozować komórkę rakową i podawać jej lek. 2003 r. Uniwersytet Columbia i Uniwersytetu Nowego Meksyku, konstrukcja komputera MAYA, który potrafił grać w kółko i krzyżyk. Składa się z 23 bramek DNA rozmieszczonych w próbówkach oznaczających 8 zewnętrznych pól planszy do gry. 2006r. MAYA-II, udoskonalona wersja komputera MAYA, która zawiera 128 bramek DNA.
Komputer DNA podsumowanie Komputer DNA może być stosowany do identyfikacji wirusów lub znajdowania mutacji w kodzie genetycznym. Można go używać w roztworach chemicznych i w żywych organizmach. Może umożliwiać diagnozę i leczenie nawet na poziomie pojedynczych komórek.
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie wprowadzenie wykorzystują jądrowy rezonans magnetyczny rezonansowe pochłanianie energii elektromagnetycznej w ciałach stałych, cieczach lub gazach. Zjawisko to występuje dla pierwiastków o nieparzystej liczbie protonów lub neutronów. Związane jest z posiadaniem przez jadra tych pierwiastków wewnętrznego momentu pędu, zwanego spinem oraz momentu magnetycznego.
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie wprowadzenie Badany obiekt ma początkowo przypadkowe ustawienie kierunków momentów magnetycznych w jadrach atomów. Po umieszczeniu w stałym polu magnetycznym o indukcji B 0, jądra zostają uporządkowane w odniesieniu do B 0 przyjmując położenie równoległe lub antyrównoległe.
Precesja Plan wykładu Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Po wprowadzeniu zewnętrznego pola magnetycznego wektory spinów atomów podlegają także precesji, a jej częstotliwość opisuje wzór Larmora f 0 = γb 0 2π, gdzie γ to stała żyromagnetyczna, a B 0 mierzone jest w Teslach.
Sygnały sterujące i sygnały echa Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Układ może pochłonąć energię dostarczoną z zewnątrz, gdy częstotliwość zewnętrznego wzbudzającego pola elektromagnetycznego jest równa częstotliwości Lamora. Po otrzymaniu impulsu zmiennego pola magnetycznego o częstotliwości Lamora, wypadkowy wektor magnetyzacji może zmienić położenie. Po ustaniu pobudzenia wektor może powrócić do stanu początkowego emitując impuls elektromagnetyczny.
Doświadczalny komputer kwantowy Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Rurka z cieczą o znanym składzie i strukturze umieszczona jest w stałym polu magnetycznym B 0. Momenty poszczególnych atomów molekuł cieczy traktuje się jako symbole elementarnych jednostek obliczeniowych. Proces obliczeniowy to realizacja programu, czyli wprowadzenie serii impulsów elektromagnetycznych zmieniających stany spinów i odczytanie wyniku.
Doświadczalny komputer kwantowy Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Jeśli atomy tworzą molekuły, zachowanie się spinów zależy od stanu atomów sąsiednich. Przykład Atomy węgla i wodoru w chloroformie CHCl 3. Przy początkowo równoległym położeniu spinu C, wprowadzano impulsy zmiennego pola magnetycznego oddziaływując na położenie spinu C 1. Pierwszy odchylał położenie spinu C o 90 0. Drugi odchylał to położenie o dalsze 90 0 do położenia równoległego lub antyrównoległego. 1 Ponieważ węgiel 12 nie ma spinu użyto izotopu węgla z dodatkowym neutronem
Kwantowa bramka logiczna Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie H C lub H C stan początkowy po pierwszym impulsie po drugim impulsie Niech a spin atomu wodoru H, b spin atomu węgla C, 1 stan równoległy, 0 stan antyrównoległy, wtedy b1 = a b i powstaje kwantowa bramka XOR.
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Kwantowa vs klasyczna bramka logiczna Kwantowa bramka logiczna działa w czasie (wejście jest wyjściem po chwili czasu), realizuje operacje przez kolejne impulsy elektromagnetyczne o odpowiednich częstotliwościach i czasach trwania. Klasyczna bramka logiczna działa w przestrzeni, przepływ zmiennych binarnych realizują przewody (ścieżki prowadzące).
Kubit Plan wykładu Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie W informatyce kwantowej jednostką informacji jest kubit (ang. qubit quantum bit). Z fizycznego punktu widzenia kubit jest to układ kwantowomechaniczny opisany dwuwymiarową przestrzenią Hilberta. Różni się od klasycznego bitu tym, że może znajdować się w dowolnej superpozycji dwóch stanów zero i jeden.
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Reprezentacja kubitu - wektor przestrzeni Hilberta Niech H 2 będzie dwuwymiarową przestrzenią Hilberta o ortonormalnej bazie 0 > i 1 >. Kubit to unormowany wektor tej przestrzeni: Ψ >= α 0 > +β 1 >, gdzie α 2 + β 2 = 1 oraz α, β C zbiór liczb zespolonych. Współczynniki α i β nazywa się amplitudami stanu (wektora). Po wykonaniu na kubicie pomiaru, znajdzie się on w stanie 0 > z prawdopodobieństwem α 2 w stanie 1 > z prawdopodobieństwem β 2. Dokonanie pomiaru trwale zmienia stan kubitu.
Reprezentacja kubitu - sfera Blocha Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Stany kubitu można zwizualizować przy użyciu sfery Blocha: Wartości klasycznego bitu reprezentują bieguny: północny 0 > i południowy 1 >. Kubit jest ( reprezentowany ) jako( dowolny ) punkt tej sfery: α = cos θ 2 i β = exp(iφ) sin θ 2
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Reprezentacja kwantowej bramki logicznej Przeprowadzane operacje są opisywane za pomocą macierzy unitarnych reprezentujących bramki kwantowe. Najbardziej popularne są bramki działające na jednym lub dwóch kubitach opisywanych przez macierze 2x2 lub 4x4 (ogólnie 2 n x2 n ). Przykład Identyczność U i = U i [ α β ] = [ 1 0 0 1 [ 1 0 0 1 ] [ α β ] ] = [ α β ]
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Jednokubitowe kwantowe bramki logiczne Przykłady jednokubitowych kwantowych bramek logicznych: Identyczność [ ] [ Negacja ] 1 0 0 1 0 1 1 0 Bramka fazy Bramka Hadamarda [ ] [ 1 ] 1 0 2 2 1 0 exp(i π 4 ) 1 2 1 2
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Dwukubitowe kwantowe bramki logiczne Reprezentowane 4x4 wymiarowymi macierzami unitarnymi. Wzajemne uzależnienie (splecenie) stanów wejść x1 i x2 reprezentowane przez ich iloczyn tensorowy X = x1 x2. Bramka XOR (controlled NOT): 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Dwukubitowe kwantowe bramki logiczne przykład Mapowanie (a, b) (a, XOR(a, b)). INPUT OUTPUT 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 gdzie a, b są klasycznymi bitami, czyli przyjmują wartości 0 > lub 1 >. 1 0 0 0 0 1 0 0 Reprezentacja kwantowej bramki XOR: 0 0 0 1 0 0 1 0
Algorytmy kwantowe - wprowadzenie Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie O zawartości kubitowych rejestrów można myśleć jako o np. 8-wymiarowym wektorze liczb zespolonych. Algorytm polega na podaniu wartości początkowych wektora i każdy krok algorytmu to mnożenie go przez odpowiednią macierz unitarną, realizującą iloczyn tensorowy. Macierz unitarna jest odwracalna, więc cały proces może być odwrócony, ale na podstawie iloczynu tensorowego można jednoznacznie wyznaczyć wektory - czynniki tylko dla ortonormalnych wektorów bazowych.
Algorytmy kwantowe - założenia Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Operacje dokonują się na n-kubitach równocześnie, zatem realizowana jest n-wymiarowa funkcja n-argumentowa (inaczej n funkcji n-argumentowych). Ze względu na superpozycję (układ może istnieć w wielu stanach równocześnie) w tym samym czasie można dokonywać równolegle operacje kwantowe na każdym ze stanów. Algorytmy wykonywane przez komputer kwantowy są algorytmami probabilistycznymi (można otrzymać różne wyniki dla tych samych danych wejściowych, ze względu na losowość procesu kwantowego pomiaru).
Algorytmy kwantowe - przykłady Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie 1994r. Peter Shor kwantowy algorytm rozkładu liczb na iloczyny liczb pierwszych o złożoności czasowej O((log N) 3 ) i pamięciowej O(log N). W 2001 roku grupa informatyków z firmy IBM i Uniwersytetu Stanford zademonstrowała jego działanie na 7-kubitowym komputerze kwantowym. 1995r. Lov Grover - kwantowy algorytm przeszukiwania danego elementu w nieuporządkowanym N-elementowym zbiorze o złożoności czasowej O((log N) 1/2 ) i pamięciowej O(log N).
Komputery kwantowe Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Komputer kwantowy (nazywany czasem komputerem piatej generacji) jest to układ n-kubitów wraz z kwantowymi bramkami. Program stanowi ciąg impulsów zewnętrznych pola elektromagnetycznego o odpowiednich częstotliwościach. Dane w komputerach kwantowych są reprezentowane przez aktualny stan kwantowy układu a jego ewolucja odpowiada procesowi obliczeniowemu. Odpowiedni algorytm pozwala teoretycznie na osiągnięcie wyników w znacznie efektywniejszy sposób, niż za pomocą tradycyjnych komputerów.
Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Komputery kwantowe - realizacje fizyczne 1985r. David Deutsch teoria działania komputera kwantowego. 1995r. Pierwsze realizacje kontrolowanych obliczeń kwantowych. 2007r. D-Wave Systems 128-kubitowy układ, nazywany pierwszym na świecie komputerem z rejestrem kwantowym. 2013r. D-Wave Systems 512-kubitowym czip, który może dokonywać ponad 10 38 obliczeń na raz (przeciętny PC robiłby to miliony lat), wykorzystywany przez NASA i Google.
Komputery kwantowe - wady i zalety Wprowadzenie Doświadczalny komputer kwantowy Obliczenia kwantowe Podsumowanie Komputer kwantowy nie umożliwia rozwiązywania nowej klasy problemów. Dzięki komputerom kwantowych pewne problemy można rozwiązać znacznie szybciej. Największą trudnością podczas projektowania komputerów kwantowych jest ich wrażliwość na czynniki zewnętrzne. Stany kwantowe będące superpozycjami stanów stacjonarnych są nadzwyczaj nietrwałe. Są próby przetrzymywania atomów w pułapkach magnetycznych i sterowania nimi za pomocą impulsów światła laserowego. W 2012r. stłumiono dekoherencję na ok. 2 sekundy w temperaturze pokojowej. Rok później czas ten wyniósł 39 minut.