Universitatea din Pitesti, Facultatea de Electronica, Comunicatii si Calculatoare
Proiect Sisteme cu Inteligenta Artificiala
Logica Fuzzy Logica a fost definita in 1965 de catre prof. Lotfi Zade, de la Universitatea !er"ele#. $pre deose%ire de logica clasica, care lucrea&a cu doua valori numerice e'acte () pentru fals si 1 pentru adevarat*, logica fu&&# foloseste o pla+a continua de valori logice cuprinse in intervalul ),1, unde ) indica falsitatea completa, iar 1 indica adevarul complet. -stfel, daca in logica clasica un o%iect poate apartine (1* sau nu ()* unei multimi date, in logica fu&&# putem defini gradul de apartenenta al o%iectului la multime si care poate lua valori intre ) si 1. Logica fu&&# ofera instrumentele necesare pentru repre&entarea in sistemele inteligente a unor concepte imprecise cum sunt .mare/, .mic/, .scump/, .ieftin/ s.a., concepte numite varia%ile lingvistice sau varia%ile fu&&#. Pentru repre&entarea acestora se folosesc seturile fu&&#, care captea&a din punct de vedere cantitativ interpretarea calitativa a termenilor. !a&ate pe logica fu&&#, sistemele fu&&# sunt considerate un ca& particular al sistemelor e'pert (motiv pentru care mai sunt denumite si sisteme e'pert fu&&#* care ofera o metoda fle'i%ila pentru tratarea incertitudinii. Tema de proiectare: $a se proiecte&e un sistem inteligent pentru luarea deci&iei folosind instrumente de modelare cu logica Fu&&# cu simularea acestora in medii de calcul speciali&ate ( 0ool%o',urile din 1atla% *. $e va alege o pro%lema , se va concepe modelul si se vor o%tine re&ultatele prin simulare. 1 Descrierea aplicatiei -plicatia pre&enta calculea&a prin intermediul logicii fu&&# consumul instantaneu de com%usti%il la un automo%il care accelerea&a continuu si are o cutie de vite&e in cinci trepte. 2ate de intrare3 o 0reapta de vite&a o 4ite&a de deplasare 2ate de iesire3 o Consumul instantaneu 5e&olvarea unei pro%leme de control cu a+utorul logicii fu&&# se poate face prin reali&area unui sistem de inferente fu&&# (F6$ , Fu&&# 6nference $#stem*. $tructura interna a unui F6$ cuprinde urmatoarele componente3 %locul de fu&&ificare %a&a de reguli fu&&# motorul de inferente fu&&# %locul de defu&&ificare 6n continuare sunt pre&entate screensot,urile cu aplicatia, urmarind ordinea pasilor in care a fost efectuata3 2 Fig 1. $tructura F6$,ului Fig 7. Functia de apartenenta pentru varia%ila de intrare 8treapta/ 3 Fig 9. Functia de apartenenta pentru varia%ila de intrare 8vite&a/ 4 Fig :. Functia de apartenenta pentru varia%ila de iesire 8consum/ 5 Fig 5. 5egulile folosite Fig 6. 5epre&entarea grafica a regulilor 6 Fig ;. 5epre&entarea suprafetei Simularea aplicatiei folosind Simulink 7 Fig <. $cema generala Fig 9. =raficul vite&ei 8 Fig 1). =raficul treptei de vite&a 9 Fig 11. =raficul consumului aferent vite&ei si treptei de vite&a Sistemul de interferenta fuzzy cu ajutorul functiilor din Matla %>ne?fis(@consum@*A %>addvar(%,@input@,@treapta@,B1 5C*A %>addmf(%,@input@,1,@1@,@trimf@,B) 1 7C*A %>addmf(%,@input@,1,@7@,@trimf@,B1 7 9C*A %>addmf(%,@input@,1,@9@,@trimf@,B7 9 :C*A %>addmf(%,@input@,1,@:@,@trimf@,B9 : 5C*A %>addmf(%,@input@,1,@5@,@trimf@,B: 5 6C*A %>addvar(%,@input@,@vite&a@,B) 1:)C*A %>addmf(%,@input@,7,@)@,@trimf@,B,7).)1 ,6.);7e,)16 7).)1C*A %>addmf(%,@input@,7,@7)@,@trimf@,B) 7).)1 :)C*A %>addmf(%,@input@,7,@:)@,@trimf@,B7).)1 :) 6)C*A %>addmf(%,@input@,7,@6)@,@trimf@,B:) 6) <)C*A %>addmf(%,@input@,7,@<)@,@trimf@,B6) <) 1))C*A %>addmf(%,@input@,7,@1))@,@trimf@,B<) 1)) 17)C*A %>addmf(%,@input@,7,@17)@,@trimf@,B1)) 17) 1:)C*A %>addmf(%,@input@,7,@1:)@,@trimf@,B17) 1:) 16)C*A 10 %>addvar(%,@output@,@consum@,B) 75C*A %>addmf(%,@output@,1,@)l@,@trimf@,B,5 <.6;9e,)1; 5C*A %>addmf(%,@output@,1,@5l@,@trimf@,B) 5 1)C*A %>addmf(%,@output@,1,@1)l@,@trimf@,B5 1) 15C*A %>addmf(%,@output@,1,@15l@,@trimf@,B1) 15 7)C*A %>addmf(%,@output@,1,@7)l@,@trimf@,B15 7) 75C*A %>addmf(%,@output@,1,@75l@,@trimf@,B7) 75 9)C*A ruleList>B1 1 1 1 1A 1 7 5 1 1A 1 9 6 1 1A 7 1 1 1 1A 7 7 9 1 1A 7 9 : 1 1A 7 : 5 1 1A 9 1 1 1 1A 9 7 : 1 1A 11 9 9 9 1 1A 9 : : 1 1A : 1 1 1 1A : 7 : 1 1A : 9 9 1 1A : : 7 1 1A : 5 9 1 1A : 6 : 1 1A : ; 5 1 1A : < 6 1 1A 5 1 1 1 1A 5 7 1 1 1A 5 9 5 1 1A 5 : : 1 1A 5 5 9 1 1A 5 6 7 1 1A 5 ; 7 1 1A 5 < 9 1 1CA %>addrule(%,ruleList*A 12 Fig 17. =raficul instructiunii gensurf(%* 13 Fig 19. 5epre&entarea grafica a regulilor folosind instructiunea rulevie?(%* Universitatea din Pitesti, Facultatea de Electronica, Comunicatii si Calculatoare Sisteme cu Inteligenta Artificiala 14 $tudent3 15