clase 8. logica difusa.pdf
TRANSCRIPT
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
1 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
1
LOGICA DIFUSA
INTRODUCCION
La primera pregunta que surge sobre lógica difusa o lógica fuzzy es sobre que tan complejo
puede ser realizar un análisis o un desarrollo teniendo como base esta técnica. Pues bien las bases
que fundamentan esta teoría están mas cerca de la manera de razonar de los humanos y de su
forma de expresarse que los mismos sistemas lógicos tradicionales por lo que la han posicionado
como bases de sistemas de control. El medio en el que vivimos esta rodeado de inexactitudes y
no precisamente por que sea inexacto sino que no siempre tenemos las herramientas de
cuantificar y la forma más fácil de dirigirnos a ellos es con adjetivos. Para dar un ejemplo
podríamos recordar la última vez que nos hallan preguntado sobre el clima que se esta viviendo y
la respuesta que hemos brindado no seria diferente a las siguientes:
Calor insoportable. En otros términos seria > 37°C.
Frio Congelante. En otros términos seria <=0°C.
La palabra difusa esta muy bien asignada a esta lógica debido a que su fundamento matemático
trabaja con conjuntos que no tiene limites bien definidos como la mayoría de los fenómenos
naturales que observamos y en lugar de eso asigna grados de pertenecía en conjuntos difusos. Es
decir el cambio de si pertenece o no pertenece a un conjunto se da en forma gradual y se
caracteriza por las funciones de pertenencia que dan flexibilidad a la modelación utilizando
expresiones lingüísticas tales como mucho, poco, leve, severo, escaso, suficiente, caliente, frío,
joven, viejo etc. Llegado este punto es bueno subrayar que las aplicaciones de la lógica borrosa
abarcan, además del control automático, diferentes campos de la ciencia y la técnica, desde la
economía y la biología hasta las ciencias sociales.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
2 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
2
HISTORIA DE LA LÓGICA DIFUSA. Ddurante el siglo XX la lógica revela su mayor importancia pero sus inicios detallan desde hace
2,500 años. Aristóteles aceptaba que existían ciertos grados de veracidad y falsedad yPlatón
consideraba grados de pertenencia. La corriente del pragmatismo fundada a principios de ese
siglo por Charles Sanders Peirce, fue la primera en considerar ''vaguedades'', más que falso o
verdadero, como forma de acercamiento al mundo y al razonamiento humano. [1]
El filósofo y matemático británico Bertrand Russell, a principios del siglo XX, estudió las vaguedades
del lenguaje, concluyendo con precisión que la vaguedad es un grado. El filósofo austríaco
Ludwing Wittgenstein estudió las formas en las que una palabra puede ser empleada para
muchas cosas que tienen algo en común. La primera lógica de vaguedades fue desarrollada en
1920 por el filósofo Jan Lukasiewicz, quien visualizó los conjuntos con posibles grados de
pertenencia con valores de 0 y 1; después los extendió a un número infinito de valores entre 0 y 1
[1].
A principios de los años sesenta, Lotfi Zadeh brillante ingeniero eléctrico iraní nacionalizado en
Estados Unidos, profesor de Ingeniería Eléctrica en la Universidad de California en Berkeley y en
otras prestigiosas universidades norteamericanas, Doctor Honoris Causa de varias instituciones
académicas, enunció las bases teóricas de la Lógica Difusa, que combina los conceptos de la
lógica y de los conjuntos de Lukasiewicz mediante la definición de grados de pertenencia. La
motivación original fue ayudar a manejar aspectos imprecisos del mundo real, creando "un
sistema que proporciona una vía natural para tratar los problemas en los que la fuente de
imprecisión es la ausencia de criterios claramente definidos". La Lógica Difusa permitió el desarrollo
de aplicaciones prácticas. [1]
En En 1971, Zadeh publica el artículo, “Quantitative Fuzzy Semantics”, donde introduce los
elementos formales que acabarían componiendo el cuerpo de la doctrina de la Lógica Difusa y
sus aplicaciones tal como se conocen en la actualidad [1].
Hasta 1973, Zadeh no presenta la teoría básica de los Controladores Difusos. A partir de ésta
publicación, otros investigadores comenzaron a aplicar la Lógica Difusa al control de diversos
procesos, por ejemplo, el británico Ebrahim Mandani, quien en 1974 desarrolla el primer sistema
de control Fuzzy práctico: la regulación de un motor de vapor. [1]
La solución implementada por Mandani introdujo los conceptos necesarios para su aplicación en
áreas industriales. Su aplicación en el área de control nace del fundamento de los operadores
humanos son capaces de efectuar en muchos casos un control mas efectivo que los
controladores automáticos tradicionales, porque están capacitados para tomar decisiones
correctas sobre la base de información lingüística imprecisa. [1]
En 1978 comienza la publicación de la revista Fuzzy Sets and Systems, dedicada, con uno o dos
números mensuales, al apoyo y desarrollo de la teoría de los conjuntos y sistemas difusos y sus
aplicaciones. Esta revista es publicada por la IFSA (the International Fuzzy Systems Association) [1],
[2].
También se puede resaltar en 1980 el desarrollo del primer sistema de control difuso comercial, al
aplicar esta técnica al control de hornos rotativos en una cementera, desarrollada por los
ingenieros daneses Lauritz Peter Holmbland y Jens-Jurgen Ostergaard.[1]
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
3 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
3
Los occidentales asumieron una actitud reacia principalmente por dos razones: la primera era
porque la palabra “Fuzzy” sugería algo confuso y sin forma, y la segunda porque no había forma
de probar analíticamente que la teoría funcionaba correctamente, ya que el control fuzzy no
estaba basado en modelos matemáticos.[1]
Sin embargo, aparecen toda una serie de investigadores japoneses en el campo de la Lógica
Difusa tales como Sugeno, Togai, Bart Kosko (el fuzzsensei ), entre otros.
En 1987, se inaugura en Japón el subterraneo de Sendai, uno de los más espectaculares sistemas
de control difuso creados por el hombre. Desde entonces el controlador inteligente ha mantenido
los trenes rodando eficientemente. [1]
DEFINICIONES BÁSICAS
Sea pues U un conjunto clásico de objetos, cuyos elementos genéricos se representan como x. La
pertenencia a un sub-conjunto A de U podría verse como una cierta función característica µA de
U {0,1} tal que ( ) ( )
Esto lo que quiere decir que el objeto x pertenece o no pertenece al sub-conjunto A.A {0,1} se le
conoce como conjunto de evaluación.
En la lógica borrosa este conjunto se transforma en el intervalo real [0,1] y a A se le denomina
conjunto borroso (estrictamente hablando, se trata de un sub-conjunto), ( ) es el grado de
pertenencia de x a A. Mientras más cercano a 1 sea el valor de ( ) mayor será esa pertenencia.
Así A resulta ser un sub-conjunto de U.
Entonces, A puede definirse como conjunto de pares ordenados
{( ( )) }
Al igual que para los conjuntos convencionales, están definidas las operaciones de unión e
intersección, que se emplean con mucha frecuencia en control borroso. Recordemos estas
operaciones en conjuntos convencionales.
Unión
Si A y B son conjuntos entonces la unión de A y B, que denotamos A ∪ B es el conjunto formado
por los elementos que pertenecen a A o pertenecen a B. Es decir:
∪ { }
Ilustración 1. Operación Unión Conjunto Convencionales.
A B A U B A U B
1 1 1 max(1,1)=1
1 0 1 max(1,0)=1
0 1 1 max(0,1)=1
0 0 0 max(0,0)=0
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
4 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
4
Supongamos los conjuntos:
A=[1,2,3,4 ]
B =[5,6,7,8] ∪
Intersección Si A y B son conjuntos entonces la intersección de A y B, que denotamos A ∩ B, es el conjunto
formado por los elementos que pertenecen a A y simultáneamente pertenecen a B. Es decir: { }
Ilustración 2 Operación Intersección.
Supongamos los conjuntos:
A=[1,2,3,4,5 ]
B =[4,5,6,7,8]
Complemento. El complemento del conjunto A con respecto al conjunto universal U es el conjunto de todos los
elementos de U que no están en A y se denota como A’ Es decir:
{ | }
Ilustración 3 Operación Complemento.
Supongamos los conjuntos:
U=[0,1,2,3,4,5,6,7,8,9]
A=[1,2,3,4,5 ]
A’=[0,6,7,8,9]
A B
1 1 1 min(1,1)=1
1 0 0 min(1,0)=0
0 1 0 min(0,1)=0
0 0 0 min(0,0)=0
BA BA
A Comp(A)
1 0
0 1
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
5 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
5
Conjuntos Difusos La Lógica Difusa es una lógica que brinda una extensión a la Lógica Clásica, que como vimos
pone únicamente, valores de falso o verdadero. Aunque la Lógica Clásica ha modelado una gran
parte del razonamiento “natural”, también es cierto que el razonamiento humano utiliza valores
de verdad que no necesariamente son “deterministas”.
Planteemos las siguientes preguntas:
Qué significa la teoría difusa y el porqué del termino difuso?
Frases como: "Nos vemos luego", "no me siento muy bien", son expresiones difusas, decimos que
son difusas porque la difusificación surge de las diferentes interpretaciones que damos a "luego",
"muy bien". Por ejemplo "luego", para el análisis de fenómenos rápidos en ingeniería puede ser del
orden de nanosegundos, pero en procesos de criogenia del orden de años. Como se puede
observar la magnitud del orden es relativa, por lo tanto si se emplea una unidad difusa (fuzzy), hay
que tener bien claro el contexto donde se esta utilizando para así encontrar un punto de
referencia y una unidad de medida.
Conjunto Difuso: Es un conjunto que puede contener elementos con grados parciales de
pertenencia, a diferencia de los Conjuntos Clásicos (Crisp Sets) en los que los elementos pueden
solamente "pertenecer" ó "No Pertenecer" a dichos conjuntos.
Ejemplo:
Intentemos construir un conjunto B en el conjunto clásico para luego definir el conjunto Difuso.
Sea B = {conjunto de la gente joven}.
Un intento para construir este conjunto es definir un intervalo en años (conjunto clásico) de la
siguiente manera:
B = [0 , 20 ] = { x | 0 x 20 }
El grado de pertenencia de este conjunto estaría definido por 0 o 1 si es joven o no es joven.
Ilustración 4 Conjunto Clásico Joven.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
6 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
6
Los problemas que acarrea esta definición es que una persona sería joven hasta el día de su
cumpleaños número 20, pero al siguiente día ya no lo sería. Ahora, si cambiamos el límite superior
del intervalo y creamos unas clasificaciones nuevas el problema persistiría. E problema es que la
lógica clásica tiene ya definido su valor del umbral. Por ejemplo en la lógica binaria o booleana,
existen dos valores de verdad (o de umbral): verdadero ó falso, 1 ó 0, sí ó no.
Una forma más natural de construir el conjunto B, es eliminando esa estricta separación entre ser
joven y no serlo, admitiendo grados de pertenencia intermedios entre [0] y [1]. A diferencia de la
lógica clásica, la lógica difusa no tiene bien definidos sus umbrales de decisión por lo que
podemos expresar los valores de umbral como un rango de valores"0 a .4", "0.2 a 0.8", "0.6 a 1".
Función de Pertenencia o Membership Function (MF):
Es una curva que determina el grado de pertenencia de los elementos de un conjunto. Se denota
generalmente por m y puede adoptar valores entre 0 y 1. La función de pertenencia que
describe el conjunto B que estamos tratando en el ejemplo anterior sería la siguiente:
Ilustración 5 Conjunto Difuso Joven.
Funciones de Pertenencia Típicas Función Singlenton:
Sea a un punto del universo, la Función Singlenton (solitaria) es aquella que toma valor 1 solo en a
y 0 en cualquier otro punto.
( ) {
}
Ilustración 6 Función Singlenton.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
7 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
7
Función Triangular Definido por sus límites (inferior a y superior b), y el valor modal m, tal que a<m<b.
( ) {
( ) ( ) ( ( ) ( ) (
}
Ilustración 7 Función Triangular.
Función G (gamma):
Esta función se caracteriza por un rápido crecimiento a partir de a. Cuanto mayor es el valor de k,
el crecimiento es más rápido aún. Nunca toman el valor 1, aunque tienen una asíntota horizontal
en 1.
Definida por su límite inferior a y el valor k>0.
( ) {
( ) }
Ilustración 8 Función Gamma.
Se aproximan linealmente por:
( ) {
( ) ( ) ( )
}
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
8 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
8
Función Gaussiana: Definida por su valor medio m y el valor k>0. Es la típica campana de Gauss. Cuanto mayor es k,
más estrecha es la campana.
( ) ( )
Ilustración 9. Función Gaussiana.
Función Trapezoidal: Definida por sus límites inferior a y superior d, y los límites de su soporte, b y c, inferior y superior
respectivamente.
La función Trapezoidal se adapta bastante bien a la definición de cualquier concepto, con la
ventaja de su fácil definición, representación y simplicidad de cálculos.
( ) {
( ) ( ) (
(
( ) ( ) ( )
}
Ilustración 10. Función Trapezoidal.
Función Pseudo-Exponencial Definida por su valor medio m y el valor k>1. Cuanto mayor es el valor de k, el crecimiento es más
rápido aún y la “campana” es más estrecha.
( )
( )
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
9 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
9
Ilustración 11. Función Pseudo-Exponencial.
Función Trapecio Extendido: Definida por los cuatro valores de un trapecio [a, b, c, d], y una lista de puntos entre a y b, o entre
c y d, con su valor de pertenencia asociado a cada uno de esos puntos.
Ilustración 12. Función Trapecio Extendido:
En casos particulares, el Trapecio Extendido puede ser de gran utilidad. Éste permite gran
expresividad aumentando su complejidad.
Operaciones Conjuntos Difusos
La primera definición, conocida como mín-máx, fue formulada por Zadeh. La extensión natural
para las operaciones está dada por:
Unión difusa standard
)(),(max)( xBxAxBA
Intersección difusa standard
)(),(min)( xBxAxBA
Complemento difuso standard
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
10 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
10
)(1)( xAxAComp
Pueden usarse los gráficos de las funciones de pertenencia para visualizar las operaciones más
anteriormente definidas.
Ilustración 13 Diagramas de Venn aplicados a la lógica borrosa
Ejemplo
Sean los conjuntos difusos A y B que se muestran en la ilustración 7. Definir La intersección entre A
y B, La unión entre A y B, El complemento del conjunto A.
Ilustración 14 Conjuntos Difusos.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
11 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
11
Desarrollo
La intersección entre A y B se define de la siguiente manera:
)(),(min)( xBxAxBA
Ilustración 15. Intersección entre A y B.
La unión entre A y B se define de la siguiente manera:
)(),(max)( xBxAxBA
El complemento de un conjunto se define como sigue:
)(1)( xAxAComp
Variable Lingüística
Por último introduciremos la definición de variable lingüística. Como su nombre lo indica, es una
variable cuyos valores son palabras o sentencias en un lenguaje natural o sintético. Por ejemplo, la
velocidad de un coche, "Velocidad" es una variable lingüística si sus valores son "alta", "no alta",
"baja", "no baja", "muy baja", y así sucesivamente.
Una variable lingüística está caracterizada de la siguiente forma (x,T(x),U,G,M), en el que
x: nombre de variable,
T(x): conjunto de valores lingüísticos (atributos, adjetivos) de x,
U: universo de discurso,
G: regla sintáctica para generar los nombres de x,
M: regla semántica para asociar cada valor a su significado.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
12 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
12
Por ejemplo ilustración 9 si la temperatura es interpretada como una variable lingüística x,
entonces su conjunto de valores lingüísticos, es decir la partición de su universo, se elegirá entre:
baja, moderada, media, alta, muy alta, etc. Una opción seria:
T(temperatura)= T(x)= {baja, media, alta}
Ilustración 16 Variable lingüística temperatura
El universo de discurso sería un conjunto convencional que abarca la gama completa de valores
que en el caso dado puede asumir la temperatura, digamos,
U= [ 100°C, 500°C ]
Interpretaríamos como "baja" una "temperatura por debajo de alrededor de 250°C" y "alta" "por
encima de alrededor de 350°C". Distinguiendo las reglas
G={ Por debajo de, . . . .}
y
M= { Alrededor de 250°C, . . . . .}
Interpretaríamos como "baja" una "temperatura por debajo de alrededor de 250°C" y "alta" "por
encima de alrededor de 350°C". Distinguiendo las reglas
EL CONTROLADOR LÓGICO BORROSO
El diseño de un regulador se basa en un análisis del proceso y una vez que se posee un modelo
matemático de éste, todas las decisiones se calculan usando algoritmos estrictamente numéricos.
Es natural pensar que obtener un modelo matemático es una tarea difícil y depende
directamente de la complejidad del proceso. Por otra parte, existe un número de procesos difíciles
de controlar automáticamente que nos dificultan obtener el modelo matemático pero para lo
cual operadores humanos realizan excelente control. Saber que existe un buen conocimiento
200 300 400100 o
1
0
0.5
BAJA MEDIA ALTA
500 [ C]
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
13 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
13
estrictamente proveniente de la experticia y junto con las herramientas que nos ofrece la teoría de
conjuntos borrosos unidos con medios de cómputo promovió la investigación sobre estrategias
de control para estos procesos empleando las mismas reglas de control que aplican estos
operadores para convertirla en técnicas de control automático. El controlado lógico borroso se
basaría entonces en el modelo lingüístico de la estrategia del operador humano programa
basado en reglas [3]
La regla comúnmente tiene la siguiente forma:
SI [precedencia] ENTONCES [consecuencia]
SI [Temperatura en Baja] ENTONCES [Subida pequeña]
La precedencia refleja el estado (la salida) del proceso, mediante variables lingüísticas como las
antes definidas. La consecuencia representa las acciones de control (variables manipuladas,
entradas) también lingüísticas que se les hacen corresponder por el experto. De modo que la
precedencia sería de la forma:
SI [Variable de Estado 1] ES [Conjunto Borroso] Y [Variable de Estado 2] ES [Conjunto
Borroso] ENTONCES [Variable de Acción] ES [Conjunto Borroso]
Ejemplo:
SI [presión] ES [alta] Y [temperatura] ES [muy alta] ENTONCES [flujo de petróleo] ES
[disminuir]
Del conocimiento del operador sale un conjunto de reglas como las anteriores y la teoría de
conjuntos borrosos provee la matemática necesaria como para convertirlas en algoritmo. Así, la
configuración básica de un CLB (Control Lógico Difuso) puede representarse como se muestra en
la Ilustración 17.[3]
Ilustración 17. Diagrama en bloques del lazo con regulador borroso.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
14 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
14
El emborronado o fuzzificador representado consiste en la medición de las variables de entrada al
regulador, eventual normalización de los valores de dichas variables y su conversión a valores
lingüísticos que puedan ser vistos como de conjuntos difusos, los que se definirían como
A = {µA(x),x}
La variable de acción también se define en conjuntos borrosos:
B = {µB(u),u}
La base de conocimientos o base de reglas comprende el conocimiento de la aplicación y las
metas de control del operador, dadas por un conjunto de reglas (implicaciones) como las vistas
anteriormente
SI [Variable de Estado 1] ES [Conjunto Borroso] Y [Variable de Estado 2] ES [Conjunto
Borroso] ENTONCES [Variable de Acción] ES [Conjunto Borroso]
La lógica de toma de decisiones es la columna del regulador borroso. Tiene la capacidad
de simular la toma de decisiones humana basada en conceptos borrosos y de inferir acciones de
control borrosas empleando implicaciones borrosas y las reglas de inferencia de la lógica borrosa.
Estas tareas se resuelven utilizando las operaciones lógicas de unión e intersección, de forma tal
que la evaluación de una regla vendrá dada por:
Ai
A A A Ai i im ijj
m
1 2
1
Donde Aij es uno de los mj posibles conjuntos borrosos correspondientes a la variable de estado xj.
Luego, la acción de control borrosa se determina a partir de la operación de unión
S Si
i
p
1
La acción sobre el proceso exige que el regulador brinde a su salida una magnitud dada, no
borrosa, por ejemplo: una tensión o una presión neumática dada, por lo que es necesario realizar
una operación de defuzificacion.
Fuzzificación
Si bien el operador humano procesa cualitativamente el estado (la salida) del proceso, lo cierto es
que objetivamente cada variable tiene un valor (determinista) dado y tales valores son los que
ingresan al controlador lógico borroso. Por ejemplo, uno de los elementos de medición, digamos
un termómetro, "informa" al CLB de que la temperatura =280°C, y la primera tarea del CLB es
traducir este valor en términos de la variable lingüística temperatura. Eso podría significar que, en
ese instante, la temperatura, en lugar de ser 280°C, sea "0.2 baja" y "0.8 media" (además de ser "0
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
15 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
15
alta"). Esto, claro está, si la partición del universo de las temperaturas se toma como se esta
mencionando. Salta a la vista la importancia de la selección del número de conjuntos en que se
parte el universo, así como la forma de las funciones de pertenencia.
La creación del algoritmo se fundamenta en descripciones verbales de los operadores acerca de
su actuación en el manejo del proceso y resulta evidente que el número de conjuntos borrosos
elegido en un universo tiene una esencia fuertemente subjetiva o relativa al individuo. No sería
extraño que, para un mismo proceso, un operador considere que la variable lingüística tenga, 3
particiones cualitativas y otro considere que son 5 y ¡ambos dirijan "satisfactoriamente" el proceso!.
De manera similar se realiza para la defuzificacion.
Base de conocimiento o Base de Reglas Se definen en este bloque funcional los datos e informaciones suministrados al CLB, que permitan
el procesamiento matemático de las variables medidas del proceso a fin de generar las acciones
de control. Entre éstos están, por supuesto, los mencionados más arriba sobre las variables
lingüísticas que ingresan al CLB.
Tareas típicas en el diseño de sistemas basados en lógica difusa 1. Identificar las variables del dominio:
Variables "de estado": describen las entradas del sistema.
Variables "de control": describen las salidas del sistema.
2. Identificar los términos lingüísticos vinculados a cada variable y su respectiva definición.
Definir las "particiones difusas" de cada variable (etiquetas lingüísticas).
Definir las funciones grado de verdad asociadas a cada etiquetas lingüísticas.
Habitualmente se pretenderá que las particiones definidas "cubran" la totalidad del
espacio de valores de las distintas variables
Es recomendable que exista solapamiento.
3. Construir las reglas difusas que correspondan. (Crear la representación simbólica).
Habitualmente se hace uso de las FAM (Fuzzy Association Matrix).
Se crea una FAM para cada variable "de control", vinculando las posibles combinaciones
de las variables "de estado" (antecedente) con una de sus etiquetas lingüísticas
(consecuente).
4. Seleccionar la implementación y los parámetros de los operadores difusos a utilizar. (parame
trizar el "funcionamiento numérico") y generar su correspondiente salida.
Ejemplo de cálculo de la acción borrosa de un CLB.
Consideremos un proceso cuya operación esta dada por las variables lingüísticas presión y
temperatura y una variable de acción representada por la apertura de una válvula de control.
Como primer paso fijaremos la base de conocimiento del CLB. La variable presión tiene un
universo de [0,10] HPa y 3 particiones según lo representado en la Ilustración 18.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
16 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
16
Ilustración 18. Representación Variable Presión.
De modo similar, las temperaturas pueden moverse en una gama de 50-200°C, con particiones
según la figura 8. Para la válvula de control, la apertura y cierre en porciento 100-0-100, respecto a
la posición dada (valor incremental) se representa como variable lingüística según la Ilustración 19.
Ilustración 19. Representación Variable Temperatura.
Para la válvula de control, la apertura y cierre en porciento 100-0-100, respecto a la posición dada
(valor incremental) se representa como variable lingüística según la Ilustración 20.
Ilustración 20. Representación Variable Válvula.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
17 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
17
La base de reglas puede llegar a ser 9 por la combinación de las tres variables de temperatura y
tres de la variable presión. A continuación se enuncian:
Tabla 1 Base de Reglas
Regla Base de Reglas
1 SI p es baja Y es baja ENTONCES u es abrir
2 SI p es media Y es baja ENTONCES u es abrir
3 SI p es alta Y es baja ENTONCES u es no operar
4 SI p es baja Y es media ENTONCES u es abrir
5 SI p es media Y es media ENTONCES u es no operar
6 SI p es alta Y es media ENTONCES u es cerrar
7 SI p es baja Y es alta ENTONCES u es no operar
8 SI p es media Y es alta ENTONCES u es cerrar
9 SI p es alta Y es alta ENTONCES u es cerrar
Definida la base de conocimiento consideramos un estado del proceso representado por:
p= 7,5 HPa ; = 160°C
Tras el emborronado quedarían,
p: 0.45 alta y 0.22 media
: 0.42 alta y 0.3 media
Procedemos a ver cuales reglas se cumplen y cuales no:
Regla Base de Reglas Verificación Reglas
1 SI p es baja Y es baja ENTONCES u es abrir DESACTIVADA
2 SI p es media Y es baja ENTONCES u es abrir DESACTIVADA
3 SI p es alta Y es baja ENTONCES u es no operar DESACTIVADA
4 SI p es baja Y es media ENTONCES u es abrir DESACTIVADA
5 SI p es media Y es media ENTONCES u es no operar ACTIVADA
6 SI p es alta Y es media ENTONCES u es cerrar ACTIVADA
7 SI p es baja Y es alta ENTONCES u es no operar DESACTIVADA
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
18 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
18
8 SI p es media Y es alta ENTONCES u es cerrar ACTIVADA
9 SI p es alta Y es alta ENTONCES u es cerrar ACTIVADA
Supongamos que utilizamos la intersección (mínimo) para los antecedentes del producto
Cartesiano Ai
A5: mín {0.22,0.3}= 0.3
A6: mín {0.45,0.3}= 0.3
A8: mín {0.22,0.42}= 0.22
A9: mín {0.45,0.42}= 0.42
El resultado de aplicar igual operación para el producto Cartesiano Ri= Ai x Bi y la unión (sup-mín)
se muestra en la figura 11.
Si en lugar de la intersección usáramos el producto algébrico tendríamos.
A5: 0.670.5= 0.33
A6: 0.330.5= 0.17
A8: 0.670.5= 0.33
A9: 0.330.5= 0.17
Ejercicio Propuesto
Se pretende controlar la calefacción de un recinto o espacio a partir de los parámetros de
temperatura y humedad del mismo. La finalidad es mantener controlada la temperatura e,
implícitamente, la humedad.
Se cuenta con un sensor de temperatura con un rango de funcionamiento desde 0°C a 40°C.
Se cuenta con un sensor de humedad con un rango de funcionamiento entre 0% y 100% de
humedad relativa.
El calefactor se puede controlar mediante incrementos/decrementos de temperatura, desde -
15°C a +15°C.
[email protected] [email protected]
Facultad de Ingenierías y Arquitectura
Ingeniería Mecatrónica
Docente Ms(c) Cristhian Ivan Riaño Jaimes
UNIVERSIDAD DE PAMPLONA
19 de 19
PROGRAMACIÓN MECATRÓNICA
Lógica Difusa
18 de Marzo 2013
19
Bibliografía.
[1] “La lógica difusa. Características y aplicaciones ”Ing. Ailén Sabadí Hernández
Universidad de las Ciencias Informáticas. Ciudad de la Habana. Cuba.
[2]http://www.ucm.es/info/eurotheo/diccionario/S/sistemas_difusos.htm, “Sistemas
difusos”, Julián Velarde Lombraña, Universidad de Oviedo.
[3] Control Inteligente DR. Faustino Muñoz.
Matlab Aplicado a Robótica y Mecatrónica Fernando Reyes Cortes
http://es.wikipedia.org/wiki/MATLAB .
Braspenning, P., Thuijsman, F. and Weijters A. (eds), “Artificial Neural Networks”,1995
Winston, Henry P.,”Inteligencia Artificial”, Addison Welsley, 1994
Rich, E. and Knight K. “Inteligencia Artficial”, McGraw Hill, 1997
Delgado Alberto, “Inteligencia Artificial y Minirobots”, ECOC Ediciones, 1998
EBESCO Publishing