Laboratorio de IA: Lógica Difusa y Conjuntos Clásicos y Difusos

Diapositivas de Deusto sobre Laboratorio de IA - Lógica Difusa. El Pdf, un material didáctico de Informática para Universidad, introduce los conceptos de conjuntos clásicos y difusos, presentando ejemplos prácticos para ilustrar las diferencias entre ambos.

Ver más

45 páginas

Laboratorio de IA
Lógica Difusa
Enrique Onieva Caracuel
enrique.onieva@deusto.es
Una cita para empezar
There are no whole truths; all truths are
half- truths. It is trying to treat them as
whole truths that plays the devil.
- Alfred North Whitehead

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Laboratorio de IA

Lógica Difusa

Enrique Onieva Caracuel enrique.onieva@deusto.es

Una cita para empezar

There are no whole truths; all truths are half- truths. It is trying to treat them as whole truths that plays the devil. - Alfred North Whitehead

Conjuntos Difusos

Introducidos por Lotfi Asker Zadeh en 1965 Están estrechamente ligados con predicados imprecisos

  • Es decir, aquellos cuyos nombres no definen de una manera precisa a un conjunto de objetos

Fue diseñada para representar y razonar sobre conocimiento expresado de forma lingüística Lotfali A. Zadeh in 2004

Conjuntos clásicos

La teoría de conjuntos clásica es una rama de las matemáticas que estudia los conjuntos

  • {1, 6, 3, 7, 9} es un conjunto de números enteros
  • {0, 1, 2, 3, 4, 5} es el conjunto de enteros entre 0 y 5
  • {'a', 'b', 'c'} es un conjunto de caracteres
  • {"Inteligencia", "Artificial", "Avanzada"} es un conjunto de palabras
  • [5, 8] es el conjunto de los números reales entre 5 y 8
  • Incluso hay conjuntos de conjuntos

Conjuntos clásicos: Orden y Pertenencia

Recordemos que en un conjunto, el orden no importa:

  • {1,2,3} = {3,2,1}
  • (por lo general se ordenan para facilitar su lectura)

El concepto importante de la teoría de conjuntos es que un determinado elemento pertenece o no a un conjunto

  • 5 no pertenece al conjunto {1, 2, 3}
  • 2 sí pertenece al conjunto {1, 2, 3}

Definición de Conjuntos Clásicos

Un conjunto (S) se define mediante

  • Un universo de discurso (X)

· Un grupo de elementos que pertenecen a él (A) Para definir un conjunto, podemos

  • Enumerar los elementos que pertenecen a él
  • Especificar una propiedad que deben cumplir los elementos que pertenecen
  • Definiendo una función característica ps : X -> {0,1} 1 si x pertenece a S 0 en otro caso

Ejemplo de conjunto clásico

Conjunto de números entre 5 y 8

  • X = (-0,0) A = [5,8]

Personas que miden más de 180cm

  • X = [0,300]

○ A = (180,300] ps(x) = MS(x) = 1,5 _ x 28 0,x > 8 10,x ≤ 180 1,x > 180 1 Tenemos un conjunto de "personas altas", Pero

  • ¿Hay diferencia entre alguien que mide 179 y 181 cm?
  • ¿Es tanta como para que uno pertenezca y el otro no?
  • ¿Y entre alguien que mide 179.9 y 181.1 cm? ¿Cómo definir el conjunto de "personas altas"?

Generalización de la Pertenencia en Conjuntos Difusos

Los conjuntos difusos generalizan la definición de pertenencia

  • Permitiendo que los elementos pertenezcan al conjunto con un determinado grado
  • En lugar de que un elemento pertenezca (1) o no (0) a un conjunto
  • Se permite que un elemento pertenezca "parcialmente" a un conjunto

Pasamos de una función característica Conjunto nítido ps : X -> {0,1} A una función de pertenencia Conjunto difuso ps : X -> [0,1]

Graduación en Conjuntos Difusos

Esta graduación permite trabajar con conjuntos cuyas fronteras no están exactamente definidos

  • Personas altas
  • Personas jóvenes
  • Temperatura baja 1 > pertenece 1- Gente Joven Enfoque Clásico 0 > NO pertenece 120 1 > pertenece Enfoque Difuso (0,1) > pertenece con cierto grado 0 -> NO pertenece 120 35 En muchos casos, las funciones de pertenencia no tienen unos criterios claramente definidos ... pero nosotros entendemos lo que quiere decir que:
  • Una persona es alta, joven ... que un producto es caro, barato ... Pero, ¿Podemos modelarlo matemáticamente?

Funciones de Pertenencia

Permiten modelar esos grados de pertenencia

  • Puede representarse como una función, (especialmente) cuando el universo de discurso es contínuo

■ Eje X: Universo de discurso ■ Eje Y: Grados de pertenencia - Intervalo [0,1] ■ Puede ser cualquier función que devuelva un valor en el intervalo [0,1] El contexto es fundamental para la definición de los conjuntos difusos

  • No es lo mismo el concepto "Alto" aplicado a personas que a edificios 1 > pertenece (0,1) > pertenece con cierto grado 0 -> NO pertenece 120 35

Tipos de Funciones de Pertenencia

Función Triangular

  • De las más utilizadas
  • Requiere de 3 parámetros

■ ■ Comúnmente llamados a,b,c asb≤c

  • Sólo alcanza el grado de pertenencia máximo en un punto f(x, {a, b, c}) = x-a b-a, a < x <b c-I b < x < c c- 5,0 0, otro caso 1 0.75 b 0.5 a C 0.25 0 2 4 6 8 10 trimf. P = [3 6 81

Función Trapezoidal

  • De las más utilizadas
  • Requiere de 4 parámetros . Comúnmente llamados a,b,c,d ■ asb≤c≤d
  • Equivalente a la triangular cuando b=c f(x, {a, b, c, d}) = d-x x-a b-a,a<x<b 1,6 < x <c d-c, c < x < d 0, otro caso 1 0.75 b C 0.5 a d 0.25 O C 2 4 6 8 10 trapmf. P = [1 5 7 8]

Funciones de Pertenencia Avanzadas

Función Gaussiana

  • Requiere de 2 parámetros

■ Comúnmente llamados m y d (media y desviación) ■ d>0

  • Función más suave que las otras (sin "picos", derivable)
  • En los límites, el valor va tendiendo a cero -(2-m)2 f(x, {m, d}) = e 2d2 1 F 0.75 m 0.5 0.25 d 0 0 2 4 6 8 10 qaussmf. P = [2 5]

Función Pl (I)

  • Requiere de 4 parámetros Comúnmente llamados a,b,c,d

■ asb≤c≤d

  • Versión "suavizada" del trapecio f(x, {a, b, c, d}) = 2(₹@)2,a << b 1-2(E=q)2,at6 <<< b 1,6 <x<c 1-2(=)2,c << td 2(=d), ca << d 0, otro caso 1 0.75 b C 0.5 a d 0.25 0 0 2 4 6 8 10 pimf. P = [1 4 5 10]

Otras Funciones de Pertenencia

Existen otras muchas funciones standard, implementadas en librerías

  • Función S, Z, Sigmoide ...
  • Cualquier función puede ser una función de pertenencia
  • Funciones descritas a trozos (por polígonos) 1 1 1 0.75 0.75 0.75 0.5 0.5 0.5 0.25 0.25 0.25 0 0 O 2 4 6 8 10 0 2 4 6 8 10 2 4 6 8 10

Propiedades de los conjuntos difusos

Soporte

Sop(A) = {x |/A >0,xEX}

  • Elementos, o rango de elementos cuyo grado de pertenencia al conjunto es mayor que cero

Altura

Alt(A) = max{h|h = HA(x), x € X}

  • Grado de pertenencia máximo de los elementos del conjunto
  • Decimos que un conjunto difuso es Normal cuando su altura es igual a 1

Núcleo

Nuc(A) = {x € X|PA(x) = 1}

  • Elementos, o rango de elementos cuyo grado de pertenencia al conjunto es 1 K-Nuc-> 1.00 0.75 0.50 ₭ Alt- 0.25 0.00 -Sop-

Operaciones con conjuntos difusos

Las 3 operaciones básicas que se definen sobre los conjuntos crisp, pueden generalizarse para los conjuntos difusos

  • Unión
  • Intersección
  • Complemento

Estas operaciones nos permitirán tratar con información más completa

  • Quiero la intersección entre los jugadores que son "altos" y "buenos tiradores"

Tipos de Operaciones con Conjuntos Difusos

Unión (T-Conorma)

Đ : [0,1] > [0,1]

  • Conmutativa, Asociativa, Monotonicidad, Condiciones frontera IOy=yOx x + (y @ z) = (roy) @z Six Sy > roz yoz x40 = x x01=1

Intersección (T-Norma)

®:[0,1]2 ->[0,1]

  • Conmutativa, Asociativa, Monotonicidad, Condiciones frontera roy=yox x ® (yz) = (roy) 8z Six ≤y - roz ≤yoz x@0=0 x01= x

Complemento

: [0,1] => [0,1]

  • Concordancia con el Caso nítido, Estrictamente Decreciente, Involución -(0) = 1 -(1) = 0 Va, B E [0,1] a > B-> -(a) <- (3) Va E [0, 1] -(-(a) = a

Operaciones básicas con conjuntos difusos

Unión

  • Puede identificarse con el conectivo "OR"
  • Ejemplos: Máximo, Suma algebraica, Suma acotada ... max{x, y} x+y-x.y min{1,x+y} PAUB = max {HA(x), pB(x)}

Intersección

  • Puede identificarse con el conectivo "AND"
  • Ejemplos: Mínimo, Producto, Producto Acotado ... max{0,x+y-1} min{x, y} x . y XI HANB = min{HA(x), LB(x)}

Complemento

  • Puede identificarse con el modificador "NOT" (1-x) (1-p.x)
  • Complemento general, Yager, Sugeno ... 1- x (1 - xP)1/P, (p € [0,1]) P-A=1 -PA(x)

Ejemplo: Seleccionador de baloncesto

Supongamos que queremos hacer un sistema que elija jugadores para un equipo de baloncesto Si usáramos lógica clásica, podríamos establecer:

  • Quiero jugadores que tengan una altura superior a 185 cm

Y que además, tengan un porcentaje de acierto en tiro superior al 80%

  • ¿Cuáles serán elegidos? ¿Ves algún problema con este enfoque? ¿Cuáles elegirías tú? Jug Alt Aci Solución Clásica A 167 75 ? B 169 35 ? C 175 95 ? D 179 75 ? E 183 100 ? F 186 85 ? G 187 75 ? H 190 80 ? I 200 75 ?

Seleccionador de Baloncesto con Lógica Difusa

Con lógica difusa

  • Buscamos la intersección entre el conjunto de los jugadores altos y los que tienen buen porcentaje de acierto

■ Definimos los conjuntos difusos "Alto" y "Bueno" ■ Definimos la T-Norma a utilizar (Mínimo) · Calculamos grados de pertenencia a cada conjunto y aplicamos el operador de Intersección Bajo Medio Alto ... 140 160 180 200 Malo Regular Bueno 20 40 60 80 100 ¿Cuál es el resultado? Jug Alt HALTO (Alt) Aci "BUENO(Aci) Solución Difusa MIN(ALALTO (Alt), ILBUENO (Aci)) Solución Clásica A 167 0,00 75 0,40 0,00 0 B 169 0,00 35 0,00 0,00 0 C 175 0,25 95 1,00 0,25 0 D 179 0,45 75 0,40 0,40 0 E 183 0,65 100 1,00 0,65 0 F 186 0,80 85 0,80 0,80 1 G 187 0,85 75 0,40 0,40 0 H 190 1,00 80 0,60 0,60 1 1 200 1,00 75 0,40 0,40 0

Ejemplo: Recomendador de Restaurantes

Tengo los siguientes restaurantes en mi zona

  • Quiero me recomienden uno que esté CERCA

■ ¿Cuál elegís? (ésta es fácil)

  • Quiero me recomienden uno que esté CERCA y sea BARATO ¿Cuál elegís? ¿ Cómo lo implementarías? ¿ Qué criterio usarías?
  • Quiero me recomienden uno que esté CERCA y sea BARATO o que, si está LEJOS, tenga BUENA comida a BUEN precio

■ ¿Cuál elegís? ¿ Cómo lo implementarías? Restaurante Distancia desde aquí Precio del Menú Calidad de la comida A 0,4 20 8,5 B 0,3 50 8,0 C 1 13 6,0 D 0,8 16 6,5 E 1,5 21 9,0 F 1,3 30 9,5 G 2 10 7,5 H 2.5 12 9,0

Recomendador de Restaurantes: Funciones de Pertenencia

Para responder a esas preguntas debemos definir funciones de pertenencia para los conjuntos

  • CERCA, BARATO, LEJOS, BUENA (comida) Barato Caro 1 Precio 0.5 0 0 10 20 30 40 50 Cerca Lejos Distancia 1 0.5 0 0 0.5 1 1.5 2 2.5 3 Mala Regular i Buena i Calidad 1 0.5 0 0 2 4 6 8 10 Y aplicar los operadores de unión/intersección correspondientes
  • T-Norma: Mínimo
  • T-Conorma: Máximo A 0,4 20 8,5 1,00 0,60 0,60 0,00 0,57 0,60 B 0,3 50 8,0 1,00 0,00 0,00 0,00 0,42 0,00 C 1 13 6,0 0,75 0,88 0,75 0,25 0,00 0,75 D 0,8 16 6,5 0,85 0,76 0,76 0,15 0,00 0,76 E 1,5 21 9,0 0,50 0,56 0,50 0,50 0,71 0,50 F 1,3 30 9,5 0,60 0,20 0,20 0,40 0,85 0,20 G 2 10 7,5 0,25 1,00 0,25 0,75 0,28 0,28 H 2,5 12 9,0 0,00 1,00 0,00 1,00 0,71 0,71 CAL Cerca Barato Cerca Y Barato Lejos Buena Comida Cerca Y Barato O Lejos y Bueno y Barato RES DIST PRE

Variables Lingüísticas

Son variables cuyos valores son "palabras" (no números)

  • A menudo queremos describir el estado de un objeto o fenómeno: Para ello usamos una variable cuyo valor hace la descripción (Temperatura, Altura ... ) Sus valores son palabras o sentencias en lenguaje natural o artificial.
  • De esta forma, una variable lingüística sirve para representar cualquier elemento que sea demasiado complejo, o del cual no tengamos una definición concreta; es decir, lo que no podemos describir en términos numéricos. Está caracterizada por
  • El nombre de la variable.
  • El conjunto de términos - Sus valores o etiquetas lingüísticas
  • El universo del discurso
  • Una gramática libre de contexto mediante la que se generan términos
  • Una regla semántica que asocia a cada valor lingüístico de X su significado M(X)

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.