Considerações Superficiais Sobre Computação Quântica

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 34

Considerações superficiais sobre computação Quântica

Agenda:

1-Motivação

2-Spin(propriedade que pode ser tratada como booleana)

3-Sobreposição de estados

4-Como trabalha um computador quântico

5-Estrutura de um Algoritmo Quântico

6-Critérios de DiVincenzo

7-Algoritmo quântico

8-Programação com Portas Quânticas

9-Paralelismo quântico
1-Motivação
Primeiro, precisamos entender a motivação por trás da computação quântica. Em
1981, o ganhador do prêmio Nobel Richard Feynman perguntou: “Que tipo de
computador vamos usar para simular física?” Em seu discurso,

A natureza não é clássica, caramba, e se você quiser fazer uma simulação da


natureza, é melhor torná-la mecânica quântica, e caramba é um problema
maravilhoso, porque não parece tão fácil.

Para muitos problemas da vida real, a complexidade cresce exponencialmente (em


vez de linearmente) com o número de entradas.
Se for preciso uma quantidade exponencial de dados para resolver um problema,
isso pode ser ruim. Porque pode precisar de um número exponencial de operações
para manipulá-las.

Como Feynman colocou:

Se dobrar o volume de espaço e tempo significa que precisarei de um computador


exponencialmente maior, considero isso contra as regras.

A paralelização de dados melhora o desempenho linearmente, por isso não é uma


cura para problemas com complexidade exponencial. Precisamos de novos conceitos
para quebrar a maldição.
2- Spin(propriedade que pode ser tratada como
booleana)
Muitas partículas e átomos processam o comportamento magnético e podem ser
desviados sob um campo magnético. Por exemplo, quando disparamos átomos de
hidrogênio entre dois ímãs, sua trajetória mudará.
Se for um ímã, os átomos devem atingir pontos diferentes na tela, dependendo do
giro. Em vez disso, as partículas pousam apenas em duas zonas principais.

Spin tem comportamento quântico. A trajetória vai para cima ou para baixo, nunca
de lado. ou seja, o spin medido tem apenas dois estados quânticos, seja como
spin up ou spin down.

De acordo com a interpretação de Copenhague, os sistemas físicos geralmente não


têm propriedades definidas antes de serem medidos, e a mecânica quântica só pode
prever as probabilidades de que as medições produzirão certos resultados. O ato
de medir afeta o sistema, fazendo com que o conjunto de probabilidades reduza
para apenas um dos valores possíveis imediatamente após a medição.
A partir dessa interpretação, algumas pessoas explicam isso como se a partícula
vivesse em um mundo particular ao qual não temos acesso. A partícula está em
uma superposição que é uma combinação linear de ambas.

Mas quando o giro é medido, a natureza vai se decidir e definir seu estado para
o giro ascendente ou giro para baixo de acordo com o valor de
amplitude α. Então, as medições mudam de estado. Na mecânica clássica, nossa
observação deve ser gentil o suficiente para não impactar o estado da
partícula. Na mecânica quântica, as medições colapsam a superposição a um dos
possíveis estados observados.

Outras opções de construção de um QC podem ser:

- circuito supercondutor (IBM)


- íons aprisionados (Google)
- mais opções em https://en.wikipedia.org/wiki/Quantum_computing#Physical_realizations
3-Sobreposição de estados
O conceito de superposição é importante para a utilização de qubits (bits
quânticos)! Então, vamos começar a desenvolver um modelo matemático para o
spin.

Quando dizemos que o spin de uma partícula está em uma superposição de estados,
isso simplesmente significa que ela está em uma combinação linear de estados de
spin. Aqui está a equação na notação de Dirac.

O coeficiente α é chamado de amplitude.

Aqui, os estados de spin up e down são apenas os vetores base. O conceito é


semelhante aos vetores de base x , y na lei do movimento na física.
A notação de Dirac | ψ⟩ é apenas uma forma curta para uma matriz.

| 0⟩ e | 1⟩ são os dois vetores base ortogonais que são codificados como:

Entre as medições, podemos manipular as superposições. Mas quando medimos o spin


up, a superposição colapsa para um dos estados possíveis, ou seja, | 0⟩ ou |
1⟩. Este é o princípio central da dinâmica quântica e como a natureza
funciona. Digamos que uma partícula esteja em:
A chance de que ele colapse para um estado particular é igual ao quadrado da
amplitude correspondente. Acontece que este método modela muito bem os
resultados experimentais. Em nosso exemplo, a chance de medir a partícula no
spin ascendente é, portanto, 1/2.

