|
Din punctul de vedere al TI (formulat inainte de anii 1990), un SE este un program care permite "separarea cunostintelor declarative, exprimate in termenii calculului propozitional, fata de cunostintele procedurale implicite continute in algoritmul (motorul inferential) folosit in prelucrarea acestor cunostinte".
De fapt, acesta este principiul esential al programarii bazate pe formalismele calculului propozitional. Principiul decurge din unele experimente, efectuate pe la inceputul anilor 1970, in conditiile oferite de tehnica de calcul in momentul respectiv, si care propun reproducerea rationamentului uman sub forma unui algoritm de inlantuire a unor reguli logice, definite in termenii calculului propozitional (reguli de productie).
Fig. 1.1. - Schema logica a unui Sistem Expert generalizat
1. Achizitionarea cunostintelor - defineste mecanismele de captare a cunostintelor unui expert uman (blocul denumit "EXPERT") asupra unui domeniu de activitate strict delimitat.
Facand ipoteza ca procedura notata aici "Modul de achizitionare a cunostintelor" este o procedura automata (nu, in sens strict, un program), atunci blocul "COGNITICIAN" este fie un operator uman (sursa datelor de intrare) fie un agent artificial care, aici, mediaza captarea cunostintelor expertului.
In acceptia traditionala cogniticianul este un operator uman care detine competenta de investigare si formalizare a cunostintelor expertului. Cu alte cuvinte expertul nu poate (in lipsa abilitatilor necesare, probabil) sa alimenteze direct baza de cunostinte, fiind necesara prezenta unui translator (cogniticianul) intre om si masina. Consideram ca acest impas cultural este principalul motiv al unei raspandiri extrem de reduse a aplicatiilor de tip SE in mediul actual de afaceri.
Mai mult decat atat, daca admitem ca organizarea bazei de cunostinte, care ar trebui sa permita reproducerea cat mai exacta a cunostintelor expertului uman, nu este compatibila cu limbajul (natural) in care sunt exprimate cunostintele expertului, atunci fie trebuie sa admitem ca exista (si poate fi pus in aplicare prin mijloacele TI de care dispunem) un mecanism de formalizare a cunostintelor suficient pentru codificarea acestora in conventiile reprezentarii, fie trebuie sa cautam o solutie pentru integrarea expertului in sistem. In ambele situatii, se pune problema integrarii SE intr-un mediu inteligent.
Revenind la schema de mai sus, sa observam ca scopul procesului de achizitionare a cunostintelor este acela de a permite construirea unei baze de cunostinte (BC). Intr-o acceptie comuna asupra SE, achizitionarea cunostintelor este un proces static, asemanator unui proces de culegere a datelor pentru popularea initiala a unei baze de date.
2. Reprezentarea cunostintelor - defineste mecanismele si procesele de formalizare a cunostintelor (in termenii unei logici formale), in vederea implementarii acestora ca structuri de date (baze de cunostinte) intr-un sistem fizic de prelucrare automata a datelor.
Daca ramanem la ideea ca un SE este, in esenta, un program, atunci BC este o intrare intr-un algoritm de prelucrare a datelor numit, in termenii teoriei SE, motor de inferente. In termeni generali, prin inferenta se intelege "o forma logica a procesului de trecere de la unele propozitii numite premize la o propozitie numita concluzie" sau, dupa cum indica o varianta de interpretare propusa de aceeasi sursa, "un termen sinonim pentru rationament".
Prin urmare, un motor de inferente este o procedura automata de rationament si, in acelasi timp, o procedura automata de prelucrare a bazei de cunostinte (cu alte cuvinte, a unei reprezentari formale a cunostintelor).
Cunostintele procedurale, implementate in forme algoritmice prin motorul de inferente, sunt, in mod formal, compatibile cu datele (cunostintele declarative) pe care le prelucreaza. Putem afirma ca, pe langa faptul ca separa cunostintele declarative (baza de cunostinte) de cunostintele procedurale (motorul de inferente), o alta caracteristica, si poate mult mai importanta, a unui SE, consta in implementarea unor algoritmi de calcul (rationament) bazat pe cunostinte uniform organizate si uniform reprezentate in termeni formali
3. Prelucrarea cunostintelor in esenta, este o procedura de aplicare a unui rationament artificial asupra unei baze de cunostinte.
Intr-adevar, daca restrangem problema rationamentului numai la rezolvarea unor probleme de gestiune a intreprinderii, sa observam ca sunt necesare doua categorii de cunostinte: cele privind intreprinderea, ca sistem cu scopuri si mijloace proprii, si cele privind mediul de afaceri, ca mecanism de reglare a sistemului intreprindere. Natura cunostintelor impune si dezvoltarea unor mecanisme de rationament adecvate.
4. Utilizarea cunostintelor - este un proces care, inca, nu poate fi definit in mod clar din perspectiva arhitecturii SE.
Desigur, ca si in cazul oricarei alte spete de aplicatie a TI, produsul finit, aplicatia, raspunde unor cerinte ale utilizatorului.
Indiferent de orice discurs metodologic, numai utilizatorul SE valideaza acest produs. De asemenea, indiferent de performanta solutiei de proiectare sau de programare, SE ramane, in ultima instanta, un produs informatic a carui valoare de intrebuintare este data de utilitatea lui. Din perspectiva intreprinderii, orice aplicatie de TI raspunde unor cerinte de utilizare a informatiei in cadrul intreprinderii si, prin urmare, nu este nimic mai mult decat o parte a sistemului