Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
BDD reloaded
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-11-12 (15:46)
From: Pietro Abate <Pietro.Abate@p...>
Subject: BDD reloaded
Hi all,

I've done my homework and I've collected few links about bdd
libraries. I still have few questions: 

+ Is there a native (and efficient) ocaml BDD implementation ? In
  particular, as pointed out on this mailing list, with variable ordering
  and other possible optimizations that can be compared in speed with
  buddy/cudd (c/c++).

= From what I can see, the answer is no. A lot of toy implementations

+ Do you know if there is an ocaml binding for buddy ? 

= I guess no, but I hope I'm wrong...

+ Does anybody have experience with the bindings done at inrialpes to
  CUDD ? Is this project still actively maintained / used ? How does it
  compare efficiency-wise with other bdd libraries ?

+ If I was to start writing my ocaml bindings, which c/c++ library would
  you advice ? Buddy seems widely used, but I wasn't able to find any
  hard evidence that it is the best bdd library available... Do you know 
  of any paper surveying different bdd implementations ?

thanks :)

----------------------------- My links for reference ----------------

Please add to the list if you know of other libraries that I forgot to
mention. This might end up to be a FAQ...

==Ocaml libraries (bindings and native in no particular order) :==

* Jean-Christophe Filliâtre (ocaml implementation) Paper Code

* bindings to the CUDD BDD library Code

* Olivier Michel (ocaml implementation) Code

* Xavier Leroy (part of an experimental sat solver) Code

* John Harrison Code

* Ocaml implementation (who is the author ?) Wiki

==C/C++ Libraries==

* Buddy

* Old version of Buddy 


* many other cited in the wikipedia link on bdds

==Relevant Mailing list Messages==

The ocaml ml has several references to BDDs. These are 3 interesting threads
that I've used as a starting point for my research. 

In this thread
there is mention of a possible binding for Jørn Lind-Nielsen's BDD
library BuDDy. I'm wondering if this binding was ever released.

In this thread
Alain Frish points out that none of existing ocaml libraries implements
automatic reordering of variables... And I don't know if the state of affairs
is changed at this regard.

In this thread
David Mentre announces a preliminary work on binding for the cudd
library, but the link is broken... this link currently is broken: 
and there is a mention to a caml-light implementation of a robdd library
that I was also not able to retrieve.