UNIVERSITY OF ILLINOIS LIBRARY AT URBANACHAMPAIGN 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. To renew call Telephone Center, 333-8400 UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN L161— 0-10% Digitized by the Internet Archive in 2013 http://archive.org/details/studyofcertainfa807cull U6aJ UIUCDCS-R- 76-807 ' A STUDY OF CERTAIN FACTORS AFFECTING COMPUTATION TIMES IN DESIGNING OPTIMAL NOR NETWORKS BY THE IMPLICIT ENUMERATION METHOD USING THE FEED-FORWRD NETWORK FORMULATION by June 1976 J.N. Culliney S. Muroga fhis volume Is bound without A\A. t0% I able. IGN • URBANA, ILLINOIS U4.161 UIUCDCS-R- 76-807 A STUDY OF CERTAIN FACTORS AFFECTING COMPUTATION TIMES IN DESIGNING OPTIMAL NOR NETWORKS BY THE IMPLICIT ENUMERATION METHOD USING THE FEED-FORF'RD NETWORK FORMULATION by June 1976 J.N. Culliney S. Muroga UIUCDCS-R-76-807 A STUDY OF CERTAIN FACTORS AFFECTING COMPUTATION TIMES IN DESIGNING OPTIMAL NOR NETWORKS BY THE IMPLICIT ENUMERATION METHOD USING THE FEED-FORWARD NETWORK FORMULATION by J.N. Culliney S. Muroga June 1976 Department of Computer Science University of Illinois at Urbana- Champaign Urbana, Illinois This work was supported partially by the National Science Foundation under Grant No. NSF DCR 73-03 1 +21. in TABLE OF CONTENTS 1. INTRODUCTION 1 2. INFLUENCE OF CHAIN- CHECKING AND ADDITIONAL INEQUALITIES ON "FEED-FORWARD" COMPUTATION TIMES 3 2. 1 Feed-forward results without chain-checking h 2. 2 Feed-forward results with chain- checking 7 2.3 Effects of chain-checking and additional inequalities on computation time 11 2.k Effects of permutation-preventing inequalities on computation time 17 3. CONCLUSIONS 23 LIST OF REFERENCES 27 1. INTRODUCTION Logical design of optimal networks was done by the implicit enumeration method, and the computational efficiency and flexibility of this approach was shown, most extensively for the case of optimal NOR-gate network -x- design, by an implicit enumeration computer program using the "feed-forward" approach (also called the "feed-forward network" approach) as reported in [l], [2], [3], [5], [10], [11], [12], [13], [15], [16], [17], [18], [19], [20], [26], [28], and [29]. The computational efficiency of the originally developed program was improved by the employment of "additional inequalities" and by the use of computational gimmicks - most significantly, that called "chain- checking". Additional inequalities are one of two types of inequalities, the other type being called regular inequalities , which can be approximately defined as follows. The regular inequalities are those which provide both a necessary and sufficient description of a feasible solution (in this case, a network actually realizing the given function) to the integer programming problem. Additional inequalities are generally those added to the formulation in order to preclude from consideration solutions (or partial solutions) which do not have certain known characteristics of optimal networks and many solutions which can be obtained from others merely by permuting gate labels. The use and choice of the additional inequalities was found to have significant effects on the computation times observed for ILLIP in synthesizing optimal networks. However, since the results reported in the above papers, achieved at different stages in the improvement of the original program and inequality formulation (i.e., different combinations of computational gimmicks This specialized program for logical design was created by slightly modifying the general 0-1 integer programming code ILLIP ([13]). and additional inequalities were used in getting the various results), were obtained at different times under various (computer) system configurations, using different compilers, timing subroutines, etc., a fair comparison of the [5] results achieved under these different combinations is not possible. This paper, while perhaps not as extensive as might be desired, presents a comparison of the computational effects of the use of additional inequalities and chain-checking, made on a more equal basis than could be accomplished by comparing reports of past results. As a basis for comparison of computational efficiency, optimal NOR-networks were synthesized by the various program- inequality formulation combinations (program without chain- checking and inequality formulation without additional inequalities, with chain- checking but without additional inequalities, etc.) for all 6k (equivalence class) functions of exactly 3 variables requiring at least 3 NOR-gates (except for the chain-checking program combined with the inequality formulation lacking permutation-preventing inequalities, in which case, k of the 6 functions requiring 7 gates were not attempted. This specialized program for logical design was created by slightly modifying the general 0-1 integer programming code ILLIP ([13]). 2. INFLUENCE OF CHAIN-CHECKING AND ADDITIONAL INEQUALITIES ON "FEED-FORWARD" COMPUTATION TIMES As discussed in [12], the addition of the chain- checking feature to the feed-forward implicit enumeration program significantly improved its computational efficiency , yet a complete comparison, with and without chain- checking, for even a simple case such as the synthesis of optimal NOR- networks for the set of 3-variable functions, had never been made. Furthermore, it has also been known that the inclusion of the additional inequalities in the feed-forward formulations causes readily noticeable improvements in computation speed. This section will examine and compare the influences of both the use of chain-checking and the use of additional inequalities. As mentioned in the introduction, computation times resulting from the synthesis of optimal networks for all 6k 3-variable functions requiring 3 or more NOR- gates were chosen as a basis for comparison. The following subsections will A comparison (Table I of [12]) was made of the performance of the same implicit enumeration program (using a feed-forward approach) with and without chain- checking. However, as noted in the paper itself, the comparison was based on a limited number of examples; and, furthermore, the inequality formulation used to obtain the 3 variable, 7 gate results has since been found to be in error. ■JHt [15] studied the effects of the use of different types of additional inequal- ities on computation times for implicit enumeration logical design programs. While mainly concerned with programs using the "all-interconnection" approach, [15] also included some results for a program employing the feed-forward approach. The feed-forward inequality formulations used to obtain these results were exceptional, since, in an attempt to enable a more meaningful comparison between results obtained by all- interconnect ion and feed-forward approaches, the feed- forward "additional inequalities" were modeled after the all- interconnection additional inequalities, omitting one of the most powerful groups of additional inequalities for the feed-forward approach ("permutation-preventing" inequalities). discuss results obtained: without chain- cheeking and without additional -x- inc qualities, with chain- checking but without additional inequalities, with additional inequalities but without chain- checking, and with chain- checking and with additional inequalities. As a case of special interest, results obtained with chain-checking and all additional inequalities except those of the permutation-preventing type are also discussed. 2.1 Feed-Forward Results Without Chain-Checking For this case with additional inequalities, results had been obtained in the past (1969). However, due to the obscurity of the exact conditions under which they were obtained and the resulting difficulty of meaningfully comparing computation times, this case was rerun on the current computer configuration. The program used did not have the chain-checking feature, and the inequality formulation included the normal set of additional inequalities (see [l] for a description of the different types of additional inequalities employed in the formulation). The program was compiled entirely by the FORTRAN H (OPT 2) compiler (21. 7), timed by the system-supplied timing routine, STEPZ, and run under OS/MVT (21. 7) on the IBM 360/75-J. The results of these recent reruns are summarized here in Table 2.1.1. In this table, the 6k functions of 3 variables requiring 3 or more NOR-gates to implement are divided into 5 groups according to the minimum number of NOR-gates required in their NOR- network realizations. Each function requiring R NOR gates was run with each of the 3-? k- , ..., and R-gate inequality formulations (this was done since the optimal number of gates for a given function is generally not known in advance). A dashed line through Table 2.1.1 separates the "infeasible" cases (i.e., cases 5n which a function Unless otherwise stated, the "additional inequalities" will be inclusive of permutation-preventing inequalities (a type of additional inequality). Table 2.1.1 Feed-Forward Program and Formulation Without Chain-Checking, With Additional Inequalities - Average Computation Times for All 3- Variable Functions Requiring 3 or More NOR-Gates Optimal Number of Gates for Functions in Each Group dumber of Functions in Each Group 15 22 15 Average Time with 3-gate Formulation Average over all infeasible cases for each R-gate formulation [Data obtained November 197*1. ] .20 sec. .06 sec, .07 sec. .07 sec. Average Time with k- gate Formulation 1.15 sec. Average Time with 5-gate ^Formulation .63 sec. .07 sec. .06 sec. .63 sec. sec. 3.80 sec. 2.18 sec. .60 sec. 2.21 sec. Average Time with 6-gate Formulation 2.19 sec. Average Time with 7-gate Formulation 1459-62 sec. N Feasible x Cases In- \ f eas ible\ Cases ^\ Table 2.1.2 Feed-Forward Program and Formulation Without Chain-Checking, Without Additional Inequalities Average Computation Times for All 3-Variable Functions Requiring 3 or More NOR-Gates Optimal Number of Gates for Functions in Each Group Number of Functions in Each Group 15 22 15 Average Time with 3-gate Formulation [Data obtained August 1973-] • 29 sec. .09 sec. .09 sec. .10 sec. Average Time with k-gate Formulation 1.78 sec. I_ sec, sec, Average Time with 5 -gate Formulation 16.5^ sec. -1 8.^2 sec. Average Time with 6-gate Formulation 171.08 sec. Average Time with 7-gate Formulation .09 sec. .59 sec. 6.1a sec. 9^.23 sec. 2058.72 sec. Average over all infeasible cases for each R-gate formulation .09 sec. .80 sec. 7.85 sec. 9^.23 sec. \ In- Feasible „ Cases feasible \ Cases requiring R gates was run with a fewer-than-R-gate formulation resulting in the production of no feasible solutions) from the "feasible" cases. Also, recently, additional experiments were made with the non-chain- checking feed-forward program. For these experiments the program was again compiled entirely by the FORTRAN H (OPT 2) compiler, but was used with an inequality formulation consisting of only the regular inequalities (i.e., no additional inequalities were included). Optimal networks were synthesized for the same 6k 3-variable functions. Timing was done by a corrected system- supplied timing routine, STIMEZ. The program was compiled and executed under OS/MVT (20.6) on the IBM 360/75-J. The results of these experiments are shown in Table 2.1.2. Comparing Tables 2.1.1 and 2.1.2, one can easily see the rather large increases in computation times resulting from the removal of additional inequalities from the formulations. 2.2 Feed-Forward Results With Chain-Checking Recent experiments also included the synthesis of optimal N0R- networks by the use of the feed-forward program with chain-checking. This program was tested in combination with three different types of inequality formulations (described in the following three paragraphs, respectively). The program itself was compiled entirely by the FORTRAN H (OPT 2) compiler, and all of the calculations were timed by the system-supplied timing subroutine STEPZ. Again, the compilation and execution was performed under OS/MVT (20.6) on the IBM 360/75-J. Table 2.2.1 displays the results which were obtained with the first type of inequality formulations. This set of formulations (for 3 gates, k gates, etc.) contained only regular inequalities. Again, all 6k 3-variable functions requiring 3 or more NOR gates were tried. Table 2.2.1 Feed-Forward Program and Formulation With Chain-Checking, Without Additional Inequalities - Average Computation Times for All 3-Variable Functions Requiring 3 or More NOR Gates Optimal Number of Gates for Functions in Each Group Number of Functions in Each Group 15 22 15 [Data obtained December 1973.] Average Time with 3-gate Formulation .2k sec. .08 sec, .10 sec. .10 sec, .08 sec. Average Time with 4-gate Formulation i i J 1.30 i sec. i i_ .69 sec. .63 sec. .5k sec. Average Time with 5 -gate nFormulation II.67 sec. 6.kl sec. 5.19 sec. Average Time with 6-gate ^Formulation 110.57 sec. 65.38 sec. Average Time with 7-gate Formulation 1215.67 sec. Average over all infeasible cases for each R-gate formulation .09 sec. .65 sec. 6.06 sec. 65.38 sec. \ \ \ Feasible x ^ Cases In- \ feasible^ Cases n^ Table 2.2,2 Feed-Forward Program and Formulation - With Chain-Checking, With All Except Permutation- Preventing Inequalities Average Computation Times for All 3- variable Functions Requiring 3 or More NOR-Gates Optimal Number of Gates for Functions in Each Group Number of Functions in Each Group 15 22 15 [Data obtained January 197*1.] Average Time with 3-gate Formulation Average Time ■with i-gate formulation .95 sec. .55 sec. .50 sec. Average Time with 5-gate -[Formulation J+.91 sec. L 3.00 sec. Average Time with 6-gate ^Formulation kk.k9 sec. Average Time with 7-g a "te Formulation .k2 sec. 2.79 sec. 31.13 sec. 2165.97 sec. Average over all infeasible cases for each R-gate formulation .52 sec. 2.9U sec. 31.13 sec. v Feasible > Cases in- \ feasible"- Cases roi * Only 2 functions tried: Hellerman No. 72 and 73 • t The original 3-gate formulation contained no permutation-preventing inequalities which could be removed. 10 Table 2.2.3 Feed-Forward Program and Formulation With Chain-Checking, With Additional Inequalities - Average Computation Times for All 3-Variable Functions Requiring 3 or More NOR Gates Opt imal Number of Gates for Functions in Each Group Number of Functions i Each Group 15 15 [Data obtained between October and December 1973.] Average Time with 3-gate Formulation .20 sec. • 07 sec. .07 sec. .07 sec. Average Time with ^-gate Formulation =»- •92 sec. L • 59 sec. .5h sec. Average Time with 5-gate 1 Formulatior 2.1+9 sec- =i 1.56 sec. Average Time with 6-gate Formulation 25.36 sec. Average Time with 7-gate Formulation • 07 sec, sec, I.65 sec. 20.06 sec. 69^.09 sec. Average over all infeasible cases for each R-gate formulation • 07 sec. .55 sec. 1.58 sec. 20.06 sec. \ Feasibj \ Cases in- \ feasible \ Cases ^ 11 The second type of inequality formulations consisted of inequalities plus all but one kind of additional inequality. The additional inequalities which were excluded were all those of the permutation-preventing type (see [l] for a description of permutation-preventing inequalities). In the case of the 3-gate formulation, the original formulation (i.e., the formulation consisting of all regular and additional inequalities) contained no permutation- preventing inequalities, thus, since none could be removed, the case was not considered. Table 2.2.2 shows the computational results obtained for all but k 3-variable functions requiring k or more NOR gates. Only 2 of the 6 7-gate functions were attempted due to the excessive computation times encountered. Using the third type of inequality formulations, the results in Table 2.2.3 were obtained. This set of formulations contained all regular and additional inequalities in the originally developed formulations. Since the computation times resulting from the use of these formulations were relatively short, all 6k test functions were run. 2.3 Effects of Chain-Checking and Additional Inequalities on Computation Time In order to help visualize the improvements in computation times effected by the use of chain-checking and/or additional inequalities, results taken from Tables 2.1.1, 2.1.2, 2.2.1, and 2.2.3 are combined in the graph in Fig. 2.3.1. In Fig. 2.3.1, four combinations of program and inequality formulation are compared in the problem of synthesizing optimal NOR networks for the functions of exactly 3 variables which require 3 or more NOR gates: program without chain-checking and formulations without additional inequalities (case l), program with chain- checking and formulations without additional inequalities (case 2), program without chain-checking and formulations with additional inequalities (case 3), and program with chain-checking and 12 formulations with additional inequalities (case h) . For each R-gate formulation (R = 3,^,5,6,7), the average computation time for the feasible examples for each of case 2, case 3, and case k is expressed as a percentage of the average computation time for the same examples for case 1 (the case without chain-checking and without additional inequalities). Notice that the use of additional inequalities, at least in these particular experiments, has a much stronger influence than the use of chain- checking in the 3- through 6-gate inequality formulation cases, while the use of chain-checking has a significantly stronger influence in the 7-gate case. The use of both together, however, generally produces the most power- ful combination. Oddly, in the case of the 3-gate formulations, the use of chain- checking appears beneficial when the inequality formulation is without additional inequalities and of no value when the inequality formulation includes additional inequalities. In this instance, this observed lack of difference in compu- tation time may not be significant. With the 3-gate formulations, computation times are very short, and often running exactly the same program and inequality formulation twice for the same problem produces two slightly different computation times due to the inaccuracy of the timing subroutine. Fig. 2.3.2, Fig. 2.3.3, and Fig. 2.3.4 correspond to cases 2, 3, and k in Fig. 2.3.1, respectively. In each figure, as well as showing the improvement in average computation time of each case over case 1 for every R-gate formulation (R = 3,^,5,6,7), the percentage changes in computation times for the most and least improved individual functions can also be seen. In each of the three figures, the lines representing the best and worst individual cases were determined in the following manner: For each individual function feasible with a given R-gate formulation (R = 3,..., 7), Fig. 2.3.1 Reductions in Computation Times Achieved by the Use of "Chain-Checking" and "Additional Inequalities" 13 100$ case 1 90l "S 70$. V 50$. hoi. 30$. 10$. ^v -^-> \ 3 GATE X" \ N, \ •. \ \ * • — \— ; V- -2a# f case 3 \ case k / / -/- / / case 1 no "chain-chking" no "addl. ineqs." (Aug. 1973 data) case c "chain-chking" but no "addl. ineqs." (Dec. 1973 data) case 3 "addl. ineqs." but no "chain-chking" (Nov. 1974 data) case k "chain-chking" and "addl. ineqs." (Oct. -Dec. 1973 data) Conditions : (a) Statistics are only for all (representative) functions of exactly 3 vari- ables (b) Programs com- piled wholly in FORTRAN H (OPT 2) (c) Timing method of case 1 varied from other cases (STIMEZ rather than STEPZ) k GATE 5 GATE 6 GATE 7 GATE INEQUALITY FORMULATION Ik Fig. 2.3.2 Reduction in Computation Time Achieved by the Use of "Chain-Checking" Only 100$ worst individual improvement improvement 'f average computation : times best individual ■ improvement 3 GATE 7 GATE INEQUALITY FORMULATION Fig. 2»3«3 Reduction in Computation Time Achieved by the Use of "Additional Inequalities" Only 15 . !00# 180$ 160$ IhOi 120$ 100$ hOi 20% / 1 i # \ / • * \ / • / • \ « / • \ • \ • • y^ \ * worst individual improvement • improvement of average computation times best individual improvement 3 k 5 6 7 GATE GATE ' GATE GATE GATE INEQUALITY FORMULATION H O O I s H CO o Eh H EH fc H O hH < w Eh |3 o H EH H O 1° H 3 EH = is; o H Eh < o Reduction in Computation Time Achieved by the Simultaneous Use of "Chain- Checking" and "Additional Inequalities" 100$ 16 worst individual improvement improvement average computation times best individual improvement 3 h 5 6 7 GATE GATE GATE GATE GATE INEQUALITY FORMULATION 17 the corresponding computation time for this function for the case under consideration in the particular figure (case 2, 3, *+, respectively in Fig. 2.3.2, 2.3«3j 2.3.^) is expressed as a percentage of its corresponding computation time for case 1. Then, the two functions with the smallest and largest percentages are, respectively, the best and worst cases for that R-gate formulation . 2.k Effects of Permutation- Preventing Inequalities on Computation Time To examine the influence on computation speed of the set of permutation-preventing inequalities, a subset of the additional inequalities, in each R-gate formulation (R = 3>^>5>6,7)> the results for the feasible examples in Tables 2.2.1, 2.2.2, and 2.2.3 are displayed together in Fig. 2.U.I. The following 3 combinations of program and inequality formulation are compared in this figure: program with chain-checking and formulations without additional inequalities (case l), program with chain- checking and formulations without permutation-preventing inequalities (but with additional inequalities of the non-permutation-preventing type) (case 2), and program with chain- checking and formulations with all additional inequalities (case 3)» (Note that the numbers of these three cases are not related to the numbers of the four cases in the preceding section. ) As in Fig. 2»3.1, for each R-gate formulation (R = 3,^,5,6,7), the average computation time for the feasible examples for each of case 2 and case 3 is expressed as a percentage of the average computation time for the same examples for case 1 (in this instance, the case with chain-checking but without additional inequalities). 18 Fig. 2.^4.1 Effects on Computation Times of "Permutation- Preventing Inequalities" (a Subset of "Additional Inequalities") 20Of«-worst individual change change of average computation times 120$ 100$ <-best individual change * This data point based on only 2 fns.: Hellerman's #72 and #73. Their average compared to the average of the same 2 fns. in case 1. 3 GATE 7 GATE INEQUALITY FORMULATION 20 Fig. 2.k.3 Effects on Computation Times by Using "Additional Inequalities" with the "Chain-Checking" Program 200$ worst individ- ual change : improvement of average compu- tation times best individua improvement 3 GATE h 5 GATE GATE INEQUALITY FORMULATION 6 GATE 7 GATE 21 The normal 3-gate formulation (i.e., with all regular and additional inequalities included), as mentioned previously, contained no permutation-preventing inequalities, hence the absence of a data point for case 2 with the 3-gate formulation. (Strictly speaking, the average computation times for cases 2 and 3 can be regarded as coincident for the 3-gate formulation, since cases 2 and 3 become identical whenever none of the entire set of additional inequalities for a given R-gate formulation are of the permutation-preventing type. ) Another point to mention is that the average computation times used in figuring the percentage change in case 2 (as compuared to case l) for the 7-gate formulation are based on only 2 functions (Hellerman's #72 and #73 ) out of a possible 6 due to the excessively' long computation times encountered. For each of the 3-, ^— , 5-, and 6-gate formulations in Fig. 2.4.1, everything occurs as expected. The case without permutation-preventing inequalities (case 2) is better than the case without any kind of additional inequalities at all (case l). And the case employing all additional inequalities (case 3) is better than either of the other two cases. In the 7-gate formulation,however, an interesting thing occurs. Case 2, which seems intuitively better than case 1 in general, produces much worse results. Apparently, the non-permutation-preventing additional inequalities are more of a hindrance than a help for the 7-gate formulation — probably by directing the implicit enumeration in an inefficient way (although it is not known why this should occur). As in the previous section, the results for cases 2 and 3 are dis- played again in Fig. 2.4.2 and Fig. 2.4.3, respectively, with results for the most and least improved individual computation times for each of the different 22 R-gate formulations. It is interesting to note that in at least one instance for the 7-g a te formulation the computation with all additional inequalities took longer than the same computation with only regular inequalities. 23 3. CONCLUSIONS The comparison in Section 2 of the improvements in computation times achieved by the use of chain- checking and additional inequalities with the feed-forward implicit enumeration program revealed that the use of additional inequalities was apparently much more influential in improving computation time for problems involving 6 or fewer gates, although both factors were significantly effective. However, for the more complex 7-gate problems, the use of chain- checking became significantly more beneficial than the use of additional inequalities, in general. Of the 6 functions requiring 7 gates, optimal networks were found more quickly in h of the cases by the program employing chain-checking only (as opposed to the program using only additional inequalities). These results though, are probably based on too small a sample size to draw a valid conclusion on the relative strengths of the two, although the usefulness of the additional inequalities definitely declined from the 5- and 6-gate cases. In the best cases, out of all the optimal network synthesis problems attempted, the use of chain- checking, the use of additional inequalities, and the combined use of both chain-checking and additional inequalities improved computation speeds by factors of 1.75* 7*69 and 12.50, respectively. A second study reported in Section 2 also had somewhat surprising results. Using a program which contained chain- checking, three different types of formulations were compared in their performance: formulations containing only regular inequalities, formulations containing regular and non-permutation-preventing additional inequalities, and formulations containing all regular and additional inequalities. For the 3-gate, ^-gate, 2k 5-gate, and 6-gate formulations the results are just as would be expected: adding non-perrautat ion-preventing additional inequalities to a formulation containing only regular inequalities significantly improves the computation times, while the further addition of permutation-preventing additional inequalities results in still greater improvements (speed improvements up to factors of h.YJ and 8.33 for individual problems were achieved respectively). For the 7-gate formulations, the addition of non-permutation-preventing additional inequalities to the formulation containing only regular inequalities had quite adverse effects on the computation times in both examples tested. The further inclusion of permutation-preventing additional inequalities in the formulation resulted, in general, in significantly improved computation times (up to 2.78 times faster than the formulation without any additional inequalities). It is not known whether the permutation-preventing inequalities themselves or their combination with the other additional inequalities was responsible for these reduced computation times. An interesting experiment would be to use a 7-gate formulation with just regular and permutation- preventing inequalities and to compuare the results with those in Fig. 2.^.1. In the full inequality formulations discussed in Section 2, the additional inequalities included in each R-gate formulation can be classified into several types (see [15] for examples of such classifications). Dae to the way in which these particular R-gate formulations (R = 3,^,5,6,7) evolved, the types of additional inequalities included currently vary some- what between formulations for different numbers of gates. Since the feed- forward implicit enumeration approaches for optimal NOR network synthesis were quickly superseded by significantly faster all- interconnection approaches [lift] [91 [10] [12] [15] [16] [20] an ^ by the much faster> but much 25 less flexible, branch-and-bound approaches 161 [7] [22] [2U] [25] [26] [27] , it did not seem worthwhile to generate a group of identically structured sets of additional inequalities for the 3- through 7-gate formulations. This would have perhaps provided a fairer comparison between the various cases in figures such as Fig. 2.3.1 and 2.4.1, but the problem of selecting a set of additional inequality types which would provide the "best" results for all of the R-gate formulations was found to be a difficult - if not impossible - task beyond the scope of this paper. The relationships, as they affect computational efficiency, among the additional inequalities included in any feed-forward inequality formulation are, as indicated by accumulated computational experience, apparently not nearly as simple or obvious as they may seem. It seems necessary that the effectiveness of different types of addditional inequalities be evaluated only with respect to other additional inequalities present, the relative difficulty of the particular problem being solved, and other such characteristics, Partial results in this direction appeared in [15 ] along with similar studies for all- interconnect ion inequality formulations for NOR and other gate-type networks. Further study of this problem, even for this limited case (feed- forward implicit enumeration), could lead to a deeper understanding of the functioning of additional inequalities and prove quite interesting. 26 Acknowledgement This paper is essentially the updated evaluation of the influence of additional inequalities which was initially done jointly with Drs. T. Ibaraki, C.R. Baugh, and T.K. Liu. The authors are grateful to these people, particularly to Dr. Liu, for their advice and help in preparing this paper. 27 LIST OF REFERENCES [l] C.R. Baugh, T. Ibaraki, T.K. Liu, and S. Muroga, "Optimum network design using NOR and NOR-AND gates by integer programming, "Report No. 293, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Jan. 1969* [2] C.R. Baugh, C.S. Chandersekaran, R.S. Swee, and S. Muroga, "Optimal networks of NOR-OR gates for functions of three variables," IEEE Trans . Comput. vol. C-21, pp. 153-160, Feb. 1972. [3] C. S. Chandersekaran, "Synthesis of optimal double-rail logic networks using NOR-OR gates by integer programming," Report No. 38^, Dept. of Compu. Sci., Univ. of 111., Urbana, 111., Feb. 1970. [k] J.N. Culliney, "On the synthesis by integer programming of optimal NOR gate networks for four variable switching functions," Report No. U80, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Sept. 1971. [5] J.N. Culliney, "An explanation of discrepancies among previously reported computation time statistics for the NOR network synthesis problem by implicit enumeration methods," File No. UIUCDCS-F-75-88U, Dept. of Comp., Sci., Univ. of 111., Urbana, 111., June 1975- [6] E.S. Davidson, "An algorithm for NAND decomposition of combinational switching functions," Report R-382, Coordinated Sci. Lab., Univ. of 111., Urbana, 111. , June 1968. [7] E.S. Davidson, "An algorithm for NAND decomposition under network con- straints," IEEE Trans. Comput., vol. C-l8, pp. IO98-IIO9, Dec. 1969. [8] L. Hellerman, "A catalog of three-variable OR-invert AND-invert logical circuits," IEEE Trans. Electron. Comput., vol. EC-12, pp. 19d-223, June I963 . [9] K. R. Hohulin, "A code for designing optimal networks by implicit enumeration using the all-interconnection inequality formulation (A programming manual for ILLODIE-ALF ) , " Report No. UIUCDCS-R-75-768, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Nov. 197^ 7CZ [10] T. Ibaraki, T.K. Liu, C.R. Baugh, and S. Muroga, "Implicit enumeration program for zero-one integer programming," Report No. 305, Dept. of Comp. Sci. , Univ. of 111., Urbana, 111., Jan. 1969. [11] T. Ibaraki, T.K. Liu, D. Djachan, and S. Muroga, "Synthesis of optimal networks with NOR and NAND gates by integer programming," Report No. h2 r J , Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Jan. 1971. [12] T. Ibaraki, T.K. Liu, C.R. Baugh, and S. Muroga, "Implicit enumeration program for zero-one integer programming," Int. J. of Comp. and Inf. Sci., vol. 1, no. 1, pp. 75-92, Mar. 1972. 28 [13] T. K. Liu, "A code for zero-one integer linear programming by implicit enumeration/' Report No. 302, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Dec 1968. [lU] T.K. Liu, K.R. Hohulin, L.E. Shiau, and S. Muroga, "Optimal one-bit full adder with different types of gates," IEEE Trans. Comput., vol. C-23, pp. 63-70, Jan. 197^. [15] J.J. Mora-Tovar, "A study of the effect of additional inequalities in integer programming for logical design," Report UTUCDCS-R-72-5^-3, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Oct. 1972. [16] S. Muroga, "Logical design of optimal digital networks by integer program- ming," in Advances in Information Systems Science, Vol. 3 } edited by J.T. Tou, Plenum Press, pp. 283-3^-8, I97O. [17] S. Muroga, Threshold Logic and Its Applications , Wiley- Interscience, 1971. [l8] S. Muroga and T. Ibaraki, "Logical design of an optimum network by integer linear programming - Part I," Report No. 26^-, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., July 1968. [19] S. Muroga and T. Ibaraki, "Logical design of an optimum network by integer linear programming - Part II," Report No. 289, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Dec. 1968. [20] S. Muroga and T. Ibaraki, "Design of optimal switching networks by integer programming," IEEE Trans. Comput., vol. C-21, pp. 573-582, June 1972. [21] T. Nakagawa, "A Branch-and-bound algorithm for optimal AND-OR networks (The algorithm description)," Report No. U62, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., June 1971. [22] T . Nakagawa, H.C. Lai and S. Muroga, "Pruning and branching methods for designing optimal networks by the branch-and-bound method," Report No. h'Jl, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Aug. 1971. [23] T. Nakagawa, "Reference manual of FORTRAN program ILLOD-(AND-OR-B) for optimal AND-OR networks," to be published as a report, Dept. of Comp. Sci. , Univ. of 111., Urbana, 111. [2^] T. Nakagawa and S. Muroga, "Exposition of Davidson's Thesis 'An algorithm for NAND decomposition of combinational switching systems'," File UIUCDCS-F-7I-869, Dept. of Comp. Sci,, Univ. of 111., Urbana, 111., Aug. I969. [25] T. Nakagawa and H.C. Lai, "A branch-and-bound algorithm for optimal NOR networks (The algorithm description)," Report No. ^38, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Apr. 1971. 29 [26] T. Nakagawa and S. Muroga, "Comparison of the implicit enumeration method and the branch-and-bound method for logical design," Report No. ^55> Dept. of Comp. Sci., Univ. of 111., Urbana, 111., June 1971. [27] To Nakagawa and H.C. Lai, "Reference manual of FORTRAN program ILLOD- (NOR-B) for optimal NOR networks," Report No. 488, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Dec. 1971. [28] L.E. Shiau, "Design of optimal one-bit adder networks by integer linear programming," Report No. ^25, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Jan. 1971. [29] R.S. Swee, "Optimum network design using NOR-OR gates by integer program- ming," Report No. 375, Dept. of Comp. Sci., Univ. of 111., Urbana, 111., Feb. 1970. BIBLIOGRAPHIC DATA SHEET 1. Report No. UIUCDCS-R-76-8O7 'a study of certain factors affecting computation times in designing optimal nor networks by the implicit enumeration method using the feed-forward network formulation 3. Recipient's Accession No. 5. Report Date June 1976 Author(s) J.N. Culliney and S. Muroga 8. Performing Organization Rept. No. '. Performing Organization Name and Address Department of Computer Science University of Illinois at Urbana-Champaign Urbana, Illinois 6l801 10. Project/Task/Work Unit No. 11. Contract /Grant No. NSF DCR 73-03^21 12. Sponsoring Organization Name and Address National Science Foundation 1800 G Street, N.W. Washington, DC 20550 13. Type of Report & Period Covered Technical 14. !5. Supplementary Notes 6. Abstracts This paper explores the influence of the use of "chain- checking" and "additional inequalities" on the computational efficiency in the synthesis of optimal NOR-gate networks by an implicit enumeration integer programming program using a "feed- forward" approach. Chain-checking is an improvement in the programming of the implicit enumeration algorithm, and additional inequalities are those inequalities included in the inequality formulation beyond the minimum necessary to describe a feasible solution to the integer programming problem (i.e., a network which actually realizes the desired function). The program used was a modified version (for input and output convenience) of ILLIP, a general 0-1 integer programming program. The optimal NOR-networks synthesized realized all 3 variable functions requiring 3 or more gates. The optimal network themselves, which can be found elsewhere, are not shown in this report 7. Key Words and Document Analysis. 17a. Descriptors Logical design, logic circuits, logical elements, programs (computers), mathematical programming. 7b. Identifiers/Open-Ended Terms ! Integer programming, implicit enumeration, computer-aided-design, feed-forward networks, inequality formulations, feed-forward formulation, chain- checking, additional inequalities, NOR-gate networks. 7e. C0SAT1 Field/Group IB. Availability Statement RELEASE UNLIMITED ORM NTIS-35 ( 10-70) 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 33 22. Price USCOMM-DC 40329-P71 JUL 1 * «* «fr ^ AUU 2 9 1980