Obiective Aspecte teoretice Termen de...

5
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)

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