XI B RAFLY OF THE U N IVERSITY OF 1LLI NOIS 510. 84 M 271-278 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 *0V ?2 Wl °* c 2«ET* JAN 2 8 WW L161 — O-1096 Digitized by the Internet Archive in 2013 http://archive.org/details/enumerationofpse278fage S/'-'r ru- h y^u^sc/f jU-z-re Report No. 278 ENUMERATION OF PSEUDO-SEPARABLE FUNCTIONS OF FIVE VARIABLES by Glenn W. Fagerlin August 8, 1968 The person charging this material is re- sponsible for its return 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 1968 <\PR 9 Ktb L161— O-1096 Report no. 278 ENUMERATION OF PSEUDO-SEPARABLE FUNCTIONS OF FIVE VARIABLES* by Glenn W. Fagerlin August 8, 1968 Department of Computer Science University of Illinois Urbana, Illinois 618OI This work was submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science in the Graduate College of the University of Illinois, August 1968. ACKNOWLEDGMENT The investigation described herein was undertaken as a Master's thesis project under the direction of Professor Saburo Muroga of the Department of Computer Science of the University of Illinois. The author wishes to express his appreciation to his advisor, Professor Muroga, for his guidance and comments during the investigation and the preparation of this paper. 11 TABLE OF CONTENTS CHAPTER Page 1 INTRODUCTION 1 2 PROPERTIES OF PSEUD 0- SEPARABLE FUNCTIONS 2 3 DESCRIPTION OF METHODS USED 5 3.1 The Generation Algorithm 6 3-2 Determining Representative Functions 15 3« 3 Determining a Structure 19 k SUMMARY 2U LIST OF REFERENCES 25 APPENDIX 26 111 CHAPTER 1 INTRODUCTION Linear separability of switching functions has been studied widely in recent years. Methods of determining if a given function is a separable function, and if so, determining its optimal structure have been developed. (3) It has been shown that the percentage of switching functions of n variables which are separable becomes small as n increases. Three percent of all four variable functions are separable functions, while only 0.002$ of all five variable functions are separable functions. (6) . Slivinsky generalized the concept of linear separability be defining pseudo- separability to obtain a large class of functions. (h) It is the purpose of this paper to investigate the class of pseudo -separable functions of up to five variables. -1- CHAPTER 2 PROPERTIES OF PSEUDO-SEPARABLE FUNCTIONS Before discussing the properties of pseudo-separable functions, a few comments concerning notation are needed. The notation used to denote true and false values will be and 1 respectively. A function of n variables x_,Xp,...,x will be denoted by f(x.,x , ...,x ) or simply f(x), where x represents the n-tuple (x ,x , ...,x ). An n-tuple A - (a_,a , ...,a ), where each a. = or 1, will be called a vector of f(x). If f(A) = 1, A will be called a true vector . If f (A) = 0, A will be called a false vector . The n+1 tuple (w ,w ,w , ...,w ,T) denoted [W;T] will be termed a structure for a given f (x) . Geometrically [W;T] denotes the hyperplane W-x = T. The following definition of separability is given to allow the reader to compare this with the concept of pseudo- separability. Definition 2.1 : A switching function f(x) is said to be separable if there exists a structure [W;T] such that for any true vector A, WA > T, and for any false vector B, WB, < T. Definition 2.2 : A switching function f(x) is said to be pseudo-separable if there exists a structure [W;T] such that for any true vector A, WA > T and for any false vector B, WB < T. -2- Definition 2.3 : The structure [W;T] is said to pseudo-separate a function f (x) if for any true vector A, WA > T and for any false vector B, WB < T. Thus, both true and false vectors are allowed to lie on the pseudo- separating hyperplane while only true (or only false) vectors are allowed to reside on the separating hyperplane. The following definition and properties of pseudo- separable functions will be used in discussing the enumeration of pseudo- separable functions of up to five variables. Definition 2.U: If a variable x. (or x.) does not occur in i 1 any term of some disjunctive form for a switching function f, then f is said to be positive (or negative ) in the variable x., and the disjunctive form is said to be positive (or negative ) in the variable x.. If f and the disjunctive form are positive or negative in x., they are called unate in x.. A function which is unate in all variables is called a unate function . A function which is positive in all variables is called a positive function . Slivinsky shows that in order for a function f to be pseudo-separable, with a structure other than the trivial structure [0;0], f must be unate. (k) The next theorem provides information about each w. in the structure [W;T] for a given function f (x) . -3- (k) — - Theorem 2.1 : If f(x) is pseudo- separable under [W;T] and positive (or negative) in x., then w. > (or w. < 0). The following theorem allows us to consider only positive functions and then generalize any results obtained for positive functions to the class of unate functions. Notation 2.1 : If f(x) is any switching function, the notation "f(x;x. -* y)" will be used to represent the function which results when y (another variable or value) is substituted into f(x) for x Theorem 2.2 : Let f(x) be pseudo- separable under Ew;T]. Then i f(x; x. ■+ x. ) is pseudo- separable under [w, ,w p , • . . ,w. .. , -w. w. , ... ; w n ;T-w.] = fiPjT 1 ]. Thus, the enumeration of pseudo- separable functions of up to five variables considers only positive functions, since structures for the class of unate functions can be obtained from structures for the class of positive functions by applying Theorem 2.2. -h- CHAPTER 3 DESCRIPTION OF METHODS USED The following "brief description of the methods used to generate and find structures for pseudo-separable functions is presented to give the reader some insight into the total problem before discussing the procedure in detail. In order to determine the class of pseudo-separable functions of up to five variables, all positive functions of up to five variables were generated according to an algorithm which is based upon the following expansion theorem. (2) "*! Theorem 3»1 - If f (x) is a swtiching function of n variables, then r ^x_,x , . . . ,x ) = x f(x x , . . . ,x. .. ,l,x , . . .,x ) v x^f (x , x^, . . . > x ^_-i >0,x^ , -^ > • m • > x n ' * When f(x) is a positive function, x. does not occur in f(x) and hence the above theorem becomes: Theorem 3«2 : If f (x) is a positive function of n variables, "cnsn 1 1 x_ 9 x_ « • • • • x ) = x.xi x_ • x_ « • • • » x , _ • _l • x . _«•••■ x J r 2' ' n i v 1' 2' ' l-l' ' i+l' ' n' ^ f (x , x^^ • • *' X A^-\'^f x -j_<2. f ' ' ' ,X n ' If we let f(x. ,x , . . .,x ) = F, x. = x , G = f(x_,x_, 12' n ' l n 1 2 ...,x _,l) and H = f (x_ ,x_, . . .,x _,0) the result of Theorem 3*2 ' n-1 1' 2' ' n-1 can be expressed as F = Gx v H, where F is a function of n n variables and G and H are functions of n-1 variables. By using F = Gx v H to combine positive functions of up to n-1 variables, all positive functions of up to n variables can be obtained. -5- Since the number of positive functions created by the generation algorithm is quite large, procedures are developed to eliminate (a) identical functions and (b) functions which become identical by the permutation of variables since the structures which pseudo-separate the functions of the type (b) are identical. Elimination of the type (a) is described in Section 1. Since the elimination of (b) is more difficult, it is tiie topic of Section 2. After the eliminations mentioned above have been accomplished, the linear programming algorithm attempts to find structures which pse duo- separate the functions. 3« 1» The Generation Algorithm The result of Theorem 3*2 is applied to positive functions of up to n-1 variables to generate all positive functions of up to n variables. Defintion 3«1«1 : Let each f. for i = 0,1,..., 2 -1 represent the value of the function F for the i-th row of the truth table, which is the number i expressed in binary form (e.g. if i = 5 then the i-th row is (101)). The vector F = (f Q ,f , . . .,fp n _ 1 ) will be called a functional value vector for F. Thus, the function which is identically and the function which is identically 1 are represented by 2 dimensional vectors F = and F = 1 respectively. The following decimal notation will aid in the discussion of the generation algorithm. -6- Notation 3»1»1 : The function which is identically will be denoted by 0. All other functions will be denoted by the set of decimal numbers which are obtained by interpreting the true assignments of the function as decimal numbers. Thus, for the two variable case, x,x and x v x are denoted by 3 and 1,2,3 respectively. Table 3- 1-1 shows all positive functions of up to two variables and their corresponding decimal notation. The column "Three Variables" shows the decimal expression when a two variable function is regarded as a function of three variables. In order to apply the result of Theorem 3*2 a 2 dimensional functional value vector is created for the function the x . If we denote this vector by A = (a_, a., , . . . , a^ _) then n l 7 2 n -l n-1 value of each a. is as follows: a. = if i = 0,1, ...,2 -1, l l and a. = 1 if i = 2 " , . . . ,2 -1. Thus, for the function x A = (0,0,0,0,1,1,1,1) or, in decimal notation, ^,5,6,7- An n-1 variable function is expressed as a function of n variables as follows: If the n-1 variable positive function G is expressed by the functional value vector G' = (g^g-,***** g^n-1 _), then the function G is expressed by the 2 dimensional vector G = (G',G')^ when G is regarded as a function of n variables instead of the original n-1 variables. Similarly the n variable function H is expressed by H = (H',H')» -7- Table 3.1.1 Two Variable Positive Functions Decimal Notation Function Two Variables Three Variables X 1 X 2 X l X 2 X l VX 2 0* 0* 3 3,7 1,3 1,3,5,7 2,3 2,3,6,7 1,2,3 1,2,3,5,6,7 0,1,2, 3 0,1,2,3,^,5,6,7 * The function which is identically is denoted by 0, while the zero vector (00) having a functional value of 1 is denoted by 0. -8- The functional value vector for F in Theorem 3^2 is obtained according to the following process. Process 3.1.1 : If G is denoted by G = (g , g , . . . ,g 2 n ), and x by A* = (a^a^ ...^n^), Gx n is denoted by B = (ttyb^ • • • ,*£ n .-,_) where b. = a.g. for i = 0,1, ...,2 -1. If H is denoted by H = l 11 (h Q ,h , . .^hgii ), F is represented by F = (f^f^. . .,f 2 n_ 1 ) where f . = b. v h. for i = 0,1, ...,2 n -l. ill The function F which results from Process 3* 1*1 is a positive function of up to n variables obtained from the positive functions G and H of up to n-1 variables. By taking all combinations of positive functions of up to n-1 variables, including the function which is identically 1 and the function which is identically 0, all positive functions of up to n variables can be obtained. All positive functions of up to five variables were obtained by applying the above procedure recursively for n = 2.,^,h, and 5. The number of positive functions of up to n variables was 3 for n = 1, 6 for n = 2, 20 for n = 3, 168 for n = k, and 7581 for n = 5. Table 3«1«2 demonstrates the generation of all positive functions of up to 3 variables from positive functions of up to 2 variables. The columns labeled "G", "x ", "H", and "F" contain the decimal expression for the functional value vectors G, A, H, and F respectively. The disjunctive form of the function corresponding to each F is also presented. -9- The generation algorithm creates a large number of identical functional value vectors for a given F. The generation of most of these vectors can be suppressed by investigating the relation between the functional value for Gx and H. n Definition 3«1«1 ' If for two n-tuples A = (a.., a p ,..., a ) and B = (b ,b , . . . ,b ), a. > b. (for i = 1,2, . . • ,n), A* is said to be not smaller than B which is denoted A > B. If, in addition, there exists an i such that a. > b., A is said to be greater 1 i 7 than B. If none of A > B, A < B, or A = B holds, A and B are called incomparable. Identical functional value vectors for functions of less than n variables are generated whenever the functional value vector of H is not smaller than the functional value vector for Gx . Let H be represented by H and Gx by B. If H is fixed, any B such that H > B will generate a function F of less than n variables. The generation algorithm allows functions of less than n variables to be created only when G is the function which is identically zero. When G = 0, F = H and F is identical to H. Thus F is a function of less than n variables. Table 3-1-2 contains 36 positive functions of up to three variables, of which ik (denoted by an asterisk (*) in the table) were found to be duplicated n-1 variable functions and were eliminated in the generation algorithm. -10- When H and B are incomparable, it is still possible to obtain duplicate functions. An example of this is G = 2,3,6,7 and H = 1,3,5,7 which yield, in Table 3.1.2, F = 1,3,5,6,7 (F = x ± v x 2 x 3 ), while G = 1,2,3,5,6,7 and H - 1,3,5,7 yield the same F. There were only two occurrences (x.. v xx and x v x x ) of n variables duplicate functions for the three variable case. Since the number of duplicated n variable functions is small compared to those of n-1 variables, these functions were more easily removed after they were generated by ordering the functional value vectors and eliminating all but one of the identical functional value vectors for a given function F. -11- OJ X OJ H CM X X X > H X H H on X OJ r oj x x X H H X X OJ X X W > H P-.1 OJ on ■3 EH W CD H ,£> ti w •H CD ?H H o3 X3 > £ ft O ■H a ■P o Oj Ih Ih ft a; PI CD ci t- vo 1SU no LT\ VD oo oo vo LTN m oo oo H OJ OJ OJ r— t-- vo ir\ Ml ta. i^ — t— t — c- — t — •\ *\ *\ »\ *\ tr- 00 C- •s t- VD •\ •v c- t- VD Lf\ •\ •\ •\ •v LT\ VO -H/ -Hr •\ •s •\ *\ oo oo CO OO •s •\ •\ •s H OJ OJ OJ •\ •s H H o D- LT\ VD LT\ -* t— •\ •\ •\ •s *\ -Q. *\ oo OO OO oo OO OO *\ •\ •\ •\ H OJ OJ H OJ H o t- VD t— t^ VD irv •\ «\ »\ *\ in vo ia J- •^ »\ »\ »\ oo oo oo oo OJ OJ OJ •\ H •\ o t*- t- t- t- t- t- •t «v wv «l «\ *v 0O|VOVOVOVOVDVO vovovovdvovo X LT\ LTN LTN LTN LTN LT\ lf\ 1A IT\ lA LPi 1A J"_H/J--H/-H/J- J-J-J-J-J--4" oo n C u o 03 CD H H i ,£> fl erf •H o h -p 5 ft 2 G OJ OO oo X X oo oj OJ OJ X X X X rH OO X > H OJ > > > H X OJ H X X X OJ OJ OJ H CO CD H fl aJ •H 03 h cd 3 H > -s oo t o aS -p > Tt §1 Ml Ph •H -P <+H •H o S c Pk o •H g -P O aj H h s 0) 6 o C5 c- t- t- *v •\ t- VO r- VO t- #\ •* 0- •\ »\ t*- *\ vo Lf\ •v t- vo LfN t- •* VO •v »v r- VO •s *v •\ •\ Lf\ •s IT\ -3- C- •N ** VO IT\ -=1" LfN •\ LfN •\ •* •* VO LTN *\ •\ •\ »\ CO •\ OO CO VO »\ *\ oo OO oo oo *\ CO •\ »\ OO OO •s •\ •\ H OJ OJ H OJ H O H OJ OJ H OJ H •\ O t- c- 1 c— vo f— VO LT\ r- t- vo Ml t- IA VO LT\ J- OO OO OO OO OO H OJ OJ H OJ o h IA VO ^ J" •\ *\ *\ *\ •* oo oo oo oo oo ■t «t «\ ^ H OJ OJ OJ I s - t — t— t — t~— t — t— t— c— t— t— t^- OOI vo vo vo vo vo vo X IA 1A IA ITi IA IA •s «S «\ «\ «t #\ _=j- J- _=t- -=f -=f- J- vo vo vo vo vo vo •s •* «\ *l *v ^ A A A A IA A •v *\ »\ *s *\ »\ J- J- J- J- _Hf _* Ol t- C- t- t- t- h- •v »\ •* ** »* *\ LT\ LT\ LTN LT\ LT\ UA •V »\ •* *\ ^ «s oo oo oo oo oo oo tr— c— c— t— t— t— •\ »* »» H vo vo vo vo vo vo •s •* »\ *\ »\ *\ oo oo oo oo oo oo OJ OJ OJ OJ OJ OJ -13- co CM X en en en CO X en X X CM X c\i H X H X > X X > > > CO H r\i X , X X CM CM H CO CO CM X X X X en X > > > > CO H CM H X X X X CO CD H ,£> ct? •H w £h CD a3 H > ■a CO •H O & ^ > TJ §1 evil 0) °l Pi CH p G o •H -P w §1 fl fl O o 4h| o •H -P o| o w CM c a • 3 o H £ •H • ■p CO 0) o d) •H 5 H -P pr^ rQ •H ctf w CD Eh O !> On •H -P Ch •H o S G PL, O •H g -P o n5 ^H ?H S VO •v •v LT\ j- VO •\ IT\ LT\ •V J" vo *v \r\ LT\ •* •\ •\ ir\ *\ *\ .3- •N •\ LTN •\ »* co oo LT\ *\ ^t j- •v co LT\ *\ no CO •* •v •\ -=h •\ •* co •\ CO •s •\ CM CM -=f *\ oo OO •v CM H OJ ** •s co •s *v CM •s H H O H CM H H O ^ C>| C- VO •\ •v t- t- VO \s\ •\ »\ •s •\ t- UA VO ir\ -=1- *\ •^ ^ •s »\ CO oo co oo OO •\ •\ *v •v H CM CM H OJ H o TSL. CO t- •V c- VO •\ •\ c- t- VO IT\ ^ •s •\ •N ir\ VO LT\ -* x •v •s •s CO co OO OO •\ •N •\ •v H CM CM H CM H t- t- r- t~- t-- t- •v *\ *\ »\ »\ *\ VO VO VO VO VO VO ^ «^ ^ «\ ^ «S lf\ LT\ ITN LTN IT\ IT\ t- t- fr- t- t- t- •s *\ »s »\ »\ «\ \D VO VD VD VO VO V^ «\ *^ V\ *S «N LT\ LTN LA IT\ LTN LTN J" J" J- -ct- -* J" J" J" -=t" -* J" -=f VO ITS t- t- t~- t- t- t- L^ t- r- IT- t*- •\ •s •\ •\ •v •\ ^ •s •s •» •\ vo vo vo vo vo VO VO VO vo vo VO •v •\ •\ •* •\ •\ •\ ^ •s •s •\ iT\ lf\ LT\ LTN tr\ LTN LTN LT\ LTN if\ LTN •s •\ •^ •s •v «\ •\ •v •\ •». •» -d- -d- ,* -Zt" -=1- j- OO co co OO CO ^ •s *\ ^ •\ •\ *\ •* •\ •s •^ OO OO OO co co OO OJ CM CM CM CM •v •\ •V •s •^ •\ •s •s •^ •\ •* CVJ OJ OJ CM OJ CM H H H H H •v *\ •v •\ •\ •v H H H H H H •v •\ •\ •V •\ •\ o o o O O O -lH- 3.2. Determining Representative Functions Representative functions of classes of functions, each class of which is a class of functions identical by the permutation of variables, are determined after the extremal vectors have been determined. The representative functions were found by selecting any positive function as a representative and applying all permutations of 5 variables to the selected function. If the representative function selected could be made identical under a given permutation to another function F', then the function F' was eliminated. In this manner 7371 of the 758l positive functions of up to n variables were eliminated. Thus, only 210 representative functions were submitted to the linear programming procedure descirbed in the next section. Notation 3*2.1 : The rotation (abc), used to describe a given permutation, means that a replaces b, b replaces c, and c replaces a. For example, applying (12) to x.. v x x yields x 2 v x^x . Table 3-2. 1 shows the representative functions of up to 3 variables. For example, one can see that the representative functions F = x v x x can be made identical to the functions F' = x v x x and F ,f = x v x x by applying the permutations (12) and (132) respectively to F. -15- Table 3.2.1 Representative Functions of up_ to Three Variables Function x l X 1 X 2 X n X o X X l V X 2 x l v X 2 X 3 X^ V XLjX- x l v x 2 v x 3 x x x 2 v x x x v x 2 x -16- Table 3*2.2 shows (a) the total number of positive functions, (b) the number of representative functions of the class of positive functions, (c) the number of representative functions of the class of positive pseudo-separable functions and (d) the number of representative functions of the class of threshold (separable) functions for n - 1,2, 3 f ^ f and 5. It should be noted that all positive functions of n-1 variables (representative functions and those with permuted variables) must be used to create n-variable positive functions since it is possible not to generate a representative function of n-variables if only representative functions of n-1 variables are used. The use of representative functions of n-1 variables in the generation algorithm depends upon the method used to define the representative function, which in this case will not insure that all representative functions of n-variables are obtained. -17- Table 3-2.2 Number of Positive Functions of up_ to n- variables by Classification 1 2 n 3 k 5 3 6 20 168 7581 3 5 10 30 210 3 5 10 30 198 3 5 10 27 — i 119 Total Number of Positive Functions Number of Representative Functions Number of Representative functions of the class of pseudo- separable functions* Number of representative functions of the class of separable functions Note that in this instance the function F which is identically 1 is included as a pseudo- separable function since it is considered a separable function in the last row of the table. The structure [0; 0] separates F and also pseudo- separates F. Since the trivial structure [0*; 0] will pseudo- separate any function, this structure is not considered elsewhere in this paper. -18- 3.3- Determining a Structure In order to determine a structure for a given positive function a linear programming problem is formulated and a dual simplex linear programming algorithm is used to determine the structure. If the algorithm indicates that no structure exists, the function is not a pseudo- separable function. The algorithm attempts to find a structure which pseudo- separates the given function. There is no attempt made to find an optimal structure since the determination of an optimal structure is an integer linear programming problem. The interested reader is referred to Slivinsky. and Muroga "Synthesis of Partially Separable Functions" where an integer linear programming problem is described which minimizes the number of points lying on the pseudo-separating hype rp lane. (5) The formulation of the primal linear programming problem and the converstion of that problem to the dual problem for solution by the dual simplex algorithm can be best described by demonstrating the process for a given function. The function F = x x ? v X ^ X U will be used as an example. The reader interested in a comprehensive discussion of linear programming is referred to Gass. (l) The following definitions and theorem will show a method for limiting the number of constraints needed in the linear programming problem. -19- Definition 3-3«l : If a set of n tuples is given, the n-tuples, for which no other greater n-tuples exist in the set, are called maximal n-tuples of the set (or maximal vectors ). Those n-tuples, for which no other smaller n-tuples exist in the set, are called minimal n-tuples of the set (or minimal vectors ). Definition 3.3-2 : The minimal n-tuples of the set {x| f (x) = 1} for a positive function of n variables are called minimal true n-tuples of f (or minimal true vectors of f) and the maximal n-tuples of {x| f (x) = 0} are called maximal false n-tuples of f (or maximal false vectors of f). The maximal false, and minimal true n-tuples of a positive function f are called extremal n-tuples of f (or extremal vectors of f ). Theorem 3-3»l : Given a positive function F and a structure [W;T] which pseudo- separates the extremal vectors of F, [W;T] pseudo- separates any true or false vector of F. Proof Since F is a positive function, each w. •> for w.6 W (Theorem 3-2). Let A(B) be any true false vector of F. If A(B) is an extremal vector, [W;T] pseudo-separates A(B) by the hypothesis. If A(or B) is a non-extremal vector, there exists an extremal vector A' (B 1 ) which is greater than (less than) A (B). Thus, W-A > W-A' > T (W-B < W-B' < T) and A(B) is pseudo- separated by [W;T]. -20- The above definitions can be demonstrated by noticing that the extremal vectors of F = x x v x x, , for example, are (1100), (0011), (1010), (1001), (0110), and (0101). The vectors (1100) and (0011) are minimal true vectors and the remaining vectors are maximal false vectors. The determination of extremal vectors was accomplished by- applying Definition 3* 3*2 to the functional value vector for each F. The extremal vectors of F and the definition of pseudo- separability in Chapter 2 provide constraints for the primal linear programming problem. For F = x x p v x x. the constraints are as follows: w l +W 2 > T W 3 +w^ > T W 2 +w^ < T W 2 «r 3 < T w l +w^ < T w l +w 3 < T Converting the above constraints to provide a common relation between the weights and the threshold, while making the righthand side a constant, results in the following primal linear programming problem. Note that an extra constraint (T > l) has been added to insure that the trivial structure [0; 0] will not occur. Minimize 0*w + 0*w p + 0*w„ + 0«w. + 1»T Subject to w. > 0, T > -21- w l +w 2 -T > w 3 +w u -T > -w 2 -w^ +T > -w 2 • -w 3 + T > " w l - W]+ + T > - w l -w 3 +T T > > 1 Converting this problem to the dual problem yields: Minimize Ov., + 0'v o + Ov„ + Ov,, + Ov._ + 0«v r + l»v_ 1 d 3 4 5 o 7 Subject tow. > 0, T > v l - V 5- " v 6 < v l " V 3 ~ v h < V 2 -\ " v 6 < V 2 " V 3 " V 5 < - v l " V 2 +V 3 +v k +V 5 + v 6 + V 7 < 1 By adding slack variables, constructing the dual simplex tableau, and iterating five times on the tableau according to the dual simplex algorithm, the structure [l, 1, 1, 1;2] will result. The reader interested in the dual simplex algorithm and techniques for increasing its efficiency will find a discussion of the former topic in Gass and the latter in Muroga's "Threshold Logic", (l) (3) The dual simplex algorithm produced structures for all positive functions of up to k variables except for the function which is identically one. For positive functions of up to five -22- variables 197 of the 210 representative functions were shown to be pseudo- separable. For the remaining 13 five- variable representative functions, the dual simplex algorithm failed to find a pseudo- separating hyperplane. The representative functions of up to 5 variables and their structures are presented in the Appendix. -23- CHAPTER k SUMMARY The investigation provided empirical results that the class of pseudo- separable functions is much larger than the class of threshold functions. The class of representatives of positive pseudo- separable functions of up to 5 variables was shown to be 93« 8$ of the class of the representatives of positive functions of up to 5 variables. All the structures found consisted of integer weights. Thus, all pseudo- separable functions of up to 5 variables can be pseudo- separated with a structure consisting of integer weights. The results of the investigation are presented in the Appendix which shows 210 representative functions of up to 5 variables and the pseudo- separating structure, if one exists. The structures presented will, after the approporiate transformation as described in Chapter 2 and Chapter 3 Section 2, pseudo- separate any unate function of up to 5 variables whose representative function has a pseudo- separating structure. -2k- LIST OF REFERENCES (1) Gass, S. I., Linear Programming , McGraw-Hill Book Company, 1958* (2) McCluskey, E. J., Introduction to the Theory of Switching Circuits , McGraw-Hill Book Company, 1965. (3) Muroga, S., "Threshold Logic", Lecture Notes, Department of Computer Science, University of Illinois, 1968. (h) Slivinsky, T. A., "Partially Separable Functions", Ph.D. Dissertation, University of Illinois, 1967* (5) Slivinsky, T. A. and S. Muroga, "Synthesis of Partially Separable Functions", to be published. (6) Yen, Y., "Multi-Threshold Logic", Ph.D. Dissertation, University of Illinois, 1966. To be published in IEEETEC, 1968. -25- APPENDIX The appendix contains all representatives of the class of all the positive functions of up to five variables. The column labeled "Function" contains the disjunctive form of the representative function. The functions are expressed by their subscripts rather than the variables and their subscripts. Thus the function x Xp ^ x o x h is presented as 12 ^ 3^« The functions which are identically and identically 1 are denoted by "identically 0" and "identically l" respectively. The pseudo-separating structure [W; T] is presented in the column labeled "Structure". If a function is not pseudo-separable, "None" appears in the "Structure" column. -26- REPRESENTATIVE FUNCTIONS OF UP TO FIVE VARIABLES FUNCTION STRUCTURE Identically Identically 1 12345 23^5 123 12 1 I23I+ s/ 1235 I23I+ v 125 134 s/ 125 124 v 125 12 v 3U5 12 v 3k 12 v/ 13^5 12 v ll+5 12 v 13 1 ^ 23^5 1 v 31+5 1 ^ 23 1 v 2 1231+ v 1235 v 12^+5 123I+ v 1235 v l45 1234 v 235 y 1U5 234 v 235 v 1U5 1234 v 135 " 145 131+ v 125 v 1^5 134 v 135 * lk5 123 v 22k ^ 125 12 v 1345 ^ 2345 12 v 245 v 345 12 v 2U5 v 13U5 12 v 235 ^ 145 12 v l45 v 245 13 v 24 v 125 13 v 124 v 125 23 V 14 N/ 15 12 v 13 v 23^5 12 v 13 v 3^5 12 v 13 ^ 235 12 v 13 v 24 12 v 13 v 23 123 ^ ik s, 15 13 v 14 v 15 1 ss 234 v 235 (0,0,0,0,0;1) NONE ( 1,0,0,0,0; 1) (0,1,0,0,0; 1) (1,0,0,0,0] 1) (1,0,0,0,0. 1) (1,0,0,0,0. 1) (1,0,0,0,0. ,1) (1,0,0,0,0. 1) (1,0,0,0,0. 1) (1,0,0,0,0. 1) NONE (1,1,1,1,0. .2) (1,0,0,0,0. ;i) (1,0,0,0,0. ;i) (1,0,0,0,0 ■1) (1,1,0,0,0 ;i) (1,0,1,0,0 ;i) (1,1,0,0,0 ;i) (1,1,0,0,0 ;i) (1,0,0,0,0 ;i) (1,0,0,0,0 ;i) (1,1,1,1,1 ;3) (1,1,1,1,1 ;3) (1,0,0,0,0 ;i) (1,0,0,0,0 ;i) (1,0,0,0,0 ;i) (1,0,0,0,0 ;i) (1,1,0,0,0 ;i) NONE (1,1,0,0,0; 1) (1,1,0,0,0] 1) (1,1,0,0,0] 1) (1,1,1,1,0] 2) (1,0,0,0,0]1) NONE (1,1,0,0,0 ;i) (1,0,1,0,0 ;i) (1,1,0,0,0 ;i) (1,1,0,0,0 ;i) (1,1,0,0,0 ;i) (1,0,0,0,0 ;i) (1,0,0,0,0 ;i) (1,1,0,0,0 ;i) -27- FUNCTION 1 v 3l| v 1 v 234 ' 1 v 24 ' 1 v 2 2 25 ' 25 25 345 1^2^1+5 1 v 2 v 3 123U v 1235 " 123i| v 1235 > 1234 V 1235 N 1234 v 235 V 1234 ^ 235 v 123 234 234 234 123 124 123 12 v 123 13 - 13 - 13 > 13 - 13 ^ 23 - 123 12 v 23 - 13 ^ 13 - 13 - 23 - 23 - • 1245 ^ 13U5 ■ 12^5 v 345 ■ 2^5 ^ 345 l45 ^ 31+5 245 v 31+5 • 12U v 125 ^ 3I+5 • 135 v 145 v 245 ' 235 v l45 v 345 ' 235 ^ 245 v 345 • 124 v 125 v 1345 ■ 134 v 125 ^ 135 • 124 v 125 v 1U5 235 v l45 v 345 ■ 22k v 34 v 125 24 v 125 v 31+5 124 v 124 v 124 > 124 n 124 v / 124 13 v 24 v 124 v 23 V 24 ^ 24 v 14 v 12 v 13 123 123 123 123 123 13 - 13 - 13 - 13 - 13 < 12 v - 125 ' ' 125 ' ' 125 ' ' 125 ' - 134 ' v 134 245 v 134 V ' 34 V 124 V 34 v 34 v 15 > 24 n ' 15 ' 15 / 14 ' 14 , 14 v 15 v ' l4 v 24 v " 14 v 15 > l4 v 15 • 14 14 23 14 13 15 15 14 34 14 245 2345 345 235 15 s, 15 ■ 345 • 15 ' 125 • 125 125 15 25 34 ■ 2345 • 235 345 ' 15 ' 45 2345 245 345 15 15 15 STRUCTURE (2,1,1,1,1; 2) (1,1,0,0,0 1) (1,1,0,0,0 !l) (1,1,1,0,0 ;i) (1,1,0,1,0. .1) (1,1,1,0,0 ;1) (1,0,0,0,0 ;i) (1,1,2,2,1 ;5) (1,1,1,2,1 ;>0 (1,1,1,1,1 ;3) (1,1,1,1,1 ;3) (1,1,1,1,1 ;3) (1,1,1,1,1 ;3) (1,1,1,1,1 ;3) (0,1,1,1,0 ;2) (1,0,0,0,0 ;i) (1,0,0,0,0 ;i) (1,0,0,0,0 ;i) NONE (1,1,1,1, 0;2) (l,l,l,l,0;2) NONE (1,1,1,0, 0;2) (1,0,1,0,0; 1) (1,1, 1,0,0; 2) (1,1, 1,0,1; 2) (1,0,0,0,0; 1) NONE NONE (1,0,1,0,0; 1) (1,1,1,0,0;2) (1,1,1,1,0;2) (1,1,1,1,1;2) NONE (1,1,1,1,0 ;2) (1,0,0,1,0 ;i) (2,1,1,1,1 ;3) (1,0,0,1,0 ;i) (1,0,0,1,0 ;i) (1,0,0,1,0 ;i) (1,0,1,0,0 ;i) (1,0,0,1,0 ;i) (1,0,1,0,0 ;i) (1,0,1,0,0 ;i) (1,0,1,0,0 ;i) (1,0,0,0,0. ;i) -28- FUNCTION STRUCTURE 1 v 234 v 235 v 245 1 v- 23U v 235 v I+5 1 v 23U v 35 v 45 1 v 3!+ v 25 * 45 1 v 3^ v 35 v ^5 2 v 13 v ik v 15 2 v 3 v lli v 15 12 v 3 v If v 5 2 v 3 ^ 1+ v 5 123I+ ^ 1235 v 121+5 v 13^5 v 23^5 134 v 234 ^ 125 ^ 235 v 145 123 v 22k v 125 ^ 13I+5 v 23 1 +5 1234 v 135 v 235 v 145 v 245 123 v 124 v 234 123 123 123 123 13 - 123 13 - 23 - 123 123 123 123 123 123 123 23 > 123 23 - 123 123 123 23 - 23 > ' 135 ' 124 ' 124 ' 124 ' 124 124 \ ' 24 N 124 v 124 v , 24 s ' 124 ' 124 ' 124 ' 24 N ' 124 ' 124 14 v ' l4 v 124 s , lk s < 2k N ' 24 v 124 v 124 v 125 • 235 • 125 ' 125 ■ 125 ■ 134 125 * 134 < 234 ' 134 ' 134 ' • 134 • 134 • 134 34 V ■ 34 ' ■ 134 ss 245 v 145 v 245 ^ 235 ^ 145 v 125 ' 245 > ' 125 ^ ' 125 n ' 125 N , 15 V V 234 V 15 V v 15 V 125 v ' 15 ^ v 15 v v 345 v 245 ^ 1345 v 145 n/ 245 " 135 ' 345 ' 135 ' 345 ' 135 235 v, 15 ' 2345 ' 345 135 25 ' 25 34 v 15 v • 234 v- 15 ' 134 v 25 • 15 v 245 • 134 v 15 • 34 v 15 v • 34 v 25 > • 134 v 25 123 v i4 23 * 13 - 23 > 23 - 23 > 123 23 - 13 - 24 > 23 > 24 N 24 v 14 v / 14 124 23 - / 24 134 124 134 34 n 24 v / 24 ' 34 14 v ' 15 * ' 25 > ' 125 ' 15 v 15 v 25 ^ 235 v 135 v 31+5 ^ 25 ' 35 ' 135 v 35 ' 25 ' 135 v 35 ' 25 45 ' 15 v 25 v 34 v 15 n/ 25 ^ 35 ' 15 ^ 35 (lj 1, 0, Oj 1) (3, .lj 1, 2, lj 3) (2j o, 1, lj 1; 2) (2j 1, 1* lj ,1 2) (lj 0, 1, lj 0. 1) (lj .lj 0, 0. 1) (1 1; 1* 0, 0. 1) (lj >o, 1, lj lj 1) (0. .lj Is lj ,1 1) (lj .lj lj lj ;3) (lj .lj lj 1 .1 ;3) (lj .lj lj 0. ,0 .2) (1 .lj 1, 1. ,1. 3) (1 .lj lj 1 ,1. 3) (1 .lj lj 1 ,1 ;3) (1 .lj 0, 1 ,0 .2) (2. .2; lj 1 ,1 4) (1 .lj 0, lj ;2) (1 >0j 0, ,0 .1) N0N1 3 (1 >lj lj 1 ,0 ;2) (1 >o, lj ,0 ;i) (lj ►lj lj ,0 ;2) (1. .lj 0, 1 ,1 ;2) (2 >lj lj 1 ,1 ;3) (3. »lj lj 1 ,1 ;4) (2. »lj lj 1 ,1 ;3) (1 »lj lj 1 ,0 ;2) (1 plj .lj 1 ,1 ;2) (1 ,lj .1. ,1 ;2) (1 ,1; lj 1 ,1 ;2) (2 »lj lj 1 ,1 ;3) (0. ,lj .lj ,0 ;i) (1 fO J .Oj 1 ,0 ;i) (1 rlj .0, 1 ,1 ;2) (1 ,1 .lj 1 ,1 ;2) (0 ,lj .lj ,0 ;i) (0 ,lj .lj ,0 ;i) (1 ,lj .0; 1 ,1 ;2) (0. ,lj lj ,0 ;i) (1 fO J .lj ,0 ;i) NON] 3 (1 ,lj .lj 1 ,1 ;2) NON] 3 (1 .0, 0, 1 ,0 ;i) (0 ,1. lj ,0 ;i) (1 »o. .lj ,0 :1) -29- FUNCTION STRUCTURE 23 12 12 ' 12 « 1 v 1 v 2 v 2 v 12 » 1 v 123 134 123 123 123 123 123 123 23 < 123 123 23 ' 123 133 23 ' 123 123 123 23 * 23 < v 13 v i^ v 15 v 23U5 v 13 v il| v 15 v 3U5 v 13 ^ 23 V 11+ v 15 234 v 235 v 245 v 345 24 v 34 v 25 v 35 13 v 1^ v 15 v 3U5 13 v l4 v 15 ^ 1+5 • 13 v 23 >/ 4 v 5 2 3 ' 124 - 23^ ' 124 ' 124 ' 12k ' 12k ' 124 ' 12k 124 < ' 124 ' 124 124 < ' 124 / 24 » 124 ' ' 124 ' 124 / 24 < 24 v 124 < V 1). V v 125 - 135 V 134 V 134 ^ 134 V 134 V 134 v 34 > ' 134 - V 34 v V 134 ' 134 v V 134 ' 134 - ' 134 - v 34 v v 34 v ' 34 ^ 134 v ' 34 ^ v 235 * 235 v 234 v 125 v 125 v 125 v 125 ' 125 v ' 125 * ' 25 v V 234 ' 125 > v/ 234 ' 25 v ' 125 s ' 25 V ' 125 ' 25 - 25 N 125 v 145 v 145 v 125 - 135 V 135 * 135 v 135 ' 135 ' ' 135 135 v ' 135 ' v 15 ' 135 * ' 35 " 135 ^ ' 35 35 > 135 ' 35 123 v 124 V 34 v 15 v 25 123 ^ 124 v 34 v 25 v 35 N ' 45 123 v 24 v 34 v 15 v 25 v 35 23 v 14 v 34 v 15 v 25 v 45 13 ^ 23 v 14 v 24 v 15 ^ 25 123 v 24 v 34 v 15 ^ 35 v/ 45 123 v 24 v 34 v 25 v 35 v 45 v 345 v/ 245 s, 3I+5 ^ 2345 v 345 v 235 v 145 • 245 • 145 145 • 235 • 245 ■ 25 ^ 145 s/ 245 v 45 s/ 1+5 145 ■ 145 245 45 23 23 12 12 12 12 12 24 24 13 13 13 13 3 34 34 14 14 14 15 ^ 25 ^ 234 34 v 234 35 > 35 * ' 15 15 > ' 15 45 45 ' 235 25 ' 25 ■ 14 v 2.k ^ 15 v 25 14 v 24^ 15 v 25 123' v ' 124 v 13I+ s/ 125 v/ 135 ^ 123 v 124 v 134 v- 234 v 125 v 123 v 124 v 134 v 234 v 125 v 245 135 135 345 245 235 (0,1,1,0,0. 1) (1,1,0,0,0. .1) (1,0,1,0,0 .1) (1,1,0,0,0. . 1) (2,1,1,1,0. ;2) (2,1,1,1,1. .2) (1,1,1,0,0 1) (1,1,0,1,0. .1) (1,1,0,1,1. 1) (1,1,1,1,1. ;i) (1,1,1,1,1. ;3) (1,1,1,1,1 ;3) (1,1,1,1,0 ;2) (1,1,1,0,0 ;2) (2,1,2,1,1 ;*0 (1,1,1,0,0 ;2) (1,0,0,0,0 ;i) (1,1,1,1,0 ;2) (1,1,1,1,0 ;2) (1,1,1,1,1. ;2) (2,1,1,1,1 ;3) (0,1,1,0,0 ;i) (1,1,0,1,1 ;2) (1,2,1,1,1 ;3) (0,1,1,0,0. ;i) (1,1,1,1,1 ;2) (1,1,1,1,1 ;2) (0,1,1,1,1. ;2) (1,2,1,1,1 ;3) (0,1,1,0,0 ;i) (1,1,1,1,1. ;2) (1,1,1,1,1. ;2) (1,1,1,1,1 ;2) (1,1,1,1,1 ;2) NONE (1,1,1,1,1 ;2) (0,1,1,1,1 ;2) (1,1,1,1,1 ;2) (0,1,1,1,0. ;i) (1,1,0,0,0. ;i) (1,1,1,1,1. ;2) (1,1,0,0,0 ;i) (1,1,0,0,0. ;i) (1,1,1,0,0 ;i) (1,1,1,1,1. ;3) (1,1,1,1,0. ;2) (1,1,1,0,0. .2) -30- FUNCTION STRUCTURE 123 v 124 v 134 ^ 125 ^ 135 v l*+5 v 2345 123 v/ 124 v 134 v 125 v 135 v 1I+5 v/ 3I+5 223 v 124 v 134 v 234 v 25 v 135 v 1^5 23 v 124 ^ 134 v 125 v 135 v 245 v 345 123 n/ 124 v 134 v 234 v 125 ^ 35 v 45 123 v 124 v 134 ^ 23^ v 25 v 35 v >+5 123 ^ 14 ^ 24 v 34 ^ 15 v/ 25 v 35 23 v 14 v 24 v 34 v 15 ^ 25 v 35 12 v 13 ^ 14 v 234 v 15 ^ 235 v 245 12 v 13 v 14 v 234 V15V 235 ^ 45 12 v 13 v 14 v/ 234 n/ 15 v 35 s, 45 12 v 13 v 14 v 34 v 15 v 25 v 45 12 v 13 v 14 v 34 v 15 v 35 v 45 12 v 13 ^ 23 v 14 ^ 24 v 15 v 25 12 v 13 v 23 v lit v 2l+ v 3I1 v 5 123 v 124 ^ 134 v 234 ^ 125 v 135 v 245 v 123 v 124 v 134 v 234 v 125 v 135 v 235 ^ 123 v 124 v 134 ^ 234