Sistemas Difusos ( FuzzySystems)€¦ · Electric cars are not very fast . High -performance drives...

69
RAZONAMIENTO APROXIMADO Sistemas Difusos (Fuzzy Systems) Introducción a la Inteligencia Artificial LCC

Transcript of Sistemas Difusos ( FuzzySystems)€¦ · Electric cars are not very fast . High -performance drives...

RAZONAMIENTO APROXIMADO

Sistemas Difusos (Fuzzy Systems)

Introducción a la Inteligencia Artificial

LCC

RAZONAMIENTO APROXIMADO (RA)

Trata comoREPRESENTAR

COMBINAR y

REALIZAR INFERENCIAS

con conocimiento impreciso y/o incierto

RA: Distintos modelos

MODELOS PROBABILISTICOSMODELO EVIDENCIALMODELO POSIBILISTICO

� Todos tratan la incertidumbre en un

sistema de producción

� Sólo el modelo posibilístico puede tratar la

imprecisión.

RA: Distintos modelos

� MODELO POSIBILISTICO

� Como representar, combinar y realizar

inferencias con conocimiento impreciso

CONOCIMIENTO IMPRECISO

El conocimiento cuenta con predicados o

cuantificadores vagos (no precisos)

Ejemplos:

•Pedro tiene entre 20 y 25 años.

•Juan es joven

•Mucha gente juega al fútbol

•El espectáculo es para gente grande.

6

Lógica difusa

� Introducción� Teoría de conjuntos difusos

• Teoría de conjuntos clásica (conjuntos nítidos)• Conjuntos Difusos

– Funciones de pertenencia– Etiquetas lingüísticas

• Operaciones elementales con conjuntos difusos– Complemento– Intersección– Unión

� Razonamiento difuso• Inferencia difusa• Decodificación

� Funcionamiento de un sistema difuso� Conclusiones

7

Necesidad de razonamiento difuso

En el mundo real existe mucho conocimiento con las siguientes características: conocimiento vago, impreciso, incierto, ambiguo, inexacto, o probabilísticopor naturaleza. El razonamiento y pensamiento humano frecuen-temente conlleva información de este tipo:• imprecisión inherente de los conceptos humanos y • razonamiento basado en experiencias similares, pero no

idéntica

Problema: Poca capacidad de expresión de la lógica clásica.� Ejemplo 1. Clasificación de personas en altas o bajas� Ejemplo 2. Definición del término joven

8

Going Fuzzy …

Examples of Fuzzy statements:� The motor is running very hot.

� Tom is a very tall guy.

� Electric cars are not very fast.

� High-performance drives require very rapiddynamics and precise regulation.

� Leuven is quite a short distance from Brussels.

� Leuven is a beautiful city.

� The maximum range of an electronic vehicle is short.

If short means: 300 km or less, would 301 km be long ?

� Want to express to what degree a property holds.

9

Fuzzy sets:

Are functions: f: domain → [0,1]

11

00150150 160160 170170 180180 190190 200200 210210 cmcm

Crisp set (tall men):

Fuzzy set (tall men):11

00150150 160160 170170 180180 190190 200200 210210 cmcm

10

Representing a domain:

Crisp sets (men’s height):

11

00150150 160160 170170 180180 190190 200200 210210 cmcm

shortshort mediummedium talltall

Fuzzy set (men’s height):

11

00150150 160160 170170 180180 190190 200200 210210 cmcm

shortshort mediummedium talltallshortshort

11

Razonamiento inexacto

Es necesario cuantificar y razonar acerca de términos o predicados difusos que aparecen en el lenguaje natural.

La lógica difusa se refiere a estos términos como variables lingüísticas, y la tecnología de los sistemas expertos, incorpora estas variables lingüísticas en reglas que pasan a ser reglas difusas.

12

Lógica difusa

En 1965, Lofti Zadeh sienta las bases de la lógica difusa

�Motivación inicial: estudio de la vaguedadRelación vaguedad ↔ incertidumbre

� Solución: definir conjuntos con grados de pertenencia

� Éxito de la lógica difusa :• Desde el punto de vista práctico: miles de aplicaciones, la mayoría en sistemas de control

• Desde el punto de vista lógico: lógica fuzzy como una lógica multivaluada.

13

Características principales de la lógica difusa

� Se intenta representar la vaguedad e imprecisión inherentes en el lenguaje natural

� Utiliza varios elementos: conjuntos difusos, variables difusas, relaciones difusas, reglasdifusas (lenguaje difuso)

� Dichos elementos se combinan entre sí en el proceso de inferencias (fuzzy logic)

� Fuzzy control: El proceso de inferencias incluye pasos que pasan la información precisa a difusa y viceversa

14

Lógica difusa

Por definición “logica difusa” es una rama de la lógica que utiliza grados de pertenencia a los conjuntos (grados de verdad de las fórmulas) en lugar de los estrictos valores verdadero o falso.

Estos conjuntos reciben la denominación de “conjuntos difusos”.

15

La lógica difusa concierne a la cuantificación y razonamiento sobre términos vagos o difusos que aparecen en el lenguaje natural cotidiano. En la lógica difusa, estos términos son denominados variables lingüísticas.

variables lingüísticas: son términos que describen algún concepto que usualmente tiene asociados valores vagos o difusos.

Lógica difusa

16

Lógica difusa

lenta, normal, rápidavelocidad

baja, media, altaaltura

caliente, fríotemperatura

Valores típicosVariable lingüística

17

Difusión de fuzzy logic

• En la actualidad es un campo de investigación muy importante, tanto por sus implicaciones matemáticas o teóricas como por sus aplicaciones prácticas:

� Revistas (Fuzzy Sets and Systems, IEEE Transactions on Fuzzy Systems..)

� Congresos (FUZZ-IEEE, IPMU, EUSFLAT, ESTYLF...) � Miles de aplicaciones reales:

• Control de sistemas: Tráfico, vehículos, compuertas en plantas hidroeléctricas, centrales térmicas, lavadoras, metros ascensores...

• Predicción y optimización: Predicción de terremotos, optimización de horarios...

• Reconocimiento de patrones y Visión por ordenador: Seguimiento de objetos con cámara, reconocimiento de escritura, reconocimiento de objetos, compensación de vibraciones en cámaras, sistemas de enfoque automático...

• Sistemas de información o conocimiento: Bases de datos, sistemas expertos...

18

Un poco de publicidad...

Carga: 5kg Revoluciones: 1400 rpmCaracterísticas energéticas: A+,A,B Multi-DisplayFuzzy LogicProgramas especiales: Lavado a mano, Seda, Lana

Poderoso lente zoom de 4.3x, 28-120 con elementos de lentes de cristal ED Sistema de flash doble incorporado. Ajuste de Exposición Automática programada Sistema de Medición TTL: Fuzzy logic ESP, Promedio Balanceado al Centro

OLYMPUS ERGONÓMICA SRL 28-120

AEG Lavamat 64600

19

Conjuntos difusos

� Conjuntos clásicos (crisp)

� A ⊂ U definido por su función de pertenencia

� µA: U → {0,1} / µA(x)= 1 sii x ∈ A

�Conjunto difuso (Fuzzy set) A de U

� µA: U → [0,1]

�µA(x) me define el grado de pertenencia de x a A

�Hay “distintos grados de pertenencia”

20

Conjuntos difusos

La sentencia “Juan es alto” implica la variable “estatura” que tiene como valor lingüístico “alto”. El rango de los posibles valores de la variable lingüística (estatura) es el universo de discurso X de dicha variable [0.3, 2.5m].

La frase “Juan es alto” restringe los valores de la variable estatura y se puede representar mediante un conjunto difuso.

21

� Para otras descripciones de la variable lingüística estatura tales como: baja o media, se pueden obtener otros conjuntos difusos que reflejan la opinión popular (o de expertos).

� se pueden definir múltiples conjuntos difusos para un mismo universo de discurso: subconjuntos difusosrepresentando distintos términos vagos.

Conjuntos difusos

22

23

Funciones de pertenencia

Algunas de las funciones de pertenencia más utilizadas son:

<<−

−≤

=

m xpara 1

xa para amax

a xpara 0

mx)(µ

1

a m

• Función GAMMA (Γ):

• Función LAMBDA o triangular

• Función L

Puede definirse simplemente como 1 menos la función GAMMA

1

m a

>

≤<−

≤<−

−≤

bx para 0

bxm para mb

xb

mxa para am

axax para 0

)x(

1

a b m

24

Funciones de pertenencia

• Función PI o trapezoidal

>

≤<−

≤<

≤<−

−≤

dx para 0

dxc para cb

xd

cx b para

bxa para ab

axax para 0

)x( 1

1

a b c d

25

Funciones de pertenencia

• Función S

• Función Π

• Función Z (opuesta de la S)

≤≤+

−−

+≤≤

cx para 1

cx2

capara ,

ac

ax 21

2

caxa para ,

ac

ax 2

ax para 0

(x) 2

2

S

µZ(x) = 1- µS(x)

≤µ=µΠ bx para )x(

bx para )x( (x)

Z

S

a c (a+c)/2

b-d b+d b

26

Conjunto difuso - espacio discreto

Considerando ahora un universo de discurso discreto, tal que los elementos de X sean { x1, x2, .....xn} y, siendo A un conjunto difuso definido en dicho universo:

� La representación del vector se clarifica utilizando el símbolo “ / “ que asocia el valor de pertenencia ai con la coordenada de xi :

A = ( a1 / x1, a2/x2.....an/ xn )

� Considerando el conjunto difuso altoALTO = (0/1.65, 1/1.75, 1/1.85, 0/1.95)

27

También se expresa como:A = ( a1 /x1+ a2/x2+.....+an/ xn )

A = ΣΣΣΣi=,1,n µµµµA(xi)/xi

Si X es una función continua, el conjunto A, este puede ser representado como:

A = ∫∫∫∫ µµµµA(xi)/xi

Conjunto difuso - espacio discreto

28

Etiquetas lingüísticas - Hedges

� Equivalentes a los adverbios del lenguaje natural� Se utilizan para definir conjuntos difusos a partir de otros ya existentes. Por ejemplo, viejo —> MUY viejo

� Lo que se hace es componer la función de pertenencia con alguna otra función, de forma que la función resultante tenga la forma deseada

� Por ejemplo, función para el adverbio MUY —> f(y) = y2

0

1 viejoMuy viejo

29

Etiquetas lingüísticas

Nombre del modificador Descripción del modificador

not 1-y

very (muy) y2

somewhat (algo) y1/3

more-or-less (más o menos) y1/2

extremely (extremadamente) y3

Existe todo un catálogo de adverbios/funciones

30

Etiquetas lingüísticas�Otras operaciones usuales

−−

≤= −

caso otro en 0.5y para

pp

pp

y

yyf

)1(21

2)( 1

1

−−

≤=

caso otro en

0.5y para

2/)1(1

2/)(

y

yyf

Concentración

Intensificación contraste

Dilatación

Difuminación

Normalización

f(y) = y/Altura

f(y)=yp, con p>1

f(y)=yp, con 0<p<1

0

1

0

1

0

1

0

1

31

Operaciones con conjuntos difusos

Las funciones c para el complemento más utilizadas son:

Complemento (Negación)

Dado un conjunto difuso A, su complemento vendrá definido por

0

1

• c(αααα) = 1 - αααα.

• Sugeno cλ(α) = (1-α)/(1-λα) λ∈ [0, 1]

0

1

))(()( xcxAA

µµ =

• Yager cw(α) = ( 1 - αw)1/w w∈ [0, ∞]

0

1

32

Operaciones con conjuntos difusos

Intersección (conjunción)Dados dos conjuntos difusos A y B, su intersección vendrádefinida por

µA ∩B (x) = i(µΑ(x),µΒ (x))

Las funciones i que verifican las propiedades que se esperan de una conjunción se llaman normas triangulares (t-normas).

33

Operaciones con conjuntos difusos

Algunas t-normas usuales:

• t-norma del mínimoimin(α,βα,βα,βα,β) = min(α,βα,βα,βα,β)

0

1

• t-norma del producto i*(α,β) = αβ

0

1

0

1

• t-norma del producto drástico

i inf ( α , β ) =

α si β = 1

β si α = 1

0 en otro caso

34

Operaciones con conjuntos difusos

Unión (disjunción)

Dados dos conjuntos difusos A y B, su unión vendrádefinida por

µAuB(x) = u(µA(x), µB(x))

Las funciones u que verifican las propiedades esperadas para una disjunción se llaman:conormas triangulares (t-conormas).

35

Operaciones con conjuntos difusos

Si consideramos como complemento la función c(u) = 1-u, las t-conormas correspondientes a las t-normas anteriores son:

• t-conorma del máximo

umax(αααα,ββββ) = max(αααα,ββββ)

• t-norma de la suma drástica

0

1

• t-conorma de la suma u*(α,β) = α+β−αβ

0

1

u sup ( α , β ) =

α si β = 0

β si α = 0

1 en otro caso

0

1

36

Operaciones con conjuntos difusos

� Considerando la t-norma del mínimo (intersección, AND) junto con la t-conorma del máximo (unión, OR)

Conjuntos vacío y total:� Conjunto vacío� Conjunto total

(X crisp)

∀ x ∈ X µ∅ x( ) = 0

∀ x ∈X µX x( ) =1

Sin embargo, con esta definición no se satisfacen algunos famosos principios de la lógica clásica, como por ejemplo:

A ∩ A = ∅

A ∪ A = X

Principio de contradicción

Principio del tercero excluso

37

Razonamiento difuso

Proposición difusa simple: � Proposición que asigna un valor a una variable difusa:

“Pepe es de estatura mediana”.

� Tiene asociado un conjunto difuso (función de pertenencia).

Proposición difusa compuesta:� Agrupación de dos o más proposiciones difusas simples

“la velocidad es normal” AND “el objeto está cerca”“la velocidad es alta” OR “el objeto está muy cerca”“la velocidad NO es alta”

Necesidad de definir operadores difusos:� NO (¬p) µ¬A(u) = 1 - µA(u)� AND (p∩q) vendrá definida por una función de pertenencia tipo

t-norma, por ejemplo µµµµ A∩∩∩∩B (u,v) = min( µµµµA(u), µµµµB(v))� OR (p∪q) vendrá definida por una función de pertenencia tipo t-

conorma, por ejemplo µµµµAUB(u,v) = max(µµµµA(u), µµµµB(v))

38

Razonamiento difuso: implicaciones

El siguiente paso es definir lo que es una implicación, es decir, asignar una función de pertenencia a una agrupación antecedente consecuente del tipo p→→→→q

Esto nos permitirá razonar con afirmaciones tales como:SI “la velocidad es normal” ENTONCES “la fuerza de frenado debe ser moderada”

Opciones:� Teórica: Dar a la implicación el mismo significado que en la lógica clásica. p→q ≡ ¬p∨q µp→q(u,v) = max(1-µA(u), µB(v))

p→q ≡ ~(p∧(~q)) µp→q(u,v) = 1 – min[µA(u), 1-µB(v)]� Práctica: Dar a la implicación el significado de relación causa-efecto:

Implicación de Mamdanip→q ≡ A∧B ⇒ µp→q(u,v) = min( µA(u), µB(v))

39

Inferencia Difusa – Fuzzy inference

Una regla difusa relaciona dos proposiciones difusas, por ejemplo considerando dos conjuntos difusos tales como A (estatura es alta) y B (peso es elevado), estos pueden estar relacionados por la regla:

If A Then B� Los sistemas expertos difusos almacenan las

reglas como asociaciones difusas (A,B), en una matriz M denominada matriz asociativa difusa.

40

Matriz asociativa difusa.

41

Como en otras técnicas de razonamiento inexacto, el proceso de inferencia difusaintenta establecer la credibilidad conclusión de la regla dada una cierta evidencia en la premisa.

If A Then BA*B* ???

Inferencia Difusa – Fuzzy inference

42

Funcionamiento de un sistema de control basado en lógica difusa

Reglas

Inferencia

Codificador Decodificador

u ∈Up

Conjuntos difusos entrada

v ∈VConjuntos

difusos salida

Entrada crisp

x ∈Up y=f(x) ∈V

Salidacrisp

43

Disponiendo de la matriz M que se obtiene a partir de A����B, el proceso de inferencia difusa permite a partir de información A’(subconjunto de A), inducir un subconjunto B’de B.Técnicas de inferencia difusas:

� Inferencia max-min� Inferencia max-product

Inferencia Difusa – Fuzzy inference

44

Inferencia max-min

El operador de de la implicación utilizado es el “minmin”, es decir:

mij = min(ai,bj)

� Entonces, dados dos conjuntos difusas A y B, se obtiene la matriz M.

� Luego, dado el conuunto A’, se puede inducir el subconjunto B’.

45

Inferencia max-min

Ejemplo: sea un universo de discurso X que representa “temperatura”, y A un conjunto difuso que representa “temperatura normal”.

Asumiendo que Y representa “velocidad” y un B que representa “velocidad media”, entonces si tenemos la siguiente regla difusa:

� If temperatura normal Then velocidad media

� IF A THEN B

46

Inferencia max-min - Ejemplo

47

A’ representa una entrada de t=125º

48

El subconjunto A’ (lectura única)

induce un conjunto difuso B’ utilizando la composición max-min:

49

Inferencia max-min - Ejemplo

50

Cuando A’ tiene un solo valor de pertenencia distinto de 0, por ejemplo xk se puede utilizar solo µµµµ A (xk) directamente con la representación de B, µµµµ B (y) para inducir B’ como

B’ = µµµµ A (xk) ∧∧∧∧ µµµµ B (y)

� Truncamiento del conjunto difuso B por el valor µµµµ A(xk)

Inferencia max-min - Observación

51

En el ejemplo, nosotros asumimos que la temperatura es de 125 grados A’ tiene un solo valor de pertenencia distinto de 0, y resulta µµµµ A (x) = 0.5Luego:

B’ = [min(.5, 0), min(.5, .6), min(.5, 1),min(.5, .6), min(.5, 0) =

= (0, .5, .5, .5, 0)

Inferencia max-min - Ejemplo

52

En el caso que la entrada a la regla sea una lectura difusa A’, nosotros podemos considerar la intersección de A y A’, es decir:

min (ai, a’i) para inducir el B’

Inferencia max-min - Observación

53

54

El operador de de la implicación utilizado es el producto en lugar del min:

mij = ai * bj

� Dados los conjuntos difusos A y B, se obtiene la matriz M.

� Luego, dado el vector de ajuste de A’, se puede inducir el subconjunto B’.

Inferencia max-product

55

Inferencia max-product: Ejemplo

56

Inferencia max-product : Ejemplo

� A partir de la nueva matriz M se utiliza nuevamente la composición Max-min:

57

Inferencia max-product: Ejemplo

58

Inferencia DifusaEl método numérico desarrollado puede ser extendido a reglas con cláusulas múltiples en la premisa vinculadas por operadores de conjunción o disyunción.

Si A and/or B Entonces C

La extensión del método consiste en incorporar las matrices asociativas a cada uno de los conjuntos difusos A y B involucrados en la regla y resolverlos conforme a la naturaleza del operador que los vincula.

59

Reglas con antecedentes compuestos

60

Inferencia Difusa

El efecto de la combinación de las conclusiones de varias reglas:

R1: A1 →→→→ C, ... Rn: An →→→→ Cy el valor resultante del aporte de cada una de

ellas, permite suponer que el resultado de la composición ( la unión):

C’ = C’1 ∪∪∪∪ C’2 ∪∪∪∪ C’3 ....... ∪∪∪∪C’n

según las operaciones entre conjuntos difusos

C’ = max (C’1 , C’2 , C’3 ,...... , C’n)

61

Decodificación - defuzzyfication

� Una vez llevado a cabo el proceso de razonamiento difuso, es necesario dotar al sistema de la capacidad de tomar decisiones. Así por ejemplo, el sistema debe saber qué fuerza de frenado que debemos aplicar si la velocidad es alta

� Para ello se utilizan las llamadas técnicas de decodificación, que transforman un conjunto difuso en un valor nítido.

� Las más usuales son:� El valor máximo (es decir, el más posible). � El centroide o centro de gravedad difuso

∈=

Xx

A

Xx

A

centroidex

xx

y)(

)(

µ

µ

62

Fuzzy systems

63

Fuzzy systems

64

Fuzzy systems

65

Fuzzy system: ejemplo

66

Fuzzy system: ejemplo

67

Fuzzy system: ejemplo

68

Fuzzy system: ejemplo

69

En resumen

� La lógica difusa se concibió originalmente como un método mejor para manejar y almacenar información imprecisa

� Ha demostrado ser una excelente alternativa para sistemas de control, ya que imita a la lógica de control humana

� Se pede incluir en cualquier sistema, desde dispositivos pequeños a sistemas de control complejos

� Usa un lenguaje impreciso pero muy descriptivo para operar con datos de entrada de una forma parecida a la usa un operador humano

� Es robusta y no demasiado dependiente de los datos de entrada y operadores elegido

� Incluso las primeras versiones funcionan bastantebien, con escasa necesidad de ajustes