En computación reversible , los bits ancillares son bits adicionales que se utilizan para implementar operaciones lógicas irreversibles. En computación clásica , cualquier bit de memoria se puede activar o desactivar a voluntad, sin requerir conocimiento previo o complejidad adicional. Sin embargo, este no es el caso en computación cuántica o computación reversible clásica. En estos modelos de computación , todas las operaciones en la memoria de la computadora deben ser reversibles, y activar o desactivar un bit perdería la información sobre el valor inicial de ese bit. Por esta razón, en un algoritmo cuántico no hay forma de colocar de manera determinista los bits en un estado específico prescrito a menos que se le dé acceso a bits cuyo estado original se conoce de antemano. Dichos bits, cuyos valores se conocen a priori , se conocen como bits ancillares en una tarea de computación cuántica o reversible .
Un uso trivial de los bits ancillares es la degradación de puertas cuánticas complicadas a puertas simples. Por ejemplo, al colocar controles en los bits ancillares, una puerta Toffoli se puede utilizar como una puerta NOT controlada o una puerta NOT . [1] : 29
Para el cálculo reversible clásico se sabe que un número constante O(1) de bits auxiliares es necesario y suficiente para el cálculo universal. [2] No son necesarios bits auxiliares adicionales, pero el espacio de trabajo adicional puede permitir construcciones de circuitos más simples que utilicen menos puertas. [1] : 131
El concepto de bit ancillar se puede extender a la computación cuántica en términos de qubits ancillares , que se pueden utilizar, por ejemplo, en la corrección de errores cuánticos . [3] Un ejemplo notable del uso de qubits ancillares en la computación cuántica es el algoritmo Deutsch–Jozsa .
La catálisis cuántica utiliza qubits ancillares para almacenar estados entrelazados que permiten realizar tareas que normalmente no serían posibles con operaciones locales y comunicación clásica (LOCC). [4]