ShannonTree.BestVariableOrder
Back to table
/*
Shannon-Tree
ShannonTree.BestVariableOrder
[var() varList]=ShannonTree.BestVariableOrder(LogicFunction F);
F : a logic function
varList : a list of indexes indicates the sequential order of the variables
Estimate the best variable order for generating the BDD.
Since the uniqueness of the variable's order cannot be proved, the solution here is only a recommended result.
*/
//-------------------------------------------------------------------
// examples
f = AndOr()
{
2,4;
1,-3;
-1,2,3;
-1,2,3,4;
-2,-4;
}
g=ShannonTree.BestVariableOrder(f);
Print(f,g);
//-------------------------------------------------------------------
// result
IsEqual IsInverse IsPositiveUnateFunctionTo And ToAndOr Binary MinValue ToAndXor ToXORP logicvardef() long() LeastSignificantDigit RadixToIndex One Or real() To2LayerOrAnd To2LayerAndOr SAT InputVariables ToStateTransitionTable FullTable string() TimingChart GetPositiveLogicFunction ComputeFunctionOrder ShannonExpansion Substitute var() Zero