entre si? Algoritmo de Euclides: O(log(n)) Dada uma f´ ormula booleana, ela pode ser satisfeita? d ∨ (a ∧ b ∧ (c ∨ d ∨ ¬a)) (1) G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 2
entre si? Algoritmo de Euclides: O(log(n)) Dada uma f´ ormula booleana, ela pode ser satisfeita? d ∨ (a ∧ b ∧ (c ∨ d ∨ ¬a)) (1) ´ E f´ acil verificar uma solu¸ c˜ ao, mas dif´ ıcil encontr´ a-la. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 2
entre si? Algoritmo de Euclides: O(log(n)) Dada uma f´ ormula booleana, ela pode ser satisfeita? d ∨ (a ∧ b ∧ (c ∨ d ∨ ¬a)) (1) ´ E f´ acil verificar uma solu¸ c˜ ao, mas dif´ ıcil encontr´ a-la. Num tabuleiro de xadrez de tamanho n × n, existe uma estrat´ egia ganhadora para as pe¸ cas brancas dada uma posi¸ c˜ ao inicial? G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 2
f : {0, 1}∗ → {0, 1} (2) Para um dado problema de decis˜ ao f(x), a linguagem L corresponde ao conjunto de sequˆ encias x tais que f(x) = 1 L = {x : f(x) = 1} (3) G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 3
x ´ e uma sequˆ encia que representa um grafo conexo} PRIMOS = {x : x representa um n´ umero primo} SAT = {x : x representa uma f´ ormula booleana que pode ser satisfeita} FATOR = {(x, y) : x tem um fator primo entre 2 e y} DLOG = {x : ax = b para a e b elementos de um grupo abeliano} (4) G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 4
conjunto de linguagens de complexidade relacionada. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 6 Agrawal, M., Kayal, N., & Saxena, N. (2004). PRIMES is in P. Annals of mathematics, 781-793.
conjunto de linguagens de complexidade relacionada. P G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 6 Agrawal, M., Kayal, N., & Saxena, N. (2004). PRIMES is in P. Annals of mathematics, 781-793.
conjunto de linguagens de complexidade relacionada. P Linguagens L tais que podemos decidir em tempo polinomial (nO(1)) se x ∈ L por um algoritmo determin´ ıstico. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 6 Agrawal, M., Kayal, N., & Saxena, N. (2004). PRIMES is in P. Annals of mathematics, 781-793.
conjunto de linguagens de complexidade relacionada. P Linguagens L tais que podemos decidir em tempo polinomial (nO(1)) se x ∈ L por um algoritmo determin´ ıstico. CONEXO e PRIMOS s˜ ao dois problemas em P. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 6 Agrawal, M., Kayal, N., & Saxena, N. (2004). PRIMES is in P. Annals of mathematics, 781-793.
mem´ oria de tamanho polinomial e tempo ilimitado. Todos os quatro exemplos est˜ ao em PSPACE, j´ a que podem ser resolvidos por algoritmos de for¸ ca bruta. Naturalmente, P ⊆ PSPACE. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 7
ser resolvidos em tempo polinomial por um algoritmo probabil´ ıstico. O algoritmo aceita uma sequˆ encia x com probabilidade maior que 2/3 se x ∈ L e com probabilidade menor que 1/3 se x / ∈ L. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 8
ser resolvidos em tempo polinomial por um algoritmo probabil´ ıstico. O algoritmo aceita uma sequˆ encia x com probabilidade maior que 2/3 se x ∈ L e com probabilidade menor que 1/3 se x / ∈ L. Problemas em BPP s˜ ao ditos f´ aceis de computar. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 8
ser resolvidos em tempo polinomial por um algoritmo probabil´ ıstico. O algoritmo aceita uma sequˆ encia x com probabilidade maior que 2/3 se x ∈ L e com probabilidade menor que 1/3 se x / ∈ L. Problemas em BPP s˜ ao ditos f´ aceis de computar. CONEXO e PRIMOS s˜ ao problemas em BPP. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 8
ser resolvidos em tempo polinomial por um algoritmo probabil´ ıstico. O algoritmo aceita uma sequˆ encia x com probabilidade maior que 2/3 se x ∈ L e com probabilidade menor que 1/3 se x / ∈ L. Problemas em BPP s˜ ao ditos f´ aceis de computar. CONEXO e PRIMOS s˜ ao problemas em BPP. Acredita-se que P = BPP. Al´ em disso P ⊆ BPP ⊆ PSPACE G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 8
chamados P (Prover, ou provador) e V (Verifier, ou verificador). P tenta convencer V de que determinada sequˆ encia x de tamanho polinomial pertence ` a linguagem L. V aceita a prova (x) apenas se consegue verificar que x ∈ L em tempo polinomial. Problemas dessa forma constituem a classe NP. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 9
DLOG s˜ ao problemas em NP. Da defini¸ c˜ ao dessas classes, P ⊆ NP. N˜ ao se sabe se BPP ⊆ NP, ´ e v´ alido se P = BPP. Al´ em disso, NP ⊆ PSPACE G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 10
? = NP O maior problema em aberto na teoria da complexidade computacional ´ e: P est´ a propriamente contido em NP? G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 12
? = NP O maior problema em aberto na teoria da complexidade computacional ´ e: P est´ a propriamente contido em NP? Duas das poucas inclus˜ oes pr´ oprias conhecidas hoje em dia s˜ ao: L ⊂ PSPACE e P ⊂ EXP G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 12
Problemas que podem ser resolvidos em tempo polinomial por um computador quˆ antico. A probabilidade de obter 1 no qbit medido ´ e maior que 2/3 se x ∈ L e menor que 1/3 se x / ∈ L. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 13
CONEXO, FATOR, PRIMOS e DLOG s˜ ao problemas em BQP. P ⊆ BQP BPP ⊆ BQP BQP ⊆ PSPACE Mas a rela¸ c˜ ao entre NP e BQP n˜ ao ´ e conhecida. Acredita-se que s˜ ao classes diferentes com uma interse¸ c˜ ao. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 14
defini¸ c˜ ao de NP para que o verificador V (chamado Arthur) possa usar um algoritmo probabil´ ıstico (BPP). O provador P ´ e chamado aqui de Merlin. A probabilidade de que Arthur aceite uma sequˆ encia x ∈ L deve ser maior que 2/3 e que aceite uma sequˆ encia x / ∈ L deve ser menor que 1/3. Acredita-se que NP = MA. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 19
direta da classe MA, em que Arthur tem acesso a um computador quˆ antico (BQP) e Merlin envia uma sequˆ encia de qbits |x . G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 20
direta da classe MA, em que Arthur tem acesso a um computador quˆ antico (BQP) e Merlin envia uma sequˆ encia de qbits |x . Alguns problemas em QMA s˜ ao: Estado fundamental de um Hamiltoniano N˜ ao-pertencimento a um grupo G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 20
determinar a energia do estado fundamental de um ha- miltoniano local H, dada por ξ = min|ψ ψ|H|ψ (9) Dado que ξ > α ou ξ < β. SIM ξ < β N˜ AO ξ > α α β G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 21
de n qbits, C (|ψ ) ´ e o tamanho m´ ınimo de um circuito que gera um estado ρ pr´ oximo o suficiente de |ψ ψ|: || ρ − |ψ ψ| ⊗ |0 . . . 0 0 . . . 0| ||tr ≤ (10) Praticamente todos os estados de n-qbits satisfazem C (|ψ ) = 2Ω(n). Mas ´ e poss´ ıvel provar limites inferiores ainda menores para estados espec´ ıficos? G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 22
podem ser amostradas de forma eficiente por algoritmos cl´ assicos. Figura: Perfect matching de um grafo bipartido Figura: Polihedro (politopo) G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 23
eficientemente amostr´ avel, associamos a ela o estado quˆ antico |ψD = x∈{0,1}n √ px |x (11) que ´ e chamado de estado QSampling para D. Qual ´ e a complexidade de preparar |ψD ? G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 24
eficientemente amostr´ avel, associamos a ela o estado quˆ antico |ψD = x∈{0,1}n √ px |x (11) que ´ e chamado de estado QSampling para D. Qual ´ e a complexidade de preparar |ψD ? Podemos construir um algoritmo quˆ antico eficiente que prepara o estado 1 √ 2m x∈{0,1}m |x |r(x) (12) G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 24
eficientemente amostr´ avel, associamos a ela o estado quˆ antico |ψD = x∈{0,1}n √ px |x (11) que ´ e chamado de estado QSampling para D. Qual ´ e a complexidade de preparar |ψD ? Podemos construir um algoritmo quˆ antico eficiente que prepara o estado 1 √ 2m x∈{0,1}m |x |r(x) (12) Para o exemplo do grafo bipartido, ´ e poss´ ıvel gerar o estado QSampling de forma eficiente. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 24
um grupo H definido por seus geradores g1 , g2 , . . . , gn , queremos decidir se x / ∈ H. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 25
um grupo H definido por seus geradores g1 , g2 , . . . , gn , queremos decidir se x / ∈ H. Group membership (GM) ´ e um problema NP. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 25
um grupo H definido por seus geradores g1 , g2 , . . . , gn , queremos decidir se x / ∈ H. Group membership (GM) ´ e um problema NP. J´ a GNM ´ e um problema n˜ ao-trivial em QMA. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 25
uma sequˆ encia |x pertence ou n˜ ao ` a linguagem. Basta Merlin enviar o estado |H = 1 |H| h∈H |h (13) Com esse circuito, Arthur ter´ a o estado |0 |H + |1 |Hx √ 2 (14) G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 26
Press, 2013. S. Aaronson. The complexity of quantum states and transformations: From quantum money to black holes, February 2016. URL https://www.scottaaronson.com/barbados-2016.pdf. S. Aaronson, G. Kuperberg, C. Granade, and V. Russo. Complexity zoo, 2017. URL https://complexityzoo.uwaterloo.ca/Complexity_Zoo. W. Dean. Computational complexity theory, 2016. URL https://plato.stanford.edu/entries/computational-complexity/. R. O’Donnell and J. Wright. Quantum computation and information: Lecture notes, 2015. URL https://www.cs.cmu.edu/~odonnell/quantum15/. G. B. Apolin´ ario, UFRJ Complexidade Computacional Quˆ antica 28