- Fredkin gate
The Fredkin gate is computational circuit suitable for
reversible computing , invented byEd Fredkin . It is "universal", which means that any logical or arithmetic operation can be constructed entirely of Fredkin gates.The basic Fredkin gate is a "controlled swap gate" that maps three inputs ("C", "I"1, "I"2) onto three outputs ("C", "O"1, "O"2). The "C" input is mapped directly to the "C" output. If "C" = 0, no swap is performed; "I"1 maps to "O"1, and "I"2 maps to "O"2. Otherwise, the two outputs are swapped so that "I"1 maps to "O"2, and "I"2 maps to "O"1. It is easy to see that this circuit is reversible, i.e., "undoes itself" when run backwards. A generalized "n"×"n" Fredkin gate passes its first "n"-2 inputs unchanged to the corresponding outputs, and swaps its last two outputs if and only if the first "n"-2 inputs are all 1.
The Fredkin gate is the reversible 3-bit gate that swaps the last two bits if the first bit is 1. Its
truth table is shown to the right.It has the useful property that the numbers of 0s and 1s are conserved throughout, which in the billiard ball model means the same number of balls are output as input. This corresponds nicely to the
conservation of mass in physics, and helps to show that the model is not wasteful.Logic function with XOR and AND gates
"O"1 = "I"1 XOR "S"
"O"2 = "I"2 XOR "S"
with "S" = ("I"1 XOR "I"2) AND "C"
Example
Here is a diagram of a 3-bit adder implemented using Fredkin gates. The three inputs are A, B and C, supplemented by the constant T and F. In the diagram, the leftmost input (before the colon) swaps the two rightmost inputs if it is true.
See also
*
Toffoli Gate , which is a "controlled-controlled-NOT gate".
Wikimedia Foundation. 2010.