A Deterministic Algorithm for Testing the Equivalence of Read-Once Branching Programs with Small Discrepancy
The problem to test the equivalence of two given read-once branching programs is a well-known problem in the class BPP that is not known to be solvable in deterministic polynomial time. The standard probabilistic algorithm to solve the problem reduces it to an instance of Polynomial Identity Testing and then applies the Schwartz-Zippel Lemma to test the equivalence. This method needs \(O(n\log n)\) random bits, where n is the number of variables in the branching programs. We provide a new method for testing the equivalence of read-once branching programs that uses \(O(\log n +\log |D|)\) random bits, where D is the set of assignments for which the two branching programs compute different results. This means O(n) random bits in the worst case and a deterministic polynomial time algorithm when the discrepancy set D is at most polynomial.
We also show that the equivalence test can be extended to the more powerful model of deterministic, decomposable negation normal forms (d-DNNFs).
- 5.Darwiche, A.: Compiling knowledge into decomposable negation normal form. In: Proceedings of the 16th International Joint Conference on Artifical Intelligence (IJCAI 1999), pp. 284–289 (1999)Google Scholar
- 9.Darwiche, A., Huang, J.: Testing equivalence probabilistically. Technical report D-123 Computer Science Department, UCLA (2002)Google Scholar
- 11.Grigoriev, D., Karpinski, M.: The matching problem for bipartite graphs with polynomially bounded permanents is in NC. In: 28th Annual Symposium on Foundations of Computer Science (FOCS), pp. 166–172 (1987)Google Scholar
- 13.Masek, W.J.: A fast algorithm for the string editing problem and decision graph complexity. M.Sc. thesis, MIT, Cambridge MA (1976)Google Scholar