orThenExpansion
Performs the "Or" binary boolean operation over two BinaryDecisionDiagrams and computes a value using the Shannon Expansion over the result. The result is an instance of Pair of which Pair.first is the Reduced Ordered Binary Decision Diagram (ROBDD) produced by the operation, and Pair.second is the value of type E computed with the Shannon Expansion.
By definition, invoking or and then expansion should produce the same result as calling this function directly. This is used e.g. by it.unibo.tuprolog.solve.problog.lib.knowledge.impl.BinaryDecisionDiagramExplanation.or to compute the probability of a disjunction of explanations in one pass.
Return
a Pair of the disjunction ROBDD and the Shannon-Expansion result.
Parameters
the other diagram to combine this one with.
the E value associated to a false Terminal.
the E value associated to a true Terminal.
combines a BinaryDecisionDiagram.Variable's value with the already computed E values of its low and high sub-diagrams.
Throws
if construction fails, e.g. because expansionOperator throws.