H 11131 Ml HHHB mm m n m wmnm Ma HHeHrS mm afgntt m I i mful Sfj BBffiHjji H IHnlSB Hi ill i Bra Hi m US mm mi Wtifflmfflsm Digitized by the Internet Archive in 2013 http://archive.org/details/yaq360assemblerv840yalo 3 / (/' V / DCS-R-77-840 /K^U UILU-ENG 77 Yj2k yuJH YAQ: A 360 Assembler Version of the Algorithm A and Comparison with Other PL/ I Programs by Edward Yalow May 1977 DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA, ILLINOIS YAQ: A 360 Assembler Version of the Algorithm A q and Comparison with Other PL/I Programs by Edward Yalow Department of Computer Science University of Illinois Urbana, Illinois May 1977 This work was supported in part by the National Science Foundation, Washington, DC, Grant No. NSF MCS 74-03514. I. IVIPODUCTION This paper provides a users guide to the use of the program 40VAL/7 version YAQ. In addition a description of YAQ's contribution to the AQVAL/" 7 algorithm and a comparison with the other versions of iOVAL/" ? is qiven. YAQ is a program that infers a quasi-optimal disjunctive sitrple formula of the variable valued loqic system VL1. 7n +his version a formula distinguishes classes of events and generalizes over unspecified events. The formulas are formed from i Inscription of the event space (number of variables and their domains) ^n'i a set of training events. The degree of generalization can be controlled by a "mode" parameter. 'I. INPUT There are eight (8) input parameters which may he specified in a semi-order free format. ^he general format for a parameter is: KFYi»OFD= VALUE where KEYWORD is the parameter being specified = specifies that the keyword value follows and VALUE is one of the allowable values the keyword may take. Keywords are seperated by one or more blanks. In addition the following symbols are used in the explanation of the keywords and their values as follows: i . t >t • t o throe digit number i is a one to eight character abham. • *rinq (inninq with 1 alphabetic cinr that there is no -1 ** f a ij It an-i a ralu .pec i f i *r\ "he inpul that is r-'ai is assumed to be «r character carl images with columns 7 ?:R" iynoredi Keyword:-, and values may cross cari boundari*- . . r, k >ywords f their allowable values, and th^ir ^paninTs follow yr-y ■ • r o -! ~ val UP .; rn'> an i n>] the tyr>; of cov^r to generate (degree of generalization) intersecting covers. an unspecified event -nay be in more than one class. Specified events am covered by • r on ly . ne as but with the. covering complexes mininizei. disjoint covers. No events, specified or not, is in more than one class. Same as D but with the covering corrmlexes minitiiz^d. VL. VL formulas are qenerated such that the class covers are orler ieoendent anl an event, specified or rot is in the first, class that covers it. "he last class lies not have a cover formula but is the lefault it the -»vent is not covered by a previous class. V Same as V but with the covering complexes minimized. c Reverse VL. ?L mode with the classes covered in reverse order. PP 5amp as R but with the covering complexes minimized. EX. : MODE = I »C1 The MAXIMUM number of classes TO BE COVERED. AS THE DEFAULT IS LARGE THIS PARAMETER SEED NOT BE SPECIPIED EXCEPT IN THE PARE CASE THAT A STILL LAPGFR NUMBER OP CLASSES IS PRESENT. ddd an integer in the range of 1:255. DEFAULT = 50 KCL = 10 r ll T S?Ar The maximum size an intemediate star may take before trimming is done. Since trimming contributes a significant amount of the computation done there may be some advantage in using a maxstar significantly larger than cutstar. ddd an integer in the range of 1:999. DEFAULT = 999 EX. : MAXSTAR = 16 IGTSTAF The size to which an intemediate star is trimmed to. ddd an integer in the range of 1:999. DEFAULT = 1 EX, : CUTSTAR = 2 PR7M0DF The amount of output desired. this is used primarily for debugging purposes. 1 print all events and covers prints covers only. DEFAULT ■ c PX. : PFT?10Dt ■ 1 TTTLS » The value of title is printed on the top of every paqe of output after the one it appears on. EX. : TITLE = ANYTHING !."}VAF the number of variables (dimensions) of the ev»nt space, did an integer in the range of 1:255. DEFAULT = ? F v . : NOVAR = U V n PSZ This is a set of NOV.**? numbers each optionally followp^ ny one or two modifiers enclosed within a set of parenthesis. Each T-th number is the ranqe that the I-t.h variable may take. If the variable range value is followed Dy a number within parenthesis, then that number is the weight of the selector. An "I" or a " P " is taken to mean either an interval variable or factor variable respectively. Neither, either, or both weight and type may be specified for each variable range. blanks ire used to sepera+e the variable specifications. There is a necessary set of parenthesis enclosing the entire varsz specification. (DDD(DDDbT) .. . bCDD () ) DEFAULT = ? Ex.: VAPSZ=0 *0 no modifications. Ex.2: VAPSZ=(?(5) 4 2(1)) singly modified Ex.3: VAPSZ= (M 1 F) 7 (T 2) 6) doubly modified NOTF: NOVAR must preceed VIPSZ. '"his is the most complicated parameter . Events is the means of specifying the training events to be used. The format is an alphabetic 1 to 8 character classname followed by or more events. Each event may optionally be followed by a weight enclosed in parenthesis. An event is specified either by a gamma notation enclosed in angle brackets or by a set of KOVAF numbers, each within the range specified in VAPSZ with blanks used as seperators. ft weight is a number between ^ and 255 enclosed in parenthesis. It follows the last variable specification of the event it is modifying. If a class name is repeated th»n the events following that class name are appended to the events in the first occurence of the class. Thus training events in a single class need not be contiguous. Classes are covered in the order in which the classnames are originally specified, NOTE: 3oth VAPSZ and NOVAP must preceed EVENTS, classname event (weight) ... event (weight) classname event ... where: classname is a one to eight character string beginning with an alphabetic character. event is a set of NOVAR digits each within the range specified in varsz or an event specified in gamma notation and enclosed in angle brackets -'•<>" . ? number in gamma notation ranges between D and 1 less than the product of the ranges specified in V*PSZ. (weight) is a number between and 25 c enclospi in"()" Fx. 1 : v» ; '-;z=(2 1 ft) evf;!.ts = ci 1 2 1 (1) 1 2 2 (2) C2 i a 1 P J 1 Hi ci i 2 1 C1 has three events : (1 2 1) (1 2 2)and (1 2 1) their weights are 1,2 and 1 respectively. C2 has two events: (0 C 0) and (0 1) their weights are 1 and U respectively. ~x.2: same as Ex.1 except using gamma notation VAFSZ=(2 1 U) EVENTS=C1 <23>(1) <22>(2) C2 < r > <1>(<0 C1<21> Ex.2: using mixed notation this time. VA?5Z=(2 ? a) E?ESTS=C1 <23>(1) 1 2 2(2) C2 A r <1> (ft) C1 <21> »ny card that begins with an asteric ('**) in column one is taken as a comment card. A comment card is echoed on the output but otherwise ignored. JCL USSD: The simplest way to use YAQ is to use the proc YAO as follows: //-jobname JOB /*ID PS=psnumber /*ID CODE=code addition id cards if necessary //procstepname EXEC YAQ //AQ.SYSIN DD 8 control caris as described above Tho proc also allows one to specify an optional maximum r°qion. size for the aq step. the keyword is 'r* and should be placed *fter th* 3 procrame as shown in the following example. //PPCCSTFPN&S? EXFC YAQ,P=9?K "he default for P is 1C"k which should be more than ample for most apolications as can be shown in the testing data below. ""he program YAQ may also be called as a subroutine of either a ">L/T orogram or a 360/assembly language program as follows: From Pl/I : CALL BOOT; /*calls the bootstrapping proceedure that follows */ INCLUDE CAT.LAQ; /* callaq loads, calls, and unloads each of the two modules comprising YJQ 3/ From 36C/assembler : LINK EP=AQKOD load and execute program to * generate covers LOAD E D =YPPT load print program CALL PL1NAI!; execute print program DFLETE EP=YPRT unload print program PERTHES EXAMPLES OP INPUT COIJTPOL PARAMETFRS //PP0CJHM2 ET.EC Y AQ //\0» SYSIN DD * * EXAMPLE OF MINIMUM AMOUNT OP CONTPOL PARAMETERS NECESSAPY. "OOF = I NOVAR = 1 V8-?5 7 = ( u ) 7 v v $ r s = CLASS03F ^FCLASS 2 1 CL3 1 /* // a POCN M ? EXEC YAQ //AQ.SYSTV DD * * EXAMPLE TWO CrS^A" = 2 MAXSTAF = 2 EVENTS = CL1 /* MODE = I 1 VAPSZ =(32) CL2 10 1 1 AEOVE EXAMPLES WITH EXPLANATORY COMMENTS INTEPSPERSED * ^-RtfPLE o' MINIMUM AMOUNT OF CONTROL PARAMETERS NECESSARY. NOTE: THIS AND PPEVIOUS LINE APE COMMENT CARDS. *^DE = I * HSE INTERSECTING COVERS J0?AR - 1 * *ACH EVENT CONSISTS OF JUST ONE VARIABLE fa?sz = ( u ) * m HF OV 17 VARIABLE MAY TAKE ANY OF THE FOUR VAUES 0,1,2, 0? 3 •TESTS = * ~»E SPECIFICATION OF CLASSNAMES AND EVENTS FOLLOW CLfiSSC^E . - H t? pyj; o? THE FIFST CLASS IS "CLASSONE" -j * THE EVENT HAS ITS VARIABLE EQUAL TO 3 SPCLASS 2 1 * THE SECOND CI ASS HAS A CLASS NAME OF "SECLASS" AND TWO EVENTS WHOSE * VALUES AFF 2 AND 1 RESPECTIVELY CL3 r /* * THE L»ST CLASS HAS ONE EVEJTT tfHOSF VALUE IS AND WHOSF CLASS NAME IS k END OF EXAMPLE EYA5PLE TWO "ODE = T MATSTAF = 2 CUTSTAR = 2 : TN THIS ETA1PLE lAXSTAB AND CUTSTAR ARE BOTH SPECIFIED. WHEN AN * irr^F -! ?DT A~F STAR EXCEEDS 7 WO COMPLEXES IN SIZE 17 WILL BE TPIflMZD * TACK TO TWO COMPLEXPS. IN THE PREVIOUS EXAMPLE HAXSTAP WAS ALLOWED * "*0 DFFAULT TO A VALUE OP 999 AMD CUTSTAP TO A VALUE OP 1. IK EPPE':'*' - m HIS MEANT nc TRIIfKISG (EXCEPT IN THE UNLIKELY EVENT IK I N-EPMEDI AT" * ^f^ DTD ^"CFED 99Q COMPLETES IN WHICH CASE TT WOULD BE TRIMMED TACK * -C 0>rF crRPLTTf) • NOTE THA T HOPE THAN ONF PARAMETER MAY BF SPECIFIED * ON ONE LIKE. VB C S7 = ( 3 1 ) * '"HIS MEANS "FA? THE EVFNT SPACE IS TAKEN TO BF A 1 X 2 MATRIX. * VJl°r*3LP 037 TAKES ON VALUES BETW2FN C AND 2, VARIABLE T»0 BETWEEN * " AND 1 . EVENTS = CL1 r D 1 CL2 10 11 * THIS ^ArPLE CONSISTS OF TWO CLASSES EACH CONTAINING TWO EVENTS. * THI CLASS NAMES APE "CL1" AND "CL2". CL1 CONSISTS OF T BE TWO EVENTS * WHOSE FIFST VARIABLE IS AND WHOSE SECOND VARIABLE TS AND 1 * ?SS?FC""IVrLY. CL2 CONSISTS OF THE TWO EVENTS WHOSE FI'ST VARIABLE IS * TS 1 AND WHOSE SECOND VARIABLE IS AND 1 RESPECTIVELY. NOTE THAT * THE FORMAT IS FREE. ALSO SOTE THAT THE CLASS NAMES DELIMIT THE * EVENTS INTO THE VARIOUS CLASSES. SUMMARY ^ABLE OF KEYWORDS K7Y3TOED "I^DE 7,D,V,R nci 0:255 VALUES DEFAULT I 5C 11 m i y s t \ F 1 : 9 9 9 ?P~*OT)E 1,5 -""'E CHAP S^PITCG 999 1 5 NOLL STPING *OV1 c ( LIST CF INTEGERS ) NO DEFAUL^ -V-'TS L"ST OF CHAP STRINGS AND ISTEGEPS NO DEFAULT ■FIGHT ( 1 ) : (25?) follows an event or var range 1 "Y n ? T,F follows a var range 1 ■::. output of the prqgba*: AO INPUT ;;^VA? = U VAPSZ = ( U U 4 u ) THIS IS AN E7AMPLE OF A COMMENT C£RD V A''S~?. D = 2U CUTSTAR = 8 MODE = V ■"HIS F7JEPL? IS TAKEN FROM A PAPFP BY P. S. MICHALSKI ETPLAISISG GENS3ALIZED LOGIC DIAGRAMS E?(1) - r EPO?T #U63 UOI pub. p y p yp c "L-.SS1 * 3 ? r. r 2 3 1 1 * n 3 2 112 &LASS2 I* r 1 "•321 13 2 1 2 1 r 3 3 10 3 12 12 1 2 3 A 1 2 2 C 2 12 2 2 2 1 1^31 12 3 1 3 112 3 ? 1 2 111C 3 3 3 "> ? 3 n 3 3 t r rj ASS 1 2 rt 1 3 2 3 3 2 2 13 1 2^12 2^23 2 3 3 C C 3 1 3 C 1 1 1 3 3 2 3 2 3 110 1 "HER? APE r'-oia EVENTS 16 PIT LONG C0MPLF7ES. rg-p Te- S p 27 MAY ISTAR = 96 CUR STA» = 11 L3ST STAR = 25 MAY STAR = 2U DELTA = : TRIM CNT = 1 "LAPSED TISE IS ^1,^18 C'JP ISTAF U5 MAX ISTAR = 76 C'JR STAR = 1U L3ST STAP = 22 MAT S T AP = 2U DELT* = " TRIM "NT = tlapsfd tthe is oc^.eea ^ M *-P KUMBFB PCI - COVER FOP CUSS COV"P 71 : (vi= r : 1) (73=P: 1) 72: (Y1 = 2: 3) (Y3=2:3) S*!?p NUMBER CC2 - COVER FOR CLASS CLASS2 CLASS3 q™' i p ro V^ - QUEOF IS EM^TY CI: (X2= r >:2) (X.3=1,3) (Xa=3) •CLASS2" 1100 1111110? 1.1 11 •B , 0C1111110ni1i111»B« CLASS? 1 '111111100101*00 1'0 13 TV. PR0SRA.1 IMPLEMENTATION AQ^CD is run in two staqes, The first being a pair of load modules: one that reads and interprets the users input and the other that qenerates the appropriate class covers. This load module is "> 1 *"" lines of ? 6° /assembler code consisting of ten modules and an additional UT"> lines of macro statements and copy-code. The second stage is a 8'™ line PL/I load module, YPPT, the print module and is composed of c proceedures. DATA S-'TJCTURES. Fach event and complex is represented as a biunary string as in f 1 l. All these (event and complex) biunary strings are further orqaniz a d into doubly linked lists. The header of each list is a lummy strinq and the hi-order bit of its pointers are flagged. There is a seDerate list for each of the following: variables, events in °ach class, events in f n , events in fl, extension complexes, interned iate star, star complexes, cover complexes, events covered by or^vious stars, events covered by the current cover chain. M ?C?OS. ADDroximately a dozen macros were coded to aid in the iTolernentation of AOMOD. The most important of these is the COVER macro. A complex, A, covers a complex or event, P, if A intersect B equals A. Put another way COV~R(A,B) is true if AB=A. The actual cole follows: *VC Tf.'1,A tem=A •l r TFH,B tem=AB CLC m F-,D test if covered. *»ther often used macros are described briefly as follows: S"TUP used for linkage "ITHN moves an event or complex from one chain to another. (does a delete and add) "JOVSCHN movps a group of events or complexes from one chain to anot her. ?pr rcH'' deletes a group of events or complexes from active use. \QMOD MODULES. The function of the individual modules is as follows: AOINI '"his module reads and interlrets the user inTut, initializes many variables, and gets core for the events and some of the complexes. ?nce the input has been completely read in AOCOV is called "QSYSIO "his module does the actual reading in of input, echoing of ou*out, and also writes out all error messages. ^OI\'P T his module does some minimal initialization and calls AQINI and AQCOV to initialize and cover the training set, to generate a cover for each class, AOCOV Pfter each cover has been generated, AQPPT1 is then called to put the cover in a temporary dataset for later printing. Also a messaqe containing statistical information is printed. *0' P Y T his module generates the covers for each class (the 15 uncovered queue) passed to it. It does this by calling STARGN to qonerate a star for an uncovered event from the class beinq covered. •vpnts covered by the star iust qenerated are moved from the uncovered queue to the star-covered queue. The best complex is then chosen from the star and the events it covers are now moved to the covered queue. This best complex is added to the cover. Should the uncovered queue be emptied while the star-covered queue is not, then ovpnts are taken from the star covered queue and a star is qenerated. Vs each star is qenerated DELTA, a measure of the distance of the cover fro* the optimal possible, is incremented. Next the best conol^x from the star is added to the cover and the events it covers are put in the covered queue. When both the uncovered queue and the st^r-covered queue are empty a cover for the class has been qenerated and A0 P Y returns. This module qenerates a star for a qiven event. It does this by ordering the events in EK (f° - the events against which the cover is to be generated) in ascendinq distances from the event to which a star is to be qenerated. Then it qenerates the extension of the star ?v^nt aqainst the closest event from BK which is outside the qenerated intermediate star. (note: the intermediate star is initially null.) This extension is then intersected with the intermediate star thus far qenerated to form a new intermediate star. If the intermediate star qenerated at this point has more than iMxstar complexes in it, it is trimmed to cutstar elements according to the algorithm described in the TRIS module. When there are no lonqer my elpments from FK outside the current intermediate star, P.9ST sets the star equal to the current intermediate star and returns. HOT^ This -nodule trims the current intermediate star down to the b^st cutstar elements. It does this by calling EVJLS? to evaluate each complex and then orderinq all the elements in ascendinq seauence. The entire star is then freed and the best cutstar elements are put back into the star. AQTR then returns. a.O'VST This module creates an array of evaluation blocks ased by *Q" r ~ ar.d \QEY to evaluate complexes in the current star or intermediate star. Each of these blocks consists of a last element flag, a count of events covered, a count of sellectors (varriables) us°d in the complex, a pointer to the complex being covered, and a value of the complex computed as follows: Vslh -3 = »eventscovered ♦ NOVA 1 * -#selectors in complex where PCVAfc is the total number of variables in the event space. *t the Doint where VAUJ^ is computed, optionally a user specified routine may be called to return a value in a non-standard way. A0 D PT1 This module takes the contents of the queues specified in the calling routine and writes them to a temporary dataset for later processinq and printing. Althouqh used primarily for debugging purposes when dumping all or several event and complex gueues, whenever a cover for a class is found, AQPRT1 is called to save the cover for later printing and evaluation. \P M VCH This module is called for movinq a chain of events fron one 17 lueue to another. It does this by inserting the first element of the -hain *o bo moved before the target buffer of the queue to which the -hain is to be moved. The last element of the chain is like wise chair:e1 *o the element that was originally before the target buffer. 'he buffer before the first element of the chain moved is then linked to the buffer after this chain. AOMVCH then returns. iO c CKN This module deletes a buffer from the chain it is currently in an1 rechains it after the target buffer pointed to by the calling ro-itine. •T.pvn ~his module is called whenever any of the modules above uncovers an internal logic error. (This is usually a bad chain of some sort.) When called ?Q\BND will call AQPRT1 to print out all the chains fi.e. fC-events, uncovered events, star-covered events, covered events, intermediate star, incomplete cover, etc.) as well as i shor* message describing the error. *11 open files are closed and in abend exit with a core image dump is taken. '5PT PPCCFP DfTPFS ' T, fT This is the main proceedure which acts as a caller or monitor r or the proceedures described below. Its secondary function is to >Den and close all datasets. !TIE This proc reads in a title card and prints out the card mage. In addition, if a new class name is discovered it notes it or Dossible later use by EVALCOV. This proc reads in the varsz array. ''"• T TFV "his nroc reads and write events from a particular gueup. W?7?PLy This proc reads and writes complexes from a particular gueiif. In addition if the complexes are part of a class cover it saves them and reformats them according to whether they will later be used by EV\LCOV or CONfFOS. '"VSLCTV This proc evaluates the cover chains saved by WFITPI Y against events in a TEST dataset on the basis of percent correct decisions, f.-ilse positive descisions, false negative descisions, percent of events ur.doscisive , that is not covered by any class cover and norcent of events ambiguous, that is covered by more than one class. CO'.'Pns This proc (written by James Larson,) evaluates the covers saved by BFITPLX against events in a TEST dataset on the basis of percent correct descisions, count of events covered by each class cover and each complex within that cover, count of events ambiguous, and count of events undescisive. V. COMPARISON OF '4 VERSIONS OP AOVAL/7 A, FEATURES Ease of use - This is a subjective evaluation taking into account the number of parameters that must be specified, the ease of updating training events, the amount of control has over the covering nrocess, the amount of control one has over core usage and CPU usage, and the amount of JCL necessary. Clist - This is a parameter that allows the user to specify a covering order other than that in which the training events aRE 19 presented. Negative events - To specify an event as an negative event 'oans that it is known that this event does not belong to a articular class but it is unknown what class this event truly -ilonqs *-o. Selector restrictions - This is a means of specifying a j ndency of a suoset of variables upon another subset of variables. "or ^xampl^ if it is impossible for variable X2 to take on any value ith-^r than one when variable X? has value one then any complex --n+aininq f X 2=1 ][ X3=1 ] is not allowed to occur in thecover for that :Uss containing the restriction, "ormula updating - Sometime it happens that one already has :overs for a set of classes but an addition has been made to the *rairiinq SPt. Well, TTCN3 allows one to specify these covers and f h?n adius*s the covers to conform to the new training set. This illows a considerable saving of computation time although the new :overs are somewhat nurther from optimal than would otherwise have teen produced. English output - This is a feature that allows one to specify i translation of the variables and variable values into meaningful -nglish mnemonics. The result of this Drocess is that covers are orinted something like "[ FLCWER = ?OSE 1[ COLOR = RED ]" instead of 1 "1 = 2 ]r v 2 = 1 1". n arametor echoing - This feature allows the user to see how te typed in his control parameters. It is printed on the output as it appeared in the input. Note that all versions will Let the ■*•! know what values are used for the parameters he specifies. Event echoing - This feature allows the user to see wha*~ events he has specified in the training set. The format of this differs amonst the four versions. TAQ simply echoes the users input orintinq a potentially compact representation of the events. ITCN3 reformats the events so that there is a maximum of one event per line and prints only the values for each variable. AQ5a and AQ" 7 in addition to reformatinq the variables in a fashion similar to ITCN3, numbers each of the events and prints a header between each class. Prints delta - Delta is a measure of the minimal distance from the cover found to the optimal cover possible. Were it not for trimrrirq d^lta would be an exact measure of this distance. Prints trim count - This is the number of times that intermediate stars had to be trimmed in the process of star neneration. The su.^i of this and delta is an approximate measure of the maximum distance of the found cover from the optimal one. Complex evaluation - This is a means of evaluating the qoodness of the covers found by testinq how well thsy cover a set of testinq events. Various statistics are printed by the various evaluation routines to aid the user to determine if he should attempt *o find a Detter cover with more traininq events. Frror handlinq - This is a subjective evaluation of how well the various versions handle mistakes in specifying events or control parameters. 3ne of the things that, weighed heavily was that if an evert was incorrectly specified (such as by leaving out a variable value or specifying an out of range value,) both AQ7 and ITCN3 would qive no indication of this and attempt to process with invalid events which in my testing oroved to be somewhat expensive. Incorrect specification of the control parameters also caused unpridictable results in these two versions. (i.e. if NGE were smaller than what was needed, selectors with no values were generated in the covers and *he coverinq time was unduly long.) h^IMSING CrITSP.IA Since this is one of the maior differences between the various versions of AQVAL/7 it will be handled seperately. Y R -\ value is computed for each complex according to the following formula: V*LUE = SUHFVW ♦ TOTSW - SHSSK FUP^VW = sum of the weights of the events covered by the complex. "">TSW = *otal of all selector weights. "TTMSW = sum of the complements of the weights not used in the complex. ""he complement is relative to the largest weight of any selector. This value is comDUted for each complex each time a trimming operation is done, be it for intermediate stars or the final star. TTCH3 - The user may orde up to four criteria to be used one at a time as necessary each time either a star or an intermediate star needs to te trimmed. If only one criteria is necessary to brinq the (intermediate) star to cutstar complexes then only orif is us«»d, Otheririse those complexes left will be evaluated by the next criteria. "0 r; - Intermediate stars are evaluated only according to number of evpnts covered. If further itrimminq is necessary it is done in an arbitrary fashion. The final star is evaluated according to the number of sellectors used in a complex if the event ^valuation does not. brinq its size down to one event. AC - "^he user may order up to seven criteria to he used for picking the best complex from the final star. For intermediate s f ar trimming only the first of these criteria is used. Farther ♦rimming is done in an arbitrary fashion if necessary. TABLE OF FEATOR*" DIFFERENCES ■5"T? p ~i y p-p Author Language Program size "as? of use Olist Criteria LO^T 'leqative events Selector restrictions NO YAQ ITCN3 AQ5A A07 F TALOW LAPSON TAPASKI KICHALSKI 360/ASM PL/I PL/I PL/I 10K 26K 18K 2UK V GOOD POC? GOCD PUB yes NO NO YES yes SOKE NO YES yes yes yes yes YES NO NO NO YES NO NO NO YES NO NC YES NO NO >m NO NO YES Y?S YES PAIR POOR POOF NO YrS YES NO YES YES V GOOD POOR POOP POOR V GOOD p > IS formula UDdating NO ~nqlish output NO °arameter echoing YES -vent echoing YES Compactness of output V GOOD PAIR D rints delta YES Prints trim-count YES "onolox evaluation GOOD T rror handling GOOD ■:o. of JCL cirds nee-lei 3 6 5 5 Z:'i' ? 0?y.: VL no yes no yes T V"C-'!: values yes yes yes yes INFORM: qarama yes no no yes T he principle advantages of each of The four aqval/7 programs are as f ollows: OC - T his version is the fastest and least expensive. ""he input specifications are the simplest. The output has the most compact format. Also the class covers produced are the simplest both in the number of complexes per cover and the number of selectors per complex. YP.O and AQ11 are the only versions to have an evaluation procedure. Y*Q is the only version to suppport negative events. (a negative event is one whose class exclusion is known but who class membership is unknown.) YAO is the only version to do any internal event reordering, i feature that contributes largely to its speed. YAQ has fairly good °rror checki^q and is the only version to completely echo usee inpu*. in summary thouqh, YAQ's principle advantage is its low cost- and i* sp^ed. &Q11 -Two thirls the cost of AQ5A and one third the cost of AQ7, ^Q* 1 * is the second most inexpensive version of aqval/7. It offers the widest variety of features, many ot which are not found in other versions. The three most noteworthy of these are: the inputing of complexes to be updated by further training events, the specification of selector interdependencies , and the translation of oatpat complexes into an enqlish language eguivalent. AO 1 1 also has the test cover evaluation routine. AO^A -'"he excellent error diagnostics are AQSA's principle advantage, also the covers produced by AQ % h are slightly better than those of AQ7 and A0 1 1. 'tO 7 -&C> 7 allows a wide variety of user criteria specifications. It is also the only version that allows the user to specify an alternate order of class covering, **. PFRF0P3ASCE IT. 7FSTING PR0C2DUPE I conducted eight comparison test of the above four versions of aqval/7 using six event spaces. Four of the event spaces consisted of approximately ten thousand events. Each of these had about 5* traininq events and the number of dimensions varried from 3 to 12, A fif«-h event space of approximately one million events had five 25 dimensions and 100 training events. The final event space, donated by "jim larson, had about 10**25 events, 50 dimensions, and 286 events. r ach event space had either three or four classes. intersect inq covers were used throughout. Fvery event space was tested with a maxstar of one. Cutstar was set equal to maxstar in ev°ry test. The first event space and the last event space were also tested with maxstar=3. With a time limitation of 130 seconds neither so"h nor AQ? were able to complete the last test. The results of the tests are tabulated below: rr Y - TF? v S IN - FOLLOWING TA3LE. iP*0G -PROGRAM NAME OF AQVAL/7 VERSION BEING TFSTED. 700^ .tbs AMOUNT OF 3YTES OF MEMORY USED IN THF TEST. — v- .-H2 AMOUN" - OF CPU TIME CONSUMED MEASURED IN SECONDS. cij _ TH t '^UKBER r17 SERVICE T1NITS CHARGED BY CSC FOR THE TEST. «roY -the TOTAL COUNT OF COMPLETES IS ALL '"HE COVERS. *S" r -THF SUP TOTAL OF SELECTORS IN P.LL THE COMPLEXES IN ALL THE °OVEPS. **7S" , aP -T T *£ SETTI33 DP SAYSTAR USED. (CUTSTA? WAS ALWAYS SET EQUAL TO M*YSTAP) . V IV -THF NUMBER OF VARIABLES IN THE EVENT SPACE. H?L -THE NUMBER OF CLASSES BEING TESTED. N'~V~ -'HI NUMEER OF FVENTS IN THE TRAINING SE"". VRRSZ - T HE SIZE OF EUCH DIMENSION IN THE SVENT SPACE SUGARY OF TESTS "IV NCL NEVF TAXSTAF SPACE 7 i 52 101 7 1 52 10K 3 4 54 10K 1 2 4 4C 11* r 4 46 10k 7 3 1C n 1K c •> ■5 286 10**25 c « •J 286 3 10**25 V7c OP EVENT SPACE IN ML CASES IS APPPOX 10K EVENTS "his first test was to show the relative performances for a medium nuTber of variables of medium size with an averaqe of 17 training events ner class. NV = 7,NCL=? f NEYE=52,*AXS m AK=1,VAPSZ= (4,4,4,4,4,5,2) , SP*CE=10K ? W QG CC5E TIME COST (C) tCPI #SZL .50 2 7 2.2 16 10 5.84 34 8 11.54 64 13 ""he first test is repeated with a maxstar set equal to 3 in order that the tradeoffs between simplicity of covers and cost of finding them may be investigated. As can be seen the amount of improvement varried considerably at a fairly constant additional cost of 50 , NV = 7,"3CL=3,NEVE=52,?lAXSTA? = 3,VABSZ=(4,4,e,4,a,5,2) ,SPACE=1< , K PPCG C0P p TIME COST(C) #CPX #SEL Y A 4 7 y-»CN3 17 r AQ5A 138 \Q7 1 42 17 3<5 27 28 1.02 1* 7 16 3.75 26 7 25 6.59 48 6 15 15.22 97 10 36 y a U * *Q5A 1 39 «T 1u 2 "his test was designed to see what effect a small number of large variables would have. Since I~CN3 allows a maximum variable domain of c it could not be included in this test. The results show that ISO's relative performance is at its worst here. Also its cost per cover is double that of the average for all other tests of this size event space. The reason for this drop in performance may be that the maximum cartesian distance between events is so small as to be reqligible, thus causing the reordering of events to be wore of a hindrence than an aid. NV=?, »ICL*i»,NEVF=5tt,!IAXSTAP=1 , VAFSZ= (16,16,10) ,SPATB=1 r K ■90-5 COPF TIME CDST (C) #TPX #S?L IAQ u: 1.12 5 16 3U IQ5A 13*3 7.1U 2U 11 27 »0 7 142 13.12 71 12 30 In a test of a large number of small variables and an average of 1 events Der class YPQ's reordering is shown to maximum advantage. Y»Q's covers were by far the simplest and its cost per cover was the cheepest of any of the tests. NV=12,NCL = u f FFVE=a0,MAXST»F=1,V»PSZ= (3,2,2,2,2,2,2,2,2,2,2,^), SPACE=1CK ?Dpr . zor>f TIKE C0ST (C) fcpx #SEL Y' 3 or .52 2 8 21 t ti r* v •> 16u 2,69 26 11 U3 »n c p. 138 S.9U 3U 11 3^ no" 7 1U2 8. CO U5 11 51 Here is another test of a medium number of variables of medium size. NV=5, NCL=U,NEVE = U6,»!A?STAR = 1,VA?SZ = (3,8,8,8,8) ,SPACE = 1")K D->oi; corf time cosr(C) #cpy #sfl VR u- .75 3 1 r 23 ITCK3 158 2. 97 22 12 U3 RQ5A 139 6.0* 35 11 32 ft 07 1U2 m.97 81 1U 3' AVERAGE OF THF ABOVE FIVE TESTS *:V = < : .R r NCL = 3. 5,NEVE=tt8.«,MAXSrAF=1. U YAO u: .78 3.2 9.6 22.2 I m CN3 165 2.90 22.5 ^ r . r ' 38.7 AO c A 138 6.70 35.9 9.U 32.2 no -7 1U2 13.17 72.8 12.0 35. * ABOVE NORMALIZES RELATIVE TO YAQ ITCN3 1.12 4.12 7 1.^«* 1.74 ?05A 3.45 8.59 11 .98 1.45 A9" 7 3.55 16.88 23 1.25 1.65 Here the event space was increased 100 times and the number of training events doubled. Two things should be noted. 1) YAQ and AQ5A produced virtually identical covers. 2) The performance of AQ7 has degraded to f-2 times the cost of YAQ. 29 U.87 33 8 2~> 6.17 36 5 7 35. °2 187 6 1* NV=7 f NCI.= 3,!IEVE=190, K A7STS R = 1 , V1RSZ= (8 , 8 , 8 ,8, 8 , 8 , 8) , SPACE=10K S?».CF = 1M ^CG CORi. TIME CDST (C) tCPX #SEL Y'O U"> .74 3 5 7 T~CN ? 168 10 c A 1 2 U tQ^ 1 U2 "n the following four tests the average variable domain is 2.5 and tho training set is 236 events. The event space is many times larger than any oreviously used. With a CPU time limit of 29T seconis only ESI3 and YAQ were able to completely cover all three classes. The training set was donated by Jim Larson and was originally usei to find a description of some rarte forms of cancer. As can be seen iqain YAQ produces a better cover for less cost. Also increasing ■naxstar produced only mildly better complexes at significantly more cost. !J V= c C # ?:CL = 3 , N?, V? = 2 8 6 , S PA CE= 1 ") * * 2 5 , M A XST AF = 1 ??c; r^pT- riKE CDST(C) »CPX *SFL YAO U8 13. r.C 5 n 19 15U IT7N3 1 "' r 59. OC 337 31 276 5V=5C,NCL=3, SE¥?=2 86 ,SP , »CE = 1?**25, , iAXSTAP=3 ?10 c ? 56. OC 165 19 12U - Tr .,.3 17 r 283. n ? 1U28 25 2U8 NV = 5",NCL = 3,N?VE = 2 86,SPACE = 1 r !**25,MAXSTAP = 8 f»0 62 M 3.0" 46 4 18 93 »V«5C ,!fCL = 3 f NEVE = 2 86,SPACE=ir-**2S,HAySTAP=16 Y*0 «U flC.^O 21U5 17 85 VT. CONTRIBUTION OF YAQ Y»0 is the fastest, smallest version of aqval/7 currently available. It also usually produces the best covers. Its speed ani small size is principly attributed to its bein coded in assembly lanquaqe. The finenes of the covers is the result of event reorderinq. Assembly lanquaqe allows for efficient subroutine management, efficient variable control, and error checking only in potential trouble soots, p vent reordering is YAQ's most important contribution to aqval/7. Reorderinq minimizes the number of intermediate stars nroduced in the course of star qeneration and also minimizes the number of selectors used in each complex qenerated. Cartesian distance is the unit of measurement used in event reorderinq. The cartesian distance between two events is the number of variables in which the two events have different values. Each time an event is chosen from ?1 to qenerate a star around, the events from FT are ordered relative to their cartesian distance from this event. Events from F° are further qrouped into those which are covered by the current intermediate star and those which are not. (the initial intermediate star is the entire event space.) then an extension of ♦he chosen F1 event is made against the closest event from FC still 31 covered by the current intermediate star. There are three ma-jor effects of this. One is that the extension is as small as possible since the two events differ in the minimal number of events. The second is *hat events from F A cast a shadow. The closer the event from F" thp greater its shadow and the greater the likelihood that a maximal number of events from FT will be excluded from the next intermediate star. (see diagram) this keeps the number of intermediate stars generated to a minimum. Since the resulting star is more generalized than that generated by the arbitrary processes used by the other versions of agval/7, it is more likely that a greater number of events from ?1 will be covered by the best complex which is what allows Y^O's covers to contain fewer complexes. v: t . afzas fcr improvement of yaq 1. Adl a weighted selector and event parameter so that particular events or variables will be covered or used first in star generation. This approximates some of the criteria used by kQ7, 2. Reorder the events in F1 , the class being covered, so that the next star event is the one furthest from the last complex in the cover thus far generated. If the cover is null then use the event closest to any event in PC, VTII. RFFEFENCES. P> c ;>Yichalsk i "Interval »eneralization of Switching Theory' 1 Report No. U«»2 °. 3. tfichalski "On the Selection of Representative Samples Pram Tarqe Relational Tables for Inductive Inference" Larson lichalski "AQVAL/1 Users Guile and Program Description" BIBLIOGRAPHIC DATA SHEET 1. Report No. UIUCDCS-R-77-840 4. Title and Subtitle YAQ: A 360 Assembler Version of the Algorithm A 4 and Compari- son with other PL/I Programs 3. Recipient's Accession No. 5. Report Date May 1977 6. 7. Author(s) Edward Yalow 8- Performing Organization Rept. No. 9. Performing Organization Name and Address Department of Computer Science University of Illinois Urbana, Illinois 61801 10. Project/Task/Work Unit No. 11. Contract/Grant No. NSF MCS 74-03514 12. Sponsoring Organization Name and Address National Science Foundation Washington, DC 13. Type of Report & Period Covered 14. 15. Supplementary Notes 16. Abstracts This paper contains a user's guide and program description of the program YAQ, Included are some examples of VL formulas synthesized by the program and a comparison between the assembler version and PL/I versions of the covering algorithm AQ. 17. Key Words and Document Analysis. 17a. Descriptors inductive inference PL/I-BAL comparison VL 1 formula logical minimization 17b. Identifiers /Open-Ended Terms 17c. COSATI Field/Group 18. Availability Statement 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 22. Price FORM NTIS-35 ( 10-70) USCOMM-DC 40329-P7I §pr> 1 6 19JT «A o "379 UNIVERSITY Of IUHWIMM 410 MILM no COO'/ no tit M»l1»7t Intotnol fopofl I 3 0112 088403149