460 likes | 1.12k Views
Calculatoare cuantice. Gheorghiu Alexandru 333CB. Ce este un calculator cuantic?. O definitie formala (enter LFA). Masina Turing Masina Turing probabilistica – in functia de tranzitie avem o probabilitate reala (din domeniul [0,1]) pentru fiecare tranzitie
E N D
Calculatoare cuantice Gheorghiu Alexandru 333CB
O definitie formala(enter LFA) • Masina Turing • Masina Turing probabilistica – in functia de tranzitie avem o probabilitate reala (din domeniul [0,1]) pentru fiecare tranzitie • Masina Turing cuantica – in functia de tranzitie avem o probabilitate complexa de modul subunitar pentru fiecare tranzitie
Bits vs Qubits • Bit = unitate de masura pentru informatie clasica. Poate fi 0 sau 1 • Qubit = unitate de masura pentru informatie cuantica. Poate fi 0, 1 sau orice combinatie de 0 si 1 (superpozitie)
Spatii vectoriale complexe • Reprezentarea qubits-ilor – vectori • Reprezentarea operatiilor – matrice unitare
Salt exponential • Un sistem cuantic cu n particule este reprezentat intr-un spatiu vectorial de dimensiune 2n • Pe un calculator clasic, complexitate exponentiala • Pe un calculator cuantic, complexitate polinomiala • Idee propusa pentru prima data de Feynman in articolul “Simulating Physics with Computers” - 1982 “If you think you understand quantum mechanics, you don't understand quantum mechanics” - Richard P. Feynman (1918 – 1988)
Porti logice cuantice • Porti logice – NOT, AND, OR, NAND, XOR, NOR etc • Porti logice cuantice – CNOT, Hadamard, Toffoli, Fredkin, schimbarea de faza, etc • Operatii reversibile • Porti universale – set minimal finit de porti logice din care orice alta poarta poate fi obtinuta. Exemplu { H, CNOT, R( ) }
Paralelism cuantic • Utilizand superpozitia, un calculator cuantic poate (oarecum) evalua mai multe valori ale unei functii simultan • Fie f(x) : { 0, 1 } -> { 0, 1 }, descrisa de matricea unitara • Clasic, ar fi necesare 2 circuite pentru a evalua simultan functia in 2 valori diferite • Pe un calculator cuantic este necesar un singur circuit
Cum adica ‘oarecum’? • Masurarea unui qubit il reduce la un bit clasic • Nu am evaluat efectiv functia precedenta • Masurarea starii obtinute va returna sau
Algoritmi cuantici • In general reprezentati sub forma de porti logice cuantice (sunt low-level) • Clasa separata de algoritmii bazati pe porti: algoritmi adiabatici • Au complexitati cel putin la fel de bune ca si corespondentii lor clasici • Algoritmi ‘populari’: • Deutsch-Josza – determinarea tipului unei functii • Simon – determinarea periodicitatii unei functii • Grover – cautare in vector nesortat • Shor – factorizarea intregilor
Algoritmul Deutsch-Josza(formularea problemei) • f : {0, 1}n-> {0, 1} • f este fie echilibrata (returneaza 0 pe jumatate din input-uri si 1 pe cealalta jumatate), fie constanta • Vrem sa determinam tipul functiei f
Algoritmul Deutsch-Josza(solutia clasica) • Evaluam functia in jumatate plus unu din intrari • Cum intrarile sunt reprezentate de siruri de biti de lungime n, avem 2nintrari posibile • Trebuie sa evaluam functia in 2n − 1 + 1 valori • Complexitate exponentiala!
Algoritmul Deutsch-Josza(solutia cuantica) • Amplitudinea pentru starea in care toti qubits-ii sunt 0 este • Daca f este constanta acea amplitudine este fie -1 fie +1, dar in orice caz modulul este 1 • Cum modulul amplitudinii starii finale trebuie sa fie tot 1 inseamna ca atunci cand functia este constanta toti bitii masurati din registrul final vor fi 0 • In caz contrar functia este echilibrata
Algoritmul Deutsch-Josza(solutia cuantica) • Paralelismul cuantic permite obtinerea solutiei in O(1) • Fix o operatie, cea de masurare a registrului final • Speed-up exponential fata de corespondentul clasic
4 intrebari • 1) Pentru ce probleme obtinem speed-up? • 2) Exista un model pentru un calculator cuantic universal? • 3) Care sunt limitarile calculatoarelor cuantice? • 4) Exista calculatoare cuantice fizice? “Quantum mechanics: Real Black Magic Calculus” – Albert Einstein (1879 – 1955)
1) Pentru ce probleme obtinem speed-up? • Problema subgrupului ascuns (hidden subgroup problem) • Fie f : G -> X, unde G este un grup abelian, f este constanta pe fiecare coset a subgrupului K si ia o valoare diferita pentru fiecare coset. • Avand un black box cuantic ce poate efectua transformata unitara pentru g din G, h din X si o operatie binara definita pe X, sa se determine subgrupul K. • Nu se stie inca daca se poate generaliza si pentru G nonabelian
2) Exista un model pentru un calculator cuantic universal? • Nu chiar • Nu exista o arhitectura asemena modelului Von Neumann • Exista modele pentru arhitecturi hibride clasic-cuantic (modelul master-slave) • Modelul calculatorului cuantic adiabatic
3) Care sunt limitarile calculatoarelor cuantice? • Nu se stie daca pot rezolva probleme NP-complete in timp polinomial • Masina Turing cuantica nu poate calcula ceea ce nu poate nici masina Turing clasica sa calculeze
4) Exista calculatoare cuantice fizice? • DA! • In 2010 D-Wave Systems a lansat un procesor cuantic pe 128 de biti numit D-Wave One • D-Wave One nu este bazat pe modelul de porti logice ci pe modelul adiabatic • Cei de la D-Wave vor da acces dezvoltatorilor la un cluster cu astfel de procesoare pentru a programa chip-uri cuantice
Dificultatea realizarii fizice a calculatoarelor cuantice • Nu exista calculatoare cuantice comerciale • Problema decoerentei • Coduri detectoare si corectoare de erori • Toleranta la defecte
Concluzii • Domeniu interesant, dar complex • Rezultate teoretice foarte promitatoare • Inca exista multe probleme nerezolvate • Un boom de dezvoltare s-ar putea sa apara in viitorul nu foarte indepartat
Referinte • Quantum Computation and Quantum Information – Michael A. Nielsen, Isaac L. Chuang • Quantum Computing for Computer Scientist – Noson S. Yanofsky; Mirco A. Mannucci • Cursurile MIT ale lui Scott Aaronson despre Quantum Complexity Theory • Cursurile Stanford ale lui Leonard Susskind despre Quantum Information Theory • http://en.wikipedia.org/wiki/Quantum_computing • http://www.dwavesys.com/en/dev-portal.html