60 likes | 234 Views
Reversible Computation. Computational Group Theory and Circuit Synthesis. Reversible Functions are Permutations. A reversible function on n bits (which must have n output bits) can be seen as a permutation in S N , N=2 n .
E N D
Reversible Computation Computational Group Theory and Circuit Synthesis
Reversible Functions are Permutations • A reversible function on n bits (which must have n output bits) can be seen as a permutation in SN , N=2n. For example, the “controlled not” operation on 2 bits is either the permutation (13) or (23) depending on which bit is the control. The “swap” operation on 2 bits is the permutation (12).
Permutation Kronecker Products • The Kronecker Product of two permutations a,b is defined as the permutation corresponding to the Kronecker Product of the matrices of a and b. • Consider a 2 bit gate given by the permutation p in S4. Now suppose one wants the permutation in S16 that it would effect if placed on the 2nd and 3rd bits in a reversible circuit of 4 bits. • To find it, one simply takes the Kronecker Product i # p # i (where i is the identity in S2)
“wire permutations” • One may apply a gate on any combination of wires. • In group theoretic terms, this is equivalent to stating that one may “conjugate” a gate by any permutation of wires.
Reversible Circuit Synthesis • Using permutation Kronecker products and conjugation by wire permutations, one may easily construct the set of group elements corresponding to a given set of gates • This allows the use of tools from computational group theory algorithms for reversible circuit synthesis
Some Immediate Observations • Taking the tensor product of a transposition with the identity in S2 gives a permutation that is the product of 2 disjoint transpositions. • Therefore, no set of gates which each operate on only n-1 bits will suffice to synthesize every reversible function on n bits • However, adding a “work bit” alleviates this problem.