ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

56 lines
2.6 KiB

  1. 1 REM BAYES
  2. 10 CLS:PRINT TAB(10); "BAYES PROBABILITIES":PRINT
  3. 20 PRINT"THIS THEOREM USES BAYES THEOREM TO REVISE ESTIMATES OF
  4. 25 PRINT "THE PROBABILITIES OF THE OCCURRENCE OF THE VARIOUS STATES OF
  5. 30 PRINT "NATURE. INPUT TO THIS PROGRAM ARE THE PROBABILITIES OF A
  6. 35 PRINT "A FINITE AND USER SELECTABLE NUMBER OF STATES OF NATURE,
  7. 40 PRINT "THESE PROBABILITIES MUST SUM UP TO 1. IN ADDITION,
  8. 45 PRINT "THERE MUST BE INPUT FOR EACH STATE OF NATURE THE PROBABILITY
  9. 50 PRINT "OF A CERTAIN EVENT,SAY B, OCCURRING GIVEN THAT STATE OF
  10. 55 PRINT "IS THE TRUE STATE OF NATURE. THEN THE PROGRAM WILL COMPUTE
  11. 60 PRINT "THE CONDITIONAL PROBAILITIES OF EACH OF THE STATES OF NATURE
  12. 70 PRINT "BEING TRUE GIVEN THAT EVENT B OCCURS. THESE ARE CALLED
  13. 75 PRINT "POSTERIOR PROBABILITIES AND MAY BE USED IN DECISION MAKING
  14. 90 PRINT :INPUT "PRESS ENTER TO BEGIN";Z9$
  15. 95 CLEAR 1000
  16. 100 DIM AB(100),BA(100),A(100)
  17. 110 CLS
  18. 120 N=0
  19. 130 PRINT "ENTER PROBABILITIES OF POSSIBLE STATES OF NATURE 1 BY 1.
  20. 135 PRINT "THESE PROBABILITIES SHOULD ADD TO 1.":PRINT
  21. 140 PRINT "ENTER PROB. ST. OF NATURE";N+1;"(-1 TO END)";:INPUT A(N+1)
  22. 150 IF A(N+1)=-1 THEN GOTO 500 ' REM ALL OVER
  23. 160 N=N+1:P=P+A(N)
  24. 170 GOTO 140
  25. 500 REM END OF COMPUTATION
  26. 510 IF P=1 THEN GOTO 550
  27. 520 CLS:PRINT "PROBABILITIES SUM TO";P;"THIS SHOULD BE STANDARDIZED
  28. 530 PRINT "TO SUM TO 1. ENTER 1 TO STANDARDIZE, 0 TO END";:INPUT Z9
  29. 540 IF Z9<>1 AND Z9<>0 THEN GOSUB 10000:GOTO 530
  30. 550 IF Z9=0 THEN END
  31. 560 FOR I=1 TO N:A(I)=A(I)/P:NEXT :P=1
  32. 570 CLS
  33. 580 FOR I=1 TO N
  34. 590 PRINT "ENTER COND.PROB. OF EVENT B GIVEN ST.OF.NATURE";I;:INPUT BA(I)
  35. 600 NEXT I
  36. 610 PB=0
  37. 620 FOR I=1 TO N:PB=PB+A(I)*BA(I):NEXT:REM PB=PROBABILITY OF B
  38. 625 IF PB>1 THEN PRINT "PROBABILITY OF B IS GREATER THAN 1. PROGRAM WILL ABORT":END
  39. 630 FOR I=1 TO N:AB(I)=BA(I)*A(I)/PB:NEXT I
  40. 700 F$(1)="S OF N ORIG. PROB B POSTERIOR PROB"
  41. 710 F$(2)=" PROB. GIVEN S OF N S OF N GIVEN B"
  42. 720 F$(3)=" ### #.### #.### #.###"
  43. 750 INPUT "IS LINE PRINTER OUTPUT DESIRED(Y/N)";Z2$
  44. 760 IF Z2$<>"Y" AND Z2$<>"N" THEN GOSUB 10000:GOTO 750
  45. 800 CLS:PRINT F$(1):PRINT F$(2):IF Z2$="Y" THEN LPRINT F$(1):LPRINT F$(2):LPRINT " "
  46. 810 FOR I=1 TO N
  47. 820 PRINT USING F$(3);I,A(I),BA(I),AB(I)
  48. 830 IF Z2$="Y" THEN LPRINT USING F$(3);I,A(I),BA(I),AB(I)
  49. 840 NEXT
  50. 890 INPUT "PRESS ENTER FOR ANOTHER COMPUTATION";Z9$
  51. 892 IF Z9$ = "0" THEN END
  52. 895 GOTO 95
  53. 10000 PRINT "INPUT ERROR!TRY AGAIN!":FOR Q=1 TO 300:NEXT :RETURN
  54. 10100 INPUT "PRESS ENTER TO CONTINUE";Z9$:RETURN