Como adiciono 1 + 1 usando um computador quântico?


29

Isso pode ser visto como um complemento de software para Como um computador quântico faz matemática básica no nível do hardware?

A pergunta foi feita por um membro da platéia da 4ª rede da Rede Espanhola de Informação Quântica e Tecnologias Quânticas . O contexto que a pessoa deu foi: " Sou um cientista de materiais. Você está introduzindo conceitos teóricos sofisticados avançados, mas tenho dificuldade em imaginar a operação prática de um computador quântico para uma tarefa simples. Se eu estivesse usando diodos, transistores, etc., poderia facilmente descobrir as operações clássicas que preciso executar para adicionar 1 + 1. Como você faria isso, em detalhes, em um computador quântico? ".

Respostas:


21

De acordo com a pergunta vinculada, a solução mais simples é conseguir que o processador clássico execute essas operações, se possível . Obviamente, isso pode não ser possível, então queremos criar um somador .

Existem dois tipos de somador de um bit - o meio e o total . A meia-adicionador leva as entradas e e gera a 'soma' (operação XOR) e o 'carry' (E operação) . Um somador completo também tem o 'carregar em' de entrada e o 'efectuar' a saída , substituindo . Isso retorna e .B S = A B C = A B C i n C o u t C S = A B C i n C o u t = C i n( A + B ) + A BUMABS=UMABC=UMABCEunCovocêtCS=UMABCEunCovocêt=CEun(UMA+B)+UMAB


Versão quântica do semi-somador

Observando o portão CNOT no registro qubit registro de controle : que dá imediatamente a saída do registo como . No entanto, ainda temos que computar o carry e o estado doB CNOT A B | 0 A | 0 BUMAB BUmaB=SBAB(C)| 0UmB=CABCABBC

CNOTUMAB|0 0UMA|0 0B=|0 0UMA|0 0BCNOTUMAB|0 0UMA|1B=|0 0UMA|1BCNOTUMAB|1UMA|0 0B=|1UMA|1BCNOTUMAB|1UMA|1B=|1UMA|0 0B,
BAB=SBO registro mudou, então também precisamos executar a operação AND. Isso pode ser feito usando a porta Toffoli de 3 qubit (CNOT / CCNOT controlado). Isso pode ser feito usando registros e como registros de controle e inicializar o terceiro registo no estado , dando a saída do terceiro registo como . A implementação de Toffoli nos registradores e controlam o registro seguido de CNOT com controla fornece a saída do registro como a soma e a saída do registroAB(C)|0AB=CABCABBCcomo o transporte. Um diagrama de circuito quântico do semi-somador é mostrado na figura 1.

Diagrama de circuito de um semi-somador

Figura 1: Diagrama do circuito de um semi-somador, consistindo de Toffoli seguido de CNOT. Os bits de entrada são e , dando a soma com transportar para fora .B S CABSC


Versão quântica do somador completo

Mostrado na figura 2, uma maneira simples de fazer isso para bits únicos é usando registros de qubit, aqui rotulados como , , e , onde começa no estado , portanto, o inicial estado é :A B C i n 1 1 | 0 | A | B | C i n | 0 4ABCin11|0|A|B|Cin|0

  1. Aplique Toffoli usando e para controlar :B 1 | A | B | C i n | Um B AB1|A|B|Cin|AB
  2. CNOT com controlando :B | A | A B | C i n | Um B AB|A|AB|Cin|AB
  3. Toffoli com e controlando :C i n 1 | A | A B | C i n| Um B ( Um B )C i N = C o u tBCin1|A|AB|Cin|AB(AB)Cin=Cout
  4. CNOT com controlando :C i n | A | A B | Um B C i n = S | C O u tBCin|A|AB|ABCin=S|Cout

Uma etapa final para recuperar as entradas e é aplicar um CNOT com o registro controla o registro , fornecendo o estado final de saída comoABUMAB

|ψout=|UMA|B|S|Covocêt

Isso fornece a saída do registro como a soma e a saída do registro como executada.CEun2

Versão quântica do somador completo

Figura 2: Diagrama do circuito de um somador completo. Os bits de entrada são e junto com um carry , fornecendo a soma com o carry .UMABCEunSCovocêt


Versão quântica do somador de transporte de ondulação

Uma extensão simples do adicionador completo é um transportador de ondulação, denominado como 'ondula' o transporte para se tornar o transporte do próximo adicionador em uma série de adicionadores, permitindo somas de tamanho arbitrário (se lento). Uma versão quântica de um somador pode ser encontrada, por exemplo, aqui


Implementação real de um meio adicionador

Para muitos sistemas, implementar um portão Toffoli está longe de ser tão simples quanto implementar um único portão de qubit (ou mesmo dois qubit). Essa resposta fornece uma maneira de decompor Toffoli em vários portões menores. No entanto, em sistemas reais, como IBMQX , também pode haver problemas nos quais os qubits podem ser usados ​​como destinos. Assim, uma implementação da vida real no IBMQX2 se parece com isso: Semi-somador de qubit único no IBMQX2

Figura 3: Implementação de um meio adicionador no IBMQX2. Além de decompor o portão de Toffoli em vários portões menores, são necessários portões adicionais, pois nem todos os registros de qubit podem ser usados ​​como alvos. Os registros q [0] e q [1] são adicionados para obter a soma em q [1] e o carry em q [2]. Nesse caso, o resultado q [2] q [1] deve ser 10. A execução no processador deu o resultado correto com uma probabilidade de 42,8% (embora ainda fosse o resultado mais provável).


Existem adicionadores de computadores quânticos?
31418 John Duffield

@JohnDuffield Eu não tenho certeza se você quer dizer somadores quânticos aproximados (estado) ( somadores de estados exatos são aparentemente proibidos) ou implementações de somadores 'clássicos' em um computador quântico - ainda não testei esse código em particular - ou algo diferente ?
Mithrandir24601

Como os números são representados? Está em binário?
user3483902

@ user3483902 Nesse caso, os bits simples e usando os estados e - ou seja, o 'número' pode ser ou , assim como o 'número ' etc.0 01|0 0|1UMA0 01B
Mithrandir24601

@ Mithrandir24601: isso importa? A resposta não é nos dois casos? Na verdade, eu mesmo construí um somador paralelo. Eu tenho um diploma de Cmputer Science.
precisa

6

`` Se eu estivesse usando diodos, transistores etc., poderia facilmente descobrir as operações clássicas que preciso executar para adicionar 1 + 1. Como você faria isso, em detalhes, em um computador quântico? ''

Impressionante! Suspeito que a maioria das pessoas não consiga descobrir com facilidade como combinar diodos e transistores para implementar um anúncio clássico de dois bits (embora eu não duvide que esse cientista material provavelmente possa fazê-lo). ;)

Teoricamente, a maneira como você implementa um somador clássico é bastante semelhante em um computador clássico e quântico: você pode fazer isso nos dois casos, implementando uma porta Toffoli ! (Veja a resposta de @ Mithrandir24601.)

Mas o cientista do material provavelmente quer entender como implementar esse portão (ou uma sequência de equivalências de outros portões quânticos) em um dispositivo físico. Provavelmente, existem várias maneiras de fazer isso usando diferentes tecnologias quânticas, mas aqui estão duas realizações diretas dessa porta, usando íons presos e qubits supercondutores:

  1. Realização da porta quântica de Toffoli com íons presos, T. Monz, K. Kim, W. Hänsel, M. Riebe, AS Villar, P. Schindler, M. Chwalla, M. Hennrich e R. Blatt, Phys. Rev. Lett. 102 , 040501, arXiv: 0804.0082 .
  2. Implementação de um portão de Toffoli com circuitos supercondutores A. Fedorov, L. Steffen, M. Baur, MP da Silva e A. Wallraff Nature 481 , 170-172, arXiv: 1108.3966 .

Você também pode decompor o portão de Toffoli como uma sequência de portas de um qubit e CNOT. https://media.nature.com/lw926/nature-assets/srep/2016/160802/srep30600/images/srep30600-f5.jpginsira a descrição da imagem aqui Você pode ler sobre como implementá-las com fotônica, QED de cavidade e íons presos na Nielsen e Chuang .


Para divulgação, eu não era o cientista de materiais, mas, como a discussão interminável ainda era insatisfatória e em termos abstratos, eu era a pessoa que entendia o que estava pedindo, pesquisei por ele e mostrei a ele uma resposta mínima, mas satisfatória (uma semi-somador em quantiki) em termos de portas quânticas.
Agaitaarino 11/0418

5

Um novo método para calcular somas em um computador quântico é introduzido. Essa técnica usa a transformação quântica de Fourier e reduz o número de qubits necessários para adição, removendo a necessidade de bits de transporte temporários.

Link em PDF para 'adição em um computador quântico' , escrito por Thomas G. Draper, escrito em 1 de setembro de 1998, revisado: 15 de junho de 2000.

Para resumir o link acima, a adição é realizada de acordo com o seguinte diagrama de circuitos (retirado da página 6):

insira a descrição da imagem aqui

Para citar o artigo (novamente, página 6):

A adição quântica é realizada usando uma sequência de rotações condicionais que são mutuamente comutativas. A estrutura é muito semelhante à transformada quântica de Fourier, mas as rotações são condicionadas em bits externos.n


1

Cálculo paralelo da soma de dois qubits

Eu queria experimentar o cálculo paralelo da soma de dois qubits, uma superposição de 0 e "1 com fase -1 " adicionado a 1; e fui inspirado pela resposta de Mithrandir24601. Os resultados estão abaixo. Espero que minha resposta esteja dentro do contexto do que foi solicitado. Ele mostra como 1 é adicionado 1 e a 0 ao mesmo tempo, mas enquanto as duas respostas são calculadas, podemos ler a resposta para apenas um dos cálculos cada vez que a computação é executada. Você pode ver que das 1000 execuções, 417 vezes lemos a resposta "1" (1 = 0 + 1) e 380 vezes e lemos a resposta "2" (2 = 1 + 1).

(34 vezes não conseguimos nada quando o 1 bit foi inutilizado, 54 vezes obtivemos 0 = 0 + 1, 29 vezes obtivemos 1 = 1 + 1, 28 vezes obtivemos 2 = 0 + 1, 42 vezes obtivemos 3 = 0 + 1, e 16 vezes obtivemos 3 = 1 + 1; cada um desses erros surgiu sem dúvida de inversões de bits, inversões de fase ou ambas). insira a descrição da imagem aqui

π

Uma superposição de 0 e "1 com fase -1 " em um registro de um qubit é adicionada a 1 em um registro de dois qubit. Com três qubits, os dois primeiros da esquerda para a direita são a soma (ou o terceiro e o quarto de 5) e o qubit mais à direita mostra se o estado fundamental (tratado como 0) foi adicionado ou o estado excitado (1 com um valor inicial). fase de -1) foi adicionada.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.