Sisteme fuzzy si soft computing

SISTEME FUZZY SI „SOFT-COMPUTING"
Anul #4, curs optional

Cursul se preda studentilor din anul IV (semestrul I), Facultatea de Informatica, Universitatea "Al. I. Cuza" Iasi, incepand din anul 2002.

Curs: 2 ore. Seminar 2 ore (Seminarul va fi imbinat cu laborator si cu elemente noi predate. Se insista asupra scrierii aplicatiilor si rezolvarea „in program" a problemelor)

Examinare: 50 % microproiecte si teste la laborator, 50 % examen final

Cursul are ca obiectiv prezentarea unor capitole teoretice de Inteligenta Artificiala, precum logicile fuzzy, unele variante de rationament aproximativ, reprezentari (modele) „granulare", teoria multimilor fuzzy si elemente de algebra fuzzy, sisteme fuzzy si neuro-fuzzy, invatarea in sisteme cu incertitudine, sisteme cu auto-organizare in incertitudine, calculul cu atractori. De asemenea, cursul acopera mai multe capitole aplicative, precum sisteme bazate pe cunostinte cu incertitudine, sisteme expert fuzzy, modelarea cu sisteme fuzzy, modelarea cu sisteme neuro-fuzzy, metode de clasificare fuzzy, precum si algoritmi specifici. Se prezinta numeroase exemple de programe ce folosesc conceptele invatate si se dezvolta aplicatii. In functie de progrese si dificultati, prezentarea unora dintre capitolele mentionate anterior poate fi redusa corespunzator.
Disciplina include o serie de micro-proiecte care, prin unire, dau scheletul unui proiect complet. Multe aplicatii se vor lucra la laborator in limbajul C (considerat cunoscut) si FuzzyClips.

O buna cunoastere a limbajelor C si a unor elemente de CLIPS este un avantaj, ca si cunostintele si interesul in domeniul Inteligentei Artificiale.

PROGRAMA ANALITICA

1. Introducere: obiectul disciplinei; situarea disciplinei în contextul altor discipline; cunostinte din alte domenii necesare disciplinei; scurt istoric (1 ora)
2. Reprezentari si modele calitative si cantitative. Variante de rationament aproximativ. Reprezentari (modele) „granulare".
3. Tipuri de incertitudine. Conceptul de multime fuzzy. Teoria multimilor fuzzy. Operatii cu multimi fuzzy si proprietati ale operatiilor cu multimi fuzzy.
4. Elemente de logica fuzzy. Paralela între logica fuzzy, logica probabilista si cea binara. Principiul tertului exclus - varianta "tare" din logica binara si variantele "slabe" din logicile fuzzy si probabilista.
5. Reprezentarea calitativa a modelelor si sistemelor prin reguli cu variabile lingvistice luând valori grade lingvistice.
6. Sisteme fuzzy. Reprezentarea sistemelor prin sisteme fuzzy. Baze de cunostinte fuzzy. Elemente de sisteme bazate pe cunostinte, cu cunostinte fuzzy.
7. Fuzzificarea si defuzificarea.
8. Elemente de teoria laticilor - definitia prin multime ordonata si ca structura algebrica. Tipuri de latici - distributive, total distributive, complementate. Algebre Boole. Structura laticeala pentru teoria multimilor sî pentru logica binara.
9. Aritmetica intervalelor, ca teorie a preciziei de calcul si propagarii impreciziei. Intervalele vazute ca multimi fuzzy. Numere fuzzy. Elemente de aritmetica si algebra fuzzy. Definirea operatiilor cu numere fuzzy. Structura de semigrup cu element neutru /unitatate. Inexistenta opusului / inversului.
10. Sisteme fuzzy Mamdani si sisteme fuzzy Sugeno.
11. Caracteristicile de intrare-iesire pentru sistemele fuzzy cu defuzzificator, Mamdani si Sugeno. Teorema aproximatorului universal pentru diverse clase de sisteme fuzzy.
12. Aproximatori fuzzy si interpolatori fuzzy.
13. Sisteme fuzzy adaptive.
14. Sisteme neuro-fuzzy, învatarea în sisteme cu incertitudine si sisteme neuro-fuzzy adaptive.
15. Sisteme cu auto-organizare în incertitudine, calculul cu atractori.
16. Implementarea sistemelor bazate pe cunostinte fuzzy. FuzzyCLIPS.
17. Sisteme fuzzy expert.
18. Discutii de aplicatii.

Top


Lista conceptelor principale dobandite la aceasta disciplina:

multime fuzzy; functie caracteristica si functie de apartenenta; tipuri de functii de apartenenta; operatii cu multimi fuzzy; logica fuzzy (SI, SAU, negatie, implicatie); grad de incredere; principiul tertului exclus in varianta fuzzy; t-norma si s-co-norma; comparatie intre logica binara, logica (logicile) fuzzy si logica probabilista; numere fuzy; operatii cu numere fuzzy; fuzzificare; defuzificare; grade lingvistice; reguli lingvistice; atasarea functiilor de apartenenta unor grade lingvistice; tabele de reguli DACA-ATUNCI (IF-THEN); sistem Mamdani; sistem Sugeno (TS); functii de intrare-iesire (caracteristice) pentru sisteme fuzzy; aproximari fuzzy; teorema de aproximator universal; cazuri particulare de sisteme fuzzy si functiile lor; interpolator fuzzy; sistem fuzzy de control; sistem fuzzy adaptiv; algoritmi de invatare pentru sisteme fuzzy adative; sistem neuro-fuzzy; variante de sisteme neuro-fuzzy; soft-computing; sistem expert cu logica fuzzy; sistem dinamic fuzzy (in masura timpului).

Top


Bibliografie

Unele capitole din urmatoarele volume vor fi utilizate in exemplificari.

1. H.N. Teodorescu, D. Mlynek, A. Kandel, H.J. Zimmermann (Eds.): Intelligent Systems and Interfaces. 480 pp., ISBN: 079237763X, Kluwer Academic Press, Boston. 2000, cap. 5-9, 11
2. H.N. Teodorescu, A. Kandel, and L.C. Jain (Eds.): Soft-Computing in Human-Related Sciences. CRC Press, Florida, USA, 381 pp. + 28 xxvii (ISBN 0-8493-1635-9), May 1999
3. H.N. Teodorescu, A. Kandel, and L.C. Jain (Eds.): Fuzzy and Neuro-fuzzy Systems in Medicine. CRC Press, Florida, USA, 394 pp.+ xxviii, (ISBN0-8493-9806-1), 1998
4. H.N. Teodorescu, P.Melo Pinto, T. Fukuda, Systematic Organization of Information in Fuzzy Systems. IOS Press, Amsterdam (2002, probabil)

*** Encyclopedia of Information Systems, Academic Press, 2002

Top


Exercitii recomandate (laborator, studiu individual)

1. Testati exercitiul de control fuzzy al valvelor unui dus; regulatorul (controlerul) este accesibil pe aceasta pagina. Urmariti regulile aplicate. Determinati tabelul de reguli. Explicati care este principiul sistemului de control. (Demonstratia este scrisa in FuzzyCLIPS.)

2. Demonstrativul "parcarea unui camion" este prezentata (in l. engleza) aici. Este vorba despre un camion care este parcat automat, cu spatele, la punct fix ("punt de descarcare"). Camionul poate sa se afle in diverse pozitii (punct de plecare fix, unghi variabil fata de directia finala optima = perpendiculara fata de "magazie"). Dupa ce parcurgeti explicatiile, rulati demonstratia pentru mai multe unghiuri si explicati modul de functionare a sistemului de control. Apoi modificati regulile si urmariti efectul. Explicati coerent efectul modificarii operate. Verificati robustetea controlului, la modificari mici ale regulilor. Folositi atat mersul continuu al programului, cat si mersul pas cu pas. Folositi viteza mica de simulare (cursorul "Simulation speed"), pentru a observa mai bine mersul camionului. In cazul in care ati operat o variatie sensibila a regulilor initiale (cele corecte), observati "tremurul" in mersul (eratic) al camionului. Explicati. Modificati si viteza camionului cu cursorul "Truck speed" si explicati de ce la viteze mari ale camionului (distante mai mari parcurse intre 2 iteratii succesive), erorile de parcare sunt mai mari. Se recomnda setarea "show rule firing" si "track truck path".

3. Demonstratorul "controlul pendulului invers" este accesibil aici. Problema este de a determina cuplul dezvoltat de un motor electric (echivalent, curentul electric care trece prin motor), astfel ca pendulul sa fie mentinut in pozitie verticala.La capatul distant al pendulului se afla o masa fixa pe durata controlului (dar a carei valoare poate fi setata cu cursorul "mass size".) Lungimea pendulului se poate alege fixa sau variabila ("bob up/down"). Puterea (maxima) a motorului se poate modifica prin cursorul "motor size" (o constanta care modifica prin multiplicare cuplul). Aplicatia se poate rula si pas cu pas (butoanele "step mode" si "next step"). Regulile pot fi dezactivate si reactivate cu butoanele "disable"/ "enable" (intai se seteaza butonul, apoi regula respectiva). Dezactivati regula pentru intrarile "Z"/"Z" si observati efectul. Explicati. Se poate afisa, folosind butonul "display", functionarea oricareia dintre regulile din tabel.

Top


Microproiecte

1. Program de calcul al multimilor fuzzy (operatii cu multimi).

2. Program pentru un controler (regulator) fuzzy cu 3 intrari si o iesire.

3. Sistem expert fuzzy pentru aplicatii medicale (sau industriale) - variante.

Top


Exemplu de exercitii de examen

1. Sa se demonstreze ca pentru orice multime fuzzy este satisfacut principiul tertului exclus in varianta fuzzy.

2. Pentru doua multimi fuzzy la alegerea dvs., sa se deseneze graficul functiilor de apartenenta si sa se deseneze graficele reuniunii, intersectiei si complementelor.

3. Sa se calculeze functia de intrare-iesire pentru un sistem fuzzy cu defuzzificator de tip centru de greutate, daca la intrare sunt asociate gradelor lingvistice functii de apartenenta de tip triunghiular, iar functiile de apartenenta pentru iesire sunt de tip trapezoidal. Se considera triunghiurile egale intre ele si isoscele; respectiv trapezele sunt egale intre ele si isoscele.

4. Sa se descrie pe scurt, dar complet, un sistem de control al pozitiei unui pendul invers.

5. Sa se scrie in C un set de functii care sa permita a) defuzzificarea, b) calculul intersectiei a doua functii de apartenenta.

6. Se da setul de valori de interpolare { (1, 2.4), (1.24, -2.7), (3.1, 1.75) }. Sa se construiasca un interpolator fuzzy exact care sa foloseasca functii de apartenenta la intrare si la iesire de tip triunghiular.

Top


Anunturi

Toate cursurile pierdute din diverse motive urmeaza a fi recuperate. Recuperarile vor fi anuntate circular prin e-mail, precum si pe aceasta pagina.
Studentii la acest curs sunt rugati sa acceseze aceasta pagina cel putin o data pe saptamana, pentru anunturi recente si noutati.

Top


Titular: Prof. H.N. Teodorescu, Membru corespondent, Academia Romana

Pentru informatii suplimentare: Tel. 21.37.37 - int 115 ori 144 (H.-N. Teodorescu) sau hteodor@etc.tuiasi.ro

Last modified: 13 November, 2002
(pagina frecvent modificata)

Return to mainpage