Arhivă
Revista Română de Informatică și Automatică / Vol. 19, Nr. 1, 2009
Studiu de caz asupra unui sistem expert
Ionuţ CHIRILĂ
Ce este un sistem expert? Un sistem de inteligenţă artificială care se încadrează în tipul sistemelor bazate pe cunoştinţe. Un sistem trebuie să folosească cunoştinţele pentru a genera toate soluţiile taskului pentru care a fost proiectat. Ce este un sistem inteligent de diagnoză? Un caz particular de sistem expert. Ce este o regulă? Regulile sunt folosite pentru a reprezenta cunoştinţe euristice, asigurând realizarea unui set de acţiuni în condiţii date, verificabile. Dezvoltarea unui sistem expert constă în definirea unui set de reguli care vor conduce la soluţii. O regulă este alcătuită din antecedent (parte condiţională, LHS-left hand side – partea stângă) şi consecvent (parte de acţiuni, RHS-right hand şi de – partea dreaptă). Antecedentul conţine un set de condiţii (elemente condiţionale) care trebuie să fie satisfăcute pentru ca regula să fie aplicabilă. În CLIPS, partea condiţională a unei reguli este satisfăcută dacă există sau nu anumite fapte în lista de fapte sau o anumită instanţă a unei clase definite de utilizator sau este îndeplinită o condiţie testată explicit. O condiţie din antecedentul unei reguli se numeşte „pattern”. Procesul prin care se verifica faptele şi instanţele care satisfac o anumită condiţie (pattern) se numeşte „pattern-matching” (verificare). CLIPS asigură un mecanism, numit motor de inferenţă, care verifică automat condiţiile regulilor în conformitate cu starea actuală a listei de fapte şi a listei de instanţe, determinând regulile aplicabile la un moment dat, care sunt trecute într-o listă numită agendă. Consecventul unei reguli este un set de acţiuni care sunt executate la aplicarea regulii. Acţiunile sunt realizate atunci când motorul de inferenţa execută o regulă din cele aplicabile. Dacă sunt aplicabile mai multe reguli la un moment dat, motorul de inferenţă foloseşte o strategie de rezolvare a conflictelor care alege o singură regulă. Acest proces se termină atunci când nu mai există nici o regulă în agendă sau când s-a specificat explicit, printr-o comandă, oprirea inferenţei (agenda conţine toate regulile aplicabile la un moment dat). Se observă cu ochiul liber similitudinea cu o structură IF-THEN dintr-un limbaj de programare. Dar un fapt? Forma de bază de reprezentare în CLIPS pentru cunoştinţe. Faptele sunt organizate în liste de fapte. Un fapt poate fi specificat prin index sau prin adresă. Când un fapt este adăugat la lista de fapte sau modificat, acesta primeşte un index unic în lista de fapte. Indexul de fapte începe de la zero şi se incrementează cu unu la fiecare nou fapt adăugat sau modificat. Când se apelează comenzile reset sau clear indexul de fapte este pus la zero. Operaţiile ce se pot efectua asupra faptelor sunt:
- adăugarea de noi fapte la lista de fapte;
- ştergerea de fapte din lista de fapte;
- modificarea unui fapt;
- duplicarea unui fapt.
Faptele sunt de trei categorii:
- ordonate, constau într-un simbol urmat de o secvenţă de zero sau mai multe câmpuri separate de spaţii şi delimitate de paranteze “( )”;
- neordonate, constau dintr-o structură abstractă (similară cu structura din C) în care fiecare câmp are un nume;
- fapte iniţiale cu ajutorul constructorului deffacts se pot introduce în lista de fapte o colecţie de fapte folosind comanda reset.
Cuvinte cheie:
sistem, expert, fapt, regulă, inferenţă,bază, cunoştinţe.
Vizualizează articolul complet:
CITAREA ACESTUI ARTICOL SUNT URMĂTOARELE:
Ionuţ CHIRILĂ,
„Studiu de caz asupra unui sistem expert”,
Revista Română de Informatică și Automatică,
ISSN 1220-1758,
vol. 19(1),
pp. 57-64,
2009.