Questions tagged [binary-decision-diagram]

In the field of computer science, a binary decision diagram (BDD) or branching program, like a negation normal form (NNF) or a propositional directed acyclic graph (PDAG), is a data structure that is used to represent a Boolean function. On a more abstract level, BDDs can be considered as a compressed representation of sets or relations.

Wikipedia Article: http://en.wikipedia.org/wiki/Binary_decision_diagram

Introduction to Binary Decision Diagrams, Henrik Reif Andersen [PDF]: http://www.cs.unb.ca/~gdueck/courses/cs4835/bdd97.pdf

Fun With Binary Decision Diagrams, Donald Knuth [Video]: http://myvideos.stanford.edu/player/slplayer.aspx?coll=ea60314a-53b3-4be2-8552-dcf190ca0c0b&co=18bcd3a8-965a-4a63-a516-a1ad74af1119&o=true

87 questions
2
votes
1 answer

Composition of ROBDD

I am trying to understand how the composition of two ROBDDs works. F1 = (d? false: (c? (a? false: true): false)) F2 = (d? (b? true: (a? false: true)): (c? (b? true: (a? false: true)): true)) I need to find a formula F3 that is obtained by…
nirvair
  • 4,001
  • 10
  • 51
  • 85
2
votes
2 answers

How can I replace some variables in a BDD by CUDD package?

Suppose DdManager has four variables: x, y, x', y' and I have a BDD built by x and y. Now I want to change x to x', y to y', namely, get an identical BDD built by x' and y'. How can I get this using the CUDD package? I encountered this problem when…
HelloWorld
  • 47
  • 4
2
votes
2 answers

Map-like data structure that can check subsets of bitsets?

I have a big huge hashtable (so big I can't check every row) (in C++ using boost::unordered_map) where the keys are std::bitset and the values are some structure that I have. Say I have this in the table: 00010101 -> {"Hello"} 00100100 -> {"Good…
excalibur1491
  • 1,201
  • 2
  • 14
  • 29
2
votes
3 answers

Binary Decision Diagram library for windows

After trying to get jinc compiled under windows and quickly running into hundreds of compiler errors I'm looking for a quality BDD library that will build for windows. Preferably in C or C++ but as long as I can bind to it I'm happy.
Daniel
  • 1,994
  • 15
  • 36
2
votes
1 answer

Converting binary decision diagram to truth table

Given a binary decision diagram, how do I convert it into a truth table? What is the exact algorithm for it ? I have been trying this for a long time. Here is an example which one can follow: Source: Wikipedia. (The dotted edges represent 0; solid…
2
votes
0 answers

Cudd_BDD zero node reference value

I'm using Cudd package http://vlsi.colorado.edu/~fabio/CUDD/ First I got an error states "dead count != deleted" so I started debugging and I encounter a problem that I can't understand. The following code takes as input a decimal value and it…
user3060396
  • 163
  • 1
  • 1
  • 5
2
votes
1 answer

Find unique tuples in a relation represented by a BDD

Let's suppose I use a BDD to represent the set of tuples in a relation. For simplicity consider tuples with 0 or 1 values. For instance: R = {<0,0,1>, <1,0,1>, <0,0,0>} represent a ternary relation in a BDD with three variables, say x, y and z (one…
2
votes
1 answer

Can variables be removed from a CUDD manager?

Could anyone please tell me that is it possible to safely remove variables from the manager in CUDD? For example: I register two variable by v1 = Cudd_bddNewVar(manager); and v2 = Cudd_bddNewVar(manager). Can I remove v2 from the manager?
1
vote
0 answers

memory management with cudd package

I have a memory problem with the cudd package. I've modified cudd to support custom constant nodes, for example some expression of the form (op x y), by adding a new field in the DdNode's type union. I wrote a function that transforms a constant…
farmerzhang1
  • 41
  • 1
  • 4
1
vote
0 answers

Implementation of Reduced Ordered Binary Decision Diagram (ROBDD)

Possible Duplicate: Does anyone know of a any C# BDD(Binary Decision Diagram) packages? How can i implement Reduced Ordered Binary Decision Diagram (ROBDD) in C#? Does anyone know?
sarah
  • 59
  • 2
1
vote
0 answers

How to convert a binary tree into a binary decision diagram

struct TreeNode { int num; TreeNode* left; TreeNode* right; }; TreeNode* cons_tree(int num, TreeNode *l, TreeNode *r) { TreeNode* tmp; tmp = new TreeNode; tmp->val = num; tmp->left = l; tmp->right = r; return…
1
vote
1 answer

How do I display numerical values that come from two labels (0,1) in two different colors in python?

I'm currently working on a binary SVM classifier. To visualize how the classifier works I want to create a histogram of the probability density function (calculated with scikit) that displays the scalar of a single data point (whether it belongs to…
Epimetheus
  • 373
  • 2
  • 17
1
vote
1 answer

Efficiently create structured binary decision diagram

I'm trying to create a BDD with a particular structure. I have a 1D sequence of boolean variables x_i, e.g. x_1, x_2, x_3, x_4, x_5. My condition is satisfied if there are no isolated ones or zeros (except possibly at the edges). I have implemented…
1
vote
1 answer

How to distinguish between positive and negative integers for Binary Decision Diagrams

I have a CSV file with values and I am currently formulating a propositional formulae. Here is a sample: x=6,y=-5,z=4. 6 = 110 -5 = 1101 4 = 100 My formulae: ( (x2 and x1 and not (x0)) and (y3 and y2 and not(y1) and y0) and (z2 and not(z1) and…
Satarupa
  • 66
  • 8
1
vote
1 answer

Boolean expression for modified Queens problem

I saw the boolean expressions for the N Queens problem from here. My modified N queens rules are simpler: For a p*p chessboard I want to place N queens in such a way so that Queens will be placed adjacently, rows will be filled first. p*p…
user12928042