Obiective Aspecte teoretice Termen de...
Transcript of Obiective Aspecte teoretice Termen de...
Tema 4 Sisteme expert
Laura Dioşan 1 Inteligenţă artificială, 2016-2017
Dezvoltarea sistemelor bazate pe reguli
Obiective
Dezvoltarea sistemelor bazate pe reguli. Specificarea, proiectarea şi implementarea sistemelor bazate pe reguli în medii certe şi incerte.
Aspecte teoretice
Proiectarea şi dezvoltarea sistemelor bazate pe reguli. Componentele unui sitem bazat pe reguli: - Baza de cunpoştinţe - Modulul de control
o Inferenţa în medii certe o Inferenţa în medii incerte
- Interfaţa cu utilizatorul - Modulul de îmbogăţire a cunoştinţelor - Modulul explicativ
Termen de predare
Cerința C1 - pe loc (in cadrul laboratorului 5)
Cerința C2 - laborator 6
Cerinţe C1. Subalgoritmi de calcul Implementați câte un subalgoritm pentru fiecare din cerințele următoare. Sub-algoritmii trebuie
să respecte specificarea dată și vor fi evaluați cu ajutorul a 5 aserțiuni.
1. subalgoritm fuzzificare:
Descriere: Să se stabilească gradul de aparteneță al unei valori la o regiune a unei
mulțimi fuzzy
Input: O valoare crisp x și o mulțime fuzzy MF (dată prin 4 parametri)
Output: Gradul de aparteneță al lui x la MF
Exemplu:
In: 37, (15, 30, 30, 55)
Out: max(0,min((37-15)/(30-15), 1, (55-37)/(55-30))=max(0,18/25)=18/25
Punctaj: 10p pentru cod și 5x2p pentru aserțiuni
C2. Probleme de analiză și recomandare Specificaţi, proiectaţi şi implementaţi o aplicaţie pentru rezolvarea uneia dintre problemele următoare cu ajutorul unui sistem bazat pe reguli, atât într-un mediu cert, cât şi într-un mediu incert (fuzzy). Aplicaţia trebuie să permită:
- Încărcarea datelor problemei o Tipul de inferenţă (În mediu cert: inferenţă înainte şi inferenţă înapoi; În mediu
incert: inferenţă Mamdani sau inferenţă Sugeno)
Tema 4 Sisteme expert
Laura Dioşan 2 Inteligenţă artificială, 2016-2017
Aplicaţia poate fi realizată în 2 variante:
varianta 1. Doar sistemul expert în medii sigure (sistemul de la punctul A al fiecărei probleme). varianta 2. Doar sistemul expert in medii nesigure (sistemul de la punctul B al fiecărei
probleme) Un sistem poate fi dezvoltată folosind:
- cod preluat dintr-un tool
Punctaj pentru un sistem: 25p pentru cod, 10p pentru interfață și 5x5p pentru
aserțiuni
- cod dezvoltat de student
Punctaj pentru un sistem: 50p pentru cod, 10p pentru interfață și 5x10p pentru
aserțiuni
Studenţii pot alege care variantă de aplicaţie doresc să o realizeze.
Sisteme disponibile care implementează SBR (in mediu cert sau fuzzy):
1. JESS http://herzberg.ca.sandia.gov/
2. CLIPS http://clipsrules.sourceforge.net/
3. FuzzyCLIPS
http://awesom.eu/~cygal/archives/2010/04/22/fuzzyclips_downloads/index.html
4. FFLL http://ffll.sourceforge.net/
5. jFuzzyLogic http://jfuzzylogic.sourceforge.net/html/index.html
6. Matlab FL http://www.mathworks.com/products/fuzzy-logic/
Tema 4 Sisteme expert
Laura Dioşan 3 Inteligenţă artificială, 2016-2017
1. Aspensor Se consideră un sistem pentru controlul unui aspensor. Scopul sistemului este să regleze durata de funcţionare a aspensorului. Sistemul se bazează:
A. Pe un sistem expert în mediu sigur B. Pe un sistem expert în mediu incert (sistem fuzzy)
În cazul A se cunosc următoarele reguli: R. 1. Dacă temperatura > 40 atunci aspersorul udă 30 minute.
R. 2. Dacă cerul este senin, atunci umiditatea < 50.
R. 3. Dacă temperatura > 25 şi umiditatea < 50, atunci aspersorul udă 20 minute.
R. 4. Dacă este vară, atunci temperatura > 20 grade.
R. 5. Dacă este iarnă, atunci temperatura < 5 grade.
R. 6. Dacă sunt nori, atunci umiditatea > 60.
R. 7. Dacă umiditatea < 50 şi 15 < temperatura < 25, atunci aspersorul udă 10 minute.
R. 8. Dacă 15 < temperatura < 25 şi umiditatea > 50, atunci aspersorul udă 3 minute.
R. 9. Dacă e iarnă, aspersorul este oprit.
De asemenea, se mai dau şi următoarele fapte: Este vară şi bate vântul. Temperatura este 23 grade şi nu a mai
plouat de 10 zile. Prognoza meteo anunţă cer senin pentru următoarele 3 zile. Să se stabilească (prin inferenţă
înainte) dacă şi câte minute trebuie să ude aspersorul. Folosiţi inferenţa înapoi pentru a demostra că dacă
aspersorul udă 10 minute, atunci este cald şi nu a mai plouat demult.
În cazul B se cunosc următoarele informaţii: durata de funcţionare a aspensorului (scurtă, medie, lungă) trebuie
reglată în funcţie de temperatura aerului de afară (frig, rece, normal, cald, foarte cald) şi în funcţie de umiditatea
solului (uscat, normal, umed) – a se vedea Figura 1, Figura 2, Figura 3. Baza de reguli este dată în Tabel 1.
Umiditate\
Temperatură
Frig Rece Normal Cald Foarte
cald
Umed Scurtă Scurtă Scurtă Scurtă Medie
Normal Scurtă Medie Medie Medie Lungă
Uscat Medie Lungă Lungă Lungă Lungă
Tabel 1 Baza de reguli pentru funcţionarea aspensorului
Figura 1 Descrierea temperaturii aerului
Figura 2 Descrierea umidităţii solului Figura 3 Descrierea duratei de funcţionare a aspersorului
Proiectaţi un sistem fuzzy care să estimeze durata de funcţionare a aspensorului pentru diferite valori ale
temperaturii aerului şi umidităţii solului (ex. pentru o temperatură de 17 grade şi o umiditate de 65).
0
1
-30 -25 -20 -15 -10 -5 0 5 10 15 20 25 30 35
frig rece normal cald
0
1
0 10 20 30 40 50 60 70 80 90 100
uscat
normal
umed 0
1
0 10 20 30 40 50 60 70 80 90 100
scurtă medie lungă
Tema 4 Sisteme expert
Laura Dioşan 4 Inteligenţă artificială, 2016-2017
2. Furnal Să se proiecteze şi să se implementeze un modul de control pentru reglarea eficienţei de producţie a unui furnal. Sistemul se bazează: A. Pe un sistem expert în mediu sigur B. Pe un sistem expert în mediu incert (sistem fuzzy)
În cazul A se cunosc următoarele reguli: R. 1. Dacă temperatura < 60 şi în furnal există mai puţin de 5 unităţi de minereu, atunci eficienţa este medie. R. 2. Dacă în furnal există mai mult de 5 unităţi de minereu, atunci furnalul este plin R. 3. Dacă temperatura < 60 şi în furnal există mai mult de 5 unităţi de minereu, atunci eficienţa este mare. R. 4. Dacă furnalul nu funcţionează, atunci temperatura este 0. R. 5. Dacă minerii fac grevă, atunci există mai mult de o unitate de minereu. R. 6. Dacă temeperatura > 80 sau dacă 60 < temperatura < 80 şi în furnal există mai mult de 5 unităţi de
minereu, atunci eficienţa este mare. R. 7. Dacă furnalul funcţionează de mai bine de 2 ore, atunci temperatura > 30. R. 8. Dacă rata inflaţiei este mică, atunci minerii nu fac grevă. R. 9. Dacă 60 < temperatura < 80 şi în furnal sunt mai puţin de 5 unităţi de minereu, atunci eficienţa este mică. De asemenea, se mai dau şi următoarele fapte: furnalul se află într-o ţară a cărei economie este în plină dezvoltare (avânt economic) şi funcţionează neîntrerupt de la punerea sa în funcţiune (în anul 2010). Senzorul de temperatură din interiorul funalului indică o valoare de 70, iar în furnal au fost încărcate de 2 ori câte 3 unităţi de minereu. Să se stabilească (prin inferenţă înainte) eficienţa furnalului. Folosiţi inferenţa înapoi pentru a demostra că dacă furnalul are o eficienţă mare de producţie, atunci el este cald şi a fost încărcat cu mai mult de 5 unităţi de minereu. În cazul B se cere să se implementeze un modul de control pentru reglarea eficienţei de producţie a furnalului (mică, medie, mare) în funcţie de temperatura din interiorul furnalului (rece, răcoare, moderat, cald, fierbinte) şi de capacitatea acestuia (mică, medie, mare) – a se vedea Figura 8, Figura 9, Figura 10. Baza de reguli este dată în Tabel 3.
Temperatură\ Capacitate
Mică Medie Mare
Rece Mică Medie Mare
Răcoare Mică Medie Mare
Moderat Mică Mică Mică
Cald Mică Mică Mică
Fierbinte Mică Mică Mică Tabel 2 Baza de reguli pentru funcţionarea
furnalului Figura 4 Temperatura furnalului
Figura 5 Capacitatea furnalului Figura 6 Puterea furnalului
Proiectaţi un sistem fuzzy care să estimeze eficenţa furnalului pentru diferite valori ale temperaturii din interior şi ale capacităţii furnalului (ex. o temperatură de 95 şi o capacitate de 6).
0
1
20 30 40 50 60 70 80 90 100 110 120
rece răcoare moderat cald fierbinte
0
1
0 1 2 3 4 5 6 7 8 9 10
mică
medie
mare 0
1
0 5 10 15 20
mică medie mare
Tema 4 Sisteme expert
Laura Dioşan 5 Inteligenţă artificială, 2016-2017
3. Maşină se spălat Să se proiecteze şi să se implementeze un modul de control pentru reglarea tipului ciclului de spălare al unei maşini de spălat haine. Sistemul se bazează:
A. Pe un sistem expert în mediu sigur. B. Pe un sistem expert în mediu incert (sistem fuzzy).
În cazul A se cunosc următoarele reguli: R. 1. Dacă urmează sărbători, atunci se spală perdele şi draperii. R. 2. Dacă se spală perdele, ele trebuie spălate pe rând (câte o perdea o dată, fiecare perdea având sub 2 kg) R. 3. Dacă se spală perdele, atunci maşina trebuie să le spele delicat. R. 4. Dacă se spală draperii, ele trebuie spălate pe rând (câte o draperie o dată, fiecare având între 1 şi 4 kg) R. 5. Dacă se spală draperii, maşina trebuie să le spele uşor. R. 6. Dacă familia are mai mult de 5 membri, atunci se spală regulat câte 5 kg de haine. R. 7. Cămăşile şi pulovărele se spală fără stoarecere. R. 8. Dacă Georgică e mecanic, el trebuie să poarte salopetă. R. 9. Dacă se spală salopete, atunci ele trebuie spălate intens. R. 10. Dacă se spală lenjerie şi greutatea lor este < 2kg, atunci ea se spală normal R. 11. Dacă se spală lenjerie şi greutatea lor este > 2kg, atunci ea se spală intens. De asemenea, se mai dau şi următoarele fapte: Georgică are un atelier auto în care lucrează cu cei 2 fii ai săi. Toţi angajaţii atelierului trebuie să poarte salopetă, fiecare salopetă cântariind 1.5 kg şi trebuind a fi spălată ăptămânal. În familia lui Georgică toate hainele se spală în fiecare sâmbătă seara. Georgică locuieşte pe malul mării împreună cu cei doi fii ai săi, cu încă 2 fiice si cu soţia sa. Dupa ce termină treaba la atelier, Georgică trebuie să meargă să cumpere bilete pentru vacanţa de vară. Să se stabilească (prin inferenţă înainte) tipul ciclului de spălare. Folosiţi inferenţa înapoi pentru a demostra că dacă tipul de spălare este intens, atunci maşina a spălat toate cele 3 salopete din familia lui Georgică. În cazul B se cere să se implementeze un modul de control pentru reglarea ciclului de spălare (delicat, uşor, normal, intens) în funcţie de textura hainelor (foarte fină, fină, normală, rezistentă) şi de cantitatea de haine încărcată în maşină (mică, medie, mare) – a se vedea Figura 11, Figura 12, Figura 13. Baza de reguli este dată în Tabel 4.
Textură\ Capacitate
Mică Medie Mare
Foarte fină Delicat Uşor Normal
Fină Uşor Normal Normal
Normală Uşor Normal Intens
Rezistentă Uşor Normal Intens Tabel 3 Baza de reguli pentru funcţionarea maşina de spălat Figura 7 Textura hainelor
Figura 8 Cantitatea de haine din maşina de spălat Figura 9 Tipul ciclului de spălare
Proiectaţi un sistem fuzzy care să estimeze tipul ciclului de spălare pentru diferite texturi şi cantităţi de haine (ex. 3.5kg de haine cu textura de 0.32).
0
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Foarte fină Fină
Normală
0
1
0 1 2 3 4 5
mică
medie
mare 0
1
0 0.2 0.4 0.6 0.8 1
delicat
uşor
normal
intens