IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems · 1996 · 15 citations · 19 references
ComputingComputer ScienceAlgorithmsComputer ArchitectureTheory Of ComputationBoolean AlgebraBoolean OperationsCircuit ComplexityCommunication ComplexityComputational ComplexityEquivalence CheckingBoolean EquationsBoolean Function EquivalenceBoolean MatchingCircuit Equivalence CheckingCommunication Complexity Of Boolean FunctionsComplexity Of Boolean FunctionsPermutationsStructural Equivalence
Boolean matching is to check the equivalence of two functions under input permutation and input/output phase assignment. A straightforward implementation takes time complexity O(n!2/sup n/2), where n is the number of variables. Various signatures of variables were used to prune impossible permutations by many researchers. In this paper, based on communication complexity, we also propose two signatures, cofactor and equivalence signatures, which are general forms of many existing signatures. These signatures are used to develop an efficient Boolean matching algorithm which is based on checking structural equivalence of OBDD's. Experimental results on a set of benchmarks show that our algorithm is indeed very effective in solving Boolean matching problem.
19
Graph-Based Algorithms for Boolean Function Manipulation
Bryant · IEEE Transactions on Computers · 1986 · 8.9K citations · Full text