R- is th e resolution of th e ith p air of peaks
1.6 Expert Systems
1.6.1 The knowledge base
The knowledge base is a d atab ase th a t holds th e specific information ab o u t a p articu lar su b je ct. I t contains a list of o b jects with th e ir associated ru les and a ttrib u te s . The o b ject c h a ra c te ristic s may be as simple as ’h a s’ and ’has n o t’ a p a rticu la r a ttr ib u te o r more complicated involving num erical values and often a combination of a ttrib u te ty p e s will be used to d escrib e an object.
For example a chromatogram may be analysed as a series of o b jects co rresp o n d in g to th e peaks. Each possible peak in th e chromatogram will e ith e r exist or not. If it exists th en it will have a se rie s of num erical a ttrib u te s corresp o n d in g to its elution time, peak a re a and o th er param eters. A chromatogram may also be defined as an o b ject containing o th e r objects, ie. peaks as well as th e o p eratin g conditions used to perform th e separation. Thus th e o b jects contain information d escrib in g th e situation u n d e r analysis by th e ex p ert system , in th is case th e details of th e chrom atographic separation.
Examples of ru les which may be applied will depend on th e p u rp o se of th e e x p e rt system. System s developed fo r u se with chrom atographic data have typically been used to a sse ss th e perform ance of sep aratio n s, eith er to ju d g e th e su ccess of an optim isation, th e condition of a column, or th e selection of equipm ent to be used based on a chromatogram ( ie. a se t of o b jects. Examples of ex p ert system s u sing th e s e ty p e s of applications a re
given in section 1.6.3 ). Rules applied to chrom atographic data to asse ss sep aratio n perform ance may include ru le s about th e num ber of peaks in th e chromatogram, th e ir skew, and th e sep aratio n of th e peaks ( using an optimisation c riterio n such as th o se in section 1.3 to d escrib e th is ). 1.6.2 The in feren ce engine
The inference engine is th e p a rt of th e system which attem pts to apply information supplied to it to th e ru le s and o b jects stored in th e knowledge base. T here a re two ty p e s of inference engine; determ inistic and probabilistic. Determ inistic system s contain ru le s which can be answ ered with 100% c e rta in ty w hereas probabilistic system s contain a d eg ree of u n c ertain ty . Though most real situ atio n s a re probabilistic, many may be approxim ated by a determ inistic system . A lternatively th e system may be described as a fuzzy system in o rd e r to account for th e d eg ree of u n c e rta in ty in th e system ( see section 1.3.6 and C hapter 3 ). The manner in which ru les a re T ire d ’ by th e inference engine is d ifferen t from usual languages such as FORTRAN or C. R ather th an having a fixed o rd e r for ru les to T ire ’, th ey a re used according to th e information available a t any moment ( ie. th e o b ject se t available ). The re s u lt of th a t ru le may provide f u r th e r information th u s allowing f u rth e r ru les to be T ired ’. Often an explanation capability is bu ilt into th e system allowing th e o rd e r in which th e ru les were T ire d ’ to be examined th u s enabling th e reasoning ( ie. how th e final re s u lt was obtained from th e ru le s and o b jects ) of th e system to be examined.
E xpert system softw are may be w ritten e ith e r using ex p ert system shells or using a sta n d a rd programming language. E xpert system shells a re special programming environm ents which allow th e more rapid development of e x p ert system s th ro u g h th e u se of special tools which contain inference tools. E ssentially th e y a re environm ents which allow th e knowledge base to be se t-u p and altered easily in comparison with usual languages w here many lines of code would need to be altered , b u t th e y often ten d to ru n more slowly ( LISP based system s ( a language often used in artificial intelligence ) a re especially slow due to ’g arb ag e collection’, a p rocess where unw anted information is cleared out ). Because of th e se facto rs e x p ert system shells a re often used fo r system s development and re se a rc h before being coded in an im perative language such as PASCAL, FORTRAN or C.