Package it. unibo. tuprolog. bdd
Types
BinaryDecisionDiagram
Link copied to clipboard
BinaryDecisionDiagramBuilder
Link copied to clipboard
BinaryDecisionDiagramVisitor
Link copied to clipboard
Implements the Visitor pattern over a BinaryDecisionDiagram to its hierarchy, which only includes instances of BinaryDecisionDiagram.Terminal and BinaryDecisionDiagram.Variable.
Functions
and
Link copied to clipboard
infix fun <T : Comparable<T>> BinaryDecisionDiagram<T>.and(that: BinaryDecisionDiagram<T>): BinaryDecisionDiagram<T>
Content copied to clipboard
Performs the "And" unary boolean operation over two BinaryDecisionDiagrams.
andThenExpansion
Link copied to clipboard
fun <T : Comparable<T>, E> BinaryDecisionDiagram<T>.andThenExpansion(that: BinaryDecisionDiagram<T>, expansionFalseTerminal: E, expansionTrueTerminal: E, expansionOperator: (T, E, E) -> E): Pair<BinaryDecisionDiagram<T>, E>
Content copied to clipboard
Performs the "And" unary boolean operation over two BinaryDecisionDiagrams and computes a value using the Shannon Expansion over the result.
any
Link copied to clipboard
fun <T : Comparable<T>> BinaryDecisionDiagram<T>.any(predicate: (T) -> Boolean): Boolean
Content copied to clipboard
Returns true if the BinaryDecisionDiagram has at least one variable element matching the given predicate.
apply
Link copied to clipboard
fun <T : Comparable<T>> BinaryDecisionDiagram<T>.apply(unaryOp: (Boolean) -> Boolean): BinaryDecisionDiagram<T>
Content copied to clipboard
Applies the "Apply" construction algorithm over BinaryDecisionDiagrams using a given boolean operator.
fun <T : Comparable<T>> BinaryDecisionDiagram<T>.apply(that: BinaryDecisionDiagram<T>, binaryOp: (Boolean, Boolean) -> Boolean): BinaryDecisionDiagram<T>
Content copied to clipboard
Applies the "Apply" construction algorithm over two BinaryDecisionDiagrams using a given boolean operator.
applyThenExpansion
Link copied to clipboard
fun <T : Comparable<T>, E> BinaryDecisionDiagram<T>.applyThenExpansion(unaryOp: (Boolean) -> Boolean, expansionFalseTerminal: E, expansionTrueTerminal: E, expansionOperator: (T, E, E) -> E): Pair<BinaryDecisionDiagram<T>, E>
Content copied to clipboard
Applies the "Apply" construction algorithm over BinaryDecisionDiagrams using a given boolean operator, and computes a value using the Shannon Expansion over the result.
fun <T : Comparable<T>, E> BinaryDecisionDiagram<T>.applyThenExpansion(that: BinaryDecisionDiagram<T>, binaryOp: (Boolean, Boolean) -> Boolean, expansionFalseTerminal: E, expansionTrueTerminal: E, expansionOperator: (T, E, E) -> E): Pair<BinaryDecisionDiagram<T>, E>
Content copied to clipboard
Applies the "Apply" construction algorithm over two BinaryDecisionDiagrams using a given boolean operator, and computes a value using the Shannon Expansion over the result.
bddOf
Link copied to clipboard
bddTerminalOf
Link copied to clipboard
fun <T : Comparable<T>> bddTerminalOf(value: Boolean): BinaryDecisionDiagram<T>
Content copied to clipboard
Shortcut for the BinaryDecisionDiagram.terminalOf method.
countVariableNodes
Link copied to clipboard
fun <T : Comparable<T>> BinaryDecisionDiagram<T>.countVariableNodes(): Int
Content copied to clipboard
Returns the number of variable nodes contained in a BinaryDecisionDiagram.
map
Link copied to clipboard
fun <T : Comparable<T>, E : Comparable<E>> BinaryDecisionDiagram<T>.map(mapper: (T) -> E): BinaryDecisionDiagram<E>
Content copied to clipboard
Returns a BinaryDecisionDiagram containing nodes of applying the given transform function to each element in the original BinaryDecisionDiagram.
not
Link copied to clipboard
fun <T : Comparable<T>> BinaryDecisionDiagram<T>.not(): BinaryDecisionDiagram<T>
Content copied to clipboard
Performs the "Not" unary boolean operation over a BinaryDecisionDiagram.
notThenExpansion
Link copied to clipboard
fun <T : Comparable<T>, E> BinaryDecisionDiagram<T>.notThenExpansion(expansionFalseTerminal: E, expansionTrueTerminal: E, expansionOperator: (T, E, E) -> E): Pair<BinaryDecisionDiagram<T>, E>
Content copied to clipboard
Performs the "Not" unary boolean operation over a BinaryDecisionDiagram and computes a value using the Shannon Expansion over the result.
or
Link copied to clipboard
infix fun <T : Comparable<T>> BinaryDecisionDiagram<T>.or(that: BinaryDecisionDiagram<T>): BinaryDecisionDiagram<T>
Content copied to clipboard
Performs the "Or" unary boolean operation over two BinaryDecisionDiagrams.
orThenExpansion
Link copied to clipboard
fun <T : Comparable<T>, E> BinaryDecisionDiagram<T>.orThenExpansion(that: BinaryDecisionDiagram<T>, expansionFalseTerminal: E, expansionTrueTerminal: E, expansionOperator: (T, E, E) -> E): Pair<BinaryDecisionDiagram<T>, E>
Content copied to clipboard
Performs the "Or" unary boolean operation over two BinaryDecisionDiagrams and computes a value using the Shannon Expansion over the result.
toDotString
Link copied to clipboard