Há uma regra óbvia que precisamos seguir. As probabilidades de medir todos os


estados possíveis somam 1 (⟨ψ | ψ⟩ = 1). Para reforçar isso, nós fazemos

Podemos visualizar a superposição como um ponto situado na superfície de uma


esfera unitária. O giro para cima e para baixo é apenas o polo norte e sul da
esfera, respectivamente. Então, o ponto vermelho abaixo é outro exemplo de um
estado de superposição. Quando é medido, a natureza o força a tomar um lado para
cima ou para baixo.
4-Como trabalha um computador quântico
Um computador clássico com três bits de memória pode apenas armazenar dois
estados lógicos (uns ou zeros). Num determinado momento, pode conter os bits
"000" ou "001" ou "010" ou "011" ou "100" ou "101" ou "110" ou "111". Um
computador quântico pode atualmente armazenar 16 valores analógicos em pares
para formar 8 números complexos. Em um dado instante, ele poderia conter isto:
Estado Amplitude Probabilidade
* (a+ib) (a²+b²)
000 0.37 + i 0.04 0.14
001 0.11 + i 0.18 0.04
010 0.09 + i 0.31 0.10
011 0.30 + i 0.30 0.18
100 0.35 + i 0.43 0.31
101 0.40 + i 0.01 0.16
110 0.09 + i 0.12 0.02
111 0.15 + i 0.16 0.05

Se existissem n qubits, então esta tabela teria 2n linhas. Para um n nas


centenas, isso seriam mais linhas do que os átomos conhecidos no universo.
A primeira coluna mostra todos os estados possíveis para os três bits. Um
computador clássico apenas suporta um destes padrões de cada vez. Um computador
quântico pode colocar-se na superposição de assumir os 8 estados
simultaneamente. A segunda coluna mostra a "amplitude" para cada um dos 8
estados. Estes 8 números complexos são uma imagem dos conteúdos de um
computador quântico num determinado momento. Durante a computação, estes 8
números irão modificar e interagir uns com os outros. Neste sentido, um
computador quântico de 3-qubit tem muito mais memória do que um computador
clássico de 3-bit.
No entanto, não existe nenhuma forma de ver diretamente estes 8 números. Quando
o algoritmo é terminado, é feita uma única medida. A medida fornece uma simples
linha de 3-bit, e elimina todos os 8 números complexos. A linha fornecida é
gerada aleatoriamente.
A terceira coluna da tabela calcula a probabilidade de cada linha possível.
Neste exemplo, há uma probabilidade de 14% de que a linha fornecida seja "000",
uma de 4% de que seja "001", e assim por diante. Cada probabilidade é
encontrada com a execução do quadrado do módulo do número complexo (ou a
multiplicação do complexo pelo seu conjugado - dá no mesmo). O quadrado do
módulo de (a+ib) é (a²+b²). As 8 probabilidades somam até 1.
Geralmente, um algoritmo num computador quântico irá dar início a todos os
números complexos de modo a se equivalerem a valores, por isso todos os estados
terão probabilidades equivalentes. A lista de números complexos pode ser vista
como um vector de 8 elementos. Em cada passo do algoritmo, esse vector é
modificado ao multiplicá-lo por uma matriz. A matriz advém da física da própria
máquina, e será sempre invertível, e irá garantir que as probabilidades
continuem a somar até 1 (ou seja, a matriz será sempre ortogonal).
O algoritmo para o computador quântico consiste em escolher as transformações
unitárias de modo que todas as probabilidades tendam a 0 exceto uma. Essa
probabilidade é a que corresponde à linha que é a resposta correta. Então,
quando as medidas são feitas, essa resposta é a mais provável de ser retornada.
Para um dado algoritmo, as operações serão sempre feitas na mesma ordem. Não
existe regras "SE ENTÃO" para variar a ordem, já que não há modo de ler a
memória antes da medição no final.
5-Estrutura de um Algoritmo Quântico
• Algoritmo probabilístico vs.quântico
Na computação clássica, uma medida é realizada a cada transição de
estado para que se possa calcular a distribuição de probabilidades da
próxima transição.

Na computação quântica, a medida é realizada apenas no final de todo o


processo.
Portanto, a estrutura geral de um algoritmo quântico é:

- Preparar a entrada em um estado clássico;

- Construir uma superposição dos estados clássicos;

- Aplicar as operações unitárias em seqüência;

