Literature Review: A New Decomposition Algorithm for Threshold Synthesis and Generalization of Boolean Functions Paper by José L. Subirats, José M. Jerez, and Leonardo Franco Published in IEEE Transactions on Circuits and Systems I in November, 2008
Thershold Functions What is a Threshold Function?
Threshold Functions
What 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 Function What is the significance of the function being unate? All threshold functions are unate Checking 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 Splitting First, 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 splitting Split as follows, where x i is function with highest influence for function F 1 For case of OR representation:
Function Splitting Modification necessary for use of ‘don’t cares’ Again, for case of OR representation:
Results Comparisons 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
Results Algorithm works with truth vectors involving up to 21 inputs Can be applied to systems with significantly more inputs with the addition of standard processing steps used in circuit design
Results
Results With 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
Conclusions Without 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