ShannonTree.Fast
Back to table
/*
Shannon-Tree
ShannonTree.Fast
[BDD tree]=ShannonTree.Fast(LogicFunction F);
F : a logic function
tree : a logic function in the BDD form
Create the tree of the given logic-function with the fast algorithm.
The result very depends on the selection of the first few variables. Hence, sometimes it returns some unexpected terrible result.
*/
//-------------------------------------------------------------------
// examples
f = AndOr()
{
2,4;
1,-3;
-1,2,3;
-1,2,3,4;
-2,-4;
}
g=ShannonTree.Fast(f);
Print(f,g);
//-------------------------------------------------------------------
// result
MatchLogicFunction PermuteLogicFunction IsBiUnateFunctionTo IsPositiveFunction And binary() OneComplement PureBinary binaryioset() Dimacs Email Eq FeedbackDiagram list() Count logicvardef() Not PositiveIntegerToMantissa Solve Sequential CreateCompactTable BestVariableOrder string() string AdjustLogicVariableCount ComputeDONTCARE EnlargeLogicFunction var XORP Zero