guia_XFL para sistemas fuzzy
description
Transcript of guia_XFL para sistemas fuzzy
![Page 1: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/1.jpg)
LOGICA FUZZY
CASO: CRUZAR UNA CALLE
SOTWARE: Xfuzzy 3.0
![Page 2: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/2.jpg)
Descripción del caso: Cruzar una calle
Objetivo: Un peatón debe decidir de que manera
cruza una calle.
![Page 3: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/3.jpg)
Descripción del caso: Cruzar una calle
Objetivo: Un peatón debe decidir de que manera cruza una calle.
----------------------------------------------------------
En esta presentación desarrollamos paso a paso el código en lenguaje XFL para diseñar Sistemas Fuzzy.
![Page 4: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/4.jpg)
Descripción del caso: Cruzar una calle
Objetivo: Un peatón debe decidir de que manera cruza una calle.
----------------------------------------------------------
En esta presentación desarrollamos paso a paso el código en lenguaje XFL para diseñar Sistemas Fuzzy.
------------------------------------------------------------
El estudiante debe conocer el caso “Cruzar calle” mostrado en una presentación previa
![Page 5: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/5.jpg)
AUTO
![Page 6: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/6.jpg)
AUTO
velocidad
![Page 7: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/7.jpg)
AUTO
distancia
velocidad
![Page 8: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/8.jpg)
AUTO
distancia
velocidad
![Page 9: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/9.jpg)
AUTO
distancia
velocidad
![Page 10: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/10.jpg)
AUTO
distancia
velocidad
velocidad?
![Page 11: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/11.jpg)
Velocidad del auto
0,2
0,4
0,6
0,8
1,0
10 20 30 40 50 60
LENTOLENTOLENTO NORMAL RAPIDO
![Page 12: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/12.jpg)
Lenguaje XFL para Velocidad del auto
En lenguaje XFL primero se crea el TIPO con los términos linguísticos y luego se crea la variable de entrada
● type Tva
Denominación del tipode variable
(Tipo variable auto)Palabra reservada
(tipo)
![Page 13: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/13.jpg)
Lenguaje XFL para Velocidad del auto
En lenguaje XFL primero se crea el TIPO con los términos linguísticos y luego se crea la variable de entrada
● type Tva [0.0, 60.0; 61]
Valormínimo
Valor máximo
Cardinalidad:Número de
valores enterosde la variable
![Page 14: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/14.jpg)
Lenguaje XFL para Velocidad del auto
En lenguaje XFL primero se crea el TIPO con los términos linguísticos y luego se crea la variable de entrada
● type Tva [0.0,60.0;61] {
lento xfl.trapezoid(-0.1, 0.0, 10.0, 30.0);
Término
linguísticoFunciòn
![Page 15: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/15.jpg)
Lenguaje XFL para Velocidad del auto
En lenguaje XFL primero se crea el TIPO con los términos linguísticos y luego se crea la variable de entrada
● type Tva [0.0,60.0;61] {
lento xfl.trapezoid(-0.1,0.0,10.0,30.0);
normal xfl.trapezoid(10.0,30.0,40.0,60.0);
rapido xfl.triangle(40.0,60.0,60.01);
}COMPLETAMOS LOS TÉRMINOS LINGUÍSTICOS
![Page 16: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/16.jpg)
Lenguaje XFL para Velocidad del auto
En lenguaje XFL primero se crea el TIPO con los términos linguísticos y luego se crea la variable de entrada
● type Tva [0.0,60.0;61] {
lento xfl.trapezoid(-0.1,0.0,10.0,30.0);
normal xfl.trapezoid(10.0,30.0,40.0,60.0);
rapido xfl.triangle(40.0,60.0,60.01);
}
● system (Tva va : ) {
} Definimos la variable de entrada va(velocidad del auto
de tipo Tva)Palabra reservada(definir sistema fuzzy)
![Page 17: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/17.jpg)
Distancia del auto
0,2
0,4
0,6
0,8
1,0
20 40 60 80 100
CERCA LEJOS MUY LEJOS
30 50 70
![Page 18: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/18.jpg)
Lenguaje XFL para Distancia del auto
type Tda [0.0,100.0;101] {
cerca xfl.triangle(-0.1,0.0,30.0);
lejos xfl.triangle(20.0,50.0,80.0);
muylejos xfl.triangle(70.0,100.0,100.01);
}
system (Tva va, Tda da : ) {
}
![Page 19: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/19.jpg)
Velocidad del peatón
0,2
0,4
0,6
0,8
1,0
1 2 3 4 5 6
MUY LENTO CAMINAR CORRERLENTOLENTOLENTO TROTAR
CORRERMUCHO
![Page 20: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/20.jpg)
Lenguaje XFL para Distancia del peatón
type Tvp [0.0,6.0;7] {
muylento xfl.trapezoid(-0.1,0.0,1.0,2.0);
lento xfl.triangle(1.0,2.0,3.0);
caminar xfl.triangle(2.0,3.0,4.0);
trotar xfl.triangle(3.0,4.0,5.0);
correr xfl.triangle(4.0,5.0,6.0);
corrermucho xfl.triangle(5.0,6.0,6.01);
}
system (Tva va, Tda da : Tvp vp) {
}
Variable de salida vp(velocidad del peatón)
![Page 21: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/21.jpg)
BASE DE REGLASVELOCIDAD
AUTODISTANCIA
AUTOVELOCIDAD
PEATON
LENTO (0-30) CERCA (0-30) CAMINAR (2-4)
LENTO (0-30) LEJOS (20-80) LENTO (1-3)
LENTO (0-30) MUY LEJOS (70-mas) MUY LENTO (0-2)
NORMAL (10-60) CERCA (0-30) CORRER (4-6)
NORMAL (10-60) LEJOS (20-80) TROTAR (3-5)
NORMAL (10-60) MUY LEJOS (70-mas) CAMINAR (2-4)
RAPIDO (40-mas) CERCA (0-30) CORRER MUCHO (5-mas)
RAPIDO (40-mas) LEJOS (20-80) CORRER (4-6)
RAPIDO (40-mas) MUY LEJOS (70-mas) TROTAR (3-5)
![Page 22: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/22.jpg)
BASE DE REGLASVELOCIDAD
AUTO
(va)
DISTANCIAAUTO
(da)
VELOCIDADPEATON
(vp)LENTO (0-30) CERCA (0-30) CAMINAR (2-4)
if(va == lento & da == cerca) -> vp = caminar
![Page 23: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/23.jpg)
Lenguaje XFL para la Base de reglas
rulebase base
Palabra reservadapara declarar
base de reglas
Nombre de la base de reglas
![Page 24: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/24.jpg)
Lenguaje XFL para la Base de reglas
rulebase base (Tva va, Tda da : Tvp vp)
Declaración deVariables de entrada
Declaración devariable de salida
![Page 25: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/25.jpg)
Lenguaje XFL para la Base de reglas
rulebase base (Tva va, Tda da : Tvp vp) using oper {
Operradores definidos
![Page 26: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/26.jpg)
Lenguaje XFL para la Base de reglas
rulebase base (Tva va, Tda da : Tvp vp) using oper {
if(va == lento & da == cerca) -> vp = caminar;
if(va == lento & da == lejos) -> vp = lento;
if(va == lento & da == muylejos) -> vp = muylento;
if(va == normal & da == cerca) -> vp = correr;
if(va == normal & da == lejos) -> vp = trotar;
if(va == normal & da == muylejos) -> vp = caminar;
if(va == rapido & da == cerca) -> vp = corrermucho;
if(va == rapido & da == lejos) -> vp = correr;
if(va == rapido & da == muylejos) -> vp = trotar;
}
system (Tva va, Tda da : Tvp vp) {
base(va, da : vp);
}
Declaración dereglas
Definición de la baseen el sistema
![Page 27: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/27.jpg)
Al código mostrado agregamos el que corresponde a los operadores difusos que son
utilizados en nuestro caso
operatorset oper { and xfl.min();
defuz xfl.CenterOfArea(); }
![Page 28: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/28.jpg)
Unimos todo el código en orden:OperadoresTipos Reglas Sistema
Finalmente lo copiamos al ambiente Xfuzzy
![Page 29: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/29.jpg)
Ejecutar el programa Xfuzzy
![Page 30: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/30.jpg)
![Page 31: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/31.jpg)
Creando el sistema fuzzy
Secuencia de acciones:
File
New Sistem
![Page 32: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/32.jpg)
![Page 33: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/33.jpg)
Guardando el sistema fuzzy calle.xfl
Secuencia de acciones:
Hacemos clic en nomame_000
File
Save System As ...
Seleccionamos la carpeta en la que guardamos el sistema fuzzy
Archivo: calle.xfl
Save
![Page 34: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/34.jpg)
![Page 35: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/35.jpg)
![Page 36: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/36.jpg)
![Page 37: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/37.jpg)
![Page 38: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/38.jpg)
Diseñamos el sistema fuzzy
Secuencia de acciones:
Design
Edit System
![Page 39: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/39.jpg)
![Page 40: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/40.jpg)
![Page 41: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/41.jpg)
Secuencia de acciones:
File
Edit XFL3 file
![Page 42: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/42.jpg)
![Page 43: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/43.jpg)
![Page 44: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/44.jpg)
Digitamos los operadores fuzzy:
operatorset oper { and xfl.min();
defuz xfl.CenterOfArea(); }
![Page 45: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/45.jpg)
![Page 46: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/46.jpg)
Guardamos el archivo
OK
Verificamos los cambios
![Page 47: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/47.jpg)
![Page 48: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/48.jpg)
![Page 49: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/49.jpg)
![Page 50: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/50.jpg)
Regresamos al editor del sistema y escribimos el resto
de código para los tipos, variables y base de reglas
del sistema que tratamos en las diapositivas anteriores
![Page 51: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/51.jpg)
![Page 52: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/52.jpg)
Guardamos el archivo
OK
Verificamos los cambios
(Verificar en la plantalla principal del programa la existencia de errores)
![Page 53: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/53.jpg)
![Page 54: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/54.jpg)
![Page 55: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/55.jpg)
Haciendo doble clic sobre cada uno de los elementos que hemos creado
visualizamos sus atributos
![Page 56: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/56.jpg)
![Page 57: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/57.jpg)
![Page 58: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/58.jpg)
![Page 59: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/59.jpg)
![Page 60: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/60.jpg)
![Page 61: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/61.jpg)
![Page 62: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/62.jpg)
![Page 63: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/63.jpg)
![Page 64: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/64.jpg)
Monitoreamos elSistema creado
Secuencia de acciones
VerificationMonitorization
![Page 65: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/65.jpg)
![Page 66: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/66.jpg)
Generando códigoen lenguaje java
Secuencia de acciones
Synthesisto Java
![Page 67: guia_XFL para sistemas fuzzy](https://reader033.fdocuments.co/reader033/viewer/2022052307/5571f43249795947648f275d/html5/thumbnails/67.jpg)
MUCHAS GRACIAS