Inteligenţă artificială Laboratorul 5

Implementarea unui sistem expert
1. Noţiuni generale despre sistemele expert 2. Implementarea unui arbore de decizie 3. Aplicaţie

1. Noţiuni generale despre sistemele expert
„Sistemele expert sunt programe concepute pentru a raţiona în scopul rezolvării problemelor pentru care în mod obişnuit se cere o expertiză umană considerabilă” (Edward Feigenbaum, Stanford University) Se pot oferi foarte multe definiţii pentru noţiunea de sistem expert şi de asemenea se pot realiza foarte multe clasificări pornind de la acestea. Cert este faptul că un sistem expert (SE) încorporează o bază de cunoştinţe şi un motor de inferenţă şi că acesta utilizează proceduri de inferenţe pentru soluţionarea unor probleme. S-au dezvoltat strategii eficiente de căutare cum ar fi de exemplu analizele mijloace-scopuri utilizate în rezolvarea generală a problemelor şi în planificare, strategiile alfa-beta din jocuri, algoritmul A* pentru căutare euristică. Cu toate acestea, SE au un grad foarte mare de generalitate. Pentru a contura noţiunea de SE putem enumera următoarele caracteristici: • • • • • • din punct de vedere conceptual, SE vizează reconstituirearaţionamentului uman pe baza expertizei obţinute de la experţi; SE dispun de cunoştinţe şi de capacitatea de a desfăşura activităţi intelectuale umane; sunt organizate pentru achiziţia şi exploatarea cunoaşterii dintr-un domeniu particular numit domeniul problemei; dispun de metode de invocare a cunoaşterii şi exprimarea expertizei comportându-se ca un „asistent inteligent”; la nivel de realizare informatică, SE se bazează pe principiul separării cunoaşterii de programul care o tratează; sunt capabile să memoreze cunoaşterea, să stabilească legăturile între cunoştinţe şi să tragă concluzii, să propună soluţii, recomandări, să determine cauzele unor fenomene.

Cunoaşterea într-un sistem expert este organizată într-o manieră care separă cunoştinţele despre domeniul problemei de alte tipuri de cunoştinţe, precum cele despre rezolvarea problemei şi cele despre interacţiunea cu utilizatorul. Sistemele expert sunt programe care înmagazinează cunoştinţe specializate, introduse de experţi. Aceste sisteme se folosesc deseori în situaţii în care nu există o soluţie algoritmică clară. Principala caracteristică a acestora este prezenţa unei baze de cunoştinţe împreună cu un algoritm de căutare adecvat tipului de raţionament. De cele mai multe ori, baza de cunoştinţe este foarte mare, de aceea este foarte importantă modalitatea de reprezentare a cunoaşterii. Baza de cunoştinţe a sistemului trebuie separată de program, care la rândul său trebuie să fie cât mai stabil. Cel mai utilizat mod de reprezentare a cunoaşterii este o mulţime de reguli de producţie. Operaţiunile acestor sisteme sunt apoi controlate de o procedură simplă, a cărei natură depinde de natura cunoştinţelor.

Florin Leon, Inteligenta artificiala, http://eureka.cs.tuiasi.ro/~fleon/lab_ia.htm

Implementarea unui arbore de decizie Arborii de decizie sunt utilizaţi în special pentru rezolvarea unor probleme de clasificare. Forma de stocare trebuie să asigure căutarea pieselor de cunoaştere specificate direct prin simboluri identificatoare sau indirect. • • 2. Un arbore de decizie este format din noduri şi arce. cum ar fi: alegerea strategiei de control în funcţie de problema curentă. în care pentru fiecare nod întrebare sunt posibile doar două răspunsuri (de obocei de tip afirmativ sau negativ). sunt eliminate o serie de soluţii din setul curent de soluţii posibile ale problemei. Pentru început trebuie ales pentru fiecare întrebare un răspuns dintr-un set de răspunsuri valide. Mecanismul (sau motorul) de inferenţă reprezintă noutatea sistemelor expert. Arcele reprezintă conexiunile între nodurile părinte şi nodurile fii iar numărul lor este legat de setul de răspunsuri valide pe care le poate furniza utilizatorul pentru o întrebare. executarea acţiunilor prevăzute în planul de rezolvare. Nodurile reprezintă locaţiile arborelui şi pot fi noduri de decizie sau noduri soluţie. atunci când setul de întrebări trebuie modificat. Baza de fapte reprezintă o memorie auxiliară care conţine toate datele utilizatorului (faptele iniţiale care descriu enunţul problemei de rezolvat) şi rezultatele intermediare produse în cursul raţionamentului. există şi situaţii când poate fi necesară şi deplasarea de jos în sus (de exemplu. într-un arbore care învaţă. În funcţie de valorile acestora se realizează o clasificare primară a mişcării.tuiasi. El preia din baza de cunoştinţe faptele utilizate pentru construirea raţionamentului. Deşi arborele de decizie reprezentat mai jos nu este foarte mare.Structura unui sistem expert trebuie să conţină obligatoriu trei module principale. care formează aşa-numitul sistem esenţial: • Baza de cunoştinţe este formată din ansamblul cunoştinţelor specializate introduse de expertul uman. Deşi mecanismul de inferenţă este constituit dintr-un ansamblu de proceduri în sensul obişnuit al termenului. Inteligenta artificiala. odată cu introducerea altor parametri. prin proprietăţi asociate sau inferenţe care pornesc de la alte piese de cunoaştere. comutarea de la o strategie de control la alta. Mecanismul de inferenţă urmăreşte o serie de obiective majore. Sunt luate în considerare doar cele mai importante caracteristici ale mişcării: vectorul viteză şi vectorul acceleraţie. Cunoştinţele stocate aici sunt în principal descrierile obiectelor şi ale relaţiilor dintre acestea. cu atât acest set de soluţii posibile se micşorează.htm . modul în care utilizează cunoştinţele nu este prevăzut prin program. Cu cât se coboară mai mult în arbore.ro/~fleon/lab_ia. În final soluţia furnizată corespunde nodului frunză în care s-a ajuns. În funcţie de aceste răspunsuri. Deşi deplasarea în arbore se face de sus în jos. În exemplul de mai jos se realizează clasificarea mişcărilor unui punct material. ci depinde de cunoştinţele pe care le are la dispoziţie. dimensiunile acestuia pot creşte foarte mult. Cei mai utilizaţi arbori de decizie sunt cei binari.cs. Florin Leon. deoarece au fost găsite soluţii noi sau vechile întrebări nu sunt bine formulate). elaborarea planului de rezolvare a problemei după necesităţi. cunoaşterea fiind memorată într-un spaţiu special organizat. Baza de cunoştinţe face parte din sistemul cognitiv. http://eureka.

în care se încearcă găsirea unui remediu pentru o maladie dintr-un set de remedii posibile prin identificarea cauzelor şi implicit a bolii de care suferă pacientul. Au fost implementate şi probleme de diagnostic.ro/~fleon/lab_ia. în funcţie de un anumit răspuns. un set de reguli care determină nodul următor.tuiasi. Inteligenta artificiala. Ordinea valorilor multicâmp este suficientă pentru prelucrarea lor. Aplicaţie Realizaţi un sistem expert bazat pe un arbore de decizie generic reprezentând raţionamentul pentru rezolvarea unei anumite probleme. în funcţie de răspunsurile date. În acest scop se pot utiliza fapte de tipul: (mutare <nod_curent> <răspuns> <nod_următor>) . răspuns ≡ if. De exemplu.htm . Se pleacă din rădăcina arborelui şi apoi. Pentru fiecare nod neterminal. listă de răspunsuri acceptabile. se coboară în arbore până se atinge o frunză. nod_următor ≡ then (întrebare <nod_curent> <text_întrebare>) (răspunsuri <nod_curent> <listă_răspunsuri_acceptabile>) (concluzie <nod_terminal> <text_concluzie>) Nu avem nevoie să definim template-uri pentru aceste fapte. pentru arborele de decizie prezentat. pentru nodul rădăcină (notat „A”) vom avea fapte de tipul: (mutare A da B) (mutare A nu C) (intrebare A "Viteza isi pastreaza directia?") (raspunsuri A da nu) Florin Leon.cs. prin întrebări adresate utilizatorului. corespunzătoare unei concluzii sau soluţii. unul de clasificare a animalelor şi altul pentru alegerea unui vin cât mai indicat pentru un meniu. Problema va fi rezolvată interactiv. http://eureka. 3. se pot defini următoarele caracteristici: • • • o întrebare de a cărui răspuns depinde alegerea următorului nod.În exemplele CLIPS-ului sunt furnizate două exemple.

Apoi se va proiecta sistemul expert.tuiasi.ro/~fleon/lab_ia.Mai întâi se va crea baza de cunoştinţe.” Verificaţi faptul că SE funcţionează fără modificări suplimentare. Modificaţi baza de cunoştinţe prin adăugarea unui nou nod.htm . Să se testeze sistemul expert pentru arborele de decizie corespunzător problemei de determinare a tipului de mişcare a unui punct material. Florin Leon. http://eureka. Inteligenta artificiala. care va încărca baza de cunoştinţe: (load-facts "nume_fisier ") şi va rezolva problema. corespunzător răspunsului „nu ştiu” în rădăcina arborelui.cs. Concluzia în acest caz va fi: „Informaţii insuficiente. care se va salva într-un fişier: (save-facts "nume_fisier").

Sign up to vote on this title
UsefulNot useful