10X$=SYS(CHR$(7)):R$=LEFT(X$,7):L$=RIGHT(X$,8) 20 DIM #1,A1(111),A2(111),A3(111) 30 OPEN R$ AS FILE 1 70A1(0)=20 80 PRINT L$ 90 DIM M(9) 100 REM 110 PRINT " NINE-POINT UNIVARIATE UTILITY-LEAST SQUARES FIT" 120 PRINT 130 PRINT "IF YOU WANT AN EXPLANATION TYPE '1' ELSE '0'."; 150 GOSUB 9000 155 S6=O1 160 IF O1=0 THEN 350 170 PRINT 180 PRINT "THIS MODULE WILL ASSIST YOU IN FITTING A UTILITY FUNCTION ON" 190 PRINT "A ONE-DIMENSIONAL ATTRIBUTE. YOU ARE TO SPECIFY WHICH NINE" 200 PRINT "POINTS ALONG THIS ONE-DIMENSIONAL CONTINUUM YOU WANT TO USE" 210 PRINT "IN THE FITTING PROCEDURE. IT IS ASSUMED THAT YOU WANT TO" 220 PRINT "ASSIGN A UTILITY OF 0 TO THE FIRST POINT YOU SPECIFY AND A" 230 PRINT "UTILITY OF 1 TO THE LAST POINT. THE OTHER SEVEN POINTS WILL" 240 PRINT "BE ASSIGNED UTILITIES BETWEEN 0 AND 1. CHOOSE YOUR POINTS SO" 250 PRINT "THAT THE MAJOR REGIONS IN WHICH YOUR UTILITIES INCREASE ARE" 260 PRINT "IDENTIFIED BY AT LEAST ONE POINT. NO TWO POINTS SHOULD HAVE" 270 PRINT "APPROXIMATELY THE SAME UTILITY." 280 PRINT 290 PRINT "WHEN YOU ARE READY TO CONTINUE TYPE '1'."; 300 GOSUB 9000 310 PRINT L$ 320 PRINT "THE POINTS YOU SPECIFY MUST BE EXPRESSIBLE IN XXX.XX FORMAT." 330 PRINT "THERE MUST NOT BE MORE THAN THREE DIGITS TO THE LEFT OF THE" 340 PRINT "DECIMAL POINT OR MORE THAN TWO TO THE RIGHT OF IT." 350 PRINT 360 PRINT "SPECIFY THE NINE POINTS YOU WANT BEGINNING WITH THE ONE TO " 370 PRINT "BE ASSIGNED UTILITY 0." 380 FOR K5=1 TO 9 390 PRINT 410A$="SPECIFY POINT #" 411PRINT USING A$,K5; 420 GOSUB 9000 430 IF O1>999.99 THEN 310 432 IF O1<-999.99 THEN 310 440 M(K5)=O1 450 NEXT K5 470 FOR K5=9 TO 2 STEP -1 480 IF M(K5)>M(K5-1) THEN 520 490 PRINT 500 PRINT "REENTER. POINTS ARE NOT IN MONOTONIC ORDER." 510 GOTO 350 520 NEXT K5 530 GOTO 580 540 FOR K5=1 TO 8 550 IF M(K5)>M(K5+1) THEN 570 560 GOTO 490 570 NEXT K5 580 PRINT L$ 590 PRINT "HERE ARE THE POINTS YOU SPECIFIED." 600 PRINT 610 FOR K5=1 TO 9 630A$="POINT # : ####.##" 631 PRINT USING A$,K5,M(K5) 640 NEXT K5 645 PRINT 650 PRINT "IF YOU WANT TO REENTER THE POINTS TYPE '1' ELSE '0'."; 670 GOSUB 9000 680 IF O1 <> 1 THEN 690 682 PRINT L$ 684 GOTO 350 690 IF O1=0 THEN 730 700 PRINT 710 PRINT "REENTER. INPUT MUST BE 0 OR 1." 720 GOTO 670 730 FOR I=1 TO 9:A3(I-1)=M(I):NEXT I 735 IF S6=0 THEN 1230 740 PRINT L$ 750 PRINT "WE SHALL HELP YOU DETERMINE YOUR UTILITIES FOR THESE POINTS" 760 PRINT "BY PRESENTING YOU WITH A SUCCESSION OF GAMBLES. FOR EXAMPLE," 780A$="SUPPOSE YOU WERE ASKED TO CHOOSE BETWEEN #####.## FOR SURE" 781 PRINT USING A$,M(4) 800A$="AND TAKING A GAMBLE THAT GIVES YOU #####.## WITH PROBABILITY" 801 PRINT USING A$,M(5) 820A$="P AND #####.## WITH PROBABILITY 1-P. IF P=1 THEN YOU WOULD" 821 PRINT USING A$,M(3) 840A$="CERTAINLY PREFER TAKING THE GAMBLE BECAUSE THE GAMBLE IS SURE" 841 PRINT A$ 860A$="TO GIVE YOU #####.##. HOWEVER IF P=0 YOU WOULD PREFER #####.##" 861 PRINT USING A$,M(5),M(4) 880A$="FOR SURE BECAUSE THE GAMBLE IS GOING TO GIVE YOU #####.##. THUS" 881 PRINT USING A$,M(3) 890 PRINT "THERE IS A SET OF P VALUES LESS THAN 1 FOR WHICH YOU PREFER" 900 PRINT "THE GAMBLE AND A SET OF P VALUES GREATER THAN O FOR WHICH YOU" 910 PRINT "PREFER THE SURE THING. THERE IS A UNIQUE P SEPARATING THE TWO" 920 PRINT "SETS AND FOR THIS P YOU WOULD BE INDIFFERENT BETWEEN THE GAMBLE" 940A$="AND #####.## FOR SURE. WHAT WE SHALL NEED FROMYOU IS YOUR" 941 PRINT USING A$,M(4) 950 PRINT "CAREFULLY CONSIDERED JUDGEMENT CONCERNING THIS INDIFFERENCE P." 970 PRINT "WHEN YOU ARE READY TO CONTINUE TYPE '1'."; 980 GOSUB 9000 984 V7=O1 990 PRINT L$ 1000 PRINT "YOU WILL BE ASKED TO GIVE YOUR INDIFFERENCE P FOR EACH OF" 1010 PRINT "A SUCCESSION OF CHOICES BETWEEN A GAMBLE AND A SURE THING." 1020 PRINT "FOR EXAMPLE, WHEN THE REQUEST" 1030 PRINT 1040 PRINT " FOR GAMBLE P THAT MAKES" 1050 PRINT " SURE WITH PROB P WITH PROB 1-P YOU INDIFFERENT" 1070A$="####.## #####.## #####.## ?" 1071 PRINT USING A$ ,M(4),M(5),M(3) 1080 PRINT 1090 PRINT "APPEARS YOU ARE TO RESPOND BY TYPING THE VALUE OF P THAT WOULD" 1110A$="MAKE YOU INDIFFERENT BETWEEN ####.## FOR SURE AND THE GAMBLE" 1111 PRINT USING A$ ,M(4) 1130A$="GIVING YOU ####.## WITH PROBABILITY P AND ####.## WITH" 1131 PRINT USING A$ ,M(5),M(3) 1140 PRINT "PROBABILTY 1-P." 1150 PRINT 1160 PRINT "IT MIGHT BE HELPFUL TO REMEMBER THAT IF WE ASSIGN UTILITY 0" 1180A$="TO ####.## AND UTILITY 1 TO ####.## THEN THE P YOU ARE" 1181 PRINT USING A$ ,M(3),M(5) 1200A$="ASKED TO GIVE IS THE (RELATIVE) UTILITY OF ####.##." 1201 PRINT USING A$ ,M(4) 1205 PRINT 1210 PRINT "WHEN YOU ARE READY TO CONTINUE TYPE '1'"; 1220 GOSUB 9000 1230 DIM V(112) 1240 MAT V=ZER 1250 A2(0)=V(1) 1260 A1(0)=99 1270 CLOSE 1:CHAIN "CMODK1" 9000 REM--SUBROUTINE THAT DETERMINES IF RESTART HAS BEEN REQUESTED. 9010 INPUT O1 9020 IF O1=-9999 THEN 9040 9030 RETURN 9040 CLOSE 1: CHAIN "RSTRT" 9050 REM*************END ROUTINE 9060 END