Ejemplo de control difuso

Anuncio
Tema 4. Ejemplo Control Difuso
IA – Inteligencia Artificial
5o informática
http://ccia.ei.uvigo.es/docencia/IA
enero 2011
– FJRP 2011 ccia IA –
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 sus
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. (parametrizar el ”funcionamiento
numérico”)

mı́nimo + máximo
producto + suma acotada
b) Implementación implicación difusa (→): Mindani, Kleene, Larsen, etc
c) Implementación del modus ponens difuso: max-min
a) Implementación conectivas difusas (∧, ∨ , ¬):
Activación de reglas: normalmente se considerará que una regla difusa se activa si el grado
de verdad de su antecedente es ¿0.
d) Agregación de las salidas de las reglas difusas (OR): máximo, suma acotada,
...
e) Operadores de fuzzyficación (singleton, triangular, ...) y desfuzzyficacion (centro de masas, media máximos, ...)
– FJRP 2011 ccia IA –
1
Ejemplo: control difuso de una calefacción
Descripción: Se pretende controlar la calefacción de un invernadero/edificio/etc a
partir de los parámetros de temperatura y humedad del mismo. La finalidad es
mantener controlada la temperatura e, implicitamente, la humedad.
Se cuenta con un sensor de temperatura con un rango de funcionamiento desde 0o C a 40o C y
una precición de centésimas.
Se cuenta con un sensor de humedad con un rango de funcionamiento entre 0 % y 100 % de
humedad relativa, con una precición de centésimas.
La caldera se puede controlar mediante incrementos/decrementos de temperatura, desde -15 o C a
+15 o C.
(a) Variables de estado
Temperatura
Se asumen 5 etiquetas lingüı́sticas: muy baja (MB), baja(B), normal (N), alta(A),
muy alta(MA)
Humedad
Se asumen 5 etiquetas lingüı́sticas: muy baja (MB), baja(B), normal (N), alta(A),
muy alta(MA)
– FJRP 2011 ccia IA –
2
(b) Variables de control
Variación de temperatura
Se asumen 7 etiquetas lingüı́sticas: bajada grande (BG), bajada normal (BN),
bajada pequeña (BP), mantener (M), subida pequeña (SP), subida normal (SN),
subida grande (SG)
(b) Reglas difusas
Se considera la siguiente FAM (Fuzzy Association Matrix) para la
variable de control Variación de temperatura.
Temp.
MB
B
N
A
MA
– FJRP 2011 ccia IA –
Humedad
MB B
N
A MA
SN SN SG SG SG
M
M SP SP SN
M
M M M BP
M
M BP BP BN
BP BN BN BG BG
3
(c) Parámetros de la inferencia difusa
Se usarán los siguientes operadores:
Conectiva AND (∧): mı́nimo.
Conectiva OR (vee): máximo
Implicación difusa (→): Mamdani
Modus ponens difuso: min-max (composición de conj. difuso con relación difusa)
Agregación de las salidas difusas de las reglas activadas: OR (máximo)
Operador de fuzzyficación: singleton
Operador de desfuzzificación: centro de masas
Nota:
El uso del implicador de Mamdani (fP →Q (x, y) = min{fP (x), fQ (y)}) junto con la
fuzzyficación usando conjuntos singleton simplifica la aplicación del modus ponens difuso.
Para aplicar una regla sobre conjuntos singleton bastará con ”seleccionar” un α-corte
del conjunto difuso vinculado al ”consecuente”.
Para reglas AND: ese α-corte tomará como valor α el menor valor de verdad de la
intersección de los singleton de entrada con los conjuntos difusos vinculados a los
”antecedentes”.
– FJRP 2011 ccia IA –
4
(d) Ejemplo de funcionamiento
Se suponen las siguientes entradas en los sensores del sistema:
Temperatura actual: 19,5 oC
Humedad actual: 65 %
Fuzzyficación (singleton)
El valor singleton ”Temperatura=19,5 o C” se co-
El valor singleton ”Humedad=65 %” se corresponde
rresponde con un grado de verdad 0, 1 para el
con un grado de verdad 0, 5 para el valor difuso
valor difuso Temperatura Baja(B) y con un grado
Humedad Alta(A) y con un grado de verdad 0, 33
de verdad 0, 75 para el valor difuso Temperatura
para el valor difuso Humedad MuyAlta(MA)
Normal(N)
Reglas activadas
Temp
MB
MB
B
N
A
MA
SN
M
M
M
BP
Humedad
B
N
A
SN
M
M
M
BN
SG
SP
M
BP
BN
– FJRP 2011 ccia IA –
SG
SP
M
BP
BG
MA
SG
SN
BP
BN
BG
- IF
THEN
- IF
THEN
- IF
THEN
- IF
THEN
(Temperatura
Variación es
(Temperatura
Variación es
(Temperatura
Variación es
(Temperatura
Variación es
es Baja AND Humedad es Alta)
SubidaPeque~
na
es Baja AND Humedad es MuyAlta)
SubidaNormal
es Nornal AND Humedad es Alta)
Mantener
es Nornal AND Humedad es MuyAlta)
BajadaPeque~
na
5
Modus ponens difuso
– FJRP 2011 ccia IA –
6
Agregación y desfuzzyficación
Variable de control
Salida: bajar la calefacción 2,125 oC
– FJRP 2011 ccia IA –
7
Descargar