P. 1
LaboratorIA05

LaboratorIA05

|Views: 26|Likes:
Published by melkarus

More info:

Published by: melkarus on Nov 19, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/19/2010

pdf

text

original

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

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

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

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

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->