| Interface | Description |
|---|---|
| IndexMapper | |
| MDDComparator |
Compare MDDs across Managers.
|
| MDDManager |
A MDD manager is responsible for the creation, storage, retrieval, combination and cleanup
of a collection of multi-valued decision diagrams (MDDs).
|
| MDDOperator |
Definition of operators that can be used to combine MDD nodes.
|
| Class | Description |
|---|---|
| MDDComparatorFactory |
Create comparators for MDDs across Managers.
|
| MDDManagerFactory |
Create MDDManager instances.
|
| MDDMapper |
Map Decision diagrams from one manager to another.
|
| MDDVariable |
Definition of a multi-valued variable used in a MDDManager.
|
| MDDVariableFactory |
List of variables with an associated maximal value.
|
| PathSearcher |
Iterate over the paths in MDDs, optionally filtering on the leaf values.
|
| Enum | Description |
|---|---|
| NodeRelation |
List of possible relations between two nodes.
|
| VariableEffect |
Define the possible effects of a variable on a MDD.
|
Given the definition of a set of multi-valued variables (represented as MDDVariable),
the MDDManager enables the efficient storage of logical functions depending on the value
of these variables.
The decision diagrams can also be "combined" using MDDOperator.
This toolkit main objective is ease of use, portability (pure java) and flexibility (especially the ability to
add custom operators). Better performance can be achieved using a native Binary Decision Diagram (BDD) toolkit.
Variable reordering and similar optimisations are not implemented nor planned!
If you need them, consider using JavaBDD or another pure-BDD library. If you
know a similarly optimised pure-java MDD library, please let me know.
Simple support for custom variable orders is provided by Proxy implementations of MDDManager
Copyright © 2009–2020. All rights reserved.