Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
Pg. I. II. III. IV. V. VI. VII. VIII. IX. X. XI. XII. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operadores difusos AND y OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Desarrollo del sistema difuso en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reglas del sistema difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evaluacin de regla en el visor de reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Superficie de las reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evaluacin de reglas en una interfaz grfica . . . . . . . . . . . . . . . . . . . . . . . . . . Cdigo de la funcin que evala la calificacin . . . . . . . . . . . . . . . . . . . . . . . . Cdigo de la interfaz grfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diseo de la interfaz grfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5 7 8 10 11 17 18 21 22 25 26
I. Introduccin
Lgica difusa
La comprensin de la mayora de los procesos fsicos estn basados en el razonamiento impreciso humano. Sin embargo, est imprecisin es una forma de informacin que puede ser bastante til. La lgica difusa trata de integrar la capacidad de razonamiento de un experto para el anlisis de problemas complejos que no requieran precisin, tales como disparar un rayo lser sobre decenas de kilmetros en el espacio nanmetro. Pero o enfocar un haz de electrones microscpicos en una muestra del tamao de un no muchos problemas humanos requieren de tal precisin, problemas como
estacionar un auto, conducir un auto entre otros en una autopista, lavar la ropa, controlar el trfico en intersecciones o la compresin preliminar de un sistema complejo. El requerimiento de mayor precisin en los modelos y productos de ingeniera se traducen en altos costos y largos plazos de tiempo en la produccin y desarrollo de los mismos.
Varias fuentes han mostrado y probado que los sistemas difusos son aproximadores universales. Estas pruebas se derivan del isomorfismo entre dos algebras, un algebra abstracta (una que trata con grupos, campos y crculos) y un algebra lineal (una que trata con espacios de vectores, vectores de estado y matrices de transicin); y la estructura de un sistema difuso, la cual comprende una implicacin entre acciones y conclusiones. La razn para este isomorfismo es que ambas entidades (algebra y sistema difuso) envuelve un mapeo entre elementos de dos o ms dominios. Al igual que una funcin algebraica mapea una variable de entrada a una variable de salida, un sistema difuso mapea un grupo de entrada a un grupo de salida; en este ultimo los grupos pueden ser proposiciones lingsticas u otras formas de informacin difusa. Los sistemas difusos son muy tiles en dos contextos generales: (1) en situaciones de sistemas altamente complejos cuyos comportamientos no estn bien comprendidos y (2) en situaciones en que una solucin aproximada, pero rpida, est garantizada. La nocin de un conjunto difuso proporciona un punto de partida conveniente para la construccin de un marco conceptual que se asemeja en muchos aspectos al marco utilizado en el caso de conjuntos ordinarios, pero es ms general el primero que este ltimo y potencialmente, puede llegar a tener un alcance mucho ms amplio de aplicacin particularmente en los mbitos de clasificacin de patrones y procesamiento de informacin. En esencia, tal marco proporciona una forma natural de tratar con 2
problemas en los cuales la fuente de imprecisin es la ausencia de criterios claramente definidos de pertenencia a una clase en lugar de la presencia de variables aleatorias. La nocin de conjunto de pertenencia es fundamental para la representacin de objetos dentro de un universo definido por conjuntos en el universo. Los conjuntos clsicos contienen objetos que satisfacen las propiedades precisas de pertenencia, los conjuntos difusos contienen objetos que satisfacen las propiedades imprecisas de pertenencia, es decir, la pertenencia de un objeto en un conjunto difuso puede ser aproximada. Por ejemplo, el conjunto de alturas de 5 a 7 pies es preciso (ntido), el conjunto de alturas en la regin alrededor de 6 pies es impreciso o difuso. Suponga que se tiene una coleccin exhaustiva de elementos individuales (singletons) x, que conforman un universo de informacin, X. Adems diferentes combinaciones de estos elementos individuales pueden formar conjuntos en el universo, por ejemplo A. Para los conjuntos ntidos, un elemento x en el universo X es un miembro o no de un conjunto ntido A. Este nmero binario de pertenencia se puede representar con la funcin indicador
donde el smbolo
conjunto A, y los smbolos y denotan que pertenece y no pertenece, respectivamente. Para el ejemplo del universo de alturas de personas, suponga que el conjunto A es el conjunto ntido de todas las personas con 5.0 exe 7.0 pies. Un individuo particular, x1, tienen una altura de 6.0 pies. La pertenencia de este individuo en el conjunto ntido a es igual a 1, o pertenencia completa, expresada simblicamente como . Otro individuo, x2, tiene una altura de 4.99 pies. La pertenencia de . En estos casos la
pertenencia en un conjunto es binaria, es decir, que un elemento sea un miembro de un conjunto o no.
a)
b)
Zadeh extendi la nocin de pertenencia binaria para acomodar varios grados de pertenencia en el intervalo continuo [0,1], donde los puntos finales de 0 y 1 conforman la no pertenencia y la pertenencia total, respectivamente, al igual que lo que hace la funcin indicador para los conjuntos ntidos, pero el nmero infinito de valores entre los puntos finales pueden representar varios grados de pertenencia para un elemento x en algn conjunto en el universo. Los conjuntos en el universo X que pueden acomodar grados de pertenencia, fueron definidos por Zadeh como conjuntos difusos. Considere para el ejemplo de alturas un conjunto H de alturas cercanas a 6 pies. Ya que la propiedad cercana a 6 pies es difusa, no hay funcin de pertenencia nica para H. Ms bien, el analista debe decidir a lo que debe de parecer la funcin de pertenencia denotada por ser (1) normalidad . Algunas propiedades de estas funciones podran es ms proxima a 1), ). Tal funcin de
pertenencia se ilustra en la figura anterior inciso b). Una diferencia clave entre los conjuntos ntidos y difusos es su funcin de pertenencia, un conjunto ntido tiene una nica funcin de pertenencia, mientras que un conjunto difuso puede ser representado por un nmero infinito de funciones de pertenencia. Para un conjunto difuso, se sacrifica la unicidad, pero se gana flexibilidad porque la funcin de pertenencia puede ser ajustada para maximizar la utilidad para una aplicacin en particular. La funcin de pertenencia de un conjunto difuso incorpora la representacin matemtica de pertenencia en un conjunto, donde el mapeo funcional est dado por
donde el smbolo
es un valor en el intervalo unitario que mide el grado para el cual el elemento x pertenece al conjunto difuso A; equivalentemente, = grado para el cual x A.
Matriz de Asociacin Difusa (FAM) Calificacin Malo C O N D U C T A Mala Regular Buena Excelente Baja Baja Regular Regular EXAMEN Regular Baja Regular Regular Alta Bueno Regular Regular Alta Excelente Regular Alta Excelente
Excelente Excelente
es malo es malo es malo es malo es regular es regular es regular es regular es bueno es bueno es bueno es bueno
es mala es regular es buena es excelente, es mala es regular es buena es excelente, es mala es regular es buena es excelente, es mala es regular es buena es excelente,
esbaja. esbaja. esregular. esregular. esbaja. esregular. esregular. esalta. esregular. esregular. esalta.
el examen es excelente Y la conducta el examen es excelente Y la conducta el examen es excelente Y la conducta el examen es excelente Y la conducta
ENTONCES la calificacin esexcelente. esregular. ENTONCES la calificacin esalta. ENTONCES la calificacin ENTONCES la calificacin esexcelente. ENTONCES la calificacin esexcelente.
La disyuncin, tambin denominada operacin OR, se define a partirde la unin de conjuntos. En la lgica difusa, se puede evaluar con eloperador mx(mximo).
10
11
12
13
14
15
16
17
18
19
20
alta1 = min(u_altacal,a8); alta2 = min(u_altacal,a11); alta3 = min(u_altacal,a14); excelente1 = min(u_excelentecal,a12); excelente2 = min(u_excelentecal,a15);
21
excelente3 = min(u_excelentecal,a16); %------Agregacin------------s1 = max(baja1,baja2); s2 = max(baja3,regular1); s3 = max(regular2,regular3); s4 = max(regular4,regular5); s5 = max(regular6,regular7); s6 = max(alta1,alta2); s7 = max(alta3,excelente1); s8 = max(excelente2,excelente3); u_total = max(max(max(max(max(max(max(s1,s2),s3),s4),s5),s6),s7),s8); calificacion = trapz(cal,cal.*u_total)/trapz(cal,u_total);
22
ifnargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before Calcali is made visible. functionCalcali_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Calcali (see VARARGIN) % Choose default command line output for Calcali handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes Calcali wait for user response (see UIRESUME) % uiwait(handles.figure1); set(hObject,'Name','Calculadora de calificaciones') set(hObject,'Color',[0.25,0.25,1]) controles = findobj(hObject,'Style','text'); set(controles,'BackgroundColor',[0.25,0.25,1]); x= imread('descartes.png'); axes(handles.axes1) imshow(x)
% --- Outputs from this function are returned to the command line. functionvarargout = Calcali_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on slider movement. functionslider_exam_Callback(hObject, eventdata, handles) % hObject handle to slider_exam (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine range of slider e = get(handles.slider_exam,'Value'); c = get(handles.slider_conducta,'Value'); set(handles.text_examen,'String',num2str(e)) calificacion = calificador(e,c);
23
set(handles.text_calificacion,'String',['Calificacion = ',num2str(calificacion)])
% --- Executes during object creation, after setting all properties. functionslider_exam_CreateFcn(hObject, eventdata, handles) % hObject handle to slider_exam (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. ifisequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end
% --- Executes on slider movement. functionslider_conducta_Callback(hObject, eventdata, handles) % hObject handle to slider_conducta (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine range of slider e = get(handles.slider_exam,'Value'); c = get(handles.slider_conducta,'Value'); set(handles.text_conducta,'String',num2str(c)) calificacion = calificador(e,c); set(handles.text_calificacion,'String',['Calificacion = ',num2str(calificacion)])
% --- Executes during object creation, after setting all properties. functionslider_conducta_CreateFcn(hObject, eventdata, handles) % hObject handle to slider_conducta (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. ifisequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end
% --- Executes on button press in boton_cerrar. functionboton_cerrar_Callback(hObject, eventdata, handles) % hObject handle to boton_cerrar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close(gcbf)
24
25
XII. Conclusin
La lgica clsica nicamente hace referencia a dos conceptos, pertenece o no pertenece, debido a esto, hay ocasiones en que al estudiar un elemento en particular de un conjunto de elementos en determinado intervalo, los elementos del conjunto se deben de dividir en grupos de pertenencia o no pertenencia respecto al elemento en particular, sin importar que loselementos cercanos al lmite inferior o lmite superior fuera del intervalo sean considerados como parte del conjunto. Es por esta razn que la lgica difusa hace su aparicin para considerar a todos aquellos elementos que estn cercanos a ambos lmites fuera del intervalo, ponderando un grado de pertenencia a dichos elementos para determinar al conjunto de elementos al que sern asignados. Para determinar el grado de pertenencia de un elemento con respecto a un conjunto se utilizan las funciones de membresas. Existen varios tipos de estas, pero las ms utilizadas a lo largo de este trabajo son la triangular y la trapezoidal. Una herramienta poderosa para el clculo de estas funciones es el software matemtico Matlab, el cual cuenta con un toolbox de FuzzyLogic. Esta herramienta nos permite desarrollar, analizar y comprender problemas de lgica difusa a travs de Sistemas de Inferencia Difusos (FIS) que se pueden configurar de acuerdo con las necesidades que se planteen. Adems de los FISs se pueden disear formularios o interfaces grficas que nos permiten colocar objetos grficos, tales como botones, cajas de texto, etiquetas e incluso imgenes, esto para presentar un entorno visual personalizado que presente la informacin y acciones disponibles que permita la interaccin con un sistema difuso dado.
26