- Medir o resultado.
6-Critérios de DiVincenzo
Quais são os requisitos mais fundamentais para projetar um computador
quântico? DiVincenzo listou cinco critérios principais:

1. Um sistema físico escalável com qubits bem caracterizados.


2. A capacidade de inicializar o estado dos qubits para um estado fiducial
simples, como | 000… 0⟩.
3. Tempos de decoerência longos e relevantes, muito mais longos que o tempo de
operação do portão.
4. Um conjunto "universal" de portais quânticos.
5. Uma capacidade de medição específica do qubit.

O Critério 1 requer a seleção de dois estados quânticos para serem usados como |
0⟩ e | 1⟩ - as bases computacionais de um qubit:

E podemos compor qubits para formar um sistema composto, como


O critério 2 requer a inicialização de qubits para um estado bem definido de
forma confiável, geralmente | 000… 0⟩.

O critério 3 aborda a decoerência, que é um grande problema em computadores


quânticos. Qubit é muito delicado. Ruído, calor, flutuação eletromagnética,
vibração ou rotação de partículas do ambiente ao redor ou a linha de controle
corrompem as informações de um qubit. Depois de apertar o botão de execução, as
informações quânticas começam a degradar. Você não pode pausar o programa e
fazer uma pausa.

O critério 4 requer que construamos um conjunto de operações para manipular os


qubits. Está provado que isso pode ser feito com um conjunto de portões
quânticos universais compostos de portões unitários de um e de dois
bits. Ironicamente, os critérios 3 e 4 podem estar em conflito. Se um qubit não
puder ser perturbado facilmente, pode ser difícil controlá-lo. Portanto, longos
tempos de decoerência geralmente levam a um tempo maior de operação do portão.

O critério 5 simplesmente exige que façamos medições com precisão. Isso é


quantificado pelo erro de leitura.
Manipulação Qubits por portões quânticos
Uma superposição pode ser escrita como:

Portanto, a computação quântica pode ser visualizada na esfera de Bloch como


manipulando θ e Φ do vetor de estado e fazendo medições.
7-Algoritmo quântico
Então, qual é o fluxo geral de um algoritmo quântico? Primeiro, preparamos a
superposição. Então codificamos a informação do problema na superposição e a
manipulamos em um espaço dimensional alto. Finalmente, aplicamos interferência
para consolidar a superposição em menos resultados.

Por exemplo, podemos preparar três qubits para representar uniformemente toda a
base computacional possível.
Além disso, codificamos a informação do problema na superposição e a
manipulamos. Então fazemos medições. O diagrama a seguir contém 1000 execuções
para o Algoritmo Deutsch-Jozsa e exibe a chance de medir os qubits com um valor
específico.

Sem entrar nos detalhes, a função que queremos investigar tem a medida mais
comum | 00⟩.

Então, vamos estudar alguns portais quânticos.


8-Programação com Portas Quânticas
A computação quântica usa um paradigma diferente em programas de escrita. Neste
capítulo descrevemos as portas quânticas - as unidades básicas para programação
quântica.

O diagrama acima é um somador de bit único em um computador clássico. É


uma adição bit a + b com o carry c .

Na computação quântica, aplicamos as portas quânticas U para manipular uma


superposição (qubits).
O paradigma de programação para computação quântica é semelhante a um circuito
clássico. Um programa pode ser escrito como um diagrama com uma seqüência de
portas quânticas (um circuito quântico).

Na computação clássica, o número de entrada e saída pode ser diferente. Isso é


proibido na computação quântica. Para que os operadores sejam reversíveis em
ambas as direções, nenhuma informação pode ser perdida. Não podemos implementar
um operador quântico em um computador quântico se a operação não for
reversível. Portanto, tanto a entrada quanto a saída devem ter o mesmo número de
qubits. Seguindo lógica semelhante, os qubits não se ramificam ou se
mesclam. Não temos as instruções bem if-then-else ou while. É por isso que as
coisas podem complicar-se enquanto parece óbvio para a computação clássica.
Portão de Hadamard
Um dos portões quânticos mais comuns é o Portão de Hadamard.

Se aplicarmos o portão novamente, o qubit será restaurado para seu valor


original.

Então o portão de Hadamard é mais do que preparar uma superposição. Pode ser
usado para consolidar a superposição também.
Para um N sistema -qubit, podemos aplicar n portão de Hadamard em paralelo para
produzir uma sobreposição uniformemente distribuída.

Aqui está a equação correspondente para a superposição:


9-Paralelismo quântico
O poder do paralelismo quântico pode ser resumido na seguinte matriz. Aplicamos
uma operação unitária para manipular qubit (s) em uma única etapa (na prática,
etapas polinomiais).

Como o número de componentes na base computacional aumenta exponencialmente com


o número de qubits, o paralelismo quântico oferece a possibilidade de
calcular f (x) com todos os valores válidos de x simultaneamente.
Infelizmente, existem alguns problemas importantes que limitam os tipos de
problemas que podemos aproveitar. Seu sucesso depende de:

• Podemos preparar o estado de superposição em tempo polinomial?


• Podemos consolidar as superposições para que possamos medi-las em tempo
polinomial também?
• Podemos encontrar os operadores unitários para fazer isso?

Um algoritmo quântico pode ser composto de três etapas antes de fazer uma
medição.
Prepare e consolide a superposição

Primeiro, preparamos uma superposição para que possamos aproveitar o paralelismo


quântico. Uma vez em um espaço dimensional alto, criamos muito espaço para
manipulações. Então, consolidamos a superposição antes da medição. Vamos entrar
em mais detalhes.

A maneira mais comum e eficaz de preparar a superposição é o portão de


Hadamard. Por exemplo, nós aplicamos n portas de Hadamard em paralelo para
preparar n qubits em uma única etapa:

O exemplo abaixo tem n = 3 e a superposição se torna:


Em seguida, precisamos refinar a superposição de modo que os coeficientes na
superposição sejam carregados com números que precisamos para resolver o
problema. Para demonstrar a supremacia quântica, queremos fazê-lo em tempo
polinomial para esses números exponenciais de coeficientes.

Este é o primeiro grande desafio e muitas vezes não é possível. Um desafio bem
sucedido é o algoritmo de Shor, que resolve o problema de fatoração primária em
tempo polinomial e, mais importante, hackeia a criptografia RSA.

De fato, os algoritmos quânticos anteriores ao algoritmo de Shor são geralmente


considerados como experimentos de brinquedo. Depois do algoritmo de Shor, atraem
investimentos além do acadêmico. Mas lembre-se, muitos problemas não podem
encontrar tal quebra. Não é assim tão simples desenvolver algoritmos com um
aumento exponencial de sua contraparte clássica.
Medições
Na computação clássica, os resultados são armazenados em variáveis e o
computador apenas as lê. Como recuperamos informações de circuitos
quânticos? Lembre-se que a natureza não fornece meios para acessar diretamente a
amplitude (coeficiente) da superposição. Em vez disso, fazemos medições e
obtemos a resposta dos estados medidos. Vamos dar uma olhada em algumas
possibilidades simples.

Digamos que o resultado calculado deva ser o valor 010. Uma possibilidade é que
o algoritmo empurre a amplitude α2 para a base de cálculo | 010⟩ maior. Então,
repetindo o cálculo muitas vezes, o valor de qubit mais medido será a
resposta. Ou seja, 010. Assim, o algoritmo precisa aumentar a amplitude de |
010⟩, caso contrário, temos que repetir o cálculo e o número de vezes
exponencial de medição apenas para ter certeza de quais são as medidas mais
prováveis.
Em outras palavras, precisamos consolidar a superposição. Depois de empurrar a
amplitude da nossa resposta muito maior, podemos encontrar a resposta, repetindo
o cálculo 1000 vezes apenas. É claro que, se estivermos com azar, nossas
medições ainda podem estar erradas. Mas podemos sempre verificar a resposta
depois. Para muitos problemas, encontrar uma solução é difícil, mas verificar
uma solução é muito mais fácil (isto é, os caracteres dos problemas de NP).

Na teoria da complexidade computacional, o tempo polinomial quântico de erro


limitado ( BQP ) é definido como a classe de problemas que a computação quântica
resolve em tempo polinomial com uma possibilidade de menos de 1/3 que a resposta
está errada em cada execução. Esta é a classe de algoritmos que os computadores
quânticos querem resolver.
Bibliografia:
- QC — Quantum Computing Series, Jonathan Hui – revista Medium

- Computación y Criptografía Cuántica - Dra. Alfonsa García,


Dr. Francisco García y Dr. Jesús García, del Grupo de
Innovación Educativa GIEMATIC de la Universidad Politécnicade
Madrid, España.

Computação Quântica e Informação Quântica - Michael


A. Nielsen & Isaac L. Chuang
Dúvidas?
Perguntas?
Sugestões?

Você também pode gostar