Sistem expert
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 27 aprilie 2022; verificările necesită
4 modificări .
Sistem expert (ES, ing. sistem expert ) - un sistem informatic care poate înlocui parțial un expert în rezolvarea unei situații problematice. Sistemele expert moderne au început să fie dezvoltate de către cercetătorii de inteligență artificială în anii 1970 și au primit consolidare comercială în anii 1980 . Precursorii sistemelor experte au fost propuși în 1832 de S. N. Korsakov , care a creat dispozitive mecanice, așa-numitele „mașini intelectuale”, care au făcut posibilă găsirea de soluții pentru condiții date, de exemplu, pentru a determina cele mai potrivite medicamente în funcție de simptomele bolii la pacient [1] .
Cea mai importantă parte a sistemului expert este bazele de cunoștințe ca modele de comportament ale experților într-un anumit domeniu de cunoaștere folosind proceduri de inferență și de luare a deciziilor , cu alte cuvinte, bazele de cunoștințe sunt un set de fapte și reguli de inferență într-un subiect selectat. zona de activitate.
Acțiuni similare sunt efectuate de un astfel de instrument software precum „ Maestru ” ( Eng. Wizard ). Vrăjitorii sunt utilizați atât în programele de sistem, cât și în aplicații pentru a simplifica comunicarea interactivă cu utilizatorul (de exemplu, la instalarea software-ului ). Principala diferență dintre vrăjitori și sistemele expert este absența unei baze de cunoștințe - toate acțiunile sunt codificate. Este doar un set de formulare pe care utilizatorul le poate completa.
Alte programe similare sunt sistemele de căutare sau de referință (enciclopedice). La cererea utilizatorului, aceștia furnizează secțiunile cele mai adecvate ( relevante ) ale bazei de articole (reprezentări ale zonelor obiectelor de cunoaștere, modelul lor virtual).
În prezent, conceptul „clasic” de sisteme expert, care s-a dezvoltat în anii 1970 și 1980, trece printr-o criză, asociată aparent cu orientarea sa profundă către interfața textuală om-mașină care era general acceptată în acei ani , care acum este aproape complet înlocuite cu cele grafice în aplicațiile utilizator.( GUI ). În plus, abordarea „clasică” a construirii sistemelor expert este slab în concordanță cu modelul de date relaționale , ceea ce face imposibilă utilizarea eficientă a SGBD -ului industrial modern pentru a organiza bazele de cunoștințe ale unor astfel de sisteme.
Adesea, ca și truc de marketing, sistemele expert declară produse software moderne care nu sunt astfel în sensul „clasic” (de exemplu, sistemele de referință juridice computerizate ). Încercările făcute de entuziaști de a combina abordările „clasice” ale dezvoltării sistemelor expert cu abordările moderne de construire a unei interfețe cu utilizatorul (interfața nativă CLIPS Java , proiectele CLIPS.NET etc.) nu găsesc sprijin în rândul companiilor mari de software și din acest motiv rămân în stadiu experimental.
Structura ES a sistemelor inteligente
Cartea [2] prezintă următoarea structură ES:
- Interfata utilizator
- Utilizator
- Editor inteligent de bază de cunoștințe
- Expert
- Inginer de cunoștințe
- Memorie de lucru (Acces aleatoriu).
- Bază de cunoștințe
- Solver (motor de inferență (ILM))
- Subsistem explicație
Baza de cunoștințe constă în reguli pentru analizarea informațiilor de la utilizator cu privire la o problemă specifică. SE analizează situația și, în funcție de direcția SE, face recomandări pentru rezolvarea problemei.
De regulă, baza de cunoștințe a unui sistem expert conține fapte (informații statice despre domeniul subiectului) și reguli - un set de instrucțiuni care pot fi aplicate faptelor cunoscute pentru a obține fapte noi.
În cadrul unui model logic, bazele de cunoștințe se pot baza, de exemplu, pe limbajul de programare Prolog folosind limbajul predicat pentru a descrie fapte și reguli de inferență care exprimă regulile de definire a conceptelor, pentru a descrie informații generalizate și specifice, precum și interogări specifice și generalizate la bazele de date și cunoștințele bazelor de date.
Interogările specifice și generalizate la bazele de cunoștințe în limbajul Prolog sunt scrise folosind limbajul predicatelor care exprimă regulile de inferență și definițiile conceptelor peste procedurile de inferență disponibile în baza de cunoștințe, exprimând informații și cunoștințe generalizate și specifice în domeniul selectat al activitate și domeniu de cunoaștere.
De obicei, faptele din baza de cunoștințe descriu acele fenomene care sunt constante pentru un anumit domeniu. Caracteristicile, ale căror valori depind de condițiile unei anumite sarcini, sunt primite de ES de la utilizator în timpul funcționării și stocate în memoria de lucru. De exemplu, într-un ES medical, faptul „O persoană sănătoasă are 2 picioare” este stocat în baza de cunoștințe, iar faptul „Un pacient are un picior” este stocat în memoria de lucru.
Baza de cunoștințe ES este creată cu ajutorul a trei grupuri de oameni:
- experți ai domeniului problemei căruia îi aparțin sarcinile rezolvate de SE;
- ingineri de cunoștințe care sunt specialiști în dezvoltarea IIS ;
- programatori care implementează ES.
Moduri de operare
ES poate funcționa în 2 moduri.
- Modul de introducere a cunoștințelor - în acest mod, un expert, cu ajutorul unui inginer de cunoștințe, introduce informații despre domeniul cunoscut de el în baza de cunoștințe ES prin intermediul editorului bazei de cunoștințe.
- Modul de consultare - utilizatorul conduce un dialog cu ES, informându-l despre informații despre sarcina curentă și primind recomandări ES. De exemplu, pe baza informațiilor despre starea fizică a pacientului, ES pune un diagnostic sub forma unei liste de boli care sunt cel mai probabil cu aceste simptome.
Clasificare ES
Clasificarea ES în funcție de problema rezolvată
Clasificarea ES după conexiune cu timpul real
- Static - rezolvarea problemelor in conditii de date si cunostinte initiale care nu se modifica in timp.
- Cvasi-dinamic - interpretați situația, care se schimbă cu un interval de timp fix.
- Dinamic - rezolvarea problemelor in conditiile schimbarii datelor initiale si cunostintelor in timp.
Etapele dezvoltării ES
- Etapa de identificare a problemei - se determină sarcinile de rezolvat, se identifică obiectivele de dezvoltare, se determină experții și tipurile de utilizatori.
- Etapa extragerii cunoștințelor - se efectuează o analiză semnificativă a zonei problemei, se identifică conceptele utilizate și relațiile dintre acestea, se determină metode de rezolvare a problemelor.
- Se selectează stadiul de structurare a cunoștințelor - IS și se determină modalități de reprezentare a tuturor tipurilor de cunoștințe, se formalizează concepte de bază, se determină metode de interpretare a cunoștințelor, se modelează funcționarea sistemului, se modelează adecvarea scopurilor sistemului fix. se evaluează concepte, metode de decizie, mijloace de reprezentare și manipulare a cunoștințelor.
- Etapa de formalizare — baza de cunoștințe este completată de un expert. Datorită faptului că baza ES este cunoașterea, această etapă este cea mai importantă și mai consumatoare de timp în dezvoltarea ES. Procesul de dobândire a cunoștințelor este împărțit în extragerea cunoștințelor de la un expert, organizarea cunoștințelor care asigură funcționarea eficientă a sistemului și prezentarea cunoștințelor într-o formă înțeleasă de SE. Procesul de dobândire a cunoștințelor este realizat de un inginer de cunoștințe pe baza unei analize a activității unui expert în rezolvarea unor probleme reale.
- Implementarea ES - sunt create unul sau mai multe prototipuri ES care rezolvă sarcinile necesare.
- Etapa de testare - este evaluată metoda selectată de reprezentare a cunoștințelor în SE în ansamblu.
Cel mai faimos ES
- CLIPS este un shell foarte popular pentru construirea ES ( domeniu public )
- OpenCyc este un ES dinamic puternic, cu un model ontologic global și suport pentru contexte independente
- Wolfram|Alpha - bază de cunoștințe și set de algoritmi de calcul, „motor de calcul al cunoștințelor” inteligent
- MYCIN este cel mai cunoscut sistem de diagnostic care este conceput pentru a diagnostica și monitoriza starea pacientului în meningită și infecții bacteriene.
- HASP/SIAP este un sistem interpretativ care determină locația și tipurile de nave din Oceanul Pacific din datele de urmărire acustică.
- Akinator este un joc online. Jucătorul trebuie să ghicească orice personaj, iar Akinator trebuie să-l ghicească punând întrebări. Baza de cunoștințe este actualizată automat, astfel încât programul poate ghici aproape orice personaj celebru.
- IBM Watson este un supercalculator IBM capabil să înțeleagă întrebările din limbajul natural și să găsească răspunsuri la acestea într-o bază de date.
Vezi și
Note
- ↑ Invențiile lui S. N. Korsakov
- ↑ Gavrilova T. A., Khoroshevsky V. F. Bazele de cunoștințe ale sistemelor inteligente. Manual. - Sankt Petersburg: Peter, 2000.
Literatură
- Joseph Giarratano, Gary Riley Expert Systems: Principii de proiectare și programare. / Per. din engleza. - M. : Editura Williams, 2006. - 1152 p. de bolnav.
- Peter Jackson. Introduction to Expert Systems = Introduction to Expert Systems. - Ed. a 3-a. - M. : Williams, 2001. - S. 624. - ISBN 0-201-87686-8 .
- Townsend K., Foght D. Proiectare și implementare software de sisteme expert pe computere personale / Per. din engleza. V. A. Kondratenko, S. V. Trubitsyna. — M.: Finanţe şi statistică, 1990. — 320 p.
- Waterman D. A guide to expert systems. / Per. din engleza. ed. V. L. Stefanyuk. - M .: „Mir”, 1989: - 388 pagini cu ilustrații.
Link -uri
Dicționare și enciclopedii |
|
---|
În cataloagele bibliografice |
---|
|
|