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
            
                
                
                
                
                
                
                
                
                
                
                
                
                
                
             
            
            
            
            
            
Analysis IsBlankFunction IsLinearFunction IsSelfAntiDualFunction IsThresholdFunction IsUnateFunctionTo AndXor BCDEx3 BinaryNumberToString StringToBinaryNumber binaryioset() ToAndXor ToShannonTree ToVariableInvertedFunction Diagram Load Nand MostSignificantDigit PositiveIntegerToMantissa POS SAT Solve OutputAndStateBasedly CreateCompactTableWithFullSimplification To2layerOrAnd Balanced StateDeviceName StateTransition ComputeDONTCARE Zero