         
           








                                      ESIE 

    
                       The Expert System Inference Engine 


                              Knowledge Engineer's 


                                     Manual 
         
         
         






         
         
         
         Lightwave                                           1994
         P.O. Box 16858 
         Tampa, FL  33617 
         
         

         
         
                              Copyright 1986, 1994

                              All Rights Reserved. 

         
         
         This manual may only be distributed as one file on the ESIE 
         distribution diskette.  Such duplication and distribution is 
         authorized without compensation as long as the diskette is a 
         duplicate of the ESIE distribution diskette.  This manual may 
         also be distributed in printed form as long as a copy of the 
         distribution diskette is attached.  All other distribution is 
         strictly prohibited. 
         






                                                                Page 2

         
                               Table of Contents
                          
         
         Introduction  . . . . . . . . . . . . . . . . . . . . . .  3
         
         What is ESIE? . . . . . . . . . . . . . . . . . . . . . .  4
         
         What is Shareware?  . . . . . . . . . . . . . . . . . . .  8
         
         ESIE Requirements . . . . . . . . . . . . . . . . . . . .  9
         
         The ESIE Distribution Diskette  . . . . . . . . . . . . . 11
         
         Configuring ESIE For Your System  . . . . . . . . . . . . 12
         
         Starting ESIE . . . . . . . . . . . . . . . . . . . . . . 13
         
         The ESIE Top Level  . . . . . . . . . . . . . . . . . . . 14
         
         The ESIE Rule Structure . . . . . . . . . . . . . . . . . 15
         
         What Happens During a Consultation  . . . . . . . . . . . 19

         Paying For and Obtaining the Next Version of ESIE . . . . 20
         
         Answers to Often Asked Questions  . . . . . . . . . . . . 21

         Enhancements Made to ESIE . . . . . . . . . . . . . . . . 24
         
         ESIE Error Messages . . . . . . . . . . . . . . . . . . . 26
         
         Concluding Remarks  . . . . . . . . . . . . . . . . . . . 27

























                                                                Page 3

         
                                  Introduction 
                     
         
         ESIE (pronounced "easy") is the acronym for Expert System 
         Inference Engine, an expert system shell otherwise known as 
         an inference engine. 
         
         With ESIE you can put some "smarts" into your personal 
         computer.  You can build custom "knowledge bases" (KBs) that 
         can be used to aid people to do things that they would not be 
         capable of doing, or doing as well, without the system.  ESIE 
         knowledge bases can be built to help make decisions or make 
         our computers "more human." 
         
         This manual is designed for the person who already has some 
         experience in the field of Artificial Intelligence (AI).  If 
         this applies to you - then hi!  There is a good possibility 
         that you know at least one person on our staff. 
         
         If you are brand new to the wonderful world of AI, then 
         welcome!  ESIE is a great tool for the beginner, too.  The 
         manual NOVICE was written for you.  We urge you to print and 
         read that file before getting started. 
         
         The manual TUTOR guides users through the process of building 
         a knowledge base.  The knowledge base you will build is a 
         simple one, but one that can be used to help people decide on 
         needed equipment for their personal computer.  TUTOR also 
         provides many tips for building great and super great 
         knowledge bases. 

         HISTORY will give you a short history and working knowledge 
         of AI. 
         
         If you only intend on using ESIE with a knowledge base 
         written for you, then you need only print and read the file 
         FINAL.USE. 
         
         For those whom this manual was intended, we expect that you 
         will have done some work, or at least some reading, in 
         knowledge based applications.  We can only assume that you 
         know something about rule structures, knowledge 
         representation, and inferencing.  If you need to bone up on 
         this information, might we suggest that you scan over the 
         file TUTOR? 
         
         In any case, welcome to ESIE! 
         









                                                                Page 4


                                 What Is ESIE? 
         

         ESIE is the acronym for Expert System Inference Engine, and 
         that is exactly what it is.  ESIE loads in a knowledge base, 
         and builds inferences out of the rules contained therein, to 
         act like an Advisor.  It is an Artificial Intelligence expert 
         system shell.  

         The normal gamut of expert systems (ES) can be built for and 
         used by ESIE.  Tools such as system configurators, medical 
         experts, oil and gas exploration, etc, can all be done in 
         ESIE.  ESIE is a rule-based backward chaining inference 
         engine. 
         
         The acronym was also selected because ESIE is easy to use.  
         If you are like us, then you've pulled out more than a few 
         hairs trying to work with the complexity of most ES shells 
         (ESS) available today.  We can vividly remember thinking, 
         "They've got to be kidding" with at least five different 
         ESSs.  Further, we are convinced that if we uncovered one 
         more "undiscovered" bug in an ESS that we would all be 
         permanent residents at Bellevue. 
         
         ESIE is not like that.  It's easy to use and easy to learn.  
         It's a fairly simple system so that we feel good about the 
         testing and debugging that went into ESIE.  Since ESIE was 
         written in Pascal, and not a pirated version of something 
         hard to debug, like Prolog, it should hold you in good stead. 
         
         If you were, or are, currently working for a corporation or 
         university then you are also aware of the difficulty in 
         getting management approval for a very expensive piece of 
         software.  ESIE is built to put some competitiveness into the 
         ESS market.  ESIE is very inexpensive and rivals many ESSs in 
         power and it beats nearly all in speed.  
         
         ESIE was originally designed to be a market test for the 
         demand of AI software.  Since it was going to be a market 
         test, shareware was chosen as the distribution medium.  
         Therefore, our advertising costs are nil, distribution costs 
         are low, and demand is fairly accurately gauged. 

         Knowledge based inference engines have a very select market 
         at present, but that soon may change.  The advent of low cost 
         and readily available software might help the spread and 
         acceptance of AI.  However, there is a real demand for AI 
         software.  Lightwave has plans to enter the AI software 
         market in a big way.  Please keep us advised if you would 
         like to know what we are up to. 
         
         Lightwave will continue to support and enhance ESIE as long 
         as there are users that want to pay for it. 
         
         ESIE has a long list of advantages to our users over other 
         inference engines available on the market. 

                                                                Page 5
         One of the best advantages of ESIE is it's cost.  You are 
         well aware of how much systems can cost.  Let's go through a 
         little rundown for comparison: 

         The best LISP processor in existence today will cost you more 
         than $100,000.00 per person.  Software and development time 
         to build any expert system can jack the price up 
         substantially.  Now say you have targeted an area that looks 
         pretty applicable to be "AIed."  You know that when the 
         system is complete you will want to install it in, say, fifty 
         locations.  You take six months to develop the first working 
         model and spend $450,000.00 doing it.  After you install your 
         fifty stations you realize you have just spent $6,700,000.00.  
         
         Your Vice President, in charge of new technology, unhooks his 
         Thomson Automatic from the showcase wall and commits a most 
         unnatural form of suicide.  You would have to be working in 
         some very high stakes game in order to recoup 6.7 million 
         dollars through an expert system.  Do you think the fifty 
         installation points was too small?  The numbers only get 
         worse if you add more stations.  The real cost to you comes 
         in the form of specialized processors and software to run 
         them. 
         
         Many AI departments that we know of realize the problems 
         inherent in the high stakes game of specialized processors, 
         especially when the field is a new one to the company or the 
         department.  Therefore, many groups are turning towards 
         existing hardware to meet their processing needs.  Wisely, 
         many are choosing micro computers because cost of 
         installation is drastically reduced, and in many cases micros 
         already exist at the target.  This makes the cost of 
         installation equal to development cost plus software cost. 
         
         Great.  So lets look at personal computer software cost.  
         Believe it or not, there is quite a bit of AI software out 
         there for personal computers.  We have some kind of problem 
         with all of it.  Cost is still the biggest factor.  Let's 
         pick a popular price for an ESS in the marketplace: $7,500.00 
         per copy.  (It used to be $12,000, but now is "marked down.")  
         
         Now your installation costs are way down, and because the 
         package is a little more personal and available to your 
         researchers, you are able to complete initial development in 
         five months and spend $350,000.00.  Now you install the 
         system in your fifty locations, and you are lucky: every one 
         of them has a personal computer available.  You step back to 
         admire your handiwork and realize you have just spent 
         $950,000.00.  The head of your department leaves work early 
         and takes a long swim in the cooling tower of Unit 2 at Three 
         Mile Island. 
         
         Obviously, cost is one of the great advantages of ESIE.  It 
         is shareware.  So lets say you decide to use ESIE on your 
         target project, and that you take five months and $300,000 to 
         build the product.  Let's also assume that, for whatever 
         reason, you decide to pay for support for all fifty+ copies 
         of ESIE that you need.  (That would certainly make our day!)  
         After your fifty station installation you realize you have 
                                                                Page 6
         only spent $307,250.  The president of your corporation hands 
         you the highest company award, you get your picture on the 
         cover of your company magazine and you are a labeled a hero. 
         
         In addition to cost, availability is also key to your success 
         as an AI department.  You may freely make as many copies of 
         the distribution diskette of ESIE as you like.  Try that with 
         another ESS, and, if you get past the copy protection, do it 
         while staying out of jail.  ESIE is instantly available to 
         everyone in your group as well as everyone in your company.  
         We personally have waited four months for a diskette to 
         arrive - AFTER the check had been mailed from our accounting 
         department.  You can use ESIE now and forever with ease. 
         
         Some of the other packages that look really good to you may 
         be difficult or impossible to obtain.  Many colleges and 
         universities will be more than happy to discuss their latest 
         and greatest at conventions but ask for a copy?  Forget it.  
         Also, some systems will only run on certain machines - 
         machines you may not have and certainly do not want to buy.  
         ESIE will run on any MS/PC DOS computer. 
         
         ESIE is also easy to use and to learn.  Of the knowledge 
         bases distributed with ESIE, both DOCTOR and ANIMAL took less 
         than eight hours apiece to build.  We admit a little bias 
         here, after all, we did build ESIE.  So, it may take you ten 
         hours, but it may only take you six. 
         
         Another super advantage to paying for ESIE is the access to 
         our AI help line.  Our technical support staff will be more 
         than happy to answer all your questions about AI, even if 
         they are not related to ESIE.  We'll even answer your 
         questions about our competitors (fairly too!)  We can point 
         you in the right direction to find other tools from other 
         companies to satisfy your AI needs.  Of course, the staff 
         will help you build knowledge bases to get you up and 
         running.  Oh yes, our technical support number is available 
         twenty-four hours a day, nearly every day of the year. 
         
         Paying for ESIE will also get you the upgrade to the next 
         version, delivered to your front door.  Lightwave has plans 
         to expand ESIE by leaps and bounds, and the next upgrade will 
         certainly be more powerful than the current version.  Go for 
         it! 

         We are constantly looking out for your needs.  If you print 
         and fill out the file called SUPPORT with your requests for 
         additional features, we might well be persuaded to add them 
         for you.  We certainly want to keep improving ESIE.  It is 
         our goal to keep ESIE alive and kicking for a long long time. 
         
         Last, but not least, is speed.  This is one of our pet peeves 
         concerning many ESSs today - they are just too slow.  Many 
         departments have switched to more powerful micros, such as 
         the IBM PC AT (r), to offset slow software.  Well, ESIE will 
         run on those, too, but it doesn't have to.  ESIE is fast, 
         very fast, compared to most ESSs in existence today.  Spend 
         some time to do a benchmark of ESIE against any other system.  
         We think you will be pleasantly surprised. 
                                                                Page 7
         
         All of the above are benefits to be gained from using ESIE: 
         you drastically cut your costs (a hero maker in many a 
         department), better availability to your software, easy to 
         learn and use - cutting training time and costs and 
         increasing productivity, access to the help line, the next 
         upgrade, and much more speed. 
         



















































                                                                Page 8

         
                               What Is Shareware? 
         
         
         Shareware is a software distribution concept.  In shareware, 
         it is believed: that people will pay for something they find 
         useful, that most software costs too much, that copy 
         protection schemes can sometimes be frustrating even to the 
         most honest user, and that software users want to support 
         software authors while not necessarily supporting the 
         software middle men.  

         Shareware is a marketing concept.  The term was probably 
         originally coined by Bob Wallace of Quicksoft, Inc.  Mr. 
         Wallace wrote PC-Write (c), a shareware full-feature text 
         editor.  We like PC-Write and prefer it as our 
         editor-of-choice.  We believe you will find PC-Write useful 
         and to that end we will send you a copy if you support ESIE 
         at the $145 level. 
         
         ESIE is distributed under the Shareware concept.  You receive 
         the software first, from whatever source that may be, and pay 
         only what you think the software is worth.  You are free, and 
         encouraged, to share copies of the distribution diskette with 
         others. 
         
         ESIE is marketed under the shareware concept.  We prefer to 
         think of ESIE as living software: software that continues to 
         develop and get better, more powerful.  We believe ESIE is a 
         useful tool as it is, but can be improved.  However, support 
         for living software must come from somebody.  Even software 
         authors and AI researchers can't live on discovery and love 
         alone.  In shareware this support comes from you - the user. 

         Most software that is distributed on the shareware principle 
         offers additional features for your payment.  ESIE is no 
         exception.  If your contribution meets or exceeds $145 you 
         will receive: a copy of the ESIE distribution diskette for 
         the latest and/or next version (you will receive both if the 
         latest version is 2.0 or 2.1), professionally bound and printed 
         copies of the manuals, a copy of PC-Write (c) (a very slick 
         text editor usable with ESIE), access to the ESIE help line, 
         and our very sincere thanks for supporting us in this effort. 















                                                                Page 9


                               ESIE Requirements 
         

         In order to use ESIE you don't need much at all.  For 
         hardware you will need: an MS-DOS (r) or IBM (r) computer 
         with at least 128 KB of RAM, and a monitor.  ESIE should run 
         on any MS-DOS (r) computer, (it has been tested on several), 
         but we just cannot guarantee that it will run on your 
         particular machine.  ESIE will run on the IBM PC jr, PC, XT, 
         and AT (r).  The jr will require 256 KB of memory as it uses 
         some of the available program memory for it's display. 
         
         Some 128KB machines may give you the "insufficient memory" 
         message when trying to run ESIE.  Sorry guys, but you will 
         have to pay out the extra dough for the RAM in order to run 
         ESIE on your machine.  There are all kinds of factors that 
         can cause this to happen.  ESIE will run in any machine with 
         at least 256KB of RAM. 
         
         ESIE will run in a system with either a color or monochrome 
         monitor.  Execute the program CONFIG to configure ESIE to 
         meet your monitor needs. 
         
         For software you only need DOS version 2.0 or higher, 
         (including 3.0 and 3.1), and a word processor.  Any word 
         processor will do, but the word processor needs to be capable 
         of producing flat ASCII files.  You probably already have all 
         the software you need.  If you are not sure if your word 
         processor produces flat ASCII files there are two tests: 1) 
         try to build a short program with your word processor and run 
         it through any compiler - if the compiler gets an upset 
         stomach there is a good chance you need a different word 
         processor, 2) take any text file you created with your 
         editor, and at the DOS command level enter TYPE <fn>, where 
         <fn> is the file you edited.  If your file looks like a video 
         game then you need a different editor.  If it TYPEd your file 
         as you had entered it then you are probably OK. 
         
         If your editor does not produce flat files then do not panic.  
         If you pay for a copy of ESIE at the $145 price we will send 
         you one.  The editor is called PC-Write (c) and it is a 
         full-screen full-feature text editor.  Of all the editors we 
         have we prefer PC-Write.  It just seems to "feel" the best 
         for us.  PC-Write is also a shareware product, produced by 
         Quicksoft. 
         
         Many word processors produce flat files as a matter of 
         course.  Nearly any text editor that is designed to be used 
         by programmers, and therefore produce compilable source code, 
         generally produce flat files.  Those word processors that are 
         designed to be used primarily by office personnel, for the 
         creation of correspondence, sometimes do not.  They use a 
         compression scheme, and often a coding scheme to control 
         paging, in order to save disk and RAM space.  We think it is 
         a silly idea, but who listens to a group of AI techie types? 
         
         If you are hell bent on using your current text editor, and 
                                                               Page 10
         it is one of those that do not produce flat files, then you 
         still may be in luck.  In many of these editors you have an 
         option of producing a flat file from your edited file through 
         a process usually labeled exportation or editing in document 
         mode.  By selecting that option through a menu you can 
         produce a flat file that compilers, and ESIE, can read.  One 
         word of caution:  make a copy of your file FIRST before 
         attempting exportation.  It seems that many companies did not 
         bother to do much testing of this function and we have 
         trashed many a file trying to export.  Importing the file, or 
         getting it back into editor format, is usually much worse.  
         We wouldn't even attempt it if we were you, but good luck if 
         you do. 
         
         In whatever editor you choose, the margins and spacing can be 
         set to whatever you choose.  ESIE reads from the file in free 
         format.  That means that your file can look pretty strange if 
         you want it to.  As long as the syntax is in the correct 
         order the file will load properly.  If it does not then ESIE 
         will report an error in the knowledge base and return you to 
         DOS. 
         





































                                                               Page 11

         
                         The ESIE Distribution Diskette 
                                       

         The first thing you need to do is make a backup copy of the 
         ESIE distribution diskette.  This will protect you in case 
         your working diskette gets damaged and will allow you to 
         configure ESIE for your own personal use.  If you like ESIE, 
         then making the copy first makes it easier for you to pass it 
         along to your friends and associates.  You can make a backup 
         copy of ESIE using either the DOS COPY or DISKCOPY command. 
         
         The definition of the distribution diskette is a diskette 
         that is an exact duplicate of the diskette as it is shipped 
         from Lightwave.  You can test the accuracy of your diskette 
         by entering the command:  CHECK *.* at the DOS prompt.  The 
         output from the CHECK program must exactly match the 
         information in the file CHECK.TXT, excluding the CRC for 
         CHECK.TXT and the total. 
         
         The above test will also tell you if you have a damaged disk.  
         The CHECK program is distributed with all of Lightwave's 
         products, and it calculates the CRC of the named file(s). 
         
         The reason the CRC for the file CHECK.TXT will not be correct 
         is because the CRC for the file must be added to it, which 
         will change the CRC.  The total will be incorrect for the 
         same reason. 
         
         Everything you need except hardware, DOS and an editor, is on 
         the ESIE distribution diskette. 
         


























                                                               Page 12


                        Configuring ESIE For Your System 
         
         
         Before you can execute the ESIE program, you must configure 
         ESIE for your system.  (If you try to run ESIE before 
         completing the configuration it will tell you that the file 
         ESIE.CFG was not found.) 
         
         ESIE can be configured to run on either a monochrome or color 
         monitor.  If you have a color monitor, you can select the 
         colors you want.  ESIE can use any of the sixteen colors 
         defined for color-graphics systems.  These colors are: 
         
                   black                       darkgray
                   blue                        lightblue
                   green                       lightgreen
                   cyan                        lightcyan
                   red                         lightred
                   magenta                     lightmagenta
                   brown                       yellow
                   lightgray                   white
         
         To execute the configuration program, type in CONFIG at the 
         DOS prompt.  CONFIG will then create the file ESIE.CFG and 
         ask you if you have a color monitor. 
         
         If you have a monochrome monitor, then CONFIG will finish 
         building the ESIE.CFG file and return you to DOS.  If you 
         have a color monitor, then CONFIG will ask you six more 
         questions.  The answer to each of these questions requires 
         that you give CONFIG one of the valid colors above. 
         
         The six questions asked for color system users are: 
         
                What color would you like the background?
                What color would you like question text?
                Color for answer (user response) text?
                Color for top level?
                Color for the result and trace?
                Finally, color for error messages?
         
         After you have given a valid color for each question, then 
         CONFIG will return you to DOS.  If you have a color monitor, 
         then we recommend these colors to get you started: 

                For background:  blue.
                For question:  lightgray.
                For answers (user responses):  lightmagenta.
                For toplevel:  yellow.
                For result and trace:  lightcyan.
                For error:  lightred.
         
         If you do not like the colors you have chosen the first time 
         around, or you change the type of monitor that ESIE is 
         running under, then you may re-execute CONFIG at any time. 


                                                               Page 13


                                 Starting ESIE 
         

         Getting ESIE fired up will probably be one of the easiest 
         things you do today.  The only three files you need in the 
         computer to use ESIE are the ESIE.COM file, the ESIE.CFG file 
         and the file where the KB is.  The ESIE.CFG file is created 
         when you execute the CONFIG program. 

         For purposes of example, it will be assumed that you are 
         using the ANIMAL KB provided with the distribution diskette.  
         When you start to build your own KBs, simply substitute that 
         file for ANIMAL.  ESIE will run in any drive and directory, 
         including hard disks, as long as the needed files are 
         present. 

         Then, type in ESIE at the DOS prompt.  The ESIE introductory 
         screen will appear.  It contains copyright information and 
         some benefits you will receive if you pay for your copy of 
         ESIE. 
         
         At the top of the introductory screen is a prompt asking you 
         to supply the file name where the knowledge base may be 
         found.  You may enter any name you please.  Type in ANIMAL 
         for this example.  If the file exists, then ESIE will attempt 
         to load that file.  If no loading errors are found, then ESIE 
         will take you to the top level. 
         
         If there are errors in loading the KB, then ESIE will list 
         where it found the errors and return you to DOS. If the file 
         does not exist, then you have the option of trying again.  
         Just hitting the 'Y' or the 'N' key will answer this prompt.  
         ESIE loads files faster than most, if not all, other ESSs, 
         but be patient if you are loading a very large KB, especially 
         from floppy diskette. 
         
         Then, after ESIE tells you the load is complete, type in GO.  
         The consultation will now begin.  To leave ESIE type in EXIT 
         at the top level. 
         

















                                                               Page 14

         
                               The ESIE Top Level 
         

         You will know when you have reached the top level by the 
         distinctive ESIE prompt.  It looks like this: "==>".  At the 
         top level you have four different command options:  TRACE ON, 
         TRACE OFF, GO, and EXIT.  While you can have as many leading 
         and trailing blanks as you wish, ESIE is not quite free form 
         on the command line.  You must have one and only one space 
         between the TRACE and YES/NO options.  Other than that, ESIE 
         is free form. 
         
         Importantly, ESIE is case insensitive.  Capitals look just 
         the same as minors to ESIE.  This is also true in the KB and 
         in end user responses.  ESIE is case insensitive everywhere.  
         We like this feature.  We hate building rules to take care of 
         the same idea but duplicated everywhere to take care of case, 
         and the idea that a variable means something different 
         because the first letter is capitalized drives us up the 
         wall. 
         
         When you first enter the top level, trace is off by default.  
         You can turn trace on using the TRACE ON command.  Use trace 
         when you are building your own KB and want to follow 
         execution in order to debug the KB.  Turning trace on will 
         tell the system to constantly keep you informed of what it is 
         currently looking for and what information it has learned. 
         
         You can turn the trace back off again by entering the TRACE 
         OFF command. 
         
         The GO command is the command to tell ESIE to begin a 
         consultation with the KB that was loaded.  ESIE will continue 
         with this consultation until it is complete or until an error 
         is found in the logic of the KB.  You may not turn trace on 
         or off once a consultation has begun.  If the user types in 
         TRACE ON, TRACE OFF, GO or EXIT in response to a question, 
         then ESIE will treat that as the response to the question. 
         
         Once ESIE has completed the consultation, or found an error 
         in the logic of the KB, it will return you to the top level 
         for additional commands. 
         
         Use the EXIT command in order to leave ESIE and return to 
         DOS.  After a consultation is complete, you have the option 
         of entering ANY of the four commands, including GO, again. 
         










                                                               Page 15

         
                            The ESIE Rule Structure 
         

         There are seven types of rules in ESIE.  That's all.  Two of 
         the rule types must be included once and only once, three may 
         be included once or not at all, and the other two may be 
         included from zero up to the maximum number of times, which, 
         as you will see, is quite large. 
         
         If you are familiar with IBM (r) manuals, then you will 
         probably be able to read the following; then again, those 
         never were my favorite manuals.  Below is the syntax for the 
         seven types of rules in ESIE: 
         
              [introtext is <text>]

              [legalanswers is/are [<variable>]... *] 
         
              goal is <variable> 
         
              [<ifrule>
               [<andrule>]...
                <thenrule>]...
         
              [question <variable> is/are <text>]...
         
              answer is/are <text> <variable>
         
              [termtext is <text>]
         
         Where:
         
              <ifrule> is defined as:
         
                  if <variable> is/are <value>
         
                             OR
         
                  if <variable> </=/> <number>
         
         and
         
              <andrule> is defined as:
         
                  and <variable> is/are <value>
         
                             OR

                  and <variable> </=/> <number>
         
         and
         
              <thenrule> is defined as:
         
                  then <variable> is/are/=  <value>/<number>
         
         and
                                                               Page 16
         
              <variable> is defined as any string of ascii characters 
                         excluding the space, double quote and 
                         end-of-line up to 100 characters long. 
         
         and
         
              <value> is defined as any string of ascii characters 
                      excluding the space, double quote and 
                      end-of-line up to 100 characters long. 
         
         and
         
              <number> is defined as any integer in the range -32768 
                       through 32767.
         
         and
         
              <text> is defined as:
         
                   "[<any character>]..."
         
         
         Again, capital letters and minors are treated exactly alike 
         as far as ESIE is concerned. 
         
         In the syntax above the '/' means "either or."
         
         The symbol "..." means "repeat as often as desired."
         
         The brackets mean that the item is optional.  You will note 
         that LEGALANSWERS, IF, and QUESTION type rules may not even 
         be included in the KB, although a KB without rules isn't 
         going to be of much use. 
         
         The <text> parts of the above rule types may be any character 
         at all except for the quotation mark.  The quotation mark 
         terminates <text>.  Spaces are allowed in <text>, but double 
         quotation marks, to indicate a single, are not.  The length 
         of <text> is unlimited and may include end-of-line 
         characters, page feeds, or whatever you wish to improve the 
         appearance of your output. 
         
         Let us list some specifics, first, then we will go into what 
         each rule does.  

         First, blanks, end-of-line markers, double quotes, and 
         end-of-file markers are the only recognized delimiters in 
         ESIE.  There must be at least one delimiter between any two 
         tokens in the KB.  

         All the following are valid <variables> and <values>: 
         
              1234567890()*&^%$#@!+_=[]{}
         
              ..........................
         
              wow!.i.can.type.in.anything
         
                                                               Page 17
              WOW!.I.can.TYPE.in.ANYTHING
         
         The last two of the above are identical as far as ESIE is 
         concerned.  Although special characters are valid in 
         <variables> and <values>, and may even lead such items, it 
         would be a good idea to stay away from the mathematical 
         symbols.  ESIE's capability to do more math in the future 
         might make some of your variables become mathematical 
         equations. 

         In this regard, especially look out for the minus sign - it 
         habitually gets used in multi-word <variables>.  A better 
         alternative would be to use the period. 
         
         The GOAL and ANSWER rules types must be included, and must be 
         in the KB only once.  If the LEGALANSWERS rule type is 
         included, it can only be included once. 
         
         There is absolutely no requirement that rules be placed in 
         the KB in any order.  In a fully-structured KB, in fact, the 
         order of the rules is totally inconsequential, any rule or 
         any rule type may come before or after any other rule or rule 
         type.  In some KBs the logical structure is not complete, so 
         it may be wise to place some rules before others. 
         
         Now for some information on what these rules do: 

         The LEGALANSWERS rule is used to constrict what the end user 
         of your KB can use as responses.  This is very useful to keep 
         the end user on track, and to correct him in case of typos or 
         misunderstandings.  Using LEGALANSWERS can make testing your 
         KB much easier and more complete.  If LEGALANSWERS is 
         omitted, then anything the end user types in is a valid 
         response.  The splat, (*), is used to terminate the 
         LEGALANSWERS rule.  Although the splat, by itself, is a 
         totally valid <variable> or <value> we didn't think many of 
         you would want that as a valid response, so we used it as a 
         terminator.  
         
         The GOAL rule specifies what you are looking for, that is, it 
         determines what this consultation and KB are all about.  
         
         The IF rules are the real meat of any KB.  Here's how they 
         work:  the <variable> right after the IF is evaluated and 
         compared with the <value> after the IS/ARE/</=/>.  If the 
         value of the variable compares favorably with the <value> 
         then there is a match and ESIE drives on. 
         
         AND parts are compared the same way.  Comparison stops on any 
         rule were an IF part or an AND part do not compare favorably.  
         However, if they all compare favorably, then the rule 
         succeeds and the <variable> immediately after the THEN is set 
         to the last <value> specified in the rule.  For example: 
         
                         if age > 17
                         and status is alive
                         then type.person is living.adult
         
         Let's assume that age has already been set to 34, that status 
                                                               Page 18
         has been set to 'alive', and GOAL is TYPE.PERSON.  ESIE 
         begins looking through the KB, starting at the top, for IF 
         rules that could satisfy the type.person goal.  When it finds 
         the above rule it determines that yes, age is > 18 and status 
         is alive, so the rule succeeds and type.person is set to 
         living.adult.  At this point evaluation stops and ESIE makes 
         its report and returns you to the top level. 
         
         The QUESTION rules are evoked by ESIE when it has gone 
         through the entire KB and can find no IF rule that satisfies 
         what it is currently looking for.  It then checks to see if 
         it has a question that it can ask the end user so that it may 
         determine what a <variable> should be.  The <text> part of 
         the question is displayed and whatever the end user types in 
         is what <variable> is set to, if the response is legal.  If 
         LEGALANSWERS has been specified, then the response is checked 
         to see if it is one of legal ones.  If it is not a legal 
         response, then ESIE will list the possible responses, and ask 
         the question again. This will continue until the end user has 
         selected one of the legal answers.  If it is legal, then the 
         <variable> specified in the QUESTION rule will be set to the 
         response.  If LEGALANSWERS has not been specified, then 
         whatever the user types in is legal. 
         
         The ANSWER rule is used only when ESIE is done.  After ESIE 
         has found the <variable> in the goal statement he will 
         display the <text> in the answer statement followed by the 
         value evaluated from the <variable> in the ANSWER rule.  You 
         will note that you do not have to display the same <variable> 
         as in the GOAL statement, but that you will often want to. 
         
         Getting tired reading yet?  Oh well, just two more:
         
         The INTROTEXT rule is used to define text that you want 
         displayed before a session begins.  The introductory text can 
         be as long as you want it to be.  ESIE will stop every 22 
         lines to let the user read what is on the screen.
         
         TERMTEXT is used to define text that you want displayed after 
         a session is complete.  As with INTROTEXT, the text can be as 
         long as you want it to be.  ESIE will stop every 22 lines to 
         let the user read what is on the screen.

         Now for some limits.  Just how much of all this good stuff 
         can you enter in a knowledge base?  Lots: 
         
              Up to 10000 IF rule lines.
              Up to   500 QUESTIONs.
              Up to   200 <variables> for LEGALANSWERS.
              Unlimited   bytes of text.
              Up to   500 different symbols.
              1 & only  1 GOAL.
              1 & only  1 ANSWER.
         
              In addition, ESIE will look for up to 50 different rules 
              to satisfy at a time and can learn up to 400 facts 
              before running out of memory space. 


                                                               Page 19

         
                       What Happens During A Consultation 
                                           
         
         After ESIE has loaded the KB into internal structures, and 
         the GO command has been issued, ESIE then pushes the GOAL 
         onto a stack.  The stack contains items to be searched for, 
         currently looking for the one at the top of the stack.  Then 
         ESIE looks through the IF rules for a conclusion that matches 
         the current stack.  When one is found then ESIE looks through 
         the comparators, one at a time, until one is found to not 
         compare to its value, or they are all found to compare 
         favorably.
         
         If it does not compare favorably then the variable is pushed 
         onto the stack.  ESIE continues in this fashion.  When ESIE 
         can not find an IF rule in the KB with a conclusion identical 
         to what is on the stack then ESIE turns to the QUESTIONs and 
         LEGALANSWERS to get information from the end user.  Any legal 
         response is what the <variable> is set to.  
         
         Often ESIE does not need to push anything on the stack as all 
         the IF and AND parts of rule compare favorably.  In this case 
         the rule succeeds and the conclusion <variable> is set to the 
         <value>.  
         
         In this way ESIE continues to get information and pop search 
         items off the stack until it learns what the GOAL variable 
         is, or until ESIE has searched the entire KB and found 
         nothing.  In the latter case ESIE reports an error in the 
         knowledge base and returns you to the top level.  In the 
         former, ESIE reports the ANSWER <text> and <variable> and 
         returns you to the top level. 
         
























                                                               Page 20

                  
               Paying For and Obtaining the Next Version of ESIE 
         
         
         Now comes the part we all hate to discuss.  What is ESIE 
         going to cost?  Well, that is totally up to you.  We happen 
         to believe that most people are honest and will pay for 
         something they find useful.  We also believe that most 
         software costs too much, and that most AI software costs much 
         too much.  We dislike copy protection schemes and there are 
         none in ESIE. And we believe that you will want to see ESIE 
         grow and be supported. 
         
         If your contribution meets or exceeds $145 you will receive: 
         a copy of the ESIE distribution diskette for the latest 
         and/or next version (you will receive both if the latest 
         version is 2.0 or 2.1), professionally bound and printed copies of 
         the manuals, a copy of PC-Write (C) (a very slick text editor 
         usable with ESIE), access to the ESIE help line, and our very 
         sincere thanks for supporting us in this effort. 
         
         We think of ESIE as living software: software that continues 
         to develop and get better, more powerful.  We believe ESIE is 
         a useful tool as it is, but can be improved.  However, 
         support for living software must come from somebody.  Even us 
         software authors and AI researchers can't live on discovery 
         and love alone.  In shareware this support comes from you - 
         the user. 
         
         If you happen to be working for a company and are considering 
         ESIE as your ESS of choice, then we have two additional 
         options available to you.  First, you may order ESIE using a 
         valid purchase order.  Second, if you want more than one 
         person to get complete support for ESIE, including access to 
         our technical help line, we have volume discounts. 

         If you like the ESIE product, and would like to incorporate 
         ESIE into an existing or future product, then Lightwave may 
         license the source code to you.  Such licenses require 
         written contracts and trust funds. 

         Mail for ESIE may be sent to: 
         
                                   Lightwave
                                 P.O. Box 16858
                                Tampa, FL  33617












                                                               Page 21
                  

                        Answers to Often Asked Questions
         
         
         How do you pronounce ESIE?
         
              ESIE is pronounced exactly as you would pronounce the 
              word "easy."
         
         What is an Inference Engine?

              An inference engine is a computer system that mimics the 
              process of human thought.  It attempts to distill the 
              human reasoning process into a computer program.

         What would I use ESIE for?
         
              ESIE can be used in any place a human expert would be 
              used.  The best places for the use of ESIE are in 
              situations where the experts in that field are hard to 
              come by or are too expensive to hire. 
         
              This does not mean that ESIE should be used only on say, 
              space missions, but any place where there is not enough 
              qualified people to do the job.  Using ESIE, it is 
              possible to provide enough support to a non-expert to 
              enable him or her to complete the task effectively. 

         I'm new to this AI stuff, where should I start?
         
              Start with ESIE.  ESIE is an excellent tool for the 
              newcomer in AI.  Manuals included with ESIE give you an 
              idea of what AI is all about, and guides you through the 
              process of building your own knowledge base.  After 
              that, the experts at Lightwave can help you build real 
              systems that can prove beneficial to you and your 
              company. 
         
         Someone I know wants to use ESIE, can I give him a copy?
         
              Absolutely.  ESIE, although copyrighted, may be copied 
              and shared.  The only requirement is that the copy you 
              give him is a duplicate of the distribution diskette. 

         
         What enhancements are planned for the next version?
         
              Our list of possible enhancements to ESIE is quite 
              large, and we are eager to put them all into play.  
              Which ones we implement first will depend on input from 
              our user community. 
         
         I want my question text to span several lines on the screen.  
         How do I do that? 
         
              Nothing special is required.  ESIE currently supports 
              text with any character used except for the double 
              quote.  Therefore, your text can span as many lines as 
                                                               Page 22
              you want it to.
         
         I know absolutely nothing about computers.  Can I use ESIE?
         
              Yes.  A majority of ESIE users are also first time 
              computer users.  Many report having little or no 
              problems in turning themselves into successful knowledge 
              engineers. 
         
         Who are some of Lightwave's paying customers for ESIE?

              AT&T, Bell Labs, the U.S Navy, the U.S. Department of 
              Agriculture, the Italian National Assembly, NASA, the 
              European Space Agency, and Control Data can all be 
              counted among our satisfied customers. 
         
         What is Lightwave's phone number?
         
              As Lightwave is a growing company we are subject to move 
              at any time.  As we have no control over who is using 
              our software in the field, we cannot give every user our 
              new phone number.  Therefore, we have not included our 
              phone number in the manuals or programs.  For this same 
              reason we use a post office box as our mailing address.  
              Requests to our mailing address will net you our current 
              phone number. 
         
         Is Lightwave a real business?
         
              Yes.  Our company name changed recently from Lightwave 
              Consultants to Lightwave.  The name change reflects our 
              changing direction from consulting to software.  
              Lightwave's primary customers still are firms that 
              request contract programmers in the Tampa Bay area of 
              Florida.  As these contracts expire, and sales in 
              software gain strength, Lightwave will turn into a major 
              software house. 
         
         ESIE is a great product, but I'm looking for something a 
         little different.  I need a tool to manipulate and analyze 
         text or datum for logical or mathematical context.  Where do 
         I turn?
         
              The best place to turn for this type of Artificial 
              Intelligence tool is:

                   Mike Pincus
                   Thunderstone Corporation
                   P.O. Box 839
                   Chesterland, OH  44026
         
              Thunderstone makes several tools that work in this area 
              of AI.  The tools are excellent and the price is right.

         What exactly is a rule line?
         
              A rule line is an IF <variable> <value> pair.  For 
              example: 
         
                                                               Page 23
                        if age < 10
                        then type.person is child
         
              has two rule lines, while:
         
                        if age > 18
                        and status is alive
                        then type.person is living.adult
         
              has three.

















































                                                               Page 24
 
         
                           Enhancements Made to ESIE
         
         
         Below is a list of enhancements made to ESIE version 1.1 that 
         make up version 2.0 and 2.1.
         
         Added speed.  Several algorithms are changed to increase 
         ESIE's speed.

         A bug was fixed: in version 1.1, if the item on top of the 
         stack could not be satisfied, then everything was popped off 
         the stack except the goal and ESIE would continue from there.  
         In 2.0, only the top element of the stack is popped off and 
         execution then continues from that point.  This fix repairs 
         the problem of an answer being in the knowledge base but 
         never being found.  
         
         Oddly, this problem was never reported from the field.  It 
         appears as though users are designing knowledge bases where 
         this capability is not required.  Drawbacks: this fix 
         significantly slows down ESIE, negating the increased speed 
         gained from other changes.  If users request that this fix be 
         removed, it may be removed for version 3.0. 
         
         The places in the KB where <text> is specified may now have 
         unlimited quantities of said text.  The maximum that may be 
         specified in any KB is now 12,000 total bytes or characters.

         Version 2.0 allows users to type ahead.  Users can now enter 
         responses to ESIE prompts before ESIE is ready to accept 
         them.  This type ahead includes the prompt for KB file name.  
         Drawbacks: this change disables the DOS ctrl-prtsc option 
         that copies screen output to the attached printer.

         Better KB read algorithms are incorporated for 2.0.  More 
         error detection is done on the KB before run time.  The KB is 
         also read in faster, but the storing of tokens in ESIE 
         internal format negates the increase in speed. 

         2.0 of ESIE adds the capability for limited numerical 
         comparisons in the KB.  Both the IF and the AND parts of 
         rules may specify a math operator instead of the standard 
         IS/ARE.  The valid math operators are: '<', '>', and '='.  If 
         a math operator is specified, then the token following the 
         operator must be an integer in the range -32768 to 32767.  
         ESIE functions on these operators instead of direct 
         equivalence comparisons.

         ESIE may now be configured for different type monitors.  If a 
         color monitor is attached, then the 16 different colors may 
         be selected for each of: background, question text, user 
         response text, toplevel text, result and trace text, and 
         error text.

         Version 2.0 of ESIE greatly expands the limits imposed on 1.1 
         users.  Rules lines are now at 1000, questions at 300, cache 
         at 200, stack stays at 50, and legalanswers stay at 50.  A 
                                                               Page 25
         new, internal data format, the symbol table, is restricted to 
         400 different tokens.  This means that 400 different 
         variables and values can be specified in the KB and in user 
         responses.  If a legalanswers statement was included, then 
         user responses will always match those tokens.
         
         Added the capability for introductory text to explain the KB. 
         
         Added the capability for terminating text, to explain the 
         conclusion more fully.
         
         In version 2.1 of ESIE, the limits in the knowledge base were
         greatly increased:
         
         +--------------------------------+--------------+--------------+
         |                                |   2.0 size   |   2.1 size   |
         +--------------------------------+--------------+--------------+
         | Rules                          |       1,000  |      10,000  |
         | Questions                      |         300  |         500  |
         | Max legalanswers               |          50  |         200  |
         | Symbol table                   |         400  |         500  |
         | Text                           |      12,000  |   Unlimited* |
         +--------------------------------+--------------+--------------+
         
         * 4,000 per occurence.  Available computer memory is final limit.


































                                                               Page 26


                              ESIE Error Messages
         

         Below is the list of error messages you might encounter while 
         operating ESIE.  As the error messages are straightforward, 
         no suggested corrective action is given. 
         

         Configuration file not found.  Please execute the program 
         CONFIG before continuing. 

         File ,<filename>, does not exist.  Do you wish to try again? (Y/N) 

         Symbol table space exhausted.  Please reduce number of 
         vars/values. 

         Text string found where variable/value expected. 

         Too much question/answer text in Knowledge Base.  Please reduce. 

         There are too many rules in the Knowledge Base.

         There are too many questions in the Knowledge Base.

         Too many legalanswers encountered in the LEGALANSWERS rule. 

         Number does not follow mathematical rule in Knowledge Base. 
         Token is: <token> 

         Goal encountered more than once in Knowledge Base. 

         Answer statement encountered more than once in Knowledge Base. 

         LEGALANSWERS has been specified more than once in the 
         knowledge base. 

         INTROTEXT has been specified more than once in the knowledge base. 

         TERMTEXT has been specified more than once in the knowledge base. 

         Invalid rule found in Knowledge Base. Invalid rule begins 
         with: <token> 

         Goal statement not found in the Knowledge Base. 

         Answer statement not found in the Knowledge Base. 

         Stack limit exceeded (search space exhausted). 

         Cache space exhausted.  No room for learned information. 

         I'm sorry, but <answer> is not acceptable. Please choose your 
         answer from one of these: 

         Error in Knowledge Base. <goal> searched for but not found. 


                                                               Page 27


                               Concluding Remarks
         
         
         We at Lightwave think ESIE is a great program.  However, this 
         program is only going to get better through your input, both 
         in the form of suggestions for improving this product and in 
         financial support. 
         
         We wish to thank all of those who have given us positive 
         input in the past. 
         
         We hope that we are satisfying some need for our users and 
         that we are encouraging the learning and spread of Artificial 
         Intelligence.











































