BinaryDecisionDiagramBuilder
This interfaces hides the strategy with which instances of BinaryDecisionDiagram are created. Platform-specific optimized representations of BDDs can be introduced by providing new implementations of this interface.
Business logic related to diagram reduction, or node re-usage, should be handled by this entity. Most callers do not need to interact with this interface directly: node creation is normally driven through BinaryDecisionDiagram.variableOf/BinaryDecisionDiagram.terminalOf (or the bddOf/bddTerminalOf shortcuts), and diagram combination through the operators in BinaryDecisionDiagramOperators.kt, both of which use a builder under the hood. Implementing this interface directly is only needed when introducing a new node-creation/reduction strategy.
Author
Jason Dellaluce
Functions
Returns an instance of BinaryDecisionDiagram.Terminal with the provided input.
Returns an instance of BinaryDecisionDiagram.Variable with the provided input.