Literature Review: A New Decomposition Algorithm for Threshold Synthesis and Generalization of Boolean Functions
Paper by José L. Subirats, José M. Jerez, and Leonardo FrancoPublished in IEEE Transactions on Circuits and Systems I in November, 2008
Thershold FunctionsWhat is a Threshold Function?
Threshold Functions
Threshold Functions
Threshold FunctionsWhat is the significance of a
threshold function?◦Model of a Neuron◦Important in Neural Networks
Selecting Output (Or/And)Determined by number of 1s in
the output of the truth table
When over half of the output of the truth table is 1, output function of final architecture is an OR
Otherwise, output function is an AND
Selecting Output (Or/And)
Unate Function-Positive Unate variable:
-Negative Unate variable:
-Function is a Unate Function when all variables are either positive or negative unate
Unate FunctionWhat is the significance of the
function being unate?All threshold functions are unateChecking for a unate function
much quicker than checking for a threshold function
Can eliminate non-threshold functions more quickly, speeding up overall computation time
Function SplittingFirst, find variable with highest
influence
Influence defined as the number of input vectors where the change of the variable changes the value of the function
Function splittingSplit as follows, where xi is
function with highest influence for function F1
For case of OR representation:
Function SplittingModification necessary for use of
‘don’t cares’Again, for case of OR
representation:
ResultsComparisons to another
threshold function algorithm published in IEEE Trans. (2005)
Compared on number of gates, number of levels, and number of weights (interconnect) of generated circuits
Results
ResultsAlgorithm works with truth
vectors involving up to 21 inputsCan be applied to systems with
significantly more inputs with the addition of standard processing steps used in circuit design
Results
ResultsWith use of don’t cares,
comparisons are made to standard algorithms- C4.5 decision tree algorithm, feedforward neural networks, and implementation of nearest neighbour algorithm
For each function 60% of examples used for training, 40% used to test
Results compared on terms of generalization ability
Results
ConclusionsWithout preprocessing, significant
improvements to number of gates and levels for up to 21 inputs.
With preprocessing, some improvement to number of gates and significant improvement to number of levels
Increased amount of interconnect in both cases
Generalization ability comparable to existing standard algorithms