CLIPS: A Tool for Building Expert Systems
They gave a lot of IAAI talks!  WOW!  I gave only one, from our joint work with GM.<p>It looks like they were able to make expert systems useful.<p>Our work on KnowledgeTool might be equally useful!<p>After all, it appears that their work was stuck with C, and our work on KnowledgeTool was based on, was a pre-processor to -- sorry to mention this -- PL&#x2F;I.  But, gee, they based on C, so mentioning PL&#x2F;I should not be so bad!<p>Our use of KnowledgeTool was to monitor server farms and networks.  There in particular we were trying to do problem detection.  So, in expert systems,<p><pre><code>     When I see A and B and 
     5 or more cases of C 
     without a D, then it 
     looks really bad -- 
     raise an alarm.
</code></pre>
and, thus, have staff investigate.<p>And this statement of a symptom, test, for something wrong, was supposed to come from operator experience.  So, broadly the idea of KnowledgeTool for that work was not to find better ways to monitor but just to encode what operators had already learned, mostly just from experience.<p>Hmm .... In such monitoring, we have two ways to be wrong, (1) a <i>false alarm</i> where we say that the system is sick when it is well and (2) a <i>missed detection</i> where we say that a system is well when it is sick.<p>So, we want the false alarm rate, to be called the probability of Type I error, and the missed detection rate, to be called the probability of Type II error.<p>Quite broadly there is a trade-off between these two rates:  If we accept a higher false alarm rate, then we stand to get a lower missed detection rate.<p>Not all means of detection are equivalent:  Some poor detectors have really high rates for both false alarms and missed detections, and some good detectors have really low rates on both of the errors.<p>A problem with expert systems was that we had no idea what rates we were getting or if our detectors were poor or good.<p>Commonly at least in principle we can adjust the rate of false alarms.  That is good because (1) a false alarm sends the <i>bridge staff</i> on wild goose chasing and (2) false alarm rate too high is a standard complaint.<p>Looking at the problem in a little more detail, we easily had wide, deep rapidly flowing oceans of data.  So, we could easily have data on 1000 variables with the data for each variable arriving at 100 times a second.  So, write some expert system rules?  No thanks!<p>So, I dreamed up a solution, basically, right, as guess from Type I&#x2F;II, a statistical hypothesis test but one that is both distribution free and multi-dimensional, maybe the first such.  False alarm rate can be set in advance of collecting data, and is in a useful sense for each selected false alarm rate has the detection rate the highest possible (for that false alarm rate).<p>I did this work to improve on expert systems for monitoring.  Yes, I published the work, in <i>Information Sciences</i>.<p>Ah, beating expert systems!  What&#x27;s in the paper is some applied math based on some advanced pure math prerequisites, especially an idea from ergodic theory.  What&#x27;s in the paper really SHOULD be deployed.  I suspect that more could be done.<p>Well, the OP starts with<p>&gt; Developed at NASA’s Johnson Space Center from 1985 to 1996, the C Language Integrated Production System (CLIPS) is a rule-based programming language useful for creating expert systems and other programs where a heuristic solution is easier to implement and maintain than an algorithmic solution.<p>Gee, I thought that my &quot;algorithmeic&quot;, really original mathematical statistics, was easier than doing as well with heuristics.