home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / Information / EXPERT-SYSTEMS < prev    next >
Encoding:
Text File  |  2019-04-13  |  6.5 KB  |  126 lines

  1. *********************************************************************
  2. This article is being presented through the *StarBoard* Journal of
  3. the FlagShip/StarShip, SIGS (Special Interest Groups) on the
  4. Delphi and GEnie telecommunications networks.  Permission is
  5. hereby granted to non-profit organizations only to reprint this
  6. article or pass it along electronically as long as proper credit
  7. is given to both the author (when known) and the *StarBoard* Journal.
  8. *********************************************************************
  9.  
  10. From:
  11.  
  12. COMAL TODAY
  13. 6041 Monona Dr
  14. Madison, WI 53716
  15.  
  16.  
  17. EXPERT SYSTEMS
  18.  
  19. by Michael J. Erskine
  20.  
  21. An expert system is a program which reads a data base while asking the
  22. user questions until it has identified the record containing the
  23. information which the user has been describing.
  24.  
  25. Sounds pretty fantastic, doesn't it? Well, a good one is the closest
  26. thing to artificial intelligence there is. The problem is that an
  27. expert system is designed to support a specific task. That's where the
  28. rub lies. A system designed to diagnose illnesses can do a very fine
  29. job diagnosing illnesses but can't tell you what the weather will be
  30. like in a few hours. The system is not intelligent, it simply seems
  31. that way because it has been prepared in an intelligent manner.
  32.  
  33. The game 20 questions is a good example of how an expert system makes
  34. decisions. When people play the game the strategy becomes, "What
  35. question can I ask which will most isolate the correct answer?" In most
  36. versions of the game the person being questioned may only answer yes or
  37. no, yet it is not unusual for an astute questioner to solve the problem
  38. in less than 20 questions, even though he only receives a binary
  39. answer, a yes or a no. Why is this possible?
  40.  
  41. If there were ten million things you could think of and half were
  42. alive, all you would have to do to isolate the correct half is ask if
  43. it were alive. For either answer you would have immediatly eliminated
  44. half of the possibilities. You could then ask if it were an animal and
  45. based upon that answer eliminate another 2.5 million possibilities.
  46. This process could be continued and in a very few tries you could
  47. eliminate all but one possibility. Let's see just how many tries that
  48. would require.
  49.  
  50. In a binary system, the number of questions which must be asked to
  51. isolate a specific record (the answer) would be equal to the exponent
  52. of the power of 2 which would exceed the number of possibilities. In
  53. other words, if you had 10 million possibilities you would need to ask
  54. no more than 23 questions to isolate the item required to answer the
  55. question, "What am I thinking of?" The trick is to ask the right
  56. questions at the right time. This is what an expert system does.
  57.  
  58. In any field which requires analysis of data to produce a conclusion
  59. which is not inspired (does not require a break in logic), an expert
  60. system can be written to do the analysis, thus freeing the human to
  61. make the inspired decisions which are beyond the scope of the machine.
  62.  
  63. The easiest type of expert system to write is probably a decision tree,
  64. sometimes called a rule based program. This type of program will ask
  65. the user a question, then will either ask another question based on the
  66. answer given, or select a final answer and present it to the user for
  67. consideration. If the user doesn't accept the answer, the system will
  68. ask him for the correct answer and for a question (RULE) which it can
  69. use to differentiate between the answer the system suggested and the
  70. answer the user expected.
  71.  
  72. In this manner the system "learns" the correct response. There are 2
  73. programs written in COMAL 0.14 which use the decision tree structure.
  74. One by Carl Frierichs called GUESS IT, documented in COMAL TODAY #5,
  75. and TUTOR written by myself (on TODAY DISK #10). The former makes use
  76. of the fact that data statements can be modified by a running program
  77. and all rules (questions) and answers are stored with the program. The
  78. latter uses a data base contained in a relative file which is
  79. constantly changing to reflect user input. Both programs emulate
  80. learning by association. The decision tree programs are easier to write
  81. but have the disadvantage of rigorous structure and logic which
  82. ultimately selects only one answer for presentation to the user. In
  83. other words, rule based systems cannot easily accomodate fuzzy logic or
  84. partial data. TUTOR was a quick test of rule based systems. It took
  85. about 20 hours to design and code and can easily be improved by someone
  86. having the time and inclination.
  87.  
  88. Another type of expert system uses algebraic set theory operations to
  89. select all possible answers contained in a data base, and rate, sort
  90. and present them to the user in sequence of highest probability of
  91. correctness. Set theory systems require huge files of pointers which
  92. are constantly searched as a problem is described to the program. For
  93. each change in the problem description the system must upgrade its
  94. collection of possibe answers. In such systems, the user must be able
  95. to query the data base after any change in the description of the
  96. problem. Set theory systems are much more flexible to use and
  97. considerably more difficult to code.
  98.  
  99. An example of this type of expert system has been written in COMAL 2.0.
  100. It maintains 2 pointer files for each question the system supports and
  101. a relative data base of up to 4000 individual records. The system can
  102. support up to 70 questions. This system probably will be made available
  103. as data bases are filled. The end user will not be able to alter the
  104. data base.
  105.  
  106. Anyone wishing more information about this system should contact:
  107. Michael Erskine, Homegrown Software, 65 East 24th Street, San Angelo,
  108. Texas, 76903, phone: 915-655-2882.
  109.  
  110. We are looking for experts who wish to join us in building a library of
  111. Expert Systems which can be read by the common reader program. In
  112. comparison with a simple decision tree program this system took about
  113. 500 hours to write and required 3 prototypes before the current
  114. version.
  115.  
  116. Currently the rage in the computer kingdom is not bigger, faster, more
  117. storage computers but smaller, faster, smarter software. COMAL allows
  118. and even encourages a programmer to write programs which are easier to
  119. alter, maintain and read. This is very important when you are writing a
  120. serious applications program. It is even more important when you are
  121. first learning to program. If COMAL wasn't your first language, it
  122. should be your next. Five years from now it may well be the only
  123. interpeted language running on any new micro. It's just that good.
  124.  
  125. Remember "Think structure!"
  126.