Universalidade do portão de Toffoli


20

Em relação ao portão quântico de Toffoli :

  1. é clássico universal, e se sim, por que?
  2. é quantumly universal e por quê?

Na lógica não quântica, você mostra que outro conjunto de operadores booleanos conhecidos por serem universais pode ser simulado pelo conjunto em questão. Não sei se é o mesmo no mundo quântico, mas acho que sim.
Raphael

8
Na lógica quântica, o portão de Toffoli não é universal, porque você só pode fazer cálculos clássicos com ele. Você também precisa de alguma porta quântica que, se a entrada estiver em um estado base, coloque a saída em uma superposição de estados base.
precisa

Sei que a pergunta pode ser confusa, talvez deva ser editada para fazer a diferença entre universalidade no mundo quântico / clássico.
Ran G.

Eu editei minha resposta para cobrir o caso quântico. O que você pensa agora?
Victor Stafusa 14/03

1
@Tocou. Devemos mostrar o caminho para futuras perguntas, esta questão está marcada como dever de casa, mas parece que você não explica por que não conseguiu resolvê-lo (e onde está o problema). Eu acho que não é uma boa pergunta para o beta privado (veja a meta discussão ). Eu voto para encerrar esta questão.
Gopi

Respostas:


13

Toffoli é universal para computação clássica (como mostrado por @Victor). No entanto, Toffoli NÃO é universal para computação quântica (a menos que tenhamos algo louco como ).P=BQP

Para ser universal para a computação quântica (sob a definição usual), o grupo gerado por seus portões deve ser denso nos unitários. Em outras palavras, dado um arbitrário e unitário de destino, há alguma maneira de aplicar um número finito de vocês portas quânticas para obter um unitário tal que .U U | | U - U ' | | < ϵϵUU||UU||<ϵ

Toffoli, por si só, claramente não é universal sob essa definição, pois sempre leva estados base a estados base e, portanto, não pode implementar algo que requer por exemplo. Em outras palavras, ele não pode criar superposição.|012(|0+|1)


10

No artigo da wikipedia que você citou :

O portão de Toffoli é universal; isto significa que, para qualquer função booleana f (x1, x2, ..., xm), existe um circuito que consiste em portões de Toffoli que recebem x1, x2, ..., xm e alguns bits extras configurados como 0 ou 1 e emitem x1, x2, ..., xm, f (x1, x2, ..., xm) e alguns bits extras (chamados de lixo). Essencialmente, isso significa que é possível usar os portões de Toffoli para construir sistemas que executam qualquer cálculo de função booleana desejado de maneira reversível.

O que significa em termos simples que qualquer função booleana pode ser construída apenas com portões de Toffoli.

As funções booleanas são tipicamente construídas a partir das portas OR, AND e NOT, que podem ser combinadas para formar qualquer função booleana. É do conhecimento geral que o mesmo é possível apenas com portões NOR ou apenas com portões NAND.

O portão de Toffoli pode ser resumido como:

Toffoli(a,b,c)={(a,b,¬c)when a=b=1(a,b,c)otherwise.

Como a primeira e a segunda saídas são sempre iguais às primeira e segunda entradas, podemos desconsiderá-las. Então nós temos:

Toffoli(a,b,c)={¬cwhen a=b=1cotherwise.

Com isso, é possível definir o portão NAND como:

NAND(a,b)=Toffoli(a,b,1)

Como o portão NAND é universal e o portão NAND pode ser definido como um portão Toffoli, então o portão Toffoli é universal.

Há outra maneira de provar que Toffoli é universal, construindo diretamente os portões AND e NOT:

NOT(x)=Toffoli(1,1,x)

AND(a,b)=Toffoli(a,b,0)

Em seguida, podemos construir o portão OR usando as leis de De Morgan :

OR(a,b)=NOT(AND(NOT(a),NOT(b))=Toffoli(1,1,Toffoli(Toffoli(1,1,a),Toffoli(1,1,b),0))


EDIT, desde que a pergunta foi editada e seu escopo alterado:

Primeiro, eu não entendo computação quântica, portanto, se houver algo errado, adicione um comentário. Eu fiz uma pequena pesquisa para tentar completar esta resposta e terminei com isso:

O portão de Toffoli é reversível (mas o Toffoli 'usado acima não é). Isso significa que qualquer cálculo feito com ele pode ser desfeito. Isto é:

(a,b,c)=Toffoli(Toffoli(a,b,c))

O que significa que, para qualquer triplo (a, b, c), se o Toffoli for aplicado duas vezes, a entrada original será obtida como saída.

A reversibilidade é importante porque os portões quânticos devem ser reversíveis; portanto, o portão (clássico) de Toffoli pode ser usado como portão quântico devido a isso.

Como demonstrado aqui , o portão Deutsch é definido de maneira semelhante ao portão Toffoli, mas, em vez de um portão clássico, é quântico:

Deutsch(a,b,c)=|a,b,c{icos(θ)|a,b,c+sin(θ)|a,b,1cfor a=b=1|a,b,cotherwise.

Dessa maneira, o portão de Toffoli é um caso particular do portão da Alemanha, onde:

Toffoli(a,b,c)=Deutsch(π2)(a,b,c)

O portão de Toffoli faz computação clássica, falta uma operação de mudança de fase, isso significaria que o portão de Toffoli pode ser usado apenas para mudanças de fase de 90 graus ( ) (e combinando vários portões, para obter múltiplos de 90 graus). Mas isso também significa que ele não pode ser usado para criar sobreposições de estado, porque isso exigiria mudanças de fase em ângulos que não sejam múltiplos de 90 graus; portanto, o portão de Toffoli não é um portão quântico universal.π2

Um conjunto quântico universal de Tgate pode ser obtido se combinarmos o portão de Toffoli com o portão de Hadamard. É exatamente isso que o portão Deutsch faz.

Referências interessantes podem ser encontradas aqui , aqui e aqui . Uma possível referência valiosa, mostrando os fundamentos da transformação Deutsch, deve estar aqui , no entanto, o link é protegido por senha.


Toffolli não é universal para computação quântica, nem CNOT por si só. Isso é fácil de ver, pois eles não podem criar superposição.
Artem Kaznatcheev 14/03/12

A parte clássica da sua resposta é ótima, não tenho certeza se as partes quânticas fazem tanto sentido. Não há necessidade de argumentar que o portão de Toffoli é reversível, uma vez que é um portão quântico válido e, portanto, por definição, reversível. Quanto ao Edit2: esse artigo diz que Hadamard, Toffoli é um conjunto universal, mas acho que não diz que Toffoli é q-universal por si só (ou perdi alguma coisa?)}{}
Ran G.

Sua referência no EDIT 2 está errada. Esse artigo afirma claramente que Toffoli + Hadamard é universal, e não Toffoli por si só #
Artem Kaznatcheev 14/03/12

@ArtemKaznatcheev: O artigo diz "Toffoli e Hadamard". Então eu pensei que isso significava "Toffoli é um exemplo e Hadamart é outro". De qualquer forma, está claro agora.
Victor Stafusa

Eu editei, deve ficar bem agora.
Victor Stafusa
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.