LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 510.84 TfiGr no.770-775 cop. 2. 1 he 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 L161 — O-1096 Digitized by the Internet Archive in 2013 http://archive.org/details/determinationofs774jens J/t- *7 ■ L y UIUCDCS-R-T5-77 ) + • I u, Determination of Symmetric VLi Formulas: Algorithm and Program SYM4 by Gerald Martin Jensen December 1975 UIUCDCS-R-75-77 1 ^ Determination of Symmetric VL, Formulas: Algorithm and Program SYM^ by Gerald Martin Jensen Department of Computer Science University of Illinois at Urbana- Champaign Urbana, Illinois 6l801 December 1975 This work was supported in part by the National Science Foundation under Grant No. NSF DCR 7^-0351^ and was submitted in partial fulfillment of the requirements for the degree of Masters of Science in Computer Science, 1975. ill ACKNOWLEDGEMENT The author would like to thank all the people who assisted in the development of the current SYM^' program and its earlier version. In particular, Professor H. S. Hichalski for his helpful sup-p-estions and guidance throughout the development of the SYM^ urogram, Thomas Tan for the initial development of SYM-1 , and Richard Chilausky and James Larson for their valuable technical assistance. The author would like to express his thanks for the partial financial support from NSF p;rant number DCR 7^-0351^ iv TABLE OF CONTENTS Page ACKNOWLEDGEMENT lii 1. INTRODUCTION 1 2. THE ALGORITHM 5 3. USER'S GUIDE FOR SYH4 8 3.1 Input Parameters 3.2 Specification of Storage Parameters 9 3.3 Specification of Optional Parameters 10 3.k Specification of Data Parameters 11 3.5 Output Parameters 13 1*. CRITERIA FOR TEE CHOICE OF THE SYMMETRIC SELECTOR . . . . l6 5. EXAMPLES OF PROGRAM INPUT AND OUTPUT 27 6. CONCLUSION ,. -0 REFERENCES ^2 APPENDIX A 1*3 1 1. INTRODUCTION This paper contains a iescrJ tier of or algorithm that detects symetry a v.-- -aria a 1. function, i users guide f or the rograi ilch Is the /l Lnpllaentation of the algorithm* I' cynr.etry ezists, the r'T;" .."^:t: a syr_".eoric selector ' '-' ~>\ tr.« ~r.~~.zLz variables. 7 aoer also ccr.tair.s a list of criteria f oi the a elect 1 o n o :' s y nr: e t r 1 c selectors, as c p pos ed be Ron- : selectors, ifher. v-:e is cy--- - -,.-■; or. e -/aria": : eo of a "1. fimctlc c . .-. ief ir-icicr. of ore ccr.cect of selectors :: glTen _' aaper , lo ."-a :e this a:er self— contained, however, a brief review of the definition of a "1. selector Lfl necessary. .-. - - _ - - 1 - ? -_ '" — "I ^ft* t*«t*1" or -** c -^ ^. -^ c ^ la ^ r *vtti *=^n r* p of* "'It' pt*q1 r * — •s. _ _ -i _ _ — , --;> — -..- — ^,-. .,-, - - » • — ^ - . ~ — _,.._ . _ .'.=.- _ - - r r a - r ov- er, e liberal, then they ^ ' ^ separaces ;v the symbol ' — ' ahicr :-'.'. -.z r '.rzal s.::: netic sun. _he va' of x. is Z : -:: lt where 2 ; is ohe oazim;- iorjair. eleroer.t : trie i" ccroair. ar.i z, is the val'je of :.. Fhe selectoi relatior. - Lb one of t'r.e fcllcvir:- relacicr.s = ,*<, = , = . ^ i, -^ j -- ^ — ' -r» C r.or.-r.e^acive ir.ce^er: Lb Lncreasir_g crier. They are _^^a- racei by ',' or f : ! . Fhe font c *i :C ? ~ z a compresses way to represent a sec_uer.ee of ccr.se cue i*"e ir.oe.~ers frcr c. oc c. ir.clusire. A :e"_^:::r Is said tc be satisfied if the left pari I _s In relaoicr; ? sitl the right ~;aro H. lhe following is an example of a selector: [xj/1..3,5*7] This selector is satisfied if the value of x. does not equal 1 ,3,5 » 6 or 7. A symmetric selector is a selector in which there is more than one literal in the referee (L) . The following is an example of a symmetric selector: j x 1 +x ? +x r =0,5t 7 | Domains of Input Variables D i = (0,1,2,3,^ 1=1.2,5 The above formula is satisfied if the variables x.. , x and x^ arithmetically sum to or 5 or 7. The function expressed by the above formula is symmetric with regard to variables [x 1 ,x„,xJ since the value of these variables can be exchanged one for another without changing the value of the function, i.e., whether it is satisfied or not. The following deiinition of terms is helpful in the understanding of the algorithm presented in the next section. A D_Group is defined as a group of variables with the same number of levels. If a set of variables is symmetric, the values of particular symmetric variables can be exchanged for the value of another symmetric variable. The sum of the symmetric variables would still be the same. If the symmetric variables did not have the same number of levels, exchange of values of two symmetric variables might result in one variable having a value outside its domain. There would be no symmetry in that case. Symmetric variables, therefore, have the same number of levels and are members of the same D_Group. 3 A completely specified symmetry Is defined as a sym- metry in which the event class contains all possible ways for the symmetric variables to sum to a particular number. If this condition is not met, the symmetry is incompletely specified. The Column__Sum for a variable x. is defined as the sum of the ith component of events in one event class. The compli- ment of a Columnjjum is defined as the sum of the compliments of 1th components of events in one class. The compliment of a Column_Sum is also calculated by subtracting the given Column_Sum from the product of the number of events in the class and the largest domain element, (i.e., $ events * #.- Col-Sum. =Comp. Col-Sum.). A CS__Group is defined as a group of variables with the same Column_3um. Jf symmetry is completely specified, the symmetric variables will have the same Column_3iiiii, unless a symmetric variable is complimentary. If the symmetric variable is complimentary, the compliment of its Column_3um will equal the Column_J3um of the other symmetric variables. Jf the symmetry is incompletely specified, nothing can be said about the relationship between the ColumnJSums of the sym- metric variables. The Row__3um for a set of variables is. defined as the sum of values of the variables. If the variable x 1 is com- plimented, its value is the complimentary value of the vari- able jzL - x. . For a group of variables with the same domain, total symmetry is defined as symmetry with regard to all variables of that group. Partial symmetry is defined as symmetry with regard to some, but not all variables of the group. A mini- mal symmetric selector is a symmetric selector which covers the given event set but has a minimum number of references, and therefore a minimal symmetric covering. The Class Compact Ratio is defined as the ratio of the number of events in a given class to the total number of events covered by the selector (s) in the formula for the given class. The i-.inimum D__Group Ratio is defined on an event space of reduced dimension. The dimension of this re- duced event space is equal to the number o^ variables in the D_Group. The D__Group Ratio is the Class Compact r ;atio of this event space of reduced dimension. Taking the minimum of thses values over all D_Groups in the given class formula, gives the Kinimura D__Group Ratio. To compute the number of i^ays N variables with the same maximum value ($.) can sum to 1 (Row_oum. ) the following is commuted. First choose the minimum of the Row__3um, or I aximuin Row_3um - Row__3ura. , which will be denoted Row__3um". Determine how raany times Row_3u.m is integrally divisible by the number of levels of the variables (i.e., :;=| Row oum i , L f of Levels J ' The number of '. r ays V- variables sum to R is then i / - )/t:+(x,-i) £ (-D 1 i x 1 " 1 = v A i where X is initially the value of Row__3um and is decreased by the ,/• of levels for each term in the sum (X. =Row_3um"-i-"*( j of Lev 2. THE ALGORITHM The following is a description of the algorithm used to detect symmetry in Variable -Valued Logic Functions. The algorithm operates on user-specified disjoint event classes. 1. Check for disjoint event classes. Intersecting event classes are not considered in this algorithm. 2. Partition all variables into D_Groups. (i.e., variables with the same cardinality). If the user specifies a particular subset of the given variables, (SPECLI3T) , only those variables specified will be partitioned into D_Groups. For each Event Class: 3. Ignore D__Groups containing only one variable. ^. Compliment appropriate variables in each D_Group using one of the two compliment routines. A. Default Routine: If symmetry is com- pletely specified, the Column_3ums of two Complimentary symmetric variables will be complimentary. A check of the Column_Suras determines which variables should be complimented. B. Optional Heuristic Routine: If the symmetry is Incompletely specified, there is no relation between Column__3ums to indicate which variables should be com- plimented. The Heuristic Routine compli- ments different variables, then collects and counts the number of Row_3ums genera- ted by this particular compliment vector. Different vectors are tried until a single Row__3um is generated or all ways of compli- menting the variables are exhausted. In the latter case, the compliment vector producing the minimum number of Row__Sums is used. 5. Check all variables in each D_Group for total symmetry. (See symmetry test below) If the test succeeds, the variables in the D_Group are linked to the output list of symmetric variables. 6. For each D_Group that Step 5 fails, further partition into C3_Grou.ps and sort the CS_Groups in descending order based on the number of variables in the pariticular C3_Group. ?. Ignore CS__Groups containing only one variable. 8. Check all variables in each C3_Group for total symmetry with respect to this group. If the test succeeds, link variables in the CJ__Groups to the output list of symmetric variables. 9. For each C3__Group that Step 8 fails, find partial symmetry of variables in each CJ__Groi" , p using pairwise symmetry test. . If the test succeeds, link pairs of variables to the out- put list of variables. 10. If the data reduction switch is specified by the user, col3ect lists of symmetric variables common to this class and all previous classes. 11. If rerun is specified and no symmetric variables were found in any of the classes, the algorithm is restarted at Step 2 using all the variables. The algorithm is rerun only once. 12. If the data reduction switch is specified, the sym- metric variables common to all classes are displayed in a table showing the reduction. End of Algorithm The total symmetry test and the pairwise symmetry test are the same symmetry test applied to different sets of vari- ables. The total symmetry for a D__Group or G3_Group is the symmetry test applied to all the variables of the respective group. Fairviise symmetry is defined as the symmetry test ap- plied to exactly two variables. The symmetry test is satisfied: 1. If the events in other event classes do not sum to the same number as the events in the given event class. AND 2a. If all possible ways for the symmetric variables to sum to a particular number are contained in the event class. OR 2b. If the ratio of number of events in this event class to the total number of events satisfying condition #2a is greater than a user specified compact ratio (i.e., the selector is compact). The following is an example of the symmetry test. If one event in an event class has the property x.+Xp+x^=3 then to specify the symmetric selector (x.. +x_+x~=3) requires that events in all other event classes do not satisfy the condition x.+x ? +x^=3, and all other possible ways to sum to 3, with these variables, must be present in this event class. OR ^events in this event class that sum to 3 User specified #of possible ways for these 3 variables = com l 3act ratio to sura to 3 (typically 1.0 or 0.5) AND Events in all other event classes do not satisfy the condition x l +x 2 +x 3 = 3* 8 3. USER'S GUIDE FOR 3YM4 3.1 I n pu t Pararae t er s The use of the program requires the proper specification of the input narameters. The fol- lowing is a description of the input parameters and their formats. The description of each para- meter is as follows: i. Name of parameter and an example of specification. The value in the example will be the default value for parameters with default specifications. ii. A list of possible values of the. parameter. iii. A description of the parameter's meaning. The input parameters can be divided into three groups : A. Storage Specification Parameters (Specified in FL/1 list format) which provide necessary information about array sizes in the program. These parameters have no default values and must be presented in the order specified. 3. Optional Parameters (Specified in PL/l data format) which specify the options that should be used during program execution. Since these parameters are specified in PL/l data foramt, the last parameter must be followed by a semicolon. All optional parameters have default values and if a parameter is not specified by the user in his input data, the default is assumed. C. Data Parameters (Specified in PL/l list for- mat) which specify the VL- functions which are checked for symmetry. Since these para- meters are also in PL/l list format, they have no default values and must be presented in the order specified. 3.2 Specification of Storage Parameters NV Exaraule: ? Possible Values: Any positive integer (smaller than 2 J ) This parameter specifies the number of variables used in the description of the input events. NROW Example: 16 Possible Values: Any positive integer This parameter specifies the total number of events in all the event classes. This parameter together with (KV) gives the size of the event array. I-AXCL Example: i-ossible Values: Any positive integer = NROW This parameter specifies the number of the last class of events. The program automatically assigns' the number to the first class of events, 1 to the second class and KAXCL to the last class of events. The number of classes of events is KAXCL + 1. This parameter is used in specifying arrays containing class boundary infor- mation. 1IAXD Example : Possible Values: Any possible integer. This parameter specifies the largest domain element from the domains of all the variables. It is used in the specification of arrays containing the number of occurances of particular Row__Sums. This parameter with NV gives a ceiling on the maximum Row_3um. (i.e., NV'-ilAXD) 10 .Specification of Optional Parameters • iAXPAT Example: IIAXPAT=500 Possible Values: Any positive integer This parameter specifies the maximum size of the symmetry Pattern (i.e., maximum number of events a particular selector can cover). la! 7i\- Pxanple GSN= » » 3 r-ossible Value's: *0»3 t »1»B GPP-'l'S, a heuristic routine is used to decide which variables should be complimented. The heuristic used is as follows: the variables in the D_Group should be complimented to achieve a minimum number of different i - . _3 u : n s ( i d ea 1 ly one). If GEI,'--- 1 0* 3, a variable is complimented if its complimentary Column__3um is equal to the Column_3ura of smother variable(s) in the D__Group. The [leuristic Routine is used when some of the events in the symmetry are not specified. In this case the Column^Sum of a variable need not equal the compli- i) sntary Column_Sun of another variable even though the f •• «st variable and the second variable are symmetric. I :PPIP :c i, ar-iT)le: U3ER3PEC=0 Z. „. lo3sible r alues: Any positive integer = VI Phis parameter allows the user to specify how many o" the variables should be checked for symmetry. If 0, (the ?. ©fault) is specified, the program checks all the variables for symmetry. xample: RERUI;= l 0»E ossible Values: ' 0'3, 'l'B 11 This parameter is used In conjunction with the USESPEC parameter. If the program falls to find sym- metry between the user specified variables and RERUI^'l'B, then the program will rerun the problem checking for symmetry between all the variables. DTRSD Example: DTRED= « ' 5 Possible Values: »0'B, 'l f B If DTRED='1 I B, the selectors which have identical referees and are all common to all classes are saved. A table is then printed containing the old variables plus new variables defined bv the saved selectors. The value of the new variable for a particular event is the value of the reference of its defining selector for that event. 3.3.1 Type Semi-colon (;) Specification of Optional Parameters should be fol- lowed by a semi-colon since PL/l Data Format is used. The serai-colon should be typed even if no options are specified. 3.^ Specification of Data Parameters • CRITERIA! Example: 0.5 Possible Values: Any positive real number =1.00 The parameter is the minimum D__Group compact ratio specified by the user. Compact ratio is defined as the ratio of the number of events per class to the number of events covered by a set of symmetric variables. If the compact ratio for a set of symmetric variables is less than CRITERIA!, the set of variables is not used as a selector. DLIST (NV) Example : ^.M-,3.3 'ossible Values: A list of NV positive integers with each value =■ I\AXD + 1 12 This parameter specifies the number of levels (or possible values) DLIST(i) for each variable. 3ince the minimum value of a variable is zero, the number of levels for a variable x. is equal to one larger than the maximum value of that variable. In the above example, the first three variables have four possible values 0,1,2,3. while the last two variables have three possible values 0,1,2 (i. four levels and three levels respectively). NE (0:HAXCL) Example, 10,6 Possible Values: A list of IIAXCL + 1 positive integers which sum to the value of fTROW, This parameter specifies the number of events in each class. In this example, Class has ten events and Class 1 has six events. E (ihcv;,i- ■/) Example: 1 o ■| .5 3 2 ■ \ 3 .1. 3 .1. 3 2 ■) 1 1 1 1 :i. 1 i. 1 9 2 1 :i 2 2 l ') :i. > £.'. 1 2 2 3 3 <-) 1 1 > 3 :> 2 1. Q 2 3 '■5 '■> 1 X .1 ') '■) 1 :l. •.'> 3 3 '■» 1 1 ■••) 3 • '■> ':> 1 3 j. r i '■5 9 2 "> ':> Possible Values: A set of non-negative integers which represent TTROU events of NV variables. E is a list of events defining the given VLu function, There are no default values and each value corresponding to the value of variable x. must be less than DLIJT(i). The following parameter is specified if USERSPEQfo. It is specified in PL/l list format. 13 SPECILI3T (USERSPEC) Example: 1. 3, ^ Possible Values: A list of USERSPEC, positive integers with unique values = NV. This parameter is specified if USERSPEC ^ 0. USERSPEC specifies how many variables should be checked for symmetry. 3PECLI3T is the list of variable subscript numbers used to specify which variables should be checked. No duplication of variables is allowed in SPECLIST. This is the end of the input parameters for one problem. Several problems may be run at one time by specifying all the parameters in succession. The default value of the Optional Parameters are the only parameters carried over from one pro- blem to another. 3.5 Output Parameters The initial portion of the output is a repetition of the input parameters. The following parameters are program genera- ted. The description format of the input parameters is the same as the format of the input parameters. The actual printed output is in tabular form with one class per line, but the fol- lowing examples show only the column head and the value of the particular parameter. # FORMULAS Example: CLASS FORMULI F{ 0) := 5 NUM3EP OF VAR1 AUL FS = • -> NUMPE" n F FV r :NTS = 35 •JIIM'-IPR nf C ASS r S = '♦ ^axinnim L -VLL = 3 NUMBER nF LFVELS for e \CH VA'J IABL C : 4 NU.MRFP OF L : V ENT SPECIFIED F ">R EACH CLASS CLASS 1! rV> NTS C 6 1 12 2 11 3 6 CI ASS F( .)) Fv r rjT NO. 1 = i 3 PVFNT NO. 2 = 2 c V rivjT MO. 3= 3 I r;v'N T NO. 4 = 2 3 FVENT NO. 5 = 1 ? EVFNT NO. 6 = 1 CLASS F( 1 ) FVFNT NO. 1 = 3 2 <~V C NT NO. 2 = 2 I EVENT NO. 3 = I FVFNT NO. 4 = 3 3 1 EVENT NO. 5 = 2 2 I EVENT NO. 6 = I 1 I EVENT NO. 7 = I C VENT vn. d = 2 3 2 FVFNT NO. 9 = L 2 2 'IVINT NO. 10 = 1 2 FVFNT NO. 11 = I 3 3 P V F N T \'0 . 12 = 2 3 r.i \ss F( ?) EVENT NO. 1 = 3 I r V TNT NO. 7 = 2 FVFNT NO. 3 = 3 T 1 rvFNjr NT. 4 = 2 I I EVENT NO. 5 = 3 3 2 PVtNT K '0. 6 = 2 2 2 EVENT NO. 7 = 1 I 2 EVENT NO. 8 = 2 c V E N T NO. n = 2 3 3 EVENT NO. 10 = I 2 3 FVFNT NO. 11 = 1 3 CI ASS F( 5 ) FVENT NO. 1 = 3 EVENT NO. 2 = 3 I I EVENT NO. 3 = •■> C 1 rvENT MO. 4 = 2 2 3 EVENT NO. 3 = I 1 3 FVFNT NO. 6 = 3 ClA^S FORMULI F( 0) F( l) F( 2) F( 31 (XUX2'*-X3=l,21 = (XH-X2* *X3=4) = (XI+X2' *X3=5) = (XI ^X2' «-X3=6) 3YH'+ Output for Example 1 Section h Fig. 1 CLASS V 1IN NUM. OF COMPACT D GROUP SYM VARS CI A RATIO RATIO PER CLASS 0.667 0.500 3 1.000 1.000 3 1 0.917 0.917 3 2 0.60) 0.600 3 3 21 I • mi ;r r.nvRS r \( 1 Ik V'KS SPACF MLOfATfD FC» CIP I IS 200 SPACF ALLOCATF.O F0» "3 IS 75 maximum STA*? SI/F m'F .'C l"l-^INr, hill if MINE « I SJ THPh it will A" 7 CUT T) 50 MUOE" DC LO TRACT - 1 STAJ T>\C" ■ 0'M r K 11 fa'.rr = 3UICK STAR TPACt = SAVF COVER OAT A = SAVFLJ= INPUT f"OMT IS VfCTO* All VAPIAPI^S Will RF Cn/FPFn RY FACTORS NIHRLP OF VA'IA tirs = 3 NJMP.fr ;jf lfvfl; FC" Facm VARIABLE! 4 4'. N'IM«FR 'if EVFNTS STCIFIFO FOP EACH CLASS: CLASS « C V C MS 6 1 12 7 11 3 6 *» AMOUNT OF UNUStO CORE OK »* OLIST= 1 2 3 NCRIT= 2 CI IST = 1 I 2 TLIST= 0,00 0.00 LQ-STAn OPTION LQST = 'l'« CI ASS F( 0) EVFNT NO. 1 = 1 3 FVFNT NO. 2 = 2 FVENT NO. 3 = 3 I fvfnt NO. 4 = 7 3 F VE NT NO. 5 = 1 2 rVr«|T "T. C = G 1 CLASS F| 1 1 FVENT NO. 1 = 3 2 FVFNT NO. 2 = 2 I EVF'JT NO. 3 = I FVFNT NO. 4 = 3 • 3 1 FV C NT NO. 5 = ? 2 1 FVENT ►'0. 6- 1 1 1 EVFNT NO. 7 = 1 F'/FNT NO. 8 = 2 3 2 FVFNT NO. 9 = I 2 2 CVF'IT NO. 10= 1 2 FVi-NT .NO. 11 = 1 3 3 EVFNT NO. 12 = 2 3 AQVAL/1 (AQ7) Output for Example 1 Section 4 Fig. 2 CLASS F( >1 1 EVFNT NO. \- 3 I rvFM NO. 2 = 2 FVMT NO. 3 = 3 2 I FV^NT Nf>. 4 = ~\ I 1 . FV.'iT NO. 5 = 3 3 t. FVf N T NO. 6 = 2 2 1 FV C NT NO, 7 = 1 1 2 FV 1 - NT NO. A = 2 FVFNT NO. 9« "> 3 3 FvrNT Nfl. 10 = 1 ? 3 FVNT MO. 11 = 1 3 CLASS Ft 31 FVFNT NO. 1 = ■> FvrNt NO. 2 = 3 I 1 FVFNT NCI. 3" 2 I FVNT NO. <^ ? 2 3 r v. n t •NT. •> = 1 I .3 FVf Nf NO. 6» D 1 Note: Figure 2 is continued on the following two pages. Til'" ( | > ■ i. \-,r. I r '.-I-'; I' ' •()<'' r I1HP| I ■ i J PI rx: ( X I « 1 ) ( / / - ,.■ » ) t X > - o 1 I (/.■»- .i I ( X3- c: I I XI- ) (XV J r.'iv nth i no tut h '< / <, ? 1 1 5 ? I I 6 22 **** rfL T ' f 'P "US SM |c; ;■ ***♦ r,,:; | a tjr-.c <;t STAS HAH 6 1L l " ~: NT '> ; THE LA"f,;-sr I N TEkMc D I ATE STftR HAO 9 FLF^ENTS rs !N CLASS I TUP FOLLUWI* jG 10 <■*- TEC :v; CV'i'LFX-S COVFS THF EVE" CO^^LF. 'X: 1/1= 3 1 (X2- ? ) (X3- ) >:oipi fx: (XI ? ) (X?- I I (X3 = I COMPLEX: (XI-- I ) (X?- 1 ) CLEMENTS! THE LARGEST IN Tf.PMLUlAU STAR HAD > FLLMENTS mt mil ':*.!►. i» 6 cauhman rHi'iu'i CliVEH i'" livi.MS In class j CUV N COMPH x: ( XI ) ) (X.'< ') ) Cnnei i x: 1X1- ) ) ( x 2 ; I 1 CUHPLI x: 1 XI* 2 ) I X2* ) COMPLEX: (XI* 2 i l>2- 2 I complex: « XI -■ I i 1X2^. 1 ) COMPLEX: I AOI ES = 7 MlMHEf "F EVENTS = 16 NU«REF OF CL ASSFS = 2 MAX T MUM UVt L - 3 MM!* HP* ^F l c V t" L S FO 7 EACH VAPI A" LE : 't 3 3 4 MUM" EC ;*c EV ENT SPECIFIED F OR EACH CLASS : CLASS i r vr NTS 10 1 6 CLASS F( 1) FJVFNT NO. 1 = 1 1 3 3 3 2 EVENT NO. 2 = 3 2 I 3 3 1 i-V t N T MO. 3 = 3 I 3 I 3 2 EVE N'T NO. '» = 3 I I 3 3 1 1 EVENT NO. 5= 2 1 2 2 3 3 r VENT NO. 6 = 2 7 3 2 3 I EVFNT NO. 7 = 2 ? 1 3 3 2 EVE N'T NO. fl = 3 1 2 2 2 3 2 EVENT NO. <) = 3 2 1 2 3 2 2 FVFNT NO. 10 = 3 2 2 3 2 2 I EL ASS F< I) FVFNT NO. 1 = 2 2 3 3 3 2 "VENT NO. 2 = 3 I I 2 3 3 2 FVF-MT NO. 3 = 3 1 ? 3 2 3 I EVENT NO. '+ = 3 2 3 3 i 2 EVENT NO. S = 3 2 I 3 . 3 3 I EV r \'T NO. 6 = 2 2 CI ASS FURMIJLI F( 0» := (X2 + X3(-X7=3,5) & ( X 1 + X^> X 5f X6=l ) F( I) (X2*X3 M7 = 4 I f. ( Xl*X**X5*X6 = 0tll, 12) SYNfr Output for Example 2 Section h Fig. 3 CLASS MIN NUM. OF COMPACT CROUP SYM VARS CLASS RATIO RATIO PER CLASS 0.100 1 .000 7 0.167 L.000 7 I 25 DISJOIN* COVERS DEFAULT SPECIFICATIONS FACTOR VARS SPACE ALLOCATFO FOR G(F) IS 200 SPACE ALLOCATED FOR MO IS 25 MAXIMUM STAR SIZF BEFORE TRIMMING WILL BE DONE = 150 THEN IT HILL BE CUT TO 50 MODE= DC LQ TP4CF = STAR TRACE = QUICK LO TRACE = QUICK STAR TRACE - SAVE COVER DATA = SAVFLG^ INPUT FORMAT IS VF.C T OR ALL VARIABLES WILL RE COVERED BY FACTORS NUMP.FR OF VARIABLES = 7 NUMBER OF LEVELS FOR EACH VARIABLE: 4 3 3 '» 4 <♦ 3 NUMBER OF EVENTS SPECIFIED FOP EACH CLASS: CLASS ^EVENTS 10 1 . 6 ** AMOUNT OF UNUSED CORE = 8K *♦ 0LIST= I NCRIT= 2 CLIST-= ] 2 TLIST= 0.00 0.00 LQ-STAR OPTION LOST = • I'H CLASS F( 01 1 EVENT NO. t = 1 I 3 3 3 2 EVENT NO. 2 = 3 . 2 1 3 3 1 EVENT NO. 3 = 3 1 3 1 3 2 FVENT NO. 4 = 3 1 I 3 3 1 I EVENT NO. 5 = 2 I 2 2 3 3 EVPNT NO. 6 = 2 2 3 2 3 1 EVENT MO. 7 = 2 2 I 3 3 2 EVENT NO. 8 = 3 I 2 2 2 3 2 EVFNT NO. 9 = 3 2 I 2 3 2 2 EVFNT NO. 10= 3 2 2 3 2 2 1 CLASS F( 11 1 EVENT NO. 1 = 2 2 3 3 3 2 EV p NT NO. 2^ 3 1 I 2 3 3 2 EVENT NO. 3 = 3 I 2 3 2 3 I FVEMT NO. '► = 3 2 3 3 2 2 EVENT NO. 5 = 3 2 I 3 3 3 1 EVENT NO. 6 = 2 2 AQVAL/1 (AQ?) Output for Example 2 Section k> Fig. if 26 THE FOLLOWING <♦ CARTESIAN COMPLFXFS COVE THE EVENTS IN CLASS COMPLEX: (XI-- 1 3 1 1X2= 1 ) (X4= 1 3 1 (X5= I 3 ) COMPl EX: (Xl= 2 ) (X2= I 2 1 COMPLEX: (X3^ I I < X6= 2 ) COMPl EX: (X3= 2 ) (X*= 2 ) COV NEW INO rc 4 '♦ '. ', 3 3 17 I 1 10 **** DELTA FOR THIS SET IS I **** THE LARGEST STAR HAO 53 ELEMENTS; THE LAPCEST INTERMEDIATE STA^ HAD 53 ELEMENTS THE FOLLOWING 5 CAPTESTAN COMPLEXES COVER THE EVENTS IN CLASS 1 COMPLEX: (XL = 2 ) (X2= ) 1X4= 3 ) (X6= 3 ) COMPLEX: ( Xl = > ) ( X3^ 1 ) (X'i = 2 ) (A6 = 3 ) COMPLEX: ( Xl = 3 1X4= 3 ) 1X5= 2 ) + K/*)o,/,2j r*.-fy 2 '+y 3 -«f] O 3 / A i GLD for Example 1A Fig. 6 3_ x/ fV.+ x^ +X-5 = 4] £*. + XzVx 3 =', 2 j y 3 r«, »*! +^3 --&] GLD for Example IB Fig. 7 31 ,- ' i \; ,c pom "v't.J '. UVA kl iSJ l,\'"-i 1 51; QTE.PI.IO un ou usL'?,rai23.jEH 31! uy<\tH L'SP OLJJ .< ,'SYSPK.CNl I'D S YSOUI-aA JCL //SYSIN ).'0 a ,5 NV Number of variables 3f> NROW Total number of events Storage 3 MAXCL Number of the last class Parameters J MAXD Largest domain element nAXPA7 s lC0i MAXPAT Max. No. of events satisfying a given selector (Unspecified Parameters take default value ) Optional Parameters o.as CRITERIA1 User-specified compact ratio ■1 4 4 DLIST(NV) Domain sizes of the variables A 12 13 A NE(0: MAXCL) Number of events per class .1. 3 "> 2 3 1 • 2 3 1 2 1 3 2 2 J 1 3 3 :!. 1. .1. i. Data x. 1 ^ : x Parameters l 2 2 C 1 2 i 3 3 2 3 }" E(NROW.NV) Event array- Class has 6 events Class 1 has 12 events ■ 3 1 Class 2 has 11 events 2 3 2 .1. 2 1 1 Class 3 has 6 events 2 2 '■' 1 I 2 2 '•" '• ', 3 - :!. 2 7. J. 3 3 3 .!. .1 2 .1 2 2 ' 1 J. 3 3 _> Parameter Value Parameter Name Comment Parameter Type Input for Example 1A Section 5 32 GENEP/LfZI" IS OFF 'JSERS^FC 1^ OFF pfrun i r rrp n&TA REDUCTION IS OFF MAXIMUM PATTERN SIZF = 100 CO*FACT_RAT II) C!UTF U IA = 0.25 NUMRFR OF VARIABLES = 3 NUMBER OF tVFNTS = 15 MlJ^lfP '"IT CLASSES = 4 M»yT"UM I.FV'L = 3 MJMBE" 'IF LEVELS FOP ~ACH VAPIABLF : '. NUMBER Oh FVFNT SPECIFIEO FOR EACH CLASS CLASS «EVf : NTS 6 1 12 2 11 3 6 CLASS Ft C ) FVENT NO. 1 = 1 3 EVENT NO. 2 = 2 EVFNT NO. 3 = 3 1 FV-NT NO. 4 = 7 3 FVFNT N'T. 5 = I 2 FVFNT NO. 6^ I CLAS5 F( I ) !~V C NT NO. 1^ 3 2 FVFNT NO. 2 = 2 I F VF NT NO. 3 = 1 EVEN T NO. 4 = 3 3 I FV C NT NO. 5 = 2 2 1 FVENT NO. /-,-= 1 1 I EVENT NO. 7 = I EVENT NO. (5= ? 3 2 r - V E N t NO. 9 = 1 2 2 FVENT NO. 10 = I 2 FVENT NO. 11 = I 3 3 FVENT NO. 12 = 2 3 CL ASS F( 2 ) EVENT NO. 1 = 3 I FVENT NO. 2 = 2 EVENT NO. 3 = 3 2 1 C VFNT MO. 4 = 2 1 I FVF *JT NO. 5 = 3 3 2 FVFNT NO. 6 = 2 2 2 r VFNT NO. 7 = 1 1 2 EVENT NO. 3 = 7 FVFNT NO. '1 = 2 3 3 FVPNT NO. 10 = I ? 3 FVFNT NO. 11 = 1 3 CLASS F( 3) FVFNT NO. 1 = 3 EVFN T NO. 2 = 3 I 1 FVENT NO. 3 = 2 1 FVENT NO. '» = 2 7 3 FVFNT NO. 5^ 1 1 \ FVFNT NO. 6 = 3 Output for Example 1A Section 5 CLASS win NUM. OF CI ASS FORMUlI CJMJACT GROUP SYM VARS CLASS RATIO PATIO PEP CLASS FI 0) := (XI »X2'*X3=1,2) 0.h67 0.500 3 Ft 1) := (Xl+X2»fX3='») 1. 000 1. 000 3 1 THERE Ai'E NO SYMMFTBIC VARIABLES AND THEREFORE NO SYMMETRIC FORMUl A FOR CLASS 2 2 THERF A'^ NO SYMMETRIC VARIABLES ANO THEREFORE NO SYMMETRIC FORMULA FOR. CLASS 3 3 33 ,-'/ i xi. i.: I'l.iii "Ji.;;n:>i tf /.■.»* kcv-auu • i i/-k .//<;)' II I ; .' 00 I.iSN L , "tT : :«l : "Ji23».JIii. , N3E..N/V»»nit , 5i ,! '~-0Li:i //:;v:;iui;)i l;'.' L>U..OUr-A //SYUIN LID * 3 33 3 3 JCL Storage Parameters KAaPAT -100 G£ r N~'.t'B» Optional Parameters 0*2: <•> j. I. :l 6 X 3 2 5 3 1 2 ■3 ;L *> i 3 •3 "3 1 1. Q 3 3 1 ■;) '*> •J. 1 1 •J. .1. •1 3 v ' > 3 1 ';> *■) L •1 .1. 1 3 3 ';) o '> "V 1 1 •> 'p £ 3 3 I •) 3 q r [5 3 •r l 1 > :i 2 2 3 I 1 3 3 Data Parameters Parameter Value Parameter Type Input for Example IB Section 5 3^ OFNE D ALI ZE IS ON USF.RSPFC IS OFF PFRUN IS r FF OATA RPHIJCT ION IS OFF MAXIMUM P^TTFPN SIZF = 100 compact_ratio CRI TF.RIA = .25 NMM3ER HE \lf Rl AHL ES« = 3 NUMRE" OF FV ENTS = 35 NUMBER ^E Ci ASS r S = '♦ MAXIMUM L f vc L = 3 NUMBER OF LP VELS FOR E ACH VARIABLE : '» NUMRFP OF HV ENT SPEC IFIED FOR EACH CLASS CLASS '(EVf-- NTS 6 1 12 2 11 3 6 CLASS H 0) EVEN T NO. 1 = I 3 EVENT NO. 2 = 2 EVENT NO. 3 = 3 I EV C NT NO. 4 = 2 3 EVENT •NO. 5 = 1 2 EVPNT NO. 6 = 1 CLASS EI I ) EVENT NO. 1 = 3 2 EV C NT NO. 2 = 2 I EV C NT NO. 3 = I EVENT NO. 4 = 3 3 I EVENT NO. 5 = 2 2 I C VFNT NO. 6 = I 1 t EV r MT NO. 7 = I = VENT MO. 8 = 2 3 2 EV p NT NO. = I 2 2 EVENT NO. 10 = I 2 EVENT NO. 11 = I 3 3 EVENT NO. 12 = 2 3 CLASS F( . 2) EVENT NO. 1 = 3 I EV^NT NO. 2 = 2 EVENT NO. 3 = 3 2 I P VE N T NO. 4 = 2 1 I EVENT NO. 5 = 3 3 2 PVENT MO. 6 = 2 2 ;> EVENT MO. 7 = I I 2 EV r NT NO. 8 = 2 C VE NT NO . = 2 3 3 EVENT NO. 10 = I 2 3 EVENT NO. 11 = I 3 CLASS F( 3) EVENT NO. 1 = 3 EVENT NO. 2 = 3 I I "-VENT NO. 3 = 2 I EVENT NO. = (Xl+X2'+X3=5) = (Xl«-X2'+X3 = 6) Output for Example IB Section 5 CLASS COMPACT RATIO MIN GROUP RATIO NUM. OF SYM VARS PER CLASS CLA 0.S67 0.500 3 1.003 1.000 3 1 0.917 0.917 3 2 0.603 0.600 3 3 ■ . .■ i m r i (JH .11 fJsi>J"A. Rr:ninN i LAK >.i | i j i n im LiSN 11 : !■'. 1-2 i 2 ; . II NSI N '6»niE>P 01 U 1 N I mi Si SUU i A . S3YSIN LID * JCL 35 l Storage Parameters HSI RSPEC 3) Optional Parameters 0.'.: 4 3 :i 4 4 4 3 1 6 1 1 3 3 3 2 2 3 3 1 3 10 3 2 2 1 1 1 1 2 3 1 1 1 2 1 2 2 2 J 1 2 2 12 12 2 1 2 2 3 3 2 1 .1 2 3 2 2 1 2 3 2 2 1112 2 112 3 3 2 1 1 2 30 2 2 13 1 2 2 2 2 2 2 Data Parameters Input for Example 2A Section 5 4 5 6 SPECLIST ( 1 : USERS PED) /.' mZZ PGM*= JENSEN?^ KE-nTOM-UAK ' S :" E f L I B D D rj S N -US E R , P 212 3 . J E N S E N76 * D J !■> P-" ("l L D Z/b't Bf'KIN) DO 6YB0U i = ; A //SYS IN DD * JCL 7 LA 1 3 Storage Parameters - USERSPEC=3 RERUN=='1'B» Optional Parameters 0,5 4 3 3 4 4 4 3 10 6 X 1 3 3 3 o :•: 2 3 3 i 3 1 3 2 2 1 1 1 1 2 3 1 1. 1 2 1 2 2 2 1 1 2 2 1 ' 2 1 2 2 1 2 2 3 3 2 1 1 2 3 2 2 1 2 3 2 2 1 1 1 2 2 1 1 2 3 3 2 1 1 2 3 2 2 1 3 1 2 2 2 2 2 2 Data Parameters Input for Example 2B Section 5 4 5 A SPECLI3T(1:USER3PEC) Parameter Value Parameter Name Parameter Type . (- 36 GENERAL Wt IS r FF USER SPEC IS ON USE" ?»f : CIFTC\Tir>.N LIST: ! ' L o U N IS f F r ?ATA P FDUf T l.JN IS OFF m a x I *l IM ft ' TT fTRM sn ' c - soo COVPAC , T_PC 1 tO C 5 I T F r> I A = 0.50 NLMBEP : OF VliHUH 7 NUMBTf . or EVENTS = 1 .6 MUM D FI' |1F CI ASSE S = 2 y Axiyi l« LEVI L = 3 MIJMHF5 ! I1F I r V E L s Fl )R F AC.H VA! 'IAFLF : '. 3 3 '» mi iv n re ! nt- r v r n r SPE ;c if IFO FOf : t" ACM CI ASS : CLASS EVENTS 10 1 6 CLASS r ( o EVFNT Nfl. 1 = i 1 3 3 3 FVENT NO. 2- 2 2 3 3 1 EVENT NO. 3 = 3 1 3 2 2 EV r NT NO. '♦ = I 1 1 I 2 3 I EVENT MO. 5=. 1 1 2 1 2 EVENT NO. 6 = ? 2 1 3 1 EVENT NO". 7 = 2 2 1 2 1 2 EVENT NO. 3 = 2 I 2 2 3 EVENT NO. 9 = 3 2 1 1 2 EVENT NO. 10 = 3 2 2 1 CLASS F( I) EVENT NO. 1 = 2 3 2 2 [ V-NT NO. 2 = 1 I I 2 2 FVENT NO. 3 = 1 I 2 1 3 2 I FVENT NO. '► = I 2 3 FVENT NO . b = 2 2 I 3 0. I EV^NT NO. 6 = 2 2 2 2 2 Output for Example 2A Section CLASS MIN NUM. OF CI \SS r "JPf ULl COMPACT GROUP SYH ,VARS CLASS 2ATiO RATIO PE^ CLASS THERE ARE No SYM^FT^IC VA»IA*LES AND THERFFOPE NO SYMMETRIC FO D '*IULA FOR CLASS THERE A3F NO SYMMETRIC VARM&LES AM) THEREFORE NC SYMMfTMC FORMULA FOR CLASS I I 37 r.FNt-PAi. i zr IS OFF IISEPSPFC IS ON US™ SPI-TiriCATION LIST: •'. 5 6 ^FWUM IS CN I1ATA P.EOUfT ION I S OFF w.XI W*> P< TTfr p\j sizf = ooo co v pact_.;at id cpite"Ia = o. r >o NUI">ER 'if VARIABLES = 7 NLMREK j c EVENTS » 16 NUMBER OF CLASSES = ? MAXIMUM LfVU. = 3 WBEP I1F LFVELS FUP FACH VARIABLE : 4 NUM8FP n F FVENT SPECIFIED FDR EACH CLASS class «rvriT5 10 I 6 CLASS Ft 0) FVENT NO, I = 1 1 3 3 3 EVENT NO. 2 = 2 2 3 3 1 <"VENT NO. 3 = 3 1 3 2 2 EVENT NO. 4 = 1 1 I 1 2 3 I FVFNT NO. 5 = 1 I 2 1 2 FVENT NO. 6 = 2 2 1 I EVENT NO. 7 = 2 2 I 2 1 2 EVENT NO. '8 = 2 1 ? 2 3 FVFNT NO. = 3 2 1 I 2 EVENT MO. 10 = 3 2 2 I CLASS F{ I) EVENT NO. 1 = 2 3 2 2 EVENT NO. ? = 1 I 1 7 2 EVENT NO. 3 = I I 2 3 3 2 1 EVENT NO. '» = I 2 3 EVENT NO. 5 = 2 2 I 3 I FVF"T vn 9 *> — 2 2 2 2 2 2 CLASS FORMUl I Output for Example 2B Section 5 CLASS MIN NUM. OF COMPACT D GROUP SY M . VAPS CLASS RATIO RATIO PE", CLASS THERE APF \0 SYMMETRIC VARIABLES AND THEREFORE NO SYMMETRIC FORMULA FUR. CLASS THERE A r «C MO SY^MLTI'IC VAPI'.PLES AND THEREFORE NO SYMMETRIC FORMULA FOR CLASS I THIS JC3 IS RERUN WITH THF SAMS EVENTS AND AUTO SELECTION OF CROUPS. I CLASS FORMULI C «- ASS M,M r ' UM - °* COMPACT D CROUP SYM VARS CLASS RATIU RATIO PER CLASS F( 0) :*= (X2+X3+X7«=3,5) 0.00<» 1.000 3 F( 1) := I X2fX3*X7« = '.) 0.00't 1. 000 3 1 38 // exec pgm~jf::nsei\'7£j» r eg: ION -1:1.6k / / S I E P LIB D D S N ■■ ■■ U i!i EL" R . P 2 1 2 3 » J E N S E N 7 6 1 D I S P :::: 1... D //SYSPRINI" Uli SYS OUT -A //SYS IN DD * JCL 6 17 '■) 4 Storage Parameters DTRED-'l 'B5 Optional Parameters 0>5 3 4 4 3 5 4 6 4 7 3 1 1 l :l. o 4 l () 2 3 1 1 3 2 1 1 1 2 2 1 1 2 2 1 2 2 12 2 3 2 .1. 1 1 1 1 2 1 1 3 3 2 4 '."> O '? () A '.' 1 1 2 1 3 3 2 3 2 2 21 2 3 1 1 2 1 3 2 1 2 1 3 1 3 Data Parameters Parameter Value Parameter Type Input for Example 3 Section 5 39 (;f-i< L MH \7J: is off usF^Sprr IS it F l! r M i|N r<; >FF DATA i i mir T l (IN IS ON K*XIM' 1" PATTFUN SI? r = 500 Cn«PACT_'«ATlO r«»|T63| A » 0.? NUU'i&R of VA ° 1 A 1L • c = 6 NDM'UP. OF EVENTS = • 17 MUMI1FP op r.i ass^s = 3 MAXIMUM LfcVF I. = 4 NIJ*»FP OF LF VI. 1 b ' no i AC'< 7 A" I APL r • 3 '» \ NIIMPfR OF EVENT S< 1 E C 1 F I EO F OF E AC 1 CLASS : CLASS TVFNTS 6 1 * 2 / CLA^S F( 0) FVENT NO. 1 = 3 1 rvh\r MO. 2= 1 I 1 '• 1 event NO. 3 = 2 3 I EVENT NO. '* = 1 J 2 EVENT NO. 5 = 1 I I 2 r V '.NT NO. 6 = 2 I I 2 CLASS F( I ) EVENT NO. 1 = 2 1 2 2 EVENT NO. 2 = 1 2 2 3 EVENT NO. 3 = 2 1 1 1 EVENT NO. '» = I 1 2 L 1 CLASS H ?) EVFNT NO. 1 = 3 3 2 '» EVENT NO. 2 = 2 2 2 <» 2 EVENT NO. 3 = 1 I 2 1 3 3 EVENT NO. '♦ = 2 3 2 2 2 1 EVENT NO. 5 = 2 3 I I 2 EVENT MO. 6 = 1 3 2 I 2 EVENT NO. 7^ I 3 I 3 CLASS F 1° iULI F( 0) := IX2*X'3«-Xu=3) {. UIHC=il,ll F( I) := (X? f-X3«-X6 = 2) E IXUX'r-ll F( 2) := IX2+X3*X6^6) S (XUX4=2t4l Output for Example 3 Section 5 CLASS MIN MUM. OF COMPACT D C-l'uUP SYM VAI'S CLA RATI J RATI PEP CLASS 0.040 0.600 5 0.06 7 0.667 - •> I 0.035 0.700 5 2 **+**i)AT£ "EO'JCTION TArtLE***** VARIABLE X7 IS THE SUM OF VAP variable y.s is run sum of v\ p XI X2 CLASS Ft 0) FV^NT NO. 1 = 3 EVENT Nfi . 2^ I I EVENT NO . 3- 2 FV! \ T MO. '. - 1 FVENT NO. 5 = 1 EVENT NO. 6 = 2 CI ASS ■F< 1) EVENT NO. 1 = 2 EVENT NO. ?■= I 2 EVFNr NO. 3 = 2 1 EVENT NO. 4 = I CLASS F( 2) EVENT NO. 1 = 3 EVENT NO. 2 = 2 2 EVENT NO. 3 = I I FVENT NO. \- 2 3 EVTNT NO. ■> = 2 3 FVFNT NO. 6 = I EVENT NO. 7 = 1 A3t.ES X2.X3.X6 A3LES Xl.X't X5 X7 X9 I 3 I 4 1 3 1 3 1 3 3 2 3 I 2 3 1 1 2 3 1 I 2 2 2 3 2 3 2 3 1 2 3 2 I 1 2 3 2 <* 6 2 >t 2 ft 2 I 5 3 6 2 2 I 1 6 4 I 2 6 2 2 1 2 6 2 1 i 6 2 6. CONCLUSION There are different types of symmetry depending upon the value of the reference. The closer the reference is to the minimum or maximum value of the Row__Sum, the less flexi- bility allowed in the value of the individual variables. At either the minimum or maximum value, the variables are constrained to specific values (i.e., zero or &**# of vars.). if none of the variables are complimented and the reference is in the middle of the Row_Sura range, the sym- metric selector can represent the property of Conservation' between the variables. If one variable is increased, another variable must decrease. The present application of the 3YF ! ^- program is in the area of machine learning.. The program is sriven object de- scriptions with Known class membership, and it generates . formulas describing the object classes based upon the sym- metries of each class. These formulas represent certain generalizations of the given input information. Desirable further extensions of this program are 1. Allowing the user to specify more than one group of variables which are to be checked for symmetry. This would eliminate the need to rerun the entire program for multiple groups of user-specified variables. 2. Determining Partial Symmetry in the incom- pletely specified case. Partial Symmetry is defined as symmetry between some, but not all variables of the D_Group. The present version determines Partial Symmetry only in completely specified cases. fci 3. Allowing the inequality relation In the sym- metric selector. The present version allows only the equality relation in the symmetric selector. 4-. Allowing the program to generate VL- formulas containing both symmetric and non-symmetric selectors. The present version generates symmetric selectors only. If2 REFER EI\ T CE 1. Miohalski, R.S., "VARIABLE-VALUED LOGIC: System VL " 197^ International Symposium on Multiple -valued Logic . West Virginia University, Morgantown, West Virginia, May 29-31, 197*K 2. Miohalski, R.S., with James Larson: "AC^VAL/l (AQ7) User f s Guide and Progran Description," Report No. 731 , Department of Computer Science, University of Illinois, Urbana, Illinois, June 1975. 3. User's Guide Section 1-01-10, Computing Services Office, University of Illinois at Urbana -Champaign, February 1972 k. Miohalski, R.S., "Learning by Inductive Inference," NATO Advanced Study Institute on Computer-oriented Learning Processes, Aug. 26-Sept.7» 197^, France (invited paper) 5. Miohalski, R.3., "A Geometrical Model for the Synthesis of Interval Covers," Report Mo. k6l , Department of Com- puter Science, University of Illinois, Urbana, Illinois, June 2k, 1971. (in English) BACKGROUND INFORMATION 6. Kohavi, Zvi, Switching and Finite Automata Theory McGraw-Hill, Inc., New York, 1970 Pages 158—171 7. Miohalski, R.S. , "AQVAL/l — Computer Implementation of a Variable-Valued Logic System and the Application to Pattern Recognition," Proceedings of the First International Joint Conference on Pattern Recognition , Washington, D.C., October 30-November 1, 1973. 8. Jensen, Gerald M. , "SYM-1: A Program That Detects Symmetry of Variable-Valued Logic Functions", May, 1975, Department of Computer Science, University of Illinois, Urbana, Illinois. i+3 APPENDIX A SOURCE LISTING OF SYJ& PL/l OPTIMIZING COMPILER MAINP: PROC OPTIUNS(MAIN) RtUROEK; STMT LEV NT 17 24 8 2 9 2 10 2 11 2 12 2 13 2 14 2 15 2 16 2 18 2 19 2 20 2 I 21 2 t 22 2 23 2 NEXT: /* PUT OCL ( ON EN OPEN GET F BEGIN DCL ( NE( 0: COLSU OUST MAXTO SD'-'AX EV(NR DMAXL USERS (COMP RERUN (CRIT FLOAT NOP C CHK.2I ( ISAV NV.NROWiMAXCL.MAXO) FIXED BIN; Oril.E(SYSIN) GuTU EXIT; FILE! SYSPRINT) P AGES IZ E( 66 ) ; II. E( SYS IN) LIST! NV,NROW, M AXCL,MAXO); I, IV1 MAXCL M,N,0 (NV) r P,MAX LINK I OW,NV INKIN PEC,« L ( NV ) DTRE ERIAl 3 INI HARI1 103) E,CPB ,IY, I ) ,ROW , I V , I DLINK tf ,MAX NV) , S ) INI V),DS CS,CS tSCOV D) BI ,RS*l 53) ,R 0) AL CHAR! IN) F 2, 13, 14 CL(0:MA V2, ¥RGw (NV),DT LINKINV DSUBTOP T( (NROW UBTOPIN _TGP(NV PL INV) , Til) AL OBiMAXO ETLOC L IGNEO I I) ALIG IXEO BI , J, J2.J3 XCL) ,EIN S,ND, TOP OP(NV),D ) ,4REPET (NV), SOS *NV) OP) V) ,#OSUB > ,CS«(NV INCOMPLI IGNEO, *NV ),#CC ABEL, N I T ( ' NU M NED INI T N(3l) ; iK, SOW.NV) , I CI. ,10, IR0W,R0Wl,R0W2t ,T0P2, IHUF, iRStPT NPT2.NCL, TOP«(NV ) , $TOP,$<*COLS,iL ISTINV) , ITICNS,OSUBmP*{NV ) ,'RS , CL,QL , UBT0P1INV) , S-'DSU3TGP,SLC,MIN, ,DV(NRUW) .SPECLISTINV), IC0L2, TOPiGMAXv.DCStNV) , MA XP AT, COUNT, ),CS(MV) ,CS_L INKINV) ) FIXED BIN, 08:MAX0*NV) ,notcompact:j ,GEN, PP.RAT I0,MINRATI0) 3ER OF ( ' ', ), )* MAXPAT=500; GEN='0'8; USF.RSPEC = 0B; RERUN='0*B; DTRED='0'B; GET FILEISYSIN) OAT A( MAXP AT, GEN, USERSPEC , RERUN , OTRED ) /* OEFAULT VALUE */ /* OEFAULT VALUE */ /* OEFAULT VALUE */ /* OEFAULT VALUE */ GET FILE(SYSIN) L I ST ( CR I TER I 41 ,0L 1ST , NE , E ) ; IF USERSPEC=OB THEN RERUN='0'B; ELSE GET FILEISYSIN) LIST I ISPECLISTt I ) DO I=1B TO USERSPEC) ) */ /* NCL=MAXCL+IB; ROW_OISPLACfcMENT OF EACH EVENT_CLASS INTO ROWCL R0WCLI0B)=0B; 00 ICL=08 TO MAXCL-18; ROWCL ( ICL-Hfl)=RQWCL( ICL ) *NE I ICL ) ; END; ECHO THF INPUT DATA */ IF GEN THEN PUT PAGE F I LE I SYS PR INT ) EDIT ('GENERALIZE IS ON') (A); ELSE PUT PAGE F I LEI SYSPRINT ) EDIT {'GENERALIZE', ' IS OFF') (A, A); IF USERSPEC-=OB THEN PUT SKIP F I L E I SYS PR I NT ) EDIT {'USERSPEC', • IS ON', 'USER SPECIFICATION L I ST: • , ( SPECLI ST ( I ) DO 1=18 TO USERSPEC)) (A, A, SKIP, A, {USERSPEC) M PL/I OPTIMIZING COMPILER MAINP: PROC OPTICNSIMAIN) REORDER; STMT LEV NT 25 26 2 27 2 28 2 29 2 30 31 2 C 32 2 I 33 2 1 34 2 I 35 2 2 36 2 3 37 2 4 38 2 4 39 2 3 40 2 4 41 2 4 42 2 3 43 2 3 (F(3))) ; EL ( 'USEPSPEC IF RERUN THEN PUT SKIP (A); ELSE PUT • IS OFF' ) (A, A IF DTRED THEN PUT SKIP •DUCT ION IS ON EDIT ( 'OATA RE PUT SKIP FILE(SYSPRINT) ('MAXIMUM PATTERN SIZE •COMPACT_RATIO CRITERI NOF,' VARIABLES = • ,NV, NOF, 'EVENTS =',NROW, NOF, 'CLASSES = ' ,NCL, •MAXIMUM LEVEL = • NOF, 'LEVELS FOR EACH VA NOF, 'EVENT SPECIFIED FO (ICL,NE(ICL) DO ICL=08 (•CLASS F(',ICL,' )' , ( 'EVENT NO.' .IRCW-ROW DO IROW=fcOWCL(lCL)+lB DO ICL = OB TC MAXCD) { SKIP, A, F (6) , SKIP,A,F(5,2I,3 (SKIP, (NV) (F(3) ) .SKIP, 2 A, SKI (NCD (SKIP,A,F(2) ,A,(NE SE PUT SKIP FILE(SYSPRINT) EDIT IS OFF' )(A) ; FILE(SYSPRINT) EDIT SKIP FILE(SYSPRINT) ); FILEISYSPRINT) EDIT •) (A, A) ; ELSE PUT SKIP CUCTION IS OFF' ) (A) ; EDIT = • ,MAXPAT, A =• .CRITERIA!, ( 'RERUN IS ON') EDIT ('RERUN', ( 'DATA RE' , f ILE(SYSPRINT) ♦/EVENTS', ,MAXO, RIABLE :',DLIST, R EACH CLASS : ' , 'CLASS TO MAXCD, CLlICL»,'=',E(IROW,*J TO ROWCL( ICL)+NE( ICL) ) 2 A,F(6) ),SKIP,A,F(6),SKIP,2 A, P, A,(NCL)(SKIP,F(5),F(10) J , ( ICL) ) (SKIP,A,F(5) ,A,(NV) (F(5) ) ) )); /* NOW CHECK FOR DISJOINT EVENT CLASSES. DO 12=08 TO MAXCL-IB; ROW1=ROWCLU2) + 1B; R0W2 = R0W1«-NE( I2J-1B", DO I3=R0Wl TO R0W2; DO J2=(R0W2+1) TO NROW ; DO J3 = 1B TO NV; IF E(13,J3) -•= EU2,J3) THEN GO TO OK; END; DO I4=(I2+IB) TO MAXCL; IF R0WCLU4) >= J2 THEN GOTO OUT; END; OUT: I4=I4-LB; PUT SKIP FILE(SYSPRINT) EOIT ('THE PROGRAM OPERATES ON DISJOINT EVENT CLASSES. V •EVENT NO. • , (I 3-ROWCLl 12) ) ,' IN CLASS NO. ',12, • IS THE SAME AS EVENT NO. • , ( J2-R0WCL ( 14) ) , • IN CLASS NO. ',14, 'YOUR EVENT CLASSES ARE NOT •, •DISJOINT.' , 'THIS DATA WILL NOT BE RUN.') (SKIP,A,SKIP,A,F(2),A,F(2),A,F(2),A,F(2),SKIP,A,A, SKIP, A) ; ♦ /I ^5 PL/ I OPT IMUtNG COMPILER" MAlNP: PROC OPTIONS(MAIN) RECRDER; STMT LEV NT 44 2 3 45 2 3 46 2 2 47 2 1 48 2 49 2 51 2 52 2 I 53 2 2 54 2 2 55 2 NEWD1 : 56 2 PUSHOl: 57 2 58 2 59 2 60 2 61 2 I 63 2 2 64 2 2 65 2 1 66 2 67 70 71 72 73 74 75 76 77 78 79 OK: /* GOTO NEXT; END; END; END; IF THE USER DOES NOT SPECIFY A SPECIFIC SET OF VARIA8LES THE PROGRAM GROUPS ALL THE VARIABLES ACCORDING TO THE NUMBER OF LEVELS OF THE PARTICULAR VARIABLE. IF THE USER DOES SPECIFY A SET CF VARIABLES, ONLY THOSES SPECIFIED WILL 8E CONSIDERED FOR SYMMETRY */ IF USERSPEC=OB THEN GOTO LINKER; ND=OB; DLINK,DT0P,DTGP(M0P; DO IV=USERSPEC TO IB BY -IB; 00 ID=1S TO NO; IF OLlSTISPECLlST(IV))=DLISr(DTOP(ID) ) END; N0=ND*18; DTOP¥( IQ)=DT0P#U0)+18; OLINKI I Vl^QTOPI ID) ; DTOPI IDJ^SPECLISTI IV) ; END; 00 IO=lB TO NO; IF QT0P#UD)=1B THEN DO; PUT SKIP (•YOU HAVE TWO: THEN GOTO PUSHOl; FILEISYSPRINT) EDIT SPECIFIED A SINGLE', • VARI ABLE, • , IV, ' AS SYMMETRIC. 1 • THAT IS ERRONEOUS. CHECK USER • SPECLIST.'|(A,A,F(3),A,A,A); GOTO TWO; END; ENO; GOTO START; /* SINCE THERE IS NO USER SPECIFICATION OF VARIABLES, /* PARTITION ALL VARIABLES INTO 'D_GRGUPS' WITH SAME ^LEVELS /* 6 LINK THE 'D GROUPS' BY DLINK */ */ */ LINKER: NEWD: PUSHD; START ND=03; DLINK, DTOP , DTOPs^OB; RERUN-'O'B; DO IV=NV TO 18 BY -IB; 00 ID=IB TO NO; IF ULISTI IVI=DLIST(DT0P(ID)1 THEN GCTO PUSHD; END; N0=ND+13; DT0P*< ID) = CT0P*H!D)*18; DLINKI IVJ-DTOPI ID) ; DTOPI ID) =1 v; END; 0LIST=0LIST-IB; lirG PL/I OPTIMIZING COMPILER MAINP: PROC GPTIONSIMAIN) REORDER STMT LEV NT 80 81 2 83 2 84 2 85 2 86 2 87 2 83 2 2 89 2 2 90 2 3 91 2 3 92 2 2 93 2 2 94 95 2 2 96 2 2 97 2 2 98 /* F'IND SYMMETRY OF VARIABLES IN EACH CLASS DO ICL=0B TO MAXCL; */| /* FOR EACH EVENT_CLASS: REINITIALIZE LISTS, COUNTS C COLLECT •COLUMN_SUMS' OF EACH VARIABLE. NOTE-- ALL VARIABLES ARE READ IN • UNCOfPLE MENT EO' FORM, THEN APPROPRIATE VARIABLES WILL Be COMPLEMENTED WITH RESPECT TO THEIR MAXIMUM LEVEL — 'D_SLASH' TU SHOW THE 'ACTUAL' FORM GF SYMMETRY OF THE VARIABLES. THEY WILL BE RECONVERTED TO 'UNCOMPLEMENTED' FORM BEFORE THE NEXT EVENTCLASS IS PROCESSED. */l 4DSU ROWl #RCW R0W2 COMP DO I COLS DO I C END; DCS( END; bt0p,dmax<< = 03; dmaxl i nk .dsubtop , osubtop = b; = rowcl(ICD+ib; S-NE(ICL) ; = rowimrcms-ib; L^'O'B; V=l TO nv; um=ob; RCW^ROWl TO R0W2; 0LSUM=COLSUM+E( IROW.IVJ ; IV)=COLSUM; /* FIND SYMMETRY OF VARIABLES IN EACH 'D_GROUP« ALL SYMMETRIC VARIABLES HAVE THE SAME NUMBER OF LEVELS WHEATHER COMPLETELY SPECIFIED OR NOT */ DO ID=IB TO NO; /* IGNORE «D_GROUP' WITH ONLY 1 VARIABLE */ IF DTGP#(ID)=1B THEN GOTO NEXTD; N=DTOPtf(I0) ; D=DLIST(DTOP(ID)) ; /* FIND 'TOTAL SYMMETRY' OF ALL VARIABLES IN THE 'D_GROUP' COMPLEMENT APPROPRIATE VARIABLES. THE VALUE OF THE SWITCH GEN DETERMINES WHICH COMPLIMENT ROUTINE IS USED. THE FIRST ROUTINE IS HEURISTIC IN NATURE AND IS DESIGNED FOR INCOMPLETELY SPECIFIED SYMMETRIES. IT COMPLEMENTS THE VARS IN OIFFERENT WAYS UNTIL A MINIMUM NUMBER OF ROW SUMS IS PRODUCED. ( IDEALLY ONE ROW SUM) */ TOTALSORT: IF GEN='0'B THEN GOTO OTHRN; ^7 OPTIMI ZING COMPILER MAINP: PROC OPTIUNS(MAIN) REORDER; ST*T LEV NT 99 101 102 103 104 105 106 107 108 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 123 129 130 131 132 133 134 135 136 13 7 133 2 3 2 3 2 2 2 2 2 2 VARIABLES IN ANY GROUP. IS NOT GENERALIZED.' ) IF N> 111 1 10 THEN DC; PUT SKIP F ILE ( SYS PR I NT ) EDIT {•THE GENERALIZATION ROUTINE ALLOWS A MAX', ■ IMUM OF 31 ' THIS JOB (A, A, A) ; GCTO OTHRN; END; CPBIN^OO; MIN=NCUCL) ; IF NE(ICL)=1B THEN GOTO OTHRN; */ IRS = IRS = IRS+D-EI IPOW.IV); IRS+EI IROW, IV); IF NUMBER EVENTS. OF ROW SUMS /* GENERATE AND COUNT ROW SUMS HERE: RS#=OEOB; DO IROW=ROWl TU R0W2; IV^DTOP(ID); IRS=03; DO WHILE ( IV>OB) ; IF COMPLI IV) THEN ELSE IV=DLINK{ IV); END; RS*(IRS)=RS#RS THEN DC; MIN=#RS; ISAVE=CP8IN; END; /* GENERATE A NEW COMPLEMENT VECTOR CP3IN=CPBIN*-18; IF CP3INX (2**(N-18) )-lB) THEN GCTO 0UT2 IV=DTOP( ID); DO IY=1B TC N-IB; COMPL(IV)=SUOSTR{UNSPEC(CPBIN) ,33 IV = DLINMIV) ; END; GOTO HERE; /* HAVING GONE THROUGH ALL THE DIFFERENT COMPLEMENT VECTORS, CHOOSE THE ONE GIVING ThE MINIMUM NUMBER OF ROW SUMS 0UT2: CP8IN=1SAVE; IV=DTOP( ID); DO IY=IB TO N-18; COMPL( IV)=SUBSTR(UNSPEC(CPBIN),33-IY, IB); */ */ IY,IB) */ 48 PL/I OPTIMIZING COMPILER MAINP: PROC HPT ICNS(MAIN) REORDER; STMT LEV NT 139 140 141 142 143 144 145 146 147 148 149 150 2 3 2 3 151 2 2 OTHRN: 152 2 2 153 2 3 154 2 3 155 2 3 156 2 4 157 2 4 158 2 4 159 2 4 160 2 4 161 2 5 162 2 5 163 2 4 164 2 4 NEXTV2: 166 2 3 NEXTV: /* TEST 168 2 2 TESTPT: 169 2 2 170 2 2 IVER: 171 2 2 172 173 2 2 2 2 I V=DLINK< IV); END; /* COMPLEMENT EVENTS USING THE PROPER COMPLEMENT VECTOR */ OUTl: IV = OTOPUD); DO WHILE UV>0R) ; IF CGMPL (IVU'O'B THEN GOTO NEXTV3; DO IROW=RCWl TO R0W2; E( IROw,lV)=D-E{ IROW.IV); END; DCS( IV)=D*¥ROWS-DCS( IV); NEXTV3: IV=DL INK( I VI ; END; GOTO TESTPT; /* IN THIS SECOND ROUTINE, THE FACT THAT THE SYMMETRY IS COMPLETELY SPECIFIED, IS UTILIZED. IF THE SYMMETRY IS COMPLETELY SPECIFIED, THE VARS WILL ALSO HAVE THE PROPERTY OF THE SAME COLUMN SUM IN THE EVENT CLASS. THEREFORE THE VARS ARE PARTITIONED INTO •D.GKOUPS 1 L IF NECESSARY FURTHER PARTITIONED INTO •CS.GROUPS'. IN FORMING 'CS_GROUPS': 1. LINK VARIABLES WITH SAME 'COLUMN.SUM' IN THE EVENT_CLASS. 2. IF VARIA3LE MV2' HAS 'COLUMN_SUM» COMPLEMENTARY TO THAT OF 'IV THEN COMPLEMENT IV2 I LINK IT TG IV'S •CS_GROUP'. */ IV^OTOPUD); DO WHILEUV>08) ; IF COMPL(IV) THEN GOTO NEXTV; IV2=DLINK(IV) ; DO WHILE! IV2>0B) ; IF C0MPLIIV2) THEN GOTO NEXTV2; IF DCS(IV) -= D*#ROWS-DCS( IV2) THEN GOTO NEXTV2; IF DCS(IV) = DCSIIV2) THEN GOTO NEXTV2; C0MPL(IV2)= , l , a; DO IROW=ROWl TO R0W2 ; E( iaOW,IV2)=0-E( IROW, IV2); END; OCSl IV2)=DCS(IV) ; IV2 = DLINMIV2); END; IV=OLINK( IV); END; ENTIRE D_GROUP FOR TOTAL SYMMETRY IF SUF(OTOP(ID),Dl.INK,N) THEN GOTO.VER; IF NOTCOMPACTB THEN GCTC SORTCS; IF VERIFY(DTOPUD) ,DLINK,N> THEN GOTO TCTALSYM; GOTO SORTCS; */ /* ALL VARIABLES IN •D.GROUP' ARE SYMMETRIC TOTALSYM: MAXT0P=0TOP( ID) ; MAX«=N; */ 1*9 >L/l OPT [MIZ1NG COMPILER MAINP: PKOC UPTIUNS(MAIN) REORDER; STMT LEV NT 174 175 177 130 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 193 201 203 204 205 206 2 2 2 07 2 I 203 2 2 209 2 2 210 2 2 211 2 2 212 2 2 215 2 2 217 2 2 220 2 2 221 2 2 MAXLINK=OLINK; RETLOC=NEXTO; GUTO LINK /* /* /» FURTHER PARTITION SORT I.E. VARIABLES CF •D.GRCUP' WITH SAKE COLUMN SUM 'CS_GROUPS' IN DESCENDING ORDER CF T THE NUMBER OF VARIA8LES THEY CONTAIN CS=-18 INTO •CS_GKOUPS' */ */ EIR SIZES, */ SORTCS: «CS=08; CS_TOP ,CS* ,CS_L INK=0B; IV=DTCP(ID»; 00 WHILE(IV>08) ; LINKCS: DO TOP=lB TO *CS; IF CS(TOP) = QCS(IV) THEN GOTO UPDATE; END; NEWCS: *CS=*CS+IB; CS( #CS)=DCS( IV) ; UPDATE: CS*( TOP ) =C S#( TOP) *■ IB ; CS_LINK( IV)=CS_T0P(T0P) ; CS_TOP(TOP)=IV; IV=DL1NK( IV); END; IF *CS>13 THEN TOPSORT: DO T0P=18 TO *CS-1B; DO T0P2=T0P*1B TO #CS; IF CSmGP)> = CS*(T0P2) THEN GOTO NEXT_TOP2; IBUF^CSITOP) ; CS(T0P)=CSITCP2) ; CS ( T0P2 ) - I13UF ; IBUF=CS#(TGP ); CS#(TCP)=CS*(TCP2) ; CS* (T0P2 ) =IBUF ; IBUF=CS_TOP(TCP) ; CS_TOP(TGP)=CS_TQP( TOP 2 ) ; CS_T0P(T0P2)=IBUF; NEXT_T0P2: END; END TCPSORT; /* FIND 'T0T4L OR PAR TI AL ' SYMME TRY OF ALL 'CS.GRGUPS', IGNORE THOSE WITH ONLY 1 VARIABLE & GOTO PROCESS NEXT '0_GROUP'. */ HEN GOTO VER2; THEN GOTO TSYH; S*(TOP) ; 50 PL/I OPTIMIZING COMPILER MAINP: PROC OPTIONS(MAIN) REORDER; STMT LEV NT 222 2 2 223 2 3 224 2 3 225 2 3 226 2 3 227 2 3 228 2 3 229 2 3 230 2 2 232 2 2 233 2 2 23* 2 2 235 2 2 236 2 2 237 239 240 241 242 243 244 245 246 247 248 249 250 251 252 2 53 254 255 2 56 257 258 2 2 2 2 2 2 2 2 3 2 3 3 AODJ: CO; MCCLS = $#CCLS-IB; IF $TCP*K THEN $T0P=PT2; ELSE $LIST(PT1)=PT2; max*=max#+ib; MAXLlNK(K)=MAXTOP; MAXTOP=K; END; K=PT2; IF K>OB THEN GOTC COMPARE; IF MAX#=1B THEN GOTO TEST; IF SUF(MAXTCP,MAXLINK,MAX#) THEN GOTO VER3; IF NOTCOMPACTO THEN GOTO TEST; VER3: IF VER I FY( MAXTQP, MAXL INK, MAX*) THEN GOTO PSYMl; GOTO TEST; /* SOME BUT NOT ALL VARIABLES IN «CS_GROUP' ARE SYMMETRIC PSYMl: PETLOC=TEST; GOTO LINK; TEST: IF $¥C0LS>1B THEN GOTO NEXTJ; GOTO NEXTICS; /* ALL TSYM: ARE SYMMETRIC IN OMAXLINK VARIABLES IN 'CS_GROUP MAXTOP=CS_TOP(TOP) ; MAXrf=CStf (TOP) ; MAXLINK=CS_LINK; RETLOC=NEXTICS; /* MERGE £ LINK SYMMETRIC VARIABLES LINK: «DSUPTOP=*DSUOTCP*1B; PTl ,OSUBTOPC0B); PT2=PT1; PTI=MAXLINK(PT1) ; 0MAXLINK(PT2)=PTl; END; 0MAXf¥=DMAXtf+MAX*; GOTO RETLOC; /* 'VERIFY' VERIFIES THAT OTHER CLASSES /* DO NOT HAVE THE SAME SYMMETRY AS THE CURRENT CLASS. /* I.E. THE CURRENT SYMMETRIC SELECTOR IS ACCEPTED /* IF IT DOES NOT APPLY TO OTHER CLASSES. VEPIFY: PROC(NODE1PT,LIST,*COLS) RETURNS ( 8 IT ( I ) ) ; DCL (N0DE1PT,LIST(*) , «CCLS . ICL2» KRS ,KR0W) FIXED BIN; DO ICL2=0B TO ICL-1B, 1CLUB TO MAXCL; 00 1R0W=1B TO NE( ICL2); */l */| */ */| */l */| */l 51 /t OPTIMIZING COMPILER MAlNP: PROC OPTICNS(MAIN) REORDER; STMT LEV NT 259 3 4 261 3 4 262 3 4 263 3 ■3 264 3 5 265 3 5 266 3 5 267 3 4 268 3 4 269 3 4 270 3 3 271 3 2 273 3 2 274 2 2 275 3 2 276 3 2 2 77 3 3 278 3 3 279 3 3 280 3 2 281 3 3 282 3 3 283 3 3 284 285 286 3 4 287 3 4 268 3 3 289 4 3 290 4 3 291 4 3 292 4 4 293 4 5 KRS=OB; KRCW=IRUW+ROWCL( ICL2J ; I V^NODEIPT; 00 WhlLEI IV>0B) ; IF COMPL(IV) THEN KPS=KRS*D-E( KROW , I V ) ; ELSE KRS=KRS* E(KROW.IV); IV=LIST(IV); END; IF INCOMPL(KRS) THEN RE TURN ( • • 8 ) ; IF RS«(KRS)-*=OB THEN RE TURN I • ' B ) ; END; END; INC0*PL = '0'8; RETURN! M 'B); END VERIFY; /* 'SUF2' FINDS PAIRWISE SYMMETRY OF 2 VARIABLES J 6 K */ SUF2: PROC(J.K) RETURNS ( BIT { I )) ; RS«=0E03; 00 IROW^ROWl TO R0W2; ips=e( ircw,j) + eurcw,k) ; rs#(irs)=rs#(irs)+ieob; END; /* CHECK ALL 'ROW.SUMS' FOR SUFFICIENT OCCURRENCES */ DO IRS = 0B' TO 0*10B; IF RS#(IRS) = OEOB THEN GOTO NEXT_RS; #COMP=COMP(108tIRS t D); IF MAXPAT THEN /* PATTERN SI7.C EXCEEDS MAXPAT */ DO; PUT FILE(SYSPRINT) EDIT (•PATTERN S I 7 E -= • ,¥COMP, • EXCEEDS MAXPAT^' , MAXPAT) (SKIP, 2 (A, fill))); RETURNl 'O'B) ; END; BEGIN; DCL (LIST*S< #COMP, 103) , LEVEL! I OB) , ICCMP, ICOL) FIXED BIN; /* CALL 'RSLIST* TO GENERATE ALL POSSIBLE PATTFRNS. */ CALL RSLIST (10B, IRS, C, LIS TRS, LEVEL) ; 00 ICOMP^IB TO rfCOMP; DO £ROvi = ROHl TO RCW2; DO IC0L=1R TO 10B; 52 PL/I OPT IMWING COMPILER MAINP: PROC OPTIONS(MAIN) RECKDFR; STMT LEV NT 294 296 297 298 2 99 300 301 302 303 304 305 4 6 4 6 4 3 3 3 3 2 3 2 306 2 2 307 3 2 308 3 2 311 3 2 312 3 3 314 3 3 315 3 4 316 3 4 317 3 4 318 3 3 319 3 3 320 3 2 321 3 3 322 3 3 323 3 3 IF ICCL=IB THEN IV=J; ELSE IV=K; IF E( I ROW i I V)--=LISTRS(ICOMP, I COL) THEN GOTO NEXT_ROW; END; /* MATCH THIS PATTERN */ GOTO NEXT_PATTERN; NEXT_ROW: END; /* NOT MATCH THIS PATTERN */ RETURN('O'B) ; NEXT_PATTERN: END; /* MATCH ALL PATTERNS */ END; NEXT_RS: END; RETURN! H'B) ; END SUF2; /* SUF •SUF' TES 1. 0OCCUR 2. THE VAR IF THE I.E. T ELSE 3. TH COMPLETEN IFSO THE WILL BE * NOTE THI THAT IT DO ! PROC DCL I SUF 8 I NOTCO DO IR IV DO EN RS end; TS 'TOTAL SYMMETRY* CF A LIST OF VARIABLES RENCES OF EXISTING 'ROW_SUMS« ARE COLLECTED IAeLES ARE 'TCTALLY SYMMETRIC EXISTING 'ROW_SUMS' ARE COMPLETE — HEY OCCUR 'SUFFICIENTLY' IN ALL POSSIBLE WAYS. E INCOMPLETE 'POW_SUMS' ARE CHECKEC FOR CLOSENESS TO ESS UNDER A 'CO v .PACT_RAT I C CRITERIA SUPPLIEO BY USER SYMMETRIC SELECTOR WITH THESE 'RQW_SUMS' COMPACT' AND THEREFORE ACCEPTABLE S SYMMETRIC SELECTCR STILL HAS TC BE 'VERIFIED' ES NOT APPLY TO OTHER E V tNT_CL A S SE S. (NCDE1PT,LIST,«C0LS) RE TURNS ( BIT ( 1 )) ; NODF.iPT.LISH-*) ,#CCLS) FIXED BIN, T BIT(l) ALIGNED IMTI'l'B); MPACTB='0'B; INCCMPL='0' B; RS*=0E08; 0W=P0W1 TO R0W2; =NCDE1PT; IRS=0B; WHILE! IV>OB) ; IRS=IRS«-E(IROW, IV); IV-LISTUV) ; o; #( irs)=rs*urs)*-ieob; */l /* CHECK ALL 'ROW_SUMS' FOR SUFFICIENT OCCURRENCES */ SUFRS: DO IRS=0« TO D**CCLS; IF RS«(IRS) = OEOB THEN GOTC NEXT_RS; #COMP-COMP(«COLS, IRS,D); IF *ROWS/*CGMP < CKITERIA1 THEN /» NU NEED TO CHECK THIS GROUP OF VARIABLES 53 >L/I OPTIMIZING COMPILER MAINP: PROC OPTIONS(MAIN) REORDER; STMT LEV NT 324 326 327 328 329 3 30 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 352 353 3 54 355 356 3 2 3 2 SINCE COMPACT RATIO CRITERIAl IS NOT SATISFIED */ DO; NOTCOMPACTB^'l'B; RETURN I • • B) ; END; IF #CCMP>MAXPAT THEN /* PATTERN SIZE EXCEEDS MAXPAT */ DO; N0TC0MPACT8-' l'B; PUT FILE(SYSPRINT) EDIT (•PATTcRN SIZE=« ,#COMP, • EXCEEOS MAXPAT= ', MAXPAT) (SKIP, 2 (A, Fill))); RETURN! 'O'B) ; END; begin; OCL (LISTRSI »COMP,#COLS) , LE VE L ( #COLS ) , ICOMP , I COL , NOT OCCUR* J FIXED BIN; N0TGCCUR-f = 03; /* CALL 'RSLIST' TO GENERATE ALL POSSIBLE PATTERNS. */ CALL RSLISTI4C0LS, IRS, D,LISTRS, LEVEL) i DO IC0MP=18 TO 4C0MP; /* CHECK ALL PATTERNS */ DO IR0W=RCW1 TO R0W2; /* AGAINST ALL EVENTS IN CLASS. */ IV=NCDE1PT; DO ICOL^IB TO *COLS; IF E ( IROW, IV)-»=LISTRS( ICOMP, ICCD THEN GOTO NEXT_RO'.i; . iv=Lisniv); END; /* MATCH THIS PATTERN */ GOTO NEXT_PATTERN ; END; /* NOT MATCH THIS PATTERN */ SUFBIT='0 , 8; INC0MPL(IRS)=»1 , 8; NOTOCCUR*=NOTOCCUR*«-lB; RATIO=(#CCMP-NOTCCCUR*)/#COMP; IF RATIO>=CRITERIAl THEN GOTO NEXT.PATTERN; N0TCCMPACTB= , 1'B; RETURN! 'O'B) ; NEXT_PATTERN: END; /* match all patterns */ end; next_as: end; N£XT_ROW: RETURN(SUFBIT) ; END SUF; /* •RSLIST* GENERATES ALL POSSIBLE PATTERNS 5*> PL/I OPTIMIZING COMPILER MAINP: PROC OPT IONS ( MA I N ) REORDER; STMT LEV NT 357 2 2 RSLIST 358 3 2 3 59 3 2 360 3 2 361 3 2 NEXTV: 363 3 3 364 3 4 365 3 4 3 66 3 3 367 3 3 368 3 3 369 3 3 370 3 3 371 3 3 372 3 2 373 3 2 PUSH: 3 74 3 2 3 75 3 2 POP: 376 3 2 377 3 2 378 3 2 3 79 3 2 330 3 2 381 2 2 COMP: 382 3 2 383 3 2 385 3 2 387 3 2 388 3 2 3 39 3 2 390 3 3 39L 3 3 392 3 3 393 3 3 394 3 2 /■* 'COMB 395 3 2 COMB: 396 4 2 FOR N VARIABLES, WITH SAME MAXIMUM LEVEL — 0, TO SUM TO IRS — 'ROW_SUM» L PUT THEM IN LISTRSJ*,*) PROC(N,IRS,0,LISTRS,LEVEL); DCL (LISTRS(*,*),LEVEL(*) ) FIXED BIN; DCL ( IRQ.V,N,IRS,D,NV,R, IV) FIXEO BIN; IR0W,NV=18; IF N=NV THEN 00; R=IRS; DO IV=1B TO N-1B; R = R-LEVEL(IV) ; END; if r>d | r<08 then goto pop; levelin)=r; listrs(irow,*)=level; ircw=iruw+ib; GOTO pcp; END; LEVEL(NV)=OB; NV=NV+18J GOTO NEXTV ; MV=NV-1B; if nv=ob then return; if level(nv)=0 then goto pop; level(nv) = level(nv)«-ib; goto push; end rslist; /* 'COMP' CALCULATES THE NUMBER OF WAYS FOR N VARIABLES /* .WITH SAME MAXIMUM LEVEL — 0, TO SUM TO R — •ROW_SUM» PROC(N,R,D) RETURNSIFLOAT BINI53)); DCL IN. R,D,M, I.MAX, R1,R2)FIXE0 BIN(15>, (SUM, SIGN) FLOAT BIM53); SIGN=-lEOfl; SUM=OEOB; R1=R; R2=D*N-R1; IF Rl>R2 THEN Rl=R2; MAX=Rl/(0+18) ; DO M=08 TO MAX; I=Rl-M*(D+lB) ; sign=-sign; sum = sum«-sign*c0mb(n,m)*c0mb(n*i-1b,i ) ; END; RETURN(SUM); */ */ */ CALCULATES THE NUMBER OF WAYS TO CHOOSE PROC(N.M) RETURNS (FLOAT BINI53) ); DCL (N,M, TIMES, N1.N2) FIXED BIN(15), (TOTAL, FACM) FLCAT BIN1531; M OUT OF N OBJECTS*/ l 55 OPT INUING COMPILER MAINP: PROC OPflGNS(MAlN) REORDER; STMT LEV NT 397 4 2 398 4 2 399 4 2 400 4 2 401 4 2 1 403 4 2 404 4 2 406 4 2 CALC: 407 4 3 408 4 3 409 4 2 410 4 3 411 4 3 412 4 2 413 4 2 <»14 3 2 END COMP; 415 2 2 NEXTO: END; 416 417 419 2 2 421 2 1 422 2 L 423 2 1 425 2 I 426 2 1 427 2 I 428 2 2 429 2 2 431 2 3 433 2 2 435 2 3 437 2 2 438 2 2 /* IF M = OB THEN RETURN ( I EOB) ; IF M=l8 THEN RETURN(N) ; IF ^106 THEN RETURN! (N* ( N-l 0) ) / I OB ); TOTAL, FACM=1E08; NI=N+1B-M; N2=M; IF N-M >= M THEN GOTO CALC; N1=M*1B; N2=N-M; DO TIMES=N TO Nl BY -IB; TCTAL=TOTAL*TIMES; END; DC TIMES=N2 TO IB BY -IB; FACM=FACM*TIMES; END; RETURNITOTAL/FACM) ; END COMB; PRINT FOR EACH CLASS EITHER THE SYMMETRIC SELECTOR(S) COVERING IT OR A MESSAGE INDICATING THAT NO SYMMETRIC VARIABLES WERE FOUND */ PRINT: IF ICL=OB THEN PUT •NUM. • SYM (XI85 A,XI3 IF DMAXtf=OB THEN DO MINRA DCL C S (S (* SYMVA PUT F l'F( ' COUNT DO TO SE IF TI0=1 HR(4) IGN1 ELCHR DCOMB R='0« ILEIS ,ICL, = 10; P=1B LCHR = TOP> SKIP FILEISYSPRINT) EDIT (• CLASS ',' M IN' , OF', 'CLASS FO.0») ; E(SYSPRINT) EDIT! • £ •) (A) UUNT+3; END; KIP FILEISYSPRINT) EDIT 'MA); C0UNT=10; END; 56 OPTIMIZING COMPILER MAINP: PROC OPTlQNSlMAIN) REORDER; STMT LEV NT 439 440 442 444 446 443 450 451 453 455 456 457 458 459 460 462 463 464 465 466 467 468 470 471 472 473 475 4 76 477 478 479 480 481 482 483 484 485 486 487 488 489 2 4 2 3 2 3 2 3 SYMVAR(IV)='l , B; COLS IF C ; = ib; if OfPL I IV) IF S IF C IV=D END; RS«=OEOB; SELCHR= DO I ROW IV=D DO W I I END; RS*l END; N=DSUBT #C0MI3=0 DO IRS = IF R COLS PUT (CHR COUN IF S /* CALCULATE CLASS COMPACT RATIO #COM tfCGM #RtP IF M ELCHR=1B 0UNT>70 IVM001B THEN C0LS = 108; THEN DO; PUT F ILE ( SYSPRI NT) EDIT (CHRISELCHR) , • X • , IV , ' • • • ) (A,A,F(COLS),A); C0UNT = C0UNT«-3*C0LS; END; ELSE DO; PUT FILEISYSPRINT) EDIT (CHR(SELCHR) ,'X« , IV) ( A,A,F(C0LS) ) ; CGUNT-C0UNT*2*C0LS; END; THEN SELCHR=10B; THEN DO; PUT SKIP FILEISYSPRINT) EOIT (• 'HA); C0UNT = 10; END; MAXLINKI IV) RATI IF R NEXTRS: END; *DC0M8= PUT FIL COUNT=C END; DO IV=1B TO NV; 110; =R0W1 TO R0W2; SUBTOP(TOP); IRS=OB; HILE( IV>OB) ; RS=lRS*EIIROW,IV) ; V=DMAXL INK( IV); IRS)=KSOB) ; IF CGMPL (IV) THEN 00 IR0W=R0W1 TO R0U2; E(IROW,IV)=OLIST( IV2)-E( IROW.IV); END; IV=DLINK(IV) ; END; END; IF DMAX#-. = 0B THEN RERUN='0'B; /* GENERATE LIST CF SYMMETRIC VARIABLES CCMMCN TO ALL CLASSES WHICH IS USED IN THE OATA REDUCTION TABLE */ IF -iOTRED THEN GOTO NEWCLASS; IF ICL-»=OB THEN GOTO CHECK; SCOMPL^COfPL; SDMAXLINK^DMAXL ink; SOSUBTUP-OSUBTOP; SDSU3TCP*=DSU8T0P# ; S#DSUBT0P=«DSU8T0P; GOTO NEWCLASS; CHECK: IF StfDSUBTOP=OB THEN GOTO NEWCLASS; 00 1= 13 TO S-/DSLBTOP; DO J = IB TO rtDSUBTOP; IF SDSUBTGP*(I)-. = DSUBTGP4U) THEN GOTO A3; IV1=SDSU8T0P( I) ; I V2=DSU3T0P( J ) ; DO WHILE IIV1>0B) ; IF IV1-.= IV2 THEN GOTO A3; IF SCGfPH IVi) -.= C0MPL(IV2) THEN GOTO A3; I Vl=SDMAXLINKl I VI) ; I V2=0MAXL INKl IV2) ; END; GOTO A4; A3: END; S*DSURT0P=S*0SUBT0P-18; SDSUBTOPII )=0B; A4: END; 58 PL/l OPTIMIZING COMPILER MAINP: PROC OPTIONS(MAIN) REORDER; STMT LEV NT 528 1 INEWCLASS: END; 529 531 532 533 534 535 540 541 542 543 544 546 547 549 550 551 5 53 555 556 557 559 537 2 I 538 2 1 539 2 /* IF THE SWITCH RERUN IS SPECIFIED AND NO SYMMETRIC VARIABLES WERE FCUNC USING THE USER SPECIFIED SU3SET OF VARIABLES, THEN THE PROGRAM WILL AUTOMATICALLY RERUN ITSELF USING ALL THE VARIABLES AND ATTEMPT TO DETERMINE IF SYMMETRIC VARIABLES EXIST. */ IF RERUN THEN DO; DLlST=DLlST+ie; PUT SKIP FILE(SYSPRINT) EDITCTHIS 'RUN WITH THE SAME EVENTS AND AUTO • OF D GROUPS.' ) (A, A, A) ; GOTC LINKER; END; JOB IS RE', SELECTION' , /* "HERF- IS A SYMMETRY COV ICAL REFEREE AND VARIABLE CAN BE THE VARIABLES IN ING ROUTINE TAKE IN TABULAR FORM. N GOTC newcata; 08 THEN DO; PUT ( «TH • AB « N 'NO GOTO END; PUT SKIP FTLE(SYSPRINT) EDIT IF THERF- I WITH IDENT THE A NEW VALUES OF THE FOLLOW REDUCTION IF -.DTRED THE IF S#DSU3TGP--= ERING ALL CLASSES (I.E. A SELECTOR DIFFERENT REFERENCE FOR EACH CLASS), DEFINED WHOSE VALUE IS THE SUM OF THE THE REFEREE. THIS IS DATA REDUCTION. S SELECTORS OF THIS TYPE ANO DISPLAYS (•*****OATA REDUCTION TABLE*****',' ( SKIP, SKIP, X118), A, SKIP, SKIP, A); j=ob; 00 I =18 TO NV; IF SOSUBTOPt I) = 0B THEN GOTO A5; J=J+1B; IF (NV*JXIOIOB THEN CL = 1B; ELSE CL=10B; PUT SKIP FILEISYSPRINT ) EDIT ('VARIABLE X'.NVf-J,' IS THE SUM', • OF VARIABLES' )(A,F(CL), A, A); ivi = snsusTOP(i ) ; SLC=1B; DO WHILE i IVl>08); DV=DLIST(IVl); IF IVK1010B THEN DL=1B; ELSE DL=10B; IF SCOMPL(IVl) THEN DO; PUT F IL E ( SYSPR I NT ) EDIT (CHR2(SLC),'X' , IV I, " ") ( A,A,FIOL),A) EV(*,J)=EV(*,J)MDV-E(*,IV1)); END; ELSE DO; PUT FILE(SYSPRINT) EOIT (CHR2(SLCJ,'X' , IV1)(A,A,F(DL)) ; EV(*tJl=EVl*i J)*E(*,IV1); 59 PL/ I OPTIMIZING COMPILER MAINP: PKOC UPT1(]NS(MAIN) KECROEH; STMT LEV NT 560 2 3 561 2 2 562 2 2 563 2 2 END 564 2 1 A5 :END; 565 2 PUT 566 2 DO I 567 2 I IF 5to9 2 1 PU 570 2 I END; 571 2 PUT 572 2 DO I 573 2 I I 575 2 1 P 576 2 I END; 577 2 PUT (( «c ( ( (INC (J) 578 2 c NEWDATA 579 I 580 I EXIT: E END; IF SLOIB THEN SLC=10B; I Vl = SJMAXLINMIVl ) ; SKIP FILE(SYSPRINT) EOIT (• ' ) ( SKI P, SK I P, X { 14) , A ) ; =18 TO nv; I>1001B THEN CL=10B; ELSE CL-IB; T FILE! SYSPHINT) EDIT ( • X • , I M X ( 100B-CL ) , A, F( CL ) ) ; FILE( SYSPRINT) EDIT (• |«MA); =NV*1B TO nv»-j; F IM0018 THEN CL = 10B; ELSE CL=18; UT FILEISYSPRINT) EDIT ( • X* , I ) ( X ( 100B-CL ) , A , F( CL > ) ; FILE[ mi ;i l; Organization Name and Address National Science Foundation Washington, D.C. 10. Proje< i Ta-.k, \Xorl- i nil '■ 1 1. ( ontract /Grant No. NSF DCR 7^-0351^ .insoring Organization Name and Address 13. Type of Report & Peri Covered 14. •mentary Notes 16. \!"*:>.>,ts . The symmetric selector is a concept introduced in the definition of the VLi Logis System. It is a compact way of representing the symmetric relation "between variables of this logic system. SYMU is a PL/l program which detects symmetry of a variable-valued logic func- tion with regard to the variables or their inverses. If symmetry does exist, a symmetric selector is defined using the symmetric variables which will describe the variabled-valued logic function in a more compact way than a corresponding non- symmetric selector. Since the symmetric selector is concerned with the sum of the variables and not the specific value of any single variable, the generated formulas describing the object classes are also based upon the relationship (symmetric) be- tweeen the variables and not the specific value of a variable. The basic application of this program is in the field of machine learning and inductive inference. The program is given object descriptions with known class 17. Kc\ Words and Document Analysis. 17o. Descriptors membership, and it generates formulas describing the object classes based upon the symmetries of each class. These formulas represent certain generalizations of the given input information. 7b. Identifiers Open-Ended Terms (index Terms ^ Symmetric Functions Symmetric Functions, Detection of Variable-Valued Logic Functions Many-Valued Logic Functions Classification Rules 7c. COS Ml Fie Id /Group 8. Availability Statement 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 22. Price 3RV N TIS-3S (10-701 USCOMM-DC 4'H25-P7' *& *?•