Reversible Computation Computational Group Theory and Circuit Synthesis.
Published byModified over 4 years ago
Presentation on theme: "Reversible Computation Computational Group Theory and Circuit Synthesis."— Presentation transcript:
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. 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 S 4. Now suppose one wants the permutation in S 16 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 S 2 )
“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 S 2 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.