Location of Repository

Reduced Ordered Binary Decision Diagrams (ROBDDs) provide a dense and memory efficient representation of Boolean functions. When ROBDDs are applied in logic synthesis, the problem arises of detecting both classical and generalised symmetries. State-of-the-art in symmetry detection is represented by Mishchenko's algorithm. Mishchenko showed how to detect symmetries in ROBDDs without the need for checking equivalence of all co-factor pairs. This work resulted in a practical algorithm for detecting all classical symmetries in an ROBDD in O(|G|<sup>3</sup>) set operations where |G| is the number of nodes in the ROBDD. Mishchenko and his colleagues subsequently extended the algorithm to find generalised symmetries. The extended algorithm retains the same asymptotic complexity for each type of generalised symmetry. Both the classical and generalised symmetry detection algorithms are monolithic in the sense that they only return a meaningful answer when they are left to run to completion. In this thesis we present efficient anytime algorithms for detecting both classical and generalised symmetries, that output pairs of symmetric variables until a prescribed time bound is exceeded. These anytime algorithms are complete in that given sufficient time they are guaranteed to find all symmetric pairs. Theoretically these algorithms reside in O(n<sup>3</sup>+n|G|+|G|<sup>3</sup>) and O(n<sup>3</sup>+n<sup>2</sup>|G|+|G|<sup>3</sup>) respectively, where n is the number of variables, so that in practice the advantage of anytime generality is not gained at the expense of efficiency. In fact, the anytime approach requires only very modest data structure support and offers unique opportunities for optimisation so the resulting algorithms are very efficient. The thesis continues by considering another class of anytime algorithms for ROBDDs that is motivated by the dearth of work on approximating ROBDDs. The need for approximation arises because many ROBDD operations result in an ROBDD whose size is quadratic in the size of the inputs. Furthermore, if ROBDDs are used in abstract interpretation, the running time of the analysis is related not only to the complexity of the individual ROBDD operations but also the number of operations applied. The number of operations is, in turn, constrained by the number of times a Boolean function can be weakened before stability is achieved. This thesis proposes a widening that can be used to both constrain the size of an ROBDD and also ensure that the number of times that it is weakened is bounded by some given constant. The widening can be used to either systematically approximate an ROBDD from above (i.e. derive a weaker function) or below (i.e. infer a stronger function). The thesis also considers how randomised techniques may be deployed to improve the speed of computing an approximation by avoiding potentially expensive ROBDD manipulation

Topics:
QA76

OAI identifier:
oai:kar.kent.ac.uk:23999

Provided by:
Kent Academic Repository

Downloaded from
http://kar.kent.ac.uk/23999/1/AnytimeKettle.pdf

- A Digital Synthesis Procedure Under Function Symmetries and Mapping Methods.
- (1968). A Formal Basis for the Heuristic Determination of Minimum Cost Paths in Graphs.
- (1993). A New Graph Based Prime Computation Technique.
- A New Method to Compute Prime and Essential Prime Implicants of Boolean Functions.
- (1991). A Proposal for a New Block Encryption Standard. In
- (2000). A Simple Polynomial Groundness Analysis for Logic Programs.
- (1992). Abstract Interpretation and Application to Logic Programs.
- (1998). Abstract Interpretation Using Typed Decision Graphs.
- (1977). Abstract Interpretation: a Uniﬁed Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In
- (1997). Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universit¨ at des Saarlandes,
- (1997). Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universita¨t des Saarlandes,
- (1962). Algorithm 97: Shortest Path.
- (1997). Algorithms for Scheduling Real-Time Tasks with Input Error and End-to-End Deadlines.
- (1988). An Analysis of Time-Dependent Planning.
- (2006). An Anytime Symmetry Detection Algorithm for ROBDDs.
- (1995). Anytime Scheduling with Neural Networks.
- (2005). Average Path Length of Binary Decision Diagrams.
- BDDNOW: A Parallel BDD Package.
- (1978). Binary Decision Diagrams.
- (1996). Bit-Level Analysis of an SRT Divider Circuit.
- (2009). Boolean Functions: Theory, Algorithms and Applications,
- (1992). Boolean Matching Using Binary Decision Diagrams with Applications to Logic Synthesis and Veriﬁcation.
- (1991). Boolean Satisﬁability and Equivalence Checking using General Binary Decision Diagrams.
- (2006). Combining Widening and Acceleration in Linear Relation Analysis. In
- (1992). Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation.
- (1979). Computers and Intractability a Guide to the Theory of NP-Completeness. Freeman and Company,
- (2003). Construction of Eﬃcient BDDs for Bounded Arithmetic Constraints.
- (2000). Constructive Library-Aware Synthesis using Symmetries.
- (1993). Dynamic Variable Reoredering for BDD Minimization.
- (1990). Eﬃcient Implementation of a BDD Package.
- (2004). Exploiting Structure in Symmetry Detection for CNF.
- (2008). Extra Library of DD Procedures,
- (1999). Factorizing Equivalent Variable Pairs in ROBDD-Based Implementations of Pos.
- (2003). Fast Computation of Symmetries in Boolean Functions.
- (2000). Finding Bugs with a Constraint Solver.
- (1990). Finding the Optimal Variable Ordering for Binary Decision Diagrams.
- (2004). Finite-Tree Analysis for Constraint Logic-Based Languages.
- (2001). Generalized Symmetric Variables.
- (2000). Generalized Symmetries in Boolean Functions. In
- (1986). Graph-Based Algorithms for Boolean Function Manipulation.
- (1996). Graph-based Representations of Discrete Functions.
- (1982). Hilbert’s Tenth Problem is Unsolvable.
- (1992). Implicit and Incremental Computation of Primes and Essential Primes of Boolean Functions.
- Improving the Variable Ordering of OBDDs is NP-complete.
- (2008). Inferring Non-Suspension Conditions for Logic Programs with Dynamic Scheduling.
- (1999). International Organization for Standardization.
- (2000). Least Upper Bounds for the Size of OBDDs Using Symmetry Properties.
- (1996). Logic Synthesis and Veriﬁcation Algorithms.
- (2006). Mailenable v2.33,
- (1971). Maximal Sized Antichains in Partial Orders.
- (2004). Minimization of the Expected Path Length in BDDs Based on Local Changes.
- (2000). Model Checking.
- (2005). Monte Carlo Model Checking. In
- (1991). Multilevel Logic Synthesis of Symmetric Switching Functions.
- (1995). On Relationship between Boolean Functions and Their Prime Implicants in OBDD Size.
- (1971). On the Complexity of Theorem-proving Procedures.
- (1991). On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication.
- (1978). On The Number of Prime Implicants.
- (1983). On-line Computation of Transitive Closure of Graphs.
- (2006). Parameterized Complexity.
- (1981). Practical Graph Isomorphism.
- (2002). Precise Pair-Sharing Analysis of Logic Programs.
- (2005). Precise Widening Operators for Convex Polyhedra.
- (2003). Principles of Constraint Programming.
- (1972). Reducibility Among Combinatorial Problems. In
- (2002). Remote Buﬀer Overﬂow Vulnerability in Sun RPC,
- (2006). Scheduling of Image Processing Using Anytime Algorithm for Real-time System.
- (2004). Set Bounds and (Split) Set Domain Propagation Using ROBDDs.
- (2004). Set Domain Propagation Using ROBDDs.
- (1999). Sharing and Groundness Dependencies in Logic Programs.
- (2006). SMT Techniques for Fast Predicate Abstraction. In
- (2005). Solving Set Constraint Satisfaction Problems using ROBDDs.
- (2003). Survey of Code-Size Reduction Methods.
- (1992). Symbolic Boolean Manipulation with Ordered BinaryDecision Diagrams.
- (1979). Systematic Design of Program Analysis Frameworks. In
- (2005). Techniques for Scaling Up Analyses Based on Pre-interpretations.
- (1990). Technology Mapping Using Boolean Matching and Don’t Care Sets.
- (1995). Test Generation for Path Delay Faults Using Binary Decision Diagrams.
- (2005). The ASTRE´E Analyser.
- (1993). The Graph Isomorphism Problem: Its Structural Complexity. Birkh¨ auser,
- (1993). The Graph Isomorphism Problem: Its Structural Complexity. Birkha¨user,
- (1998). Two classes of Boolean Functions for Dependency Analysis.
- (2005). Two Open Questions On ROBDDs and Prime Implicants. http://www.informatik.uni-trier.de/Design and Test/abstract30.html
- (1993). Verifying Equivalence of Functions with Unknown Input Correspondence.
- (2005). Verifying Very Large Industrial Circuits Using 100 Processes and Beyond. In
- (2006). Widening ROBDDs with Prime Implicants. In Tools and Algorithms for the Construction and Analysis of Systems,
- (1999). Worst-Case Groundness Analysis using Positive Boolean Functions.
- (1993). Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems.

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.