obdd: Ordered Reduced Binary Decision Diagrams
Construct, combine and query OBDDs;
an efficient representation for formulas in propositional logic.
.
This is mostly educational.
The BDDs do not share nodes (there is no persistent BDD base) and this might introduce inefficiencies.
.
An important (for me, in teaching) feature is
that I can immediately draw the BDD to an X11 window (via graphviz).
For example, to show the effect of different variable orderings,
try this in ghci (type q
to close the drawing windows).
.
> import Prelude hiding (not,(&&),(||),and,or,any,all)
> import OBDD
> let f [] = false; f (x:y:zs) = x && y || f zs
> display $ f $ map variable [1,2,3,4,5,6]
> display $ f $ map variable [1,4,2,5,3,6]
.
OBDD
implements Ersatz.Boolean
which re-defines
Boolean operations from the Prelude. The recommended way of using this
is shown in the previous example.
.
If you want better performance, use a library with a persistent BDD base,
e.g., CUDD
Haskell bindings,
see this example.
Modules
[Index] [Quick Jump]
Downloads
- obdd-0.9.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.2, 0.2.3, 0.2.5, 0.2.7, 0.3.1, 0.3.2, 0.3.3, 0.4.0, 0.5.0, 0.6.0, 0.6.1, 0.8.1, 0.8.2, 0.8.4, 0.9.0 |
---|---|
Dependencies | array, base (>=4 && <5), containers (>=0.5), ersatz, mtl, process-extras, random, text [details] |
Tested with | ghc ==9.10.1, ghc ==9.8.2, ghc ==9.0.1, ghc ==8.10.4, ghc ==8.8.4, ghc ==8.6.5, ghc ==8.4.4, ghc ==8.2.2, ghc ==8.0.2, ghc ==7.10.3 |
License | GPL-3.0-only |
Author | Johannes Waldmann |
Maintainer | Johannes Waldmann |
Category | Logic |
Home page | https://github.com/jwaldmann/haskell-obdd |
Source repo | head: git clone git://github.com/jwaldmann/haskell-obdd.git |
Uploaded | by JohannesWaldmann at 2024-03-15T23:41:06Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 10494 total (23 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2024-03-15 [all 1 reports] |