m m m m '& 1 I B RAR.Y OF THE U N IVLR.SITY Of ILLINOIS 510.84 iJfcr no. 226-236 cop 2. The person charging this material is re- sponsible for its return to the library from which it was withdrawn on or before the Latest Date stamped below. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result in dismissal from the University. UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN MAY 3 JUN 7 HAY MAY 04 1938 L161 — O-1096 V / I f^y^ r) Report No. 23U MAJOR AND MINOR THRESHOLD FUNCTIONS OF SIX VARIABLES by John A. Rohr M 1/BMW flf Tiff June 17, 1967 DEC z ' t967 wwaw Bf huwb Report No. 23*+ MAJOR AND MINOR THRESHOLD FUNCTIONS OF SIX VARIABLES* by John A. Rohr June 17, 1967 Department of Computer Science University of Illinois Urbana, Illinois 6l801 * This work was supported in part by the University Research Board and was submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering, June, 1967* Digitized by the Internet Archive in 2013 http://archive.org/details/majorminorthresh234rohr PREFACE The investigation described herein was undertaken as a Master's thesis project under the direction of Dr. Saburo Muroga of the Department of Computer Science of the University of Illinois. Because of the extensive length of the results, they are not reproduced in detail, but are summarized in the text. The author has retained two copies of the complete results of the program. The author appreciates the guidance given by Dr. Muroga and also the help of Mr. Teiichi Tsuboi in preparing the generation program. Also, the support by the University Research Board for the computer time used by this investigation is greatly appreciated. TABLE OF CONTENTS Page I. INTRODUCTION 1 II. BASIC IDEAS OF THRESHOLD LOGIC 2 III. DEFINITION OF THE PROBLEM k IV. DESCRIPTION OF METHODS USED 6 V. DESCRIPTION OF THE PROGRAMS l6 VI. SOLUTION OF THE PROBLEM 20 VII. CONCLUSION 26 BIBLIOGRAPHY 27 I . INTRODUCTION Switching circuits based on the threshold and majority decision principles have recently been used in certain computers. The behavior of these circuits can be represented by a Boolean function whose value is 1 or (corresponding to "on" and "off") depending on whether the weighted sum of the variables is or is not greater than a specified value called the threshold- This investigation has two main objectives: 1. The tabulation of all the representative major and minor threshold functions of six and fewer variables; and 2. The comparison of the corresponding optimum structures obtained by minimizing a. the threshold^ and b. the total input weight . -1- II. BASIC IDEAS OF THRESHOLD LOGIC rhe terms " threshold function" and "majority function" can be used interchangeably in most cases. There is a one-to-one corresponder.ee between threshold functions and majority functions. The definitions of a threshold function and a majority function are gi ren here. A ''threshold function' of n variables is a Boolean function, each of whose variables x., 3 x , ... , x_ can j- d n have the value I or and whose functional value is n 1 for Y w.x. > T i = 1 1 X " for V w.x < T - 1 L ± i i - where each w. is a prescribed constant real number called a i "coupling weight' ? associated with the variable x. and T is a 1 „ 1 prescribed constant real number called a threshold'. A "majority function" of n variables is a Boolean function whose constant y is identically +1 or -1 and each of whose variables y, , y~, ... , y can have the J r 2 n value +1 or -1 and whose functional value is n + 1 for ]T w.y. > +1 i=0 X X ' n -1 for y w.y. < -1 i = " X " where each w. is a prescribed constant real number called a ''coupling weight" accociated with the variable y. (or constant y_) 1. Saburo Muroga, Threshold Logic - Lecture Notes for EE ^97 and EE U98 , Department of Computer Science, University of Illinois, Urbana, Illinois, 1966, p. 11-26. -2- The "total input weight" is W = £ | 2 w. . » X The set of n + 1 real rrumbers which specifies the behavior of a threshold function (w , w , ... , w; T) or a majority function (w, , w~, ... , w : w_y_) is called the "structure" 1 2 n' of the function. For any given function, the relationship between T and w is expressed by n 2T = £ w. - w Q y + 1. i=l 2. Muroga, p. 11-28. 3« Muroga, p. 11-28. -3- III. DEFINITION OF THE PROBLEM The central problem of this investigation is the determination of the optimum structures for the representative major and minor threshold functions of six and fewer variables. Because there are l^,^-87,040 threshold functions of six variables, only NPN- representative functions are considered. NPN-equivalent functions are those which can be obtained from the original function by any combination of 1. complementation of one of more of the variables, 2.. permutation of the variables, and 3* complementation of the function. Thus the restrictions here on the representative functions are that all the variables must appear uncomplemented (i.e. the function is positive) and the weights must be in nonascending order (i.e. w, > w„ > . . . > w ) . *=> & v ]_ _ 2 — — n' The optimum structure for a threshold function can be determined by linear programming. Either the threshold or the total input weight may be minimized. For minor and self -dual threshold functions, these problems are equivalent. For major threshold functions however, these problems are not equivalent. This can be proved by considering the conversion formula n 2T = W - w rT w y n + 1 where W = £ |w. | • i=0 For self -dual threshold functions w = and for minor threshold functions y = -1. In either case 2T = W + 1 so T differs from W only by multiplicative and additive constants. Thus minimization h. Muroga, p. IX-31- -k- of T is equivalent to minimization of W for minor and self -dual threshold functions. For major threshold functions however, y = +1 and 2T = W - 2w n 4 1 so minimization of T may yield different results than these obtained by minimization of W. The formal statements of the two linear programming problems are given here. For a positive threshold function f(x_,, x^,, . « . , x ), jr- x l 7 2 n minimize T under the constraints w. > for i = 1, 2, ... , n T > and n ■J J& L w i x - > T for f ( x i' 3^, .... , x£) = 1 (d = 1, 2, ..., B) i=l n . . . r3 „J V w.xj < T-l for f(x^ x^, ... , x^) = (j = B+l m, i=l For a positive majority function f (y , y , . .. , y ), n minimize W = > w. under the constraints t_i ' i ' i=0 w. > for i = 0, 1, 2, ... , n n . . . and [wy^ > +1 for f(y^, ... , y;J) = 1 (j = 1, 2, ... , B) i=0 n £w yj < -1 ^r f(:J ... , yjh - (J = BKL, ... ,'m) i=0 In this investigation both problems are solved and corresponding optimum structures are then compared. 6 5. Muroga, p. Ill -21. 6. Muroga, p. 111-20. -5- IV. DESCRIPTION OF METHODS USED The procedure used to accomplish the tabulation of the major and minor threshold function representatives is actually a combination of three separate algorithms. The first algorithm generates the truth table for each of the seven-variable, self-dual threshold function representatives. The second algorithm transforms each of the above functions into a set of six-variable major and minor functions. The third algorithm tests each of the six-variable functions to check that they truly are threshold functions and gives the optimum structure for each. The method used to generate the seven-variable, self-dual threshold function representatives is essentially that used and 7 described by Winder. Using his method, the truth tables for these functions are generated sequentially. Because these functions are self-dual, only half of the table for each function actually needs to be stored in the computer memory. Specifically, only the lower half, the portion having minterms with x =0, is explicitly stored. These half-tables are used as input to the transition steps. For the following discussion, let each function be specified by a truth table of minterms having these minterms listed by descending binary value. Thus a "higher" minterm will be considered to be one having greater binary value. 7. R. 0. Winder, "Enumeration of Seven-Argument Threshold Functions", IEEE Transactions on Electronic Computers , Vol. EC-14, No. 3, June, 1965, pp. 315 - 325. For example, the minterm 1011 is higher than the minterm 1001. A minterm having the value will be called a 0-minterm; if it is also an extremal it will be called a 0- extremal. A minterm having the value 1 will be called a 1-minterm; if it is also an extremal it will be called a 1- extremal. Prior to the main computation, a "choosing extremals table" was prepared. This table has an entry for each possible ordered pair of minterms. If both minterms are assumed to be 0-minterms, and if the second minterm is then "covered" by the first, then the entry in the "choosing extremals table" corresponding to this pair is a zero. Otherwise the table entry is a blank. The second minterm is "covered" by the first if no variable of the first is zero when the corresponding variable of the second is one (e.g. 1100 covers 1000 but does not cover 1010). This "choosing extremals table" is similar to the "choosing o zero table" used in Winder's algorithm. The first step of the transition process is essentially the same as Processes A and B described by Murcga, Toda, and Takasu. This process designates extremals of the functions generated by the first algorithm. First all the -minterms for a function are considered. Beginning with the highest such -minterm, it is marked as a -extremal. All 0-minterms which are covered by this 0- extremal are then eliminated from Winder, p. 31! 9» Saburo Muroga, Iwao Toda, and Satoru Takasu, "Theory of Majority Decision Elements", Journal of the Franklin Institute, Vol. 271, No. 5 , May, I96I, p. k0?. -7- further consideration. The process is then repeated using the highest remaining O-minterm. When ail O-minterms have been marked as extremals or eliminated, the process is then terminated. Then in an analogous manner, but proceeding from the lowest 1-minterm, the process is repeated for 1-minterms. Thus the half-truth-table generated by the first algorithm has the extremals explicitly designated. The next step of the transition process is to create a mirror image of the existing half-truth-table and place this above the original half -table. Thus the entire truth table for the seven-variable, self -dual threshold function is explicitly stored in the computer memory, complete with the extremal designations previously generated. Finally, from the complete truth table-, the extremals for the six-variable major and minor functions are selected. Beginning with the first variable, the extremals for the major function are selected first. All extremals having x = 1 are selected. These extremals are then used as input to the third algorithm, the linear program test- synthesis. The results from this linear program are stored in the computer memory for later sorting and tabulation. Then all the extremals in the truth table which have x = are selected for the minor function. Again a linear program is run and the results are stored in the computer memory. Then the process of selecting extremals for major and minor functions is repeated for all the remaining variables of the original seven-variable function. -8- When all possible major and minor function extremals have been selected from a seven-variable, self-dual function, the generation algorithm is called to produce another such function. When the generation algorithm terminates, the previously stored linear program results are evaluated. The generation program produces all major and minor threshold functions of six and fewer variables. The are intermixed as they are generated. For the tabulation, first the two-variable functions are selected from the stored list. These are ordered according to structure and then listed. Then the procedure is repeated for the three-, four-, five-, and six-variable functions. The third algorithm of the investigation, the linear program test- synthesis previously mentioned, is essentially 10 the same as the one described by Muroga, Tcda, and Takasu. Using extremals generated by the transisticn steps ., inequalities are generated and a linear program is run to determine if the function is truly a threshold function, and if it is, what the optimum structure is. Thus the first algorithm generates the seven- variable, self-dual threshold function representatives, the transition algorithm transforms these functions to extremals for six- variable major and minor functions, and the third algorithm checks to be sure that the functions generated are indeed threshold functions f and determines the optimum structures. 10. Muroga, Toda, and Takasu, pp. 4o8 - 4.11. -9- By minor modifications of the section of the generation program which generates inequalities and the objective function for the linear program, the optimum structures corresponding to minimized al input weight for ail major and minor threshold functions of six and fewer variables were obtained in a mariner exactly parallel to that described above for optimum structures corresponding to minimized threshold. Both programs were then modified to write their results onto magnet i"; tape. A program was then written and used which automatically compared these tapes to determine threshold functions having different optimum structures corresponding to minimized threshold and minimized total input weight. As an example of the transition algorithm, consider the self -dual function of five variables shown in Table 1. Winder 11 uses this function to illustrate his a_gorithm. Table 2 shows the "choosing extremals table" used for this function. Table 3 shows the designation of extremals and which extremals cover which minterms. Table h shows the complete truth table for the self-dual function, complete with the extremal designation. Finally, Table 5 lists the extremals for the five major functions and five minor functions which result from the self-dual function. 11. Winder, p. 320. -10- Minterm Value 01111 1 OHIO 1 01101 1 01100 01011 01010 01001 01000 00111 00110 00101 00100 00011 c 00010 00001 00000 ?able 1. Example Function As Generated. -11- 1111111 Minterm Index I23I+56789OI23I+56 01111 1 OHIO 2 01101 3 01100 k 01011 5 01010 6 00 00 01001 7 01000 8 00000000 00111 90 00110 10 00101 11 00100 12 0000 0000 00011 13 00010 Ik 00 00 00 00 00001 15 00000000 00000 16 0000000000000000 Table 2. Choosing Extremals Table For Example Function. -12- Mi n term Value Extremals 01111 1 OHIO 1 * 01101 1 * 01100 * 01011 * 01010 01001 01000 00111 * 00110 00101 00100 00011 00010 00001 00000 Extremals Which Cover Minterms OHIO 01101 01100 01011 00111 x x X X X X X X X X X X X X X X X X X X Note: x signifies which minterms are covered in each column. Table 3« Example Function With Extremals Designated,. -13- Minterm Value Extremals 11111 1 11110 11101 1 11100 1 11011 1 11010 1 11001 1 11000 1 10111 1 10110 1 10101 1 10100 1 10011 1 10010 10001 10000 01111 1 OHIO 1 01101 1 01100 01011 01010 01001 01000 00111 00110 00101 00100 00011 00010 00001 00000 Table k. Complete Truth Table For Example Function. ■Ik- Major Functions Variable Extremal Value x. X, X, >; r 1000 0100 0011 0010 0001 1000 0110 0101 0100 0011 1000 0110 0101 0100 0011 1001 1000 01.10 0101 0011 1001 1000 0110 0101 0011 1 1 1 1 1 1 1 1 1 1 1 1 1 Minor Functions Extremal Value 1110 1 1101 1 1100 1011 0111 1100 1 • 1011 1 1010 1001 0111 1100 1 1011 1 1010 1001 0111 1100 1 1010 1 1001 0111 1 0110 1100 1 1010 1 1001 0111 1 0110 Table 5« Extremals For Major And Minor Functions Derived From Example Self -Dual Function. -15- V. DESCRIPTION OF THE PROGRAMS The main program used for this investigation consists of two parts: a generation program which generates all threshold fane t ion candidates and a linear program subroutine which determines whether or not a candidate is actually a threshold function, and if so, what its optimum structure is. As originally written, the program minimizes the threshold. With minor modifications it can be used to minimize the total input weight. Included in the generation program are auxiliary routines which print the extremals and the "choosing zero table" and the "choosing extremals table". These routines are called by dummy subroutines. Throughout the entire program, as many tricks as possible are used to save time. Even a saving of a few microseconds can be significant because most commands are executed many times: some more than a million times during a complete run. As originally written, the program specified which structures were definitely unique, but it did nothing with those which were possibly nonunique. By modifying the program to check simple cases and print pertinent data from the linear program for all remaining cases, uniqueness ( was checked for all structures. A separate program was written to compare optimum structures obtained for the same function by first minimizing the threshold and then minimizing the total input weight. In order to accomplish -16- this the main programs were modified to write their results onto magnetic tape. The comparison program then read these tapes simultaneously and compared the optimum structures obtained for the two problems. Any functions whose optimum structures for minimized threshold differed from that for minimized total input weight were printed for further consideration. Actually, the results shown in Table 6 were not obtained until uniqueness of optimum structures was checked. For testing purposes all programs were written so that they would work the two-variable case first, then do the three-variable case and continue on through the six -variable case. Provisions were included so that the program could be terminated after any particular case by including one data card which specified the number of variables for the final case. The generation and transition processes are relatively straightforward. It was originally intended to use Processes C and D 12 of Muroga, Toda, and Takasu to eliminate all redundant extremals, but because of the speed of the program this was unnecessary and was never included in the program. The algorithm used in the linear program is the simplex method. The linear program subroutine treats all numbers as rational numbers, keeping the numerator and denominator as separate 35 -bit integers. This is necessary to eliminate rounding of numerical results so that the weights which result from the linear program can be checked 12. Muroga, Toda, and Takasu, p. kO'J. ■17- to see that they are integral. To keep the numbers within range, two subprograms were included in the linear program subroutine. The first subprogram attempts all indicated divisions as they occur. If the result is integral, the numerator of the number is set equal to the quotient and the denominator is set to one. Otherwise the original rational number is left as the result. The second subprogram tries, after each iteration after the third for each problem, to reduce each numerator and its corresponding denominator by dividing each by the greatest common divisor of the two, if it is greater than one. These subprograms succeeded in keeping the numbers within range, but it appears that the second one was really unnecessary: the largest numerator that appeared was 512 and the largest denominator was 1024. All programs were written for an IBM 709^ computer using SCATRE, an assembly language for the machine. The basic main program was written to solve the threshold minimization problem. The generation program consists of l66l cards and the linear program subroutine has 603 cards. Modifications to the program for the total input weight minimization problem bring the totals to 1691 and 60k respectively. Cards inserted to solve the uniqueness problem number 83 for threshold minimization and 66 for total input weight minimization. (The reason that more are required for the former is that threshold functions which have a single literal prime implicant, e.g. x v x x„ are known to have multiple optimum structures and are to be excluded from consideration to save computation time. ) The modification to the program which -18- causes the results to be written onto magnetic tape requires k-5 cards for the threshold minimization problem and h2 for the total input weight minimization problem. The complete tabulation of the optimum structures of the major and minor threshold functions of two to six variables requires 2366 linear programming problems, a large sort, the listing, and collection of pertinent statistic s. The time for a complete run is approximately 10. 5 minutes. ■19- VI. SOLUTION OF THE PROBLEM This investigation has produced a list of the NPN-representative major and minor threshold functions of two to six variables. The trivial case of one variable was not included. Muroga, Toda, and 13 Kondo ~ have listed the minor and self-dual majority functions Ik for the same cases. Winder has listed the seven-variable, self -dual majority functions which are the same as those used here to generate the six-variable major and minor functions. The results of this investigation agree with both tabulations. The major new result of this investigation is the discovery of six major, six-variable functions, listed in Table 6, which have different optimum structures corresponding to minimized threshold and minimized total input weight. Threshold functions which include single literal prime implicants are known to have different structures corresponding to minimized threshold and minimized total input weight, and thus were eliminated from consideration. Self -dual and minor threshold functions are known to have the same structure whether the threshold or the total input weight is minimized because the linear programming problems are equivalent. For major threshold functions however, it was not known if the resulting optimum structures were identical for functions which do not have any single literal prime implicants. 13. Saburo Muroga, Iwao Toda, and M. Kondo, "Majority Decision Functions of up to Six Variables", Mathematics of Computation , Vol. XVI, No. 80, October, 1962, pp. 459 - 472. 14. R. 0. Winder, "Threshold Functions Through n = 7", AFCRL Report 64-925 under contract AF 19(604) with RCA Laboratories, October, 1964. ■20- The discovery of six special cases where the optimum structures are different shows that the optimum structures for major threshold functions corresponding to minimized threshold and minimized total input weight are not always indentical. Some statistics collected by the programs are presented in Tables 7 an d 8. Table 7 lists statistics pertaining to the tabulation. The threshold minimization statistics are for all major and minor threshold function representatives of the specified number of variables. The total input weight minimization statistics pertain only to major and self-dual functions. Minor functions were not included because the structure for each is identical with that of the corresponding major function except that the sign of the constant input is negative. Because of the way the program was written, self-dual functions are included in the total input weight minimization tabulation. It can be seen from Table 7 that for the two- and three- variable cases the number of iterations is about one more than the number of extremals. As the number of extremals begins to grow however, the number of iterations grows also, but not nearly so fast as the number of extremals. Statistics concerning the maximum size of the largest and smallest weight and the threshold and constant weight are listed for general interest and for checking purposes. Table 8 gives statistics which show the results of the subprograms of the linear program subroutine. Averages are over the nonzero cases, i.e. the cases where at least one operation was performed. The division program was more successful in the threshold minimization case, but in both cases usually was able -21- to perform the division. The reduction program was more successful in the total input weight minimization case, but in neither case was the success outstanding. It appears that the program to divide out common factors in the numerator and denominator may actually have been unnecessary. The complete list of results consists of about 200 pages of computer output for each case. These results are too extensive to reproduce in detail and hence have been summarized in this section. -22- No. Function 1. x ± x 2 v Xl x 3 v x ± x h v x^ v- x 2 x 6 v x 2 x 3 v x^x^ ^ X^X, X^ v X^X^X^ ^ x_X, X,_ v x_X, X A v X„X^X A ^ X, x.-X^ 24b 256 345 34b 35o 456 2. x ± x 2 v x-jX ^ x^ v X]L x 5 v x x x 6 v x g x x^ v x g x x 5 v X 2 X 3 X 6 v X 2 X 4 X 5 v X 2 X 4 X 6 " X 2 X 5 X 6 v X 3 X 4 X 5 v X 3 X 4 X 6 v X 3 X 5 X 6 3. x^ v Xl x v x^ v Xl x v x ± x^ v x 2 x v x 2 x^ v X 2 X 5 X 6 v X 3 X 4 X 5 V X 3 X 4 X 6 v X 3 X 5 X 6 v X 4 X 5 X 6 4. x^ - Xl x 3 v x^ v, x x x 5 v X] _x 6 v x 2 x 3 x^ v x 2 x 3 x 5 v X 2 X 3 X 6 v X 2 X 4 X 5 v X 2 X 4 X 6 v X 2 X 5 X 6 v X 3 X 4 X 5 V X 3 X 4 X 6 5. x x x 2 v Xl x 3 v Xl x^ v x x x 5 v Xl x 6 v x 2 x 3 v x g x^ v X 2 X 5 X 5 v X 3 X 4 X 5 v X 3% X 6 v X 3 X 5 X 6 6. x x x 2 v Xl x 3 v x x x^ v- x^v Xl x 6 v x 2 x 3 v x 2 x^x 5 V X 2 X 4 X 6 v X 2 X 5 X 6 v X 3 X 4 X 5 V X 3 X 4 X 6 Optimism Structures Minimized Threshold Minimized Total Input Weight N0> W w l w 2 w 3 w 4 w 5 W 6 T w ^ " 2 ^3 ^ w 5 w 6 w^ 1. 16-17 4-5 33222 6 21 433222+5 2. 17-18 5-6332227 21 5 3 3 2 2 2 +4 3. 19-20 5-6433227 25 543322+6 4. 20-21 6-7 43322 8 25 643322+5 5. 22-23 6-7 54322 8 29 654322+7 6. 23-24 7-8543229 29 754322+6 Table 6. Functions Having Different Structures Corresponding To Minimized Threshold And Minimized Total Input Weight. -23- Threshold Minimization Number of Functions Average Number of Extremals Maximum Number of Extremals Average Number of Iterations Maximum Number of Iterations Maximum Largest Weight (w ) (w n (T) Maximum Smallest Weight (w ) n Maximum Threshold Total Input Weight Minimization* Number of Functions Average Number of Extremals Maximum Number of Extremals Average Number of Iterations Maximum Number of Iterations Totals 1090 565 True Number of Variables 2 3^56 2 |t 16 88 98O 14.3 3.0 k.o 6.1 9.3 1^.9 3.0 k.o 10.0 15.0 35-0 9.6 .0 5.0 6, .0 7 .6 9-8 .0 5-0 .0 11 .0 16.0 1 2 3 5 9 1 1 1 2 3 2 3 5 9 18 kQ 50U ll+.O 3-0 3.7 5-9 9-1 1^-7 3.0 4.0 10.0 15.0 35.0 9.5 k.o 1+.7 5.9 7-5 9-8 k.o 5.0 6.0 10.0 15.0 Maximum Largest Weight (w ) 1 2 1 1 1 2 *Self-dual and major functions are actually tabulated. Maximum Smallest Weight (w ) Maximum Constant Weight (w ) 3 5 9 12 3 3 5 9 Table 7. Tabulation Statistics. -2k- True Number of Variables Totals 2 3 h 5 Threshold Minimization Average Division Attempts 739-1 84.0 130.0 224.5 387-5 794.6 Maximum Division Attempts 87. 135-0 312.0 762. 2832.0 Average Division Success (%) 97. 100.0 100.0 100.0 99.8 96.6 Maximum Division Success (%) 100.0 100.0 100.0 100.0 100.0 Average Reduction Attempts 18.8 0.0 0.0 0.0 6.0 18.9 Maximum Reduction Attempts 0.0 0.0 0.0 5.0 223-0 Average Reduction Success ($) 55-3 0.0 0.0 0.0 50.0 55*3 Maximum Reduction Success (%) 0.0 0.0 0.0 50.0 100.0 Total Input Weight Minimization* Average Division Attempts 1018.0 100.0 133-3 275.2 509-5 1108,8 Maximum Division Attempts 100.0 169.O 378.0 1029-0 4598.0 Average Division Success (%) 68.7 75-0 72.5 70.7 68. 4 68.6 Maximum Division Success (%) 75.0 75. 79.6 8l.O 84.4 Average Reduction Attempts 13.4 0.0 1.0 1-5 3.7 ik.f Maximum Reduction Attempts 0.0 1.0 3.0 20.0 357-0 Average Reduction Success ($) 99-7 0.0 100.0 100.0 100.0 99.7 Maximum Reduction Success {%) 0.0 100.0 100,0 100.0 100.0 *Self-dual and major functions are actually tabulated. Table 8. Success Of Linear Program Subprograms. -25- VII. CONCLUSION The tabulation of the optimum structures for all representative major and minor threshold functions of six and fewer variables has been achieved by writing a program which consists of three basic sections: the first section generates the seven-variable, self -dual threshold function representatives; the second section transforms these functions into extremals and then inequalities for six-variable major and minor threshold functions; and the third section determines the optimum structures for the functions. Further, six major, six-variable functions which do not have single literal prime implicants have been found which have different optimum structures corresponding to minimized threshold and minimized total input weight. Thus the two main objectives of the investigation have been accomplished: 1. The tabulation has been completed; and 2. It has been shown that in most, but not all, cases the optimum structures for major threshold functions obtained by minimizing the threshold and the total input weight are identical. -26- BIBLIOGRAPHY 1. Gass, Saul I., Linear Programming: Methods and Applications , McGraw-Hill Book Co., New York, 1958. 2. Hadley, G. , Linear Programming , Addi son-Wesley Publishing Co., Inc., Reading, Massachusetts, 1962. 3. Muroga, Saburo, Threshold Logic - Lecture Notes for EE 497 and EE 498 , Department of Computer Science, University of Illinois, Urbana, Illinois 1966. 4. Muroga, Saburo, Iwao Toda, and M. Kondo, "Majority Decision Functions of up to Six Variables", Mathematics of Computation, Vol. XVI, No. 80, Oct., 1962, pp. 459 - ^72. 5. Muroga, Saburo, Iwao Toda, and Satoru Takasu, "Theory of Majority Decision Elements", Journal of the Franklin Institute , Vol. 271, No. 5, May, 1961, pp. 37^ - 4l8. 6. Winder, R. 0., "Enumeration of Seven-Argument Threshold Functions", IEEE Transactions on Electronic Computers , Vol. EC-14, No. 3> June, 1965, pp. 315 - 325. 7. Winder, R. 0., "Threshold Functions Through n = 7", AFCRL Report 64-925 under contract AF 19(6o4) with RCA Laboratories, October, 1964. -27- % X