* BDDs in ocaml
@ 2008-03-13 12:34 sasha mal
2008-03-13 13:04 ` [Caml-list] " Pietro Abate
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: sasha mal @ 2008-03-13 12:34 UTC (permalink / raw)
To: caml-list
Dear all,
I wonder whether anyone has a BDD (binary decision diagram) implementation in ocaml. Ocaml interfaces to external BDD implementations in other languages (like Cudd) are of no use to me.
Thanks a lot and best regards
Sasha.
_______________________________________________
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Caml-list] BDDs in ocaml
2008-03-13 12:34 BDDs in ocaml sasha mal
@ 2008-03-13 13:04 ` Pietro Abate
2008-03-13 20:17 ` Jean-Christophe Filliâtre
2008-03-13 13:14 ` Berke Durak
2008-03-14 7:38 ` Alain Frisch
2 siblings, 1 reply; 8+ messages in thread
From: Pietro Abate @ 2008-03-13 13:04 UTC (permalink / raw)
To: caml-list
On Thu, Mar 13, 2008 at 08:34:46AM -0400, sasha mal wrote:
> I wonder whether anyone has a BDD (binary decision diagram)
> implementation in ocaml. Ocaml interfaces to external BDD
> implementations in other languages (like Cudd) are of no use to me.
have a look at this paper for a non-optimized bdd implementation from
Jean-Christophe Filliatre.
http://www.lri.fr/~filliatr/ftp/publis/hash-consing2.ps.gz
I don't know if the full source code is avalaible. I wasn't able to
find it. It would be interesting to repeat their experiments and play
with it.
:)
p
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Caml-list] BDDs in ocaml
2008-03-13 12:34 BDDs in ocaml sasha mal
2008-03-13 13:04 ` [Caml-list] " Pietro Abate
@ 2008-03-13 13:14 ` Berke Durak
2008-03-14 5:41 ` Olivier Michel
2008-03-14 7:38 ` Alain Frisch
2 siblings, 1 reply; 8+ messages in thread
From: Berke Durak @ 2008-03-13 13:14 UTC (permalink / raw)
To: sasha.mal; +Cc: caml-list List
sasha mal a écrit :
> Dear all,
>
>
>
> I wonder whether anyone has a BDD (binary decision diagram) implementation in ocaml. Ocaml interfaces to external BDD implementations in other languages (like Cudd) are of no use to me.
>
>
Hello,
There is one small BDD module written by Xavier Leroy for an experimental SAT-solver
during the EDOS project:
https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/xlsat/?root=sodiac
--
Berke DURAK
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Caml-list] BDDs in ocaml
2008-03-13 13:14 ` Berke Durak
@ 2008-03-14 5:41 ` Olivier Michel
0 siblings, 0 replies; 8+ messages in thread
From: Olivier Michel @ 2008-03-14 5:41 UTC (permalink / raw)
To: Berke Durak; +Cc: sasha.mal, caml-list List
On Thu, Mar 13, 2008 at 02:14:43PM +0100, Berke Durak wrote:
> sasha mal a écrit :
> >Dear all,
> >
> >
> >
> >I wonder whether anyone has a BDD (binary decision diagram) implementation
> >in ocaml. Ocaml interfaces to external BDD implementations in other
> >languages (like Cudd) are of no use to me.
> >
> >
>
> Hello,
>
> There is one small BDD module written by Xavier Leroy for an experimental
> SAT-solver
> during the EDOS project:
>
> https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/xlsat/?root=sodiac
>
>
Hello,
I once wrote in the 90s a (RO)BDD implementation in caml-light (the
translation to Ocaml should not be a big deal though) for the
development of the declarative data-parallel language 8,5. The sources
(unfortunately with comments in French, but they are pretty much
straightforward!) are available here:
http://www.ibisc.univ-evry.fr/~michel/BDD/
Regards,
Olivier MICHEL.
--
Olivier MICHEL Email : michel@ibisc.univ-evry.fr
Universite d'Evry Val d'Essonne http : www.ibisc.univ-evry.fr/~michel
Lab. IBISC - LIS project http : mgs.ibisc.univ-evry.fr
FRE 3190 of CNRS and Genopole Phone : +33 (0)1.60.87.39.10
523, place des terrasses de l'agora Fax : +33 (0)1.60.87.37.89
91000 Evry - FRANCE
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Caml-list] BDDs in ocaml
2008-03-13 12:34 BDDs in ocaml sasha mal
2008-03-13 13:04 ` [Caml-list] " Pietro Abate
2008-03-13 13:14 ` Berke Durak
@ 2008-03-14 7:38 ` Alain Frisch
2 siblings, 0 replies; 8+ messages in thread
From: Alain Frisch @ 2008-03-14 7:38 UTC (permalink / raw)
To: sasha.mal; +Cc: caml-list
sasha mal wrote:
> I wonder whether anyone has a BDD (binary decision diagram)
> implementation in ocaml. Ocaml interfaces to external BDD
> implementations in other languages (like Cudd) are of no use to me.
I've seen many implementation of BDDs in OCaml, but none of them
implements automatic reordering of variables (which is by far the most
complex part of serious BDD packages). For some applications, this is
really a must. Why is it impossible for you to use to an external BDD
implementation?
-- Alain
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Caml-list] BDDs in ocaml
@ 2008-03-13 15:17 sasha mal
0 siblings, 0 replies; 8+ messages in thread
From: sasha mal @ 2008-03-13 15:17 UTC (permalink / raw)
To: berke.durak, caml-list
Thanks a lot!
_______________________________________________
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Caml-list] BDDs in ocaml
@ 2008-03-14 11:33 sasha mal
0 siblings, 0 replies; 8+ messages in thread
From: sasha mal @ 2008-03-14 11:33 UTC (permalink / raw)
To: alain; +Cc: caml-list
Hi Alain!
Essentially, an intermediate goal is to enhance an existing BDD implementation with several methods (they are needed inside a model-checker). One method should count the exact size of the support of a boolean function. Cudd, for instance, doesn't to this exactly (returns a double). Second, I'd like to implement Cartesian abstraction with respect to blocks of variables. I.e. given a boolean function on variables
x11,...,x1m,x21,...,x2m, ... ,xn1,...,xnm
that represents a subset Y of (2^m)^n
we have to compute the boolean function that represents
projection_{x11,...,x1m}(Y) x projection_{x21,...,x2m}(Y) x ... x projection_{xn1,...,xnm}(Y).
A most simple BDD representation with best asymptotic times would be good to start with. Variable reordering, for instance, is of no use; ever sharing among different BDDs on the same computer is an obstacle.
Best regards
Sasha.
--- On Fri 03/14, Alain Frisch < alain@frisch.fr > wrote:
From: Alain Frisch [mailto: alain@frisch.fr]
To: sasha.mal@excite.com
Cc: caml-list@yquem.inria.fr
Date: Fri, 14 Mar 2008 08:38:41 +0100
Subject: Re: [Caml-list] BDDs in ocaml
sasha mal wrote:> I wonder whether anyone has a BDD (binary decision diagram)> implementation in ocaml. Ocaml interfaces to external BDD> implementations in other languages (like Cudd) are of no use to me.I've seen many implementation of BDDs in OCaml, but none of them implements automatic reordering of variables (which is by far the most complex part of serious BDD packages). For some applications, this is really a must. Why is it impossible for you to use to an external BDD implementation?-- Alain
_______________________________________________
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-03-14 11:33 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-13 12:34 BDDs in ocaml sasha mal
2008-03-13 13:04 ` [Caml-list] " Pietro Abate
2008-03-13 20:17 ` Jean-Christophe Filliâtre
2008-03-13 13:14 ` Berke Durak
2008-03-14 5:41 ` Olivier Michel
2008-03-14 7:38 ` Alain Frisch
2008-03-13 15:17 sasha mal
2008-03-14 11:33 sasha mal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox