4
Heneraci'n e ,unciones e 5ertenencia 5ara L'gica Difusa Utili&ano MATLAB Abstract —
Para el desarrollo de la presente práctica se realiz realizar aron on gráfic gráficas as de alguno algunoss de los conjun conjuntos tos difuso difusoss más representativos. representativos. Se utilizó el software MATLA MATLA para ela!orar los progr programas amas"" de forma forma #ue se pudier pudieran an introdu introducir cir valore valoress diferentes en los parámetros cada vez #ue se corre un programa. Tam!i$n se inclu%e un ejemplo de una aplicación #ue puede ser representada representada con una gráfica de conjuntos difusos.
I. I NTRODUCCIÓ N l software MATLAB MATLAB es una lenguaje técnico e alto ni!el con con un a"#i a"#ien ente te inte intera ract cti! i!oo $ara $ara el esa esarr rrol ollo lo e algorit"os% la !isuali&aci'n e los atos% el an(lisis e atos% ) el c'"$ c'"$ut utoo nu"é nu"éri rico co.. Usan Usano o MATL MATLAB AB%% se $u $ue een en solucionar $ro#le"as *ue co"$utan técnicos "(s r($ia"ente *ue con los lenguajes lenguajes e $rogra"aci $rogra"aci'n 'n traicio traicionales nales%% tales tales co"o C% C++% ) ,ORTRAN. -e $uee utili&ar MATLAB en una a"$lia ga"a e usos% inclu)eno $rocesa"iento e seal ) e i"agen% co"unicaciones% iseo el control% "oelaci'n% el an(lisis financiero ) #iolog/a e c'"$uto. Las cajas e 1erra"ientas aicionaas e2tienen el a"#iente e MATLAB $ara solucionar clases $articulares e $ro#le"as en estas (reas e a$licaci'n. MATLAB ta"#ién $ro$orciona un n3"ero e caracter/sticas $ara ocu"entar ) co"$artir el tra#ajo.
0
ans < = -in -in e"#a e"#arg rgo% o% si el c(lc c(lcul uloo se asig asigna na a un unaa !ari !aria# a#le le%% el resultao *uea guarao en ella6 992<:+; 2< = 5ara conocer el !alor e una !aria#le% #asta teclear su no"#re6 992 2< = -i se aae un $unto ) co"a 7>8 al final e la instrucci'n% la "(*uina no "uestra la res$uesta... 99)<=?@> ... $ero no $or ello eja e reali&arse el c(lculo. 99) )< : Las o$eraciones se e!al3an $or oren e $rioria6 $ri"ero las $otencias% es$ués las "ulti$licaciones "ulti$licaciones ) i!isiones )% final" final"ent ente% e% las su"as su"as ) restas restas.. Las o$e o$era racio ciones nes e igual igual $rioria se e!al3an e!al3an e i&*uiera a erec1a6 99:@?; ans < 4.= 99:7@?;8
,ig. 4. MATLAB $er"ite anali&ar gr(ficas e for"a interacti!a .
5ara co"en&ar a utili&ar el software es necesario conocer su funciona"iento #(sico ) entener su l'gica. A continuaci'n continuaci'n se "uestran algunos eje"$los e o$eraciones co"unes6 Los c(lculos *ue no se asignan a una !aria#le en concreto se asignan a la !aria#le e res$uesta $or efecto *ue es ans 7el inglés% answer86 99:+;
ans < .4 -e $ueen utili&ar las funciones "ate"(ticas 1a#ituales. As/% $or eje"$lo% la funci'n coseno% 99cos7 99cos7$i8 $i8 E $i es una !aria# !aria#le le con !alor !alor $reet $reeter" er"ina inao o ;.4@4=F... ans < G4 o la funci'n e2$onencial
: 99e2$748 n3"ero e
E ,unci'n e2$onencial e!aluaa en 4% es ecir% el
ans < :.4; Otro eje"$lo e funci'n "ate"(tica6 la ra/& cuaraa> co"o $uee !erse% tra#ajar con co"$lejos no a ning3n ti$o e $ro#le"a. La unia i"aginaria se re$resenta en MATLAB co"o i o j% !aria#les con ic1o !alor co"o $reeter"inao6
99w1o Kour !aria#les are6 ans e$s 2 Los eje"$los anteriores son 3tiles $or*ue son o$eraciones reali&aas co"3n"ente% $ero son s'lo una $arte "in3scula e las $osi#iliaes *ue ofrece. MATLAB ofrece una gran !ariea e 1erra"ientas gr(ficas. Ta"#ién $ueen i#ujarse funciones. As/6
99s*rt7G@8 ans < + :.i
99f$lot7sin728% :?$i8 inter!alo %:?$i
E Di#uja la funci'n seno en el
0l usuario $uee controlar el n3"ero e eci"ales con *ue a$arece en $antalla el !alor e las !aria#les% sin ol!iar *ue ello no est( relacionao con la $recisi'n con la *ue se 1acen los c(lculos% sino con el as$ecto con *ue éstos se "uestran6 994; ans < .;;;; 99for"at long 994;
,ig. :. Hr(fica e una funci'n senoial en MATLAB
ans < .;;;;;;;;;;;;;; 99for"at E Juel!e al for"ato est(nar *ue es el e @ cifras eci"ales 5ara conocer las !aria#les *ue se 1an usao 1asta el "o"ento6 99w1o Kour !aria#les are6 ans e$s 2 ) o% si se *uiere "(s infor"aci'n 7o#sér!ese *ue toas las !aria#les son arra)s86 99w1os Na"e -i&e B)tes Class ans 424 ou#le arra) e$s 424 ou#le arra) 2 424 ou#le arra) ) 424 ou#le arra) Hran total is @ ele"ents using ;: #)tes 5ara es1acerse e una !aria#le 99clear )
II.D0-ARROLLO Objetivo
Conocer la $rogra"aci'n e las funciones e $ertenencia ifusas "as re$resentati!as en MATLAB.
A. Generación de Función Característica tipo Hombro derecho
-e $uee sealar *ue to"ano co"o eje"$lo una funci'n en es$ec/fico se $uee uno ar cuenta e las si"ilitues *ue $resentan con otras funciones% es ecir% si to"a"os la funci'n caracter/stica e la funci'n triangular $oe"os ientificar ciertos $ar("etros a si"$le !ista *ue nos a)uar(n en la construcci'n e iferentes funciones% co"o es el caso e una funci'n el ti$o 1o"#ro o saturaci'n erec1a. -e $uee eucir *ue el $ri"er co"$orta"iento *ue lle!a la grafica e ti$o triangulo constitu)e la "is"a su#ia *ue $resenta la grafica e 1o"#ro ) cuano llega al $unto "(2i"o con !alor e $ertenencia e uno% se "antiene constante 1asta el final tal ) co"o se !e en la ,igura ;.
;
x A x 74.48 f 7 x8 x f728 to"ara !alor e 4 solo a $artir La funci'n cuano 2 to"e el !alor asignao a B 7#eta% x e en4la fig ; es e 8% $or lo *ue su$ongo e#e ser ese el !alor e B 7 en fig ;8 o "a)or a 7$arael2 ti$o 9
,igura ; .G Hr(fica corres$oniente al ti$o 1o"#ro erec1o o#tenia en el software e Matla# .
5ara la funci'n e ti$o 1o"#ro 1a) os $ar("etros *ue son los *ue an la $auta e su co"$orta"iento% los cuales 1e"os eno"inao co"o $unto e inicioP% *ue corres$one al $unto en one se e"$ie&a a ele!ar con $eniente constante ese cero 1asta el seguno $unto eno"inao co"o centroP o en su efecto finalP *ue corres$one al $unto en el *ue su incre"ento 1a llegao al !alor "(2i"o en el grao e $ertenencia% es ecir unoP ) su !alor $er"anece constante 1asta el final e la grafica o 1asta el 3lti"o e los $untos *ue se estuian e esa funci'n caracter/stica% si nos fija"os con eteni"iento so#re la ,igura ; $oe"os !er *ue el !alor *ue se escogi' $ara el $unto inicial e esta grafica corres$one al !alor e ; en el eje QP "ientras *ue el !alor final o centro corres$one al !alor en el eje QP e . 5ara el eje"$lo en $articular "ostrao en la ,igura ;% se fijaron unos !alores% los cuales sa#/a"os con anterioria *ue estos no ca"#iar/an co"o es el eje"$lo e los !alores el eje KP eli"itaos en G.: $ara lograr !er la funci'n con claria $asar $or el !alor e cero ) un to$e "(2i"o e 4.: el cual la gr(fica ja"(s re#asar/a e#io a *ue el "a)o r !alor *ue $uee o#tener en grao e $ertenencia es unoP. > orto !alor igual e i"$ortante $ara la $rogra"aci'n es la e el $aso% es ecir caa cuano se 1ar/a una nue!a "eici'n ) nosotros le i"os un !alor ar#itrario e .= $ara caa uno e nuestras funciones. 5ara la construcci'n e esta gr(fica nos #asa"os en la efinici'n e la "is"a *ue esta escrita en la siguiente ecuaci'n 4.4
La inter$retaci'n e la ecuaci'n 4.4 es *ue el grao e $ertenencia entro e la funci'n esta re$resentao $or el !alor e QP ) los $ar("etros e inicio ) fin e los *ue 1a#l(#a"os en $(rrafos anteriores corres$onen a los s/"#olos ) res$ecti!a"ente> esto significa *ue $ara !alores "enores a Q el !alor e $artencia a la funci'n tiene un !alor e ceroP% "ientras *ue $ara los !alores entre ) se $resenta una l/nea recta con inclinaci'n o $eniente $ositi!a aa $or la ecuaci'n 72G87G8 ) $ara toos los !alores "a)ores *ue su grao e $ertenencia ser( unoP. La escri$ci'n el c'igo utili&ao en Matla# $ara esta funci'n e $ertenencia se encuentra escrito en el Ane2o A.4 e este "is"o escrito.
B. Generación de Función Característica tipo Hombro izuierdo.
La grafica corres$oniente a la funci'n e $ertenencia e ti$o 1o"#ro o saturaci'n i&*uiera es si"$le"ente un reflejo e la funci'n e ti$o saturaci'n erec1a% one los $ri"eros !alores e la grafica tenr(n un !alor e $ertenencia "(2i"o 7unoP8 ) en el $ar("etro e inicioP e"$ie&a a escener e "anera lineal al incre"entarse los !alores el eje QP 1asta llegar al $unto e finalP one 1a alcan&ao su "/ni"o !alor e $ertenencia ) "antiene este !alor 1asta el final e la gr(fica o los $untos anali&aos entro e la funci'n. Jéase ,igura @.
@ 5ara !er el c'igo usao $ara la generaci'n e la funci'n e 1o"#ro i&*uiero !éase el Ane2o A.: C. Generación de Función Característica tipo pi.
La grafica ti$o $i aun*ue en $rinci$io $arece ser "(s co"$licaa *ue las anteriores% resulta ser sola"ente una co"#inaci'n e las os for"as e saturaci'n !istas anterior"ente lo cual resulta en "enor ificulta $ara su "oelaci'n. Jéase ,igura =
,igura @ G Hr(fica e ti$o 1o"#ro i&*uiero generaa en Matla#.
5oe"os !er *ue la grafica e la ,igura @ lle!a un co"$orta"iento in!erso o negati!o a la funci'n e 1o"#ro erec1o% ) *ue se $uee "oelar to"ano en consieraci'n los "is"os $ar("etros "ani$ulaos en la funci'n anterior> *ue $ara este caso $ara el !alor e inicioP ) finP corres$onen a los !alores en el eje QP e ; ) res$ecti!a"ente. La funci'n f728 $ara 7$ara a< 2
$ara este ti$o e funciones se necesitan controlar cuatro $ar("etros% los cuales x 7:.48 1e"os eno"inao co"o inicioP al $unto one la funci'n f 7 x8 x e"$ie&a a tener una $eniente $ositi!a ) $or ene un !alor e La funci'n f728 to"ara !alor e solo a e cuano 2 to"e el !alor asignao a $ertenencia "a)or *ue cero ) *ue $ara en este caso en x A $artir $articular tiene un !alor en el eje e las QP e 4=> el seguno B 7#eta% en la fig @ es e 8% $or lo *ue su$ongo e#e ser ese el !alor e B 7 en !alor *ue controla"os es el !alor *ue nosotros 1e"os lla"ao CentroGMinP ano referencia al !alor centro "/ni"o *ue fig @8eloti$o "a)or a 7$ara 2i&*uiera 9 al negati!a 1asta llegar al $unto one su grao e $ertenencia llegar a un !alor "a)or o igual a se 1a alcan&ao el !alor es e ceroP el cual 1e"os lla"ao finP ) su !alor $er"anece "/ni"o e $ertenencia en esa funci'n es$ec/fica. constante $ara !alores "a)ores en el eje QP.
= 0l "oelo *ue "ejor escri#e el co"$orta"iento e la funci'n e ti$o $i se "uestra en la ecuaci'n ;.4 5ara la $rogra"aci'n e ésta gr(fica utili&a"os las siguientes ecuaciones. Jéase ecuaci'n @.4
x x x 4 f 7 x8 x x A de otra manera
7;.48
La ecuaci'n ;.4 ice *ue el grao e $ertenencia e la !aria#le QP estar( en funci'n e los $ar("etros % % ) % e otra "anera su !alor ser( e ceroP sieno $ara nuestro caso $articular co"o nuestra !aria#le inicioP% centroGMinP% centroGMa2P ) $or 3lti"o co"o nuestra !aria#le PfinP fa!or e !er el c'igo e la funci'n en el Ane2o A.; !" Generación de Función Característica tipo #rian$u%ar
La funci'n triangular la reali&a"os en clase co"o un eje"$lo e $rogra"aci'n en Matla#. Ssta a su !e& ta"#ién se $uee !isuali&ar co"o la uni'n e las os $enientes e las gr(ficas e las funciones e los 1o"#ros i&*uiero ) erec1o. 5ara la reali&aci'n e ésta gr(fica solo utili&a"os tres $ar("etros. 0l $ri"ero eno"inao inicioP *ue se refiere al $unto en one e"$ie&a la $eniente $ositi!a. 0l seguno eno"inao centroP el cu(l es el $unto en one ter"ina la $eniente $ositi!a ) e"$ie&a la negati!a. 0l tercero es lla"ao finP ) corres$one al $unto en one aca#a la $eniente negati!a. Jéase ,igura
x x x f 7 x8 x A de otra manera
[email protected]
0n el caso e la funci'n triangular% consiera"os co"o el $unto e inicioP. 0l car(cter es consierao co"o el centroP. Mientras *ue es el $unto finalP. Las os $ri"eras ecuaciones "ostraas en @.4 se refieren a una $eniente $ositi!a ) una negati!a% res$ecti!a"ente. 0n la ,igura se $uee a$reciar clara"ente los !alores e ic1os $ar("etros. Cual*uier !alor antes el $unto inicioP es igual a cero. 0ntre los $untos inicioP ) centroP tene"os una $eniente $ositi!a aa $or la $ri"era ecuaci'n e @.4. 0ntre el $unto centroP ) finalP tene"os una $eniente negati!a re$resentaa $or la seguna ecuaci'n e @.4. Ae"(s e *ue cual*uier !alor "a)or al $unto finalP tenr( un !alor e cero. 0n éste caso $oe"os a$reciar *ue los !alores aos en el $rogra"a corres$onen a6 inicio <4% centro<=% final
La gr(fica corres$oniente a la funci'n caracter/stica ti$o sP es la 3nica e las anteriores *ue no se relaciona "uc1o con las for"as e éstas. 0sto es e#io a *ue cuenta con un $unto e infle2i'n u#icao en el centro e la gr(fica. -in e"#argo% o#tenieno las ecuaciones es sencillo $rogra"ar la funci'n. 5ara su $rogra"aci'n utili&a"os tres $ar("etros. 0l $ri"ero se u#ica en el $unto one la gr(fica e"$ie&a a crecer en el eje K% es ecir en el $unto one e"$ie&a a tener una $eniente e2$onencial ) es eno"inao co"o inicioP. 0l seguno $ar("etro% lla"ao infle2i'nP% es en one se encuentra el $unto e infle2i'n e la gr(fica. 5or 3lti"o el tercer $ar("etro es eno"inao el finalP e la gr(fica es$ués el $unto e infle2i'n. Los !alores $ro$orcionaos al $rogra"a en un rango e a 4 en el eje Q fueron6 inicioP < 4% infle2i'nP < =% finalP< F. Jéase ,igura ,igura Hr(fica corres$oniente a la funci'n e $ertenencia ti$o Triangular o#tenia en Matla#
"u) altas con un a relaci'n e $ertenec/a el ;E% $or eje"$lo. Claro est( *ue el escé$tico $or/a ecir *ue esta/stica"ente una $ersona es "u) alta si "ie 4.F= "% #as(nose en un argu"ento ar#itrario% $ero el resto e las $ersonas tenr/an too el erec1o a cuestionarlo. 0n la ,igura se re$resenta el grao e $ertenencia al conjunto e Vj'!enesV% en funci'n e la ea. La l/nea roja re$resenta el "oelo traicional% ) el !ere% el ifuso.
,igura G Hr(fica corres$oniente a la funci'n e $ertenencia ti$o sP o sig"oial o#tenia en Matla#.
A continuaci'n se "uestran las ecuaciones =.4 utili&aas $ara la reali&aci'n e la gr(fica.
x A : x x : f 7 x8 : x x 4 : 4 de otra manera
,igura ,unci'n e $ertenencia e eaes jo!enes
7=.48 0l rango en la tercera ecuaci'n e#e iniciar en # 7$unto e infle2i'n8 ) ter"inar en c 7#< 2
5ara cual*uier !alor anterior a inicioP o el grao e $ertenencia ser( cero. 5ara el siguiente se utili&a la seguna ecuaci'n e =.4 la cu(l se refiere al tra"o acotao entre inicioP o e infle2i'nP o . Des$ués encontra"os el tra"o u#icao entre infle2i'nP o ) finalP o caracteri&ao $or la tercera ecuaci'n e =.4. Al finali&ar tene"os *ue $ara cual*uier !alor "a)or a finalP tenre"os un grao e $ertenencia igual a uno. 0l $rogra"a co"$leto se $uee !er en el ane2o A.= III. 00M5LO D0 A5LICACIÓN -i se ice Vesta $ersona es "u) altaV ) otra $ersona contesta Vtal !e&% $ero no tantoV esta"os ante un fen'"eno e l'gica ifusa6 W1asta *ué $unto $oe"os ecir *ue el conce$to ValtoV $er"ite eti*uetar a las $ersonasX La l'gica ifusa nos $er"ite resol!er esta contraicci'n ) asu"irla co"o nor"al )% final"ente% tra#ajar con e2$resiones e ese ti$o. 0ntonces ir/a"os *ue esa $ersona es "ie"#ro el conjunto e $ersonas
R 0,0R0NCIA4 A$untes el curso e -iste"as Inteligentes. : Ogata% Y. !iscrete*#ime Contro% (+stems. 5rentice Zall% 4FF=. ; MatLa# . @ 1tt$6www.caos.t!fu&&).1t"l = Tarea funciones e "e"#res/a% cur sos siste"as inteligentes 5rof. 5ero 5once% alu"nos M. Ari(n% -olares A. Zel"ut% Del Jecc1)o ,ario
Ane2o A A. -ro$ramas de ,atab
Los iferentes $rogra"as esarrollaos en MatLa# *ue se utili&a en el $roceso e la $r(ctica ) *ue $er"ite reali&ar la $rogra"aci'n e las iferentes funciones e $ertenencia ) su !isuali&aci'n gr(fica se $resenta a continuaci'n. A.4 este c'igo *ue a continuaci'n se enlista corres$one al generao $ara re$roucir la funci'n e saturaci'n u 1o"#ro erec1o.
EEEEEEEEEEEEEEEEEEE E ,uncion e ti$o 1o"#ro i&*uiero E EEEEEEEEEEEEEEEEEEE Ecoigo $ara li"$iar "e"oria clear all> E efinicion e $ara"etros ejes Q K 2"in 2"a2 res<.=> )"in<> )"a2<4>
EEEEEEEEEEEEEEEEEE E funcion e ti$o 1o"#ro erec1oE EEEEEEEEEEEEEEEEEE
E Jaria#les e entraa funcion es$ecifica # a
clear all>E funcion $ara #orrar !aria#les e "e"oria
eje2<2"in6res62"a2> i<4>
E efinicion e $ara"etros e los ejes Q K 2"in E"ini"o !alor eje 2 2"a2 res<.=> )"in<> )"a2<4> E !aria#les e entraa e la funcion # a eje2<2"in6res62"a2> i<4> E coniciones e $ertenencia e funcion ti$o 1o"#ro for 2 if 72a8 $erten1o"#roer7i8<> en if 729 en if 729<#8 $erten1o"#roer7i8<4> en i en E $ara"etros o coigo $ara graficar resultaos $lot7eje2%$erten1o"#roer8 title7,uncion e $ertenencia 1o"#ro erec1o8> a2is72"in%2"a2%)"in%)"a28> )la#el7Hrao e $ertenencia8> E fin el coigo
Caa uno e los c'igos listaos en este ane2o se encuentran e#ia"ente co"entaos entro el $rogra"a $ara su f(cil co"$rensi'n. -e $uee ientificar los co"entarios el $rogra"a )a *ue son los 3nicos *ue !ienen $receios $or un signo e $orcentaje ) se encuentran al $rinci$io e caa gru$o e instrucciones.
A.: C'igo generao en Matla# $ara la funci'n e $ertenencia e ti$o 1o"#ro i&*uiero.
E graos e $ertenencia e la funcion 1o"#ro i&* for 2 if 72a8 $erten1o"#roi&* 7i8<4> en if 729 en if 729<#8 $erten1o"#roi&*7i8<> en i en E coigo $ara generar resultaos graficos $lot7eje2%$erten1o"#roi&*8 title7,uncion e $ertenencia 1o"#ro i&*uiero8> a2is72"in%2"a2%)"in%)"a28> )la#el7Hrao e $ertenencia8> E fin el coigo
A.; 0l siguiente c'igo corres$one al esarrollao $ara la funci'n e $ertenencia e ti$o $i. EEEEEEEEEEE E funcion e ti$o 5I E EEEEEEEEEEE clear all>E reco"ena#le $ara lil"$iar toa E!aria#le *ue se *uea en "e"oria Erangos e !alores $ara los ejes e la gr(fica 2"in 2"a2 res<.=> )"in<> )"a2<4> E$ara"etros e entraa $ara la funcion es$ecifica # a c eje2<2"in6res62"a2> i<4> E coniciones e $ertenencia e la funcion $i for 2 if 72a8]729
en if 729 en if 729<#8[728 $erten$i7i8<4> en if 729<8[72c8 $erten$i7i8<4G72G87cG8> en i en E coigo $ara es$legar grafica e la funci'n $lot7eje2%$erten$i8 title7,uncion e $ertenencia for"a $i8> a2is72"in%2"a2%)"in%)"a28> )la#el7Hrao e $ertenencia8> E fin el coigo
A.@ 0l siguiente c'igo corres$one al esarrollao $ara la funci'n e $ertenencia e ti$o Triangular. EEEEEEEEEEEEEEE E,unci'n e ti$o Triangular E EEEEEEEEEEEEEEE clear all> Eefinici'n e $ara"etros e ejes Q K 2"inE 2"a2 res<.=> )"in<> )"a2<4> EJaria#les e entraa e funcion triangular # a c eje2<2"in6res62"a2> i<4> for 2 Egrao e $ertenencia < if 72a8]729 en E$eniente $ositi!a if 729 en E$eniente negati!a if 729<#8[72c8 $ertentri7i8<4G72G#87cG#8> en i en Ec'igo $ara generar gr(fica $lot7eje2%$ertentri8 title7,uncion e $ertenencia triangular8> a2is72"in%2"a2%)"in%)"a28> )la#el7Hrao e $ertenencia8>
A.= 0l siguiente c'igo corres$one al esarrollo $ara la funci'n e $ertenencia e ti$o -P EEEEEEEEEEE E,unci'n e ti$o V-VE EEEEEEEEEEE clear all> Eefinicion $ara"etros ejes Q K 2"in 2"a2 res<.=> )"in<> )"a2<4> EJaria#les entraa # a c eje2<2"in6res62"a2> i<4> for 2 Egrao e $ertenencia < if 72a8 $ertens7i8<> en Etra"o entre inicio e infle2i'n if 729 en Etra"o entre infle2ion ) fin if 729<#8[72 en Egrao e $ertenencia < 4 if 729c8 $ertens7i8<4> en i en Ec'igo $ara generar gr(fica $lot7eje2%$ertens8 title7,uncion e $ertenencia for"a s8> a2is72"in%2"a2%)"in%)"a28> )la#el7Hrao e $ertenencia8>