Bits ancilla
Em computação reversível, os bits ancilla são bits extras usados para implementar operações lógicas irreversíveis. Na computação clássica, qualquer bit de memória pode ser ligado ou desligado a qualquer momento, sem exigir conhecimento prévio ou complexidade extra. No entanto, isso não é o caso na computação quântica ou na computação clássica reversível. Nessas modelos de computação, todas as operações na memória do computador devem ser reversíveis, e alternar um bit ligado ou desligado perderia a informação sobre o valor inicial desse bit. Por essa razão, em um algoritmo quântico não há como colocar bits de forma determinística em um estado prescrito específico, a menos que se tenha acesso a bits cujo estado original seja conhecido antecipadamente. Tais bits, cujos valores são conhecidos a priori, são conhecidos como bits ancilla em uma tarefa de computação quântica ou reversível.
A utilização trivial dos bits ancilla é reduzir portões quânticos complicados em portões simples. Por exemplo, ao colocar controles nos bits ancilla, um Portão Toffoli pode ser usado como um portão NOT controlado ou um portão NOT.[1]
Para a computação reversível clássica, sabe-se que um número constante O(1) de bits ancilla é necessário e suficiente para a computação universal.[2] Bits ancilla adicionais não são necessários, mas o espaço de trabalho extra pode permitir construções de circuitos mais simples que utilizam menos portões.[1]
Referências
- ↑ a b Nielsen, Michael A.; Chuang, Isaac L. (2010). Quantum Computation and Quantum Information 2nd ed. Cambridge: Cambridge University Press. ISBN 978-1-107-00217-3
- ↑ Aaronson, Scott; Grier, Daniel; Schaeffer, Luke (2015). «The Classification of Reversible Bit Operations». arXiv:1504.05155 [quant-ph]