62
Lógica Difusa Lic. Andrea V. Manna Departamento de Computación Facultad de Ciencias Exactas y Naturales U.B.A. Grupo de Investigación en Agentes y Sistemas Inteligentes C.A.E.T.I. UAI

Lógica Difusa - UpperSoft · diseñada por la Universidad de Kumamoto, en Yamakawa, Japón. Lic. Andrea V. Manna 4 Introducción - Aplicaciones ... Lógica Clásica vs. Lógica Difusa

Embed Size (px)

Citation preview

Lógica Difusa

Lic. Andrea V. Manna Departamento de Computación

Facultad de Ciencias Exactas y Naturales – U.B.A.

Grupo de Investigación en Agentes y Sistemas Inteligentes

C.A.E.T.I. UAI

Lic. Andrea V. Manna 2

Introducción - Definiciones

Lógica: Ciencia que establece las normas de los

principios formales del razonamiento

Lógica Difusa: Establece las normas de los

principios formales del razonamiento aproximado,

con el razonamiento preciso como caso límite.

Lic. Andrea V. Manna 3

Introducción - Orígenes

1965 – Lofti Zadeh – Universidad de California

1974 – Primera implementación, aplicada a control automático de procesos

En Japón se utiliza, por ej, en control de vehículos, robótica, reconocimiento del habla

1985 – Se fabrica el primer chip lógico y actualmente existe una computadora difusa diseñada por la Universidad de Kumamoto, en Yamakawa, Japón.

Lic. Andrea V. Manna 4

Introducción - Aplicaciones

Control de procesos industriales

Construcción de artefactos electrónicos, de uso

doméstico

Dispositivos artificiales de deducción automática

Finanzas

Control de vehículos

Robótica

Lic. Andrea V. Manna 5

Introducción - Concepto

A diferencia de la lógica clásica, modela los modos

imprecisos de razonamiento, que juegan un papel

esencial en la habilidad humana para tomar decisiones

razonables en un entorno de incertidumbre

Esta habilidad depende de

nuestra habilidad de inferir

una respuesta aproximada a

una pregunta que está basada

en conocimiento inexacto o

incompleto

Lic. Andrea V. Manna 6

Introducción - Características

Extiende a las lógicas clásicas. Son lógicas

multivaluadas

Procuran crear aproximaciones matemáticas en

la resolución de ciertos problemas

Pretenden producir resultados exactos a partir

de datos imprecisos

Incertidumbre, difusidad

Lic. Andrea V. Manna 7

Introducción - Características

No determinismo desconocido

El mayor poder expresivo de la lógica difusa es

que no sólo contiene como casos especiales a la

lógica clásica de dos valores, sino también a la

lógica probabilística.

Lic. Andrea V. Manna 8

Introducción - Ejemplos

En general, el razonamiento humano no es tan

determinista:

El auto se mueve rápido.

José es más alto que sus amigos.

¿Qué tan rápido?, ¿qué tan alto?

Lic. Andrea V. Manna 9

Lógica Clásica vs. Lógica Difusa

Lógica Clásica:

No hay forma de representar las imprecisiones del

lenguaje natural

Sólo utiliza dos valores de verdad: verdadero y falso

Existen proposiciones de entrada y de salida

Lógica Difusa:

Asigna otros valores de verdad además de los clásicos.

Se trata de grados de veracidad/falsedad más amplios

Se describen los grados de veracidad de las

proposiciones de salida en términos de las de entrada.

Lic. Andrea V. Manna 10

Lógica Clásica vs. Lógica Difusa

Logica clásica Lógica Difusa

Una propiedad p tiene dos

valores: verdadero o falso

Puede haber otros valores. Los cjtos.

pueden ser finitos o infinitos

Predicados deben ser subconj.

no difusos del Universo

Puede haber predicados difusos (“alto”)

y no difusos (“mortal”)

Permiten sólo 2 cuantificadores:

todos y algunos

Permiten otros tales como “pocos”,

“muchos”, “frecuentemente”, etc

Variables lingüisticas: “viejo” ó “joven”

para la variable “edad”

Lic. Andrea V. Manna 11

Conjuntos difusos - Definición

Conjunto: Colección bien definida de

elementos, donde se puede determinar para

cualquier objeto del universo, si pertenece o no

al conjunto.

Conjunto Difuso: A cada elemento del universo

se le asocia un grado de pertenencia (un

número entre 0 y 1) a ese conjunto.

Lic. Andrea V. Manna 12

* *

* *

* * * *

*

* * *

Conjuntos difusos - Definición

0,1

g

Lic. Andrea V. Manna 13

Conjuntos difusos - Ejemplos

Consideremos estudiantes universitarios

entre 18 y 40 años.

Queremos saber el conjunto de personas

con estudios universitarios incompletos

en el año 2003

¿Consideramos a quienes sólo dieron el examen de ingreso?

¿Y si cursaron un día?¿Y si les falta un examen?

Lic. Andrea V. Manna 14

Conjuntos difusos - Ejemplos

Consideramos si aprobó al menos una materia

Para una persona x, tomamos m(x), como la cantidad de materias aprobadas. Entonces tendremos:

1 si m(x)>=1

fe(x)=

0 si m(x)=0

Lic. Andrea V. Manna 15

Conjuntos difusos - Ejemplos

Consideramos la proporción de aprobación

Si suponemos que en la carrera hay 40 materias

en total, entonces podemos tomar:

fp(x)= m(x)/40

Lic. Andrea V. Manna 16

Conjuntos difusos - Ejemplos

Consideramos la proporción de aprobación más

el tiempo que lleva de estudios.

Si suponemos que en la carrera hay 40 materias

en total y que normalmente tomaría 5 años

terminar los estudios, entonces podemos tomar

el mínimo entre 1 y la siguiente función:

fat(x)= m(x)/40 + t(x)/5

Lic. Andrea V. Manna 17

Conjuntos difusos – Grado de Pertenencia

El grado de pertenencia g a un conjunto difuso D,

puede interpretarse de diferentes maneras, en

diferentes contextos:

Proporción en la que se posee D (siendo D un

atributo): 100*g(x)

Probabilidad de que x ocurra en D (siendo D un

evento probabilístico): Prob(x ε D)

Grado con el que se cree que x posee el atributo D

Lic. Andrea V. Manna 18

Conjuntos difusos – Proporciones

Complemento: El complemento de un conjunto difuso D asigna a x el grado complementario:

1-g(x)

Intersección: La intersección de dos conjuntos difusos D1 y D2 asocia el mínimo de los grados de pertenencia, es decir, para cada x:

I=Min(gD1 ∩ gD2)

Unión: La unión de dos conjuntos difusos D1 y D2 asocia el máximo de los grados de pertenencia, es decir, para cada x: U=Max(gD1 U gD2)

Lic. Andrea V. Manna 19

Conjuntos difusos – Probabilidad

Complemento: La probabilidad del complemento de un conjunto difuso D, es la probabilidad complementaria: gC(x) = 1 - gD(x)

Intersección: Ocurrencia simultánea de dos eventos: ligada a Probabilidad condicional.

Prob(A/B)Prob(B)=Prob(B/A)Prob(A) T.Bayes

Densidad de prob. Condicional: funcion d(A/B) tal que a cada objeto x le asocia un valor d(A/B)(x) tal que

d(A/B)(x)gB(x)= d(B/A)(x)gA(x)

Dados D1 y D2 conjuntos difusos, el grado de pertenencia a la intersección es: gD1∩D2(x)=d(D1

/ D2)(x)gD2(x)

Unión: La probabilidad de que ocurra uno u otro evento es: gD1UD2(x)= gD1(x) + gD2(x) - gD1∩D2(x)

Lic. Andrea V. Manna 20

Conjuntos difusos – Medidas de Creencia

Complemento: Idem anterior: gC(x) = 1 - gD(x)

Intersección:Dados D1 y D2 conjuntos difusos y gD1(x) y gD2(x) sus grados de pertenencia, se define a la intersección como:

0 si gD1(x) + gD2(x) < 1

gD1∩D2(x)=

gD1(x) + gD2(x) – 1 si gD1(x) + gD2(x) ≥ 1

max(gD1(x),gD2(x))

Unión: Dadas las condiciones anteriores, se define como:

1 si gD1(x) + gD2(x) > 1

gD1UD2(x)=

max gD1(x) , gD2(x) si gD1(x) + gD2(x) ≤ 1

(1-gD2(x)) (1-gD1(x))

Lic. Andrea V. Manna 21

Conjuntos Definibles - Definición

A partir de las operaciones vistas, se forman conjuntos difusos más complejos, por aplicación sucesiva de estos operadores, partiendo de un conjunto difuso primitivo.

Dados D1,....., Dn conjuntos difusos primitivos, la clase de conjuntos definibles son los que surgen de las siguientes reglas:

Todo conjunto primitivo es definible

El complemento de todo conjunto definible, es también definible

La unión y la intersección de dos conjuntos definibles, son también conjuntos definibles.

Lic. Andrea V. Manna 22

Conjuntos Definibles - Ejemplos

Por ejemplo, dados A1 y A2 conjuntos difusos primitivos, los siguientes conjuntos son definibles:

A1U Ā2

(A1∩ Ā2 ) ∩ A1

(Ā1∩ Ā2) U (A1 ∩ A2)

Ā1

Lic. Andrea V. Manna 23

Conjuntos Definibles - Características

Notación:

f(D1,.....,Dn) es un conjunto definible

gf(D1,....., Dn)(x) es la función que a cada x del universo le asocia un grado de pertenencia al conjunto definible. Dicha función g puede verse como la composición de los grados de pertenencia de los conjuntos primitivos

Lic. Andrea V. Manna 24

Conjuntos Definibles - Problemas

Problema 1:

Para un conjunto definible f(D1,....., Dn)

y un objeto x, si se sabe que el grado de

pertenencia gDi(x) cae dentro del

intervalo [ai, bi], entonces se puede

estimar el intervalo I donde cae el grado

de pertenencia gf(D1,....., Dn)(x)

El grado de pertenencia de x se obtiene por aplicación

sucesiva de las operaciones de complemento, unión e

intersección sobre los conjuntos involucrados.

A este tipo de problemas, se los conoce como problemas

de deducción o pronósticos

Lic. Andrea V. Manna 25

Conjuntos Definibles - Problemas

Problema 2:

Para un conjunto definible f(D1,....., Dn) y un objeto x,

si se sabe que el grado de pertenencia gf(D1,....., Dn)(x)

cae en el intervalo I, y que para algunos conjuntos

primitivos Dk, Dk+1.....,Dn, sus grados de pertenencia

gDi(x) caen en intervalos [ai, bi] con i=k,..,n, entonces

se puede estimar para los otros índices i=1,..k-1, en

qué intervalos [ai, bi] deberían caer sus grados de

pertenencia gDi(x)

Conociendo los valores finales gf(D1,....., Dn)(x) y algunos iniciales gDi(x), y

aplicando funciones de complemento, unión e intersección, se intenta

determinar los valores que debieron asumir el resto de los grados de

pertenencia iniciales para llegar a los valores finales. A este tipo de

problemas, se los conoce como problemas de diagnósticos

Lic. Andrea V. Manna 26

Conjuntos Definibles - Problemas

Al primero de los problemas vistos, se lo conoce como

problema de deducción y al segundo de los problemas,

como problema de inferencia

Lic. Andrea V. Manna 27

Reglas Básicas de Inferencia

Reglas categóricas: No poseen cuantificadores

lógicos

Reglas disposicionales: Una o más premisas

pueden contener, explícita o implícitamente, el

cuantificador difuso “usualmente”

Lic. Andrea V. Manna 28

Reglas Básicas de Inferencia

Principio de vinculación

X is A

A B

X is B

X variable difusa

A y B conjuntos difusos

Lic. Andrea V. Manna 29

Reglas Básicas de Inferencia

Principio de vinculación disposicional

usualmente (X is A)

A B

usualmente X is B

X variable difusa

A y B conjuntos difusos

Si “usualmente” se reemplaza por “siempre”,

entonces esta ecuación reduce en la anterior

Lic. Andrea V. Manna 30

Reglas Básicas de Inferencia

Regla conjuntiva

X is A

X is B

X is (A ∩ B)

X variable difusa

A y B conjuntos difusos

Lic. Andrea V. Manna 31

Reglas Básicas de Inferencia

Producto Cartesiano

X is A

Y is B

(X,Y) is (A x B)

X,Y variables difusas

A y B conjuntos difusos

(X,Y) variable binaria

Lic. Andrea V. Manna 32

Reglas Básicas de Inferencia

Regla de Proyección

(X,Y) is R

X is xR

(X,Y) variable binaria

X variable difusa

R relación binaria

xR proyección de la relación binaria R sobre el

dominio de X

Lic. Andrea V. Manna 33

Reglas Básicas de Inferencia

Regla Composicional

X is A

(X,Y) is R

Y is A◦R

X variable difusa

(X,Y) variable binaria

R relación binaria

A conjunto difuso

A◦R composición de A con la relación binaria R.

Lic. Andrea V. Manna 34

Reglas Básicas de Inferencia

Modus Ponens Generalizado

X is A

Y is C if X is B

Y is A◦(¬BC)

X,Y variables difusas

A, B y C conjuntos difusos

Producto entre números difusos

Lic. Andrea V. Manna 35

Reglas Básicas de Inferencia

Modus Ponens Disposicional

usualmente (X is A)

usualmente (Y is C if X is B)

usualmente2 (Y is B)

X,Y variables difusas

A, B y C conjuntos difusos

usualmente2 cuadrado “difuso” de usualmente

Lic. Andrea V. Manna 36

Reglas Básicas de Inferencia

Principio de Extensión

X is A

f(X) is f(A)

X variable difusa

A conjunto difuso

f(A) conjunto definible

f(X) grado de pertenencia de X en A

Lic. Andrea V. Manna 37

Reglas Básicas de Inferencia

Principio de Extensión Disposicional

usualmente (X is A)

usualmente (f(X) is f(A))

X variable difusa

A conjunto difuso

f(A) conjunto definible

f(X) grado de pertenencia de X en A

Lic. Andrea V. Manna 38

Variables lingüísticas

Variable cuyos valores son

palabras o sentencias en

lenguaje natural

Ejemplos:

Edad: joven, viejo, muy joven, demasiado viejo

Lic. Andrea V. Manna 39

Variables lingüísticas - Categorización

Término primario (“joven”)

Su antónimo (“viejo”)

Una colección de modificadores (“muy”,

“menos”, “not”, “no mucho”, etc)

Conectivos “and” y “or”

Ejemplo:

no muy joven y no muy viejo

Lic. Andrea V. Manna 40

Una aplicación interesante

Instituto de Tecnología de Tokio

Sistema de control para autos basado en lógica

difusa

Movimiento autónomo a lo largo de una

trayectoria rectangular y con estacionamiento en

un determinado lugar

Habilidad: aprender de los ejemplos

Lic. Andrea V. Manna 41

Una aplicación interesante: El auto difuso

Variable de control Y: representa el ángulo de dirección y se calcula en función de variables X1,..,Xn que forman la distancia del auto a los límites de la pista

X1,..,Xn son variables lingüísticas

La política de control está representada por una colección finita de reglas de la forma:

Ri: if (X1 is Ai1) and ... and (Xn is Ai

n)

then

Yi = ai0 + ai

1x1 +...+ainXn

Cjto. De

valores

lingüísticos

Parámetros

ajuste Valor sugerido

i-esima

regla

Lic. Andrea V. Manna 42

Una aplicación interesante: El auto difuso

Auto

Trayectoria Pista

Lic. Andrea V. Manna 43

Un ejemplo sencillo: Sistema de control de

temperatura

Se trata de controlar si el agua de nuestra ducha

está a punto, caliente o fría

Se debe determinar la temperatura del agua, en

función de ella, mover la perilla a la izquierda

para calentar el agua, o a la derecha para

enfriarla

Los valores difusos serán: “caliente”, “fría”,

“izquierda”, “derecha”

Lic. Andrea V. Manna 44

Un ejemplo sencillo: Sistema de control de

temperatura

Las reglas para este ejemplo sencillo serán de la

siguiente manera:

Si el agua está caliente, girar la perilla a la derecha

Si el agua está fría, girar la perilla a la izquierda

Si el agua está justa, no girar la perilla

Parece sencillo, pero...

Lic. Andrea V. Manna 45

Un ejemplo sencillo: Sistema de control de

temperatura

Definamos los conjuntos difusos para las variables

input variable: water_temperature

fuzzy sets: cold, just_right, hot

input variable: rotate

fuzzy sets: left, none, right

Lic. Andrea V. Manna 46

Un ejemplo sencillo: Sistema de control de

temperatura

El siguiente paso es

definir los valores

difusos.

Se ha decidido que 100

grados es la

temperatura ideal

Por debajo de 100 es

frio y por encima es

caliente

Lic. Andrea V. Manna 47

Sistema de control de temperatura: Ciclo de

control difuso

Hasta ahora tenemos:

Una variable de entrada y sus conjuntos difusos

Una variable de salida y sus conjuntos difusos

Un conjunto de reglas relacionando los valores difusos de los conjuntos difusos de entrada y de salida

Un sistema de control difuso, trabaja sobre un ciclo:

Convierte las variables de entrada a valores que pertenecen a cada conjunto (fuzzification)

Usa las reglas para derivar valores difusos para las variables de salida

Convierte los valores pertenecientes a los conjuntos de salida difusos en variables de salida (defuzzification)

Lic. Andrea V. Manna 48

Ciclo de control difuso:Fuzzification

Esta parte es fácil. Se toma el valor de entrada y se ve,

según el gráfico, que valores le corresponde a cada

variable. Por ejemplo, si tomamos una temperatura de 96

grados:

cold: 0.2

just_right: 0.6

hot: 0

En otras palabras, 96 grados resulta bastante bien, pero

un poquito fría

Lic. Andrea V. Manna 49

Ciclo de control difuso:Aplicar reglas

Relacionan el conjunto de valores difusos de entrada con el conjunto difuso de salida

Si el agua está caliente, girar la perilla a la derecha

Si el agua está fría, girar la perilla a la izquierda

Si el agua está justa, no girar la perilla

Para nuestra temperatura ejemplo de 96 grados:

left: 0.2

none:0.6

right: 0

Lic. Andrea V. Manna 50

Ciclo de control difuso:Defuzzification

La solución no es obvia. Es decir, con los valores dados, notamos que debemos mover la perilla un poquito a la izquierda. Pero, ¿Cómo hacemos para que un programa lo calcule?

En el ejemplo, se usa calcular el promedio pesado de los centroides. Un centroide es el centro de gravedad de una figura.

Centro de gravedad de left: -15

Centro de gravedad de none: 0

Promedio pesado tomando area de cada uno: -4.93

Lic. Andrea V. Manna 51

Sistema de control de temperatura Movemos la perilla inicialmente 50 grados a la izquierda

Solo ajustamos la temperatura si baja más de 0.8

Factor externo: inodoro

4 iteraciones

2 iteraciones

Lic. Andrea V. Manna 52

Sistema de control de temperatura

Se pueden agregar conjuntos difusos tales como

“muy frío” o “muy caliente”, “muy a la derecha” o

“muy a la izquierda”

El modificador “muy”, normalmente se toma

como el cuadrado del valor difuso. Así, por

ejemplo, si 0.8 es frío, 0.64 es muy frío

Lic. Andrea V. Manna 53

Sistema de control de temperatura:

Modificación

Se tienen dos perillas: una para el agua caliente y otra para el agua fría

Además hay una restricción para el flujo de agua: lo ideal es 2.5 galones por minuto

Ahora hay dos variables de entrada: temperatura del agua y flujo del agua, y dos salidas para los controles de caliente y frío. Las salidas se expresan en función de abrir/cerrar en vez de frío/caliente

Se precisan dos conjuntos de reglas, uno por cada control:

Lic. Andrea V. Manna 54

Sistema de control de temperatura:

Modificación

Lic. Andrea V. Manna 55

Sist. de control de temperatura: Modificación

Lic. Andrea V. Manna 56

Sist. de control de temperatura:Implementación

Lic. Andrea V. Manna 57

Sist. de control de temperatura:Implementación

if water_temperature is hot then rotate right

Las reglas soportan: fzis (is), fzand (and), fzor (or),

fznot (not), mucho (cuadrado), poco (raiz cuadrada)

Lic. Andrea V. Manna 58

Sist. de control de temperatura:Implementación

Reglas que calculan el valor de la temperatura del agua basado en la posición de control. Este cálculo depende del flujo de agua

Lic. Andrea V. Manna 59

Sist. de control de temperatura:Implementación

El frame control es usado para controlar la

simulación.

Cada uno tiene una condición bajo la cual es

aplicado y un conjunto de acciones a tomar

cuando se aplica

Las condiciones pueden ser referidas a variables

difusas, las cuales precisan ser convertidas a

booleanas

El loop principal de control, busca una regla de

control, la aplica y luego comienza el ciclo de

nuevo.

Lic. Andrea V. Manna 60

Sist. de control de temperatura:Implementación

Lic. Andrea V. Manna 61

Sist. de control de temperatura:Implementación

Inicializa el sistema y además se pueden usar

diferentes inicializaciones para diferentes

escenarios

Lic. Andrea V. Manna 62

Muchas Gracias!