An n log n Algorithm for Online BDD Refinement - Klarlund, Nils (BRICS Report Series, 1995)
Binary Decision Diagrams are in widespread use in verification systems for the canonical representation of Boolean functions. A BDD representing a function phi : B^nu -> N can easily be reduced to its canonical form in linear time. In this paper, we consider a natural online BDD refinement problem and show that it can be solved in O(n log n) if n bounds the size of the BDD and the total size of update operations. We argue that BDDs in an algebraic framework should be understood as minimal fixed points superimposed on maximal fixed points. We propose a technique of controlled growth of equivalence classes to make the minimal fixed point calculations be carried out efficiently. Our algorithm is based on a new understanding of the interplay between the splitting and growing of classes of nodes. We apply our algorithm to show that automata with exponentially large, but implicitly represented alphabets, can be minimized in time O(n log n), where n is the total number of BDD nodes representing the automaton.