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

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

corespunzătoare unei concluzii sau soluţii. 3.htm .În exemplele CLIPS-ului sunt furnizate două exemple. De exemplu. http://eureka. Au fost implementate şi probleme de diagnostic. răspuns ≡ if. în funcţie de un anumit răspuns. î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. Problema va fi rezolvată interactiv. Ordinea valorilor multicâmp este suficientă pentru prelucrarea lor. Pentru fiecare nod neterminal. Se pleacă din rădăcina arborelui şi apoi. un set de reguli care determină nodul următor. Aplicaţie Realizaţi un sistem expert bazat pe un arbore de decizie generic reprezentând raţionamentul pentru rezolvarea unei anumite probleme. 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. în funcţie de răspunsurile date. În acest scop se pot utiliza fapte de tipul: (mutare <nod_curent> <răspuns> <nod_următor>) . prin întrebări adresate utilizatorului.cs. pentru arborele de decizie prezentat. listă de răspunsuri acceptabile. se coboară în arbore până se atinge o frunză.tuiasi. 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. Inteligenta artificiala. se pot defini următoarele caracteristici: • • • o întrebare de a cărui răspuns depinde alegerea următorului nod.ro/~fleon/lab_ia. unul de clasificare a animalelor şi altul pentru alegerea unui vin cât mai indicat pentru un meniu.

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

Sign up to vote on this title
UsefulNot useful