Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Objetivos
Utilizara los comandos para an alisis de inferencia difusa y ploteo de funciones de pertenencia del Toolbox de L ogica Difusa (TDL) de MATLAB.
2. Marco Te orico
2.1. Tipos de Funciones de Pertenencia
La denici on exacta de una funci on de pertenencia va a depender del contexto de su aplicaci on. En general, es preferible usar funciones de pertenencia simples, debido a que simplican muchos c alculos y no pierden exactitud, debido a que precisamente denen un concepto difuso. Entre las funciones de pertenencia m as com unmente usadas tenemos: triangulares, trapezoidales, gaussianas y sigmoidales que se muestran en la Figura 1.
MF Triangular 1.2 1 0.8 0.6 0.4 0.2 0 0 2 4 6 8 10 1.2 1 0.8 0.6 0.4 0.2 0 0 2 4 6 8 10 MF Trapezoidal
MF Gaussiana
MF Campana
(1)
2 MARCO TEORICO
(3)
(5)
Note que m y denotan el centro y el ancho de la funci on respectivamente. Nosotros podemos controlar nos de generamos funciones de la forma de la funci on ajustando el par ametro . Para valores peque pertenencia delgadas, mientras que para valores m as grandes de generamos funciones de pertenencia sobre el piso.
2 MARCO TEORICO
10
10
3 EXPERIENCIA
yl = De acuerdo a:
Umax Umin M1
yl +1 = yl + yl La representaci on de los siete consecuentes de la variable de salida en el universo de discurso normalizado se muestra en la Figura 3.
1.5
0.5
0 1.5
0.5
0 U
0.5
1.5
C odigo Matlab % Singleton Difuso y(1)=-1; Umax=1; Umin=-1; M=7; Dy=(Umax-Umin)/(M-1); i=1; for i=2:7 y(i)=y(i-1)+Dy; i=i+1; end S=ones(1,length(y)); stem(y,S,m,filled,LineWidth,2)
3. Experiencia
Ejercicio # 1
Un estudiante pasea por un gran almac en y observa que en una tienda se est an ofertando art culos de vestir, se acerca y pregunta los precios, tal vez decida comprar alguna prenda. Al revisar los art culos observa que las prendas tienen caracter sticas muy particulares, por lo que lleva al siguiente razonamiento: Si observo una ropa buena y el precio es barato decidir e comprarla Si observo una ropa buena y el precio es caro lo pensare Si observo una ropa defectuosa y el precio es barato lo pensare Si observo una ropa defectuosa y el precio es caro decidir e no comprarla Proceda a construir un sistema FIS con Matlab mediante los pasos que se listan debajo, de modo que solucione el problema el estudiante compra ropa. La soluci on debe dar un reporte real de los procedimientos de compra. M.Sc. Ricardo Rodr guez Bustinza 4
3 EXPERIENCIA
Paso 1
Escriba un programa en Matlab para plotear las funciones pertenencia de entrada/salida del sistema difuso que es mostrado en la Figura 4. El universo de discurso es [0 10] con un paso de 0.1.
Entrada 1 1.2 RopaDefectuosa 1 0.8 0.6 0.4 0.2 0 0 2 4 6 8 10 RopaBuena 1 0.8 0.6 0.4 0.2 0 0 2 4 6 8 10 1.2 Barato Caro Entrada 2
Control [a, c] = [1, 5] [a, c] = [1, 5] [a, c] = [1, 5] [a, c] = [1, 5] [a, c] = [2, 3] [m, ] = [5, 5/3] [a, c] = [2, 7]
% Entrada 1 Observo = (0:0.1:10); RopaBuena = s i g m f ( Observo , [ 1 5 ] ) ; R o p a D e f e c t u o s a = s i g m f ( Observo ,[ 1 5 ] ) ; % Entrada 2 Precio = ( 0 : 0 . 1 : 1 0 ) ; Barato = sigmf ( Precio , [ 1 5 ] ) ; Caro = s i g m f ( P r e c i o ,[ 1 5 ] ) ; % Salida Decision = ( 0 : 0 . 1 : 1 0 ) ; SiCompro = s i g m f ( D e c i s i o n , [ 2 7 ] ) ; LoPienso = gaussmf ( Decision , [ s q r t ( 5 / 3 ) 5 ] ) ; NoCompro = s i g m f ( D e c i s i o n ,[ 2 3 ] ) ;
3 EXPERIENCIA
Paso 2
En este paso se encuentra la toma de decisiones, es decir se debe ingresar las entradas correspondientes, ellas estar an dentro del rango del universo de discurso, de ese modo se proyectaran e intersecar an a las funciones de pertenencia obteniendo as los respectivos grados de pertenencia, a este procedimiento se le conoce como la fuzzycacion. Ingresemos las siguientes l neas de c odigo Matlab para el caso de Ropa Buena y Barata. Observo1 = 10; Precio1 = 1; muRopaBuena = s i g m f ( Observo1 , [ 1 5 ] ) ; m u R o p aD e f e c t u o s a = s i g m f ( Observo1 ,[ 1 5 ] ) ; muBarato = s i g m f ( P r e c i o 1 ,[ 1 5 ] ) ; muCaro = sigmf ( Precio1 , [ 1 5 ] ) ; La base de reglas difusas es: R1 = muRopaBuena muBarato SiCompro ; R2 = muRopaBuena muCaro L o P i e n s o ; R3 = m u R o p a D e f e c t u o s a muBarato L o P i e n s o ; R4 = m u R o p a D e f e c t u o s a muCaro NoCompro ; p l o t ( D e c i s i o n , R1 , r , L i n e W i d t h , 2 ) hold p l o t ( D e c i s i o n , R2 , b , L i n e W i d t h , 2 ) p l o t ( D e c i s i o n , R3 , k , L i n e W i d t h , 2 ) p l o t ( D e c i s i o n , R4 , m , L i n e W i d t h , 2 ) Como es l ogico, la decisi on indica que el estudiante Si Compra la Ropa tal como lo demuestra el resultado de la Figura 5.
1 0.8 0.6 0.4 0.2 0
10
Paso 3
Luego de las activaciones del mecanismo de inferencia de cada regla viene el denominado agregador que viene hacer la uni on de todos los disparos previos de cada regla en el consecuente, de ese modo podemos observar en la Figura 6 el resultado del agregador. Las l neas de c odigo Matlab se listan debajo. Agg = R1 + R2 + R3 + R4 ; p l o t ( D e c i s i o n , Agg , k , L i n e W i d t h , 2 ) ;
3 EXPERIENCIA
10
Paso 4
Finalmente se procede a calcular el centroide que es el resultado de la defuzzicacion y podemos observarlo en la Figura (l nea roja). C e n t r o i d e = sum ( D e c i s i o n . Agg ) / sum ( Agg )
1 0.8 0.6 0.4 0.2 0
10
Figura 7: Mostrando el centroide. Un resumen del listado de la inferencia se muestra a continuaci on: d i s p ( [ Observo1 = , num2str ( Observo1 ) ] ) ; d i s p ( [ muBueno = , n u m 2 s t r ( muRopaBuena ) ] ) ; d i s p ( [ m u D e f e c t u o s o = , n u m 2 s t r ( m u R o p a D e fe c t uo s a ) ] ) ; disp ( [ Precio1 = , num2str ( Precio1 ) ] ) ; d i s p ( [ muBarato = , n u m 2 s t r ( muBarato ) ] ) ; d i s p ( [ muCaro = , n u m 2 s t r ( muCaro ) ] ) ; disp ( [ DecisionComprar = , num2str ( Centroide ) ] ) ; % % Resultados % Observo1 = 10 muBueno = 0.99331 muDefectuoso = 0.0066929 Precio1 = 1 muBarato = 0.98201 muCaro = 0.017986 DecisionComprar = 8.2778
3 EXPERIENCIA
Ejercicio # 2
Repita el procedimiento del ejercicio anterior, esta vez use el programa graco LabVIEW para resolver la inferencia difusa como se muestra en la Figura 8. Considere los datos proporcionados anteriormente y compare los resultados obtenidos. Comente sus resultados.