mullen@evax.arl.utexas.edu (Dan Mullen) (01/05/91)
I'm interested in information regarding any tools or techniques being used to verify requirements for knowledge based systems. This is not something I intend to undergo personally, it is more of an informal survey and I'm curious if anyone actually does this. Please don't inundate me standard V&V material. I am specifically interested in verification of KB systems or expert systems. In the proceedings from WESTEX-87 Green and Keyer say that nobody does V&V of expert systems because nobody knows how to do it. And nobody knows how to do it because nobody ever asks for it to be done. This was three years ago - has anything changed? Does anybody work for a someone who actually requires that specifications and requirements for expert systems be formally verified before implementation. If so, how do you do it? IDEF? OOA? Structured Analysis? I'm not asking for trade secrets, just general comments. Or would anyone like to offer a proof that verification of KB systems is impossible? Thanks for reading this, d.m.
wdavis@x102c.harris-atd.com (davis william 26373) (01/07/91)
In article <1991Jan4.180056.20917@evax.arl.utexas.edu> mullen@evax.arl.utexas.edu (Dan Mullen) writes: >In the proceedings from WESTEX-87 Green and Keyer say that nobody does >V&V of expert systems because nobody knows how to do it. And nobody knows >how to do it because nobody ever asks for it to be done. ... (some lines deleted) >... Or would anyone like to offer a proof that verification >of KB systems is impossible? This is not exactly a proof, but think about what you are asking for and it seems impossible. For a non-expert system, you can specify requirements rigorously. They may not be the correct requirements, but they can be clear. A system claiming to implement those requirements can be validated, to some extent, against those requirements. Maybe something useful is produced in the process, maybe not. Usually new requirements are discovered during or after implementation (I have not seen a project yet that did not involve some derived requirements during the project or a market driven change). How would we specify the precise requirements for an expert system? Start with the fuzzy "It should be an expert" or "It should be as expert as possible within the budget and time constraints" or even "It should know what these experts know". Now take two experts and put them in a room and see if they agree on everything in their area of expertise. If not, then which knowledge is correct for the expert system? It may be possible to check all the rules against experts to see if they agree and it may be possible to check the inference engine with validation techniques, but is this sufficient to validate an expert system? What about knowledge that is learned as the system evolves? I don't know how to completely validate a person's knowledge of a subject. So, I don't feel confident that a computer's knowledge of a subject can be any better validated. Even more problematic is that the computer may have missing knowledge - how is that to be validated (that none is missing)?
almond@lisbon.stat.washington.edu (Russel Almond) (01/08/91)
I'm comming in from left field on this issue, but let me describe my approach to this problem. As far as I know it has never been implimented. I tend to view an expert system as a giant probabilistic model. Certain variables are observed and on the basis of those others (of importance to some decision) are predicted. This view arrises naturally from the graphical model/belief net concept supported by Judea Pearl or David Spiegelhalter. It can even be used for models based on logic or other inference principles. As a statistician, I reguard the proof of a probabilistic model as its predictive ability. The proof of a knowledge based system would therefore be its ability to make the same decisions as the "expert." A validation set of possible inputs would be selected and the KB system's predictions or decisions would be compared with the expert's decisions or, in the cases where it was known, the true state of nature. Various statistical methods, such as log-linear modelling or logistic regression could be brought to bear on the problem of estimating the program's predictive error rate. Of course such a procedure would be sensitive to the choice of validation set. The validation set could easily miss a sample input for which the system would make erronious and irrelevant predictions. There is no simple way to deterimine this. On the other hand, I don't feel that an expert system is robust unless it can throw up its hands and say it doesn't know when it reach a point in its input space about which it has no knowledge and can learn from its mistakes. I hope these ideas are of some help. --Russell Almond University of Washington Department of Statistics almond@stat.washington.